Tom-Robin Teschner

How to handle inheritance and class hierarchies in C++

Another cornerstone of object-orientated programming is inheritance, which is the ability to define parent-child relations between classes. Inheritance allows child classes to derive functions and variables from the parent class and so we are able to group together classes that naturally fit together under a common base class. For example, the base class RANS may …

How to handle inheritance and class hierarchies in C++ Read More »

Object-orientated programming in CFD

Classes and structures are what make C++ so powerful compared to its predecessor C. While classes are, broadly speaking, just a logical collection of functions and data. This data is used by these functions, and so classes and structures offer no obvious direct benefit (other than organisational benefits). However, they do allow for a different …

Object-orientated programming in CFD Read More »

The complete guide to memory management in C++ for CFD

Memory management is crucial in C++; it determines how quickly (or slowly) our code will execute. Poor memory management will destroy any advantage you gain by using a compiled language such as C++ and it is entirely possible that a slower, interpreted language will perform better here (see also the article on Compiled vs. Interpreted …

The complete guide to memory management in C++ for CFD Read More »

Why you should use C++ for CFD development

After discussing the differences between compiled, interpreted, and just-in-time compiled languages, I want to look at programming languages and discuss which ones are suitable and serious contenders for CFD solver development tasks. This is an opinionated section, and I am not trying to hide it. If you create a wish list of features a programming …

Why you should use C++ for CFD development Read More »

The y-plus (y+) value and its importance for mesh generation

All wall-bounded turbulent flows require knowledge about the y-plus (y+) values in our simulation, in order to accurately predict turbulent boundary layers and thus quantities such as drag coefficients and separation points. In this article, we take a deep dive into the significance of the y-plus (y+) value and how we can use it in …

The y-plus (y+) value and its importance for mesh generation Read More »