I'm experimenting with OpenFOAM. In my simulation of a time-dependent, transitional flow the Courant number remains well below 1 for a certain period but then rises, eventually leading to a floating point exception. In order to avoid it, I reduced the time step, with the consequence of an unacceptable slowdown of the simulation. Is there a possibility of dynamically adjusting the time step in dependence of the Courant number?
pimpleFoam is the OpenFOAM application designated for transient, incompressible flow which can be either laminar or turbulent. The solver does support dynamic adjustment of the time step based on the Courant number as well as relaxation of the transport equations to improve performance.
You can check if a solver supports adaptive time stepping by having a look at the program code, specifically the main file of a solver. If the line #include "setDeltaT.H" is present within the time loop while (runTime.run()), the solver application is enabled to work with adaptive time stepping (compare e.g. pimpleFoam and pisoFoam).
To see how to use adaptive time stepping, have a look at the tutorials included with OpenFOAM (tutorials/incompressible/pimpleFoam/).