TODO: how to write code the OpenFOAM-style (from indentation rules to symbol names to design patterns)