What every CFD developer needs to know about C++

Part 1: Choosing the right programming language for CFD development

Choosing the right programming language for CFD development is crucial for performance. Understand the different types of programming languages in this article Read More

Part 2: Why you should use C++ for CFD development

Discover why C++ stands out as the top choice for CFD programming. It's compiled, object-orientated, offers rich libraries and tools, and excels at speed. Read More

Part 3: The complete guide to memory management in C++ for CFD

Learn the key concepts of memory management in C++, including the stack, the heap, avoiding costly memory copying, and how to make the CPU caches work for you. Read More

Part 4: Object-orientated programming in CFD

Classes form the basic building block of object-orientated programming. See how they can help us write modular and extendable C++ code when writing CFD solvers. Read More

Part 5: How to handle inheritance and class hierarchies in C++

Explore why inheritance is the bread and butter of modern C++ design and how it is applied in CFD solvers. Learn about dynamic polymorphism and when to avoid it Read More

Part 6: Templates in C++: Boost your CFD solver performance

Learn in this article when you should/shouldn't use templates in C++ for your CFD codes. We see how templates relate to inheritance and their use in OpenFOAM. Read More

Part 7: Enhance readability with operator overloading in C++

Operator overloading is optional but makes our C++ code much more readable. Explore how overloaded operators provide intention-revealing and clean code. Read More

Part 8: The power of the standard template library (STL) in C++

The C++ standard template library provides access to efficient data structures and algorithms we frequently use in CFD solvers. Learn how to master it here. Read More

Part 9: Understanding Lambda expressions and how to use them in C++

Learn lambda expressions in C++: a powerful tool for writing optimised CFD solvers, avoiding code duplication, and mastering algorithms in C++'s STL Read More

Part 10: Reduce memory bugs with smart pointers in C++

Understand smart pointers in C++, their benefit over raw pointers, and how to use them in CFD solvers. Use them with the factory pattern to write clean code. Read More