Metacomp FAQ/CFL Ramping
CFD++ has an automatic CFL adjustment procedure. This detects problems before they arise and adjusts the CFL to stop the code going unstable. This can kick in early on in the run in areas such as the stagnation point at the leading edge as the flow adjusts from the prescribed initial (usually freestream) conditions. By default the CFL ramping is adjusted so that, provided there are no more CFL adjustments, it will reach 95% of the specified value. Clearly if there are a considerable number of adjustments then you can end up with a very low CFL number indeed. This should be avoided at all costs!
Methods to ensure a high CFL number
- Change the default adjustment factor from 0.95 (perhaps to 0.995, 0.999 or even 1.0) in the time integration panel. If you’ve specified too high a CFL number, or a ramping schedule that is too aggressive, then you will end up with adjustments happening all the time. If you look at the residual plot you’ll see a rapid increase whenever this adjustment occurs, so it is in your interest to specify a level at which it can happily remain. Exercise some discretion and try different ramping schedules – I usually ramp from 0.001 to 15 over maybe 100-200 iterations.
- Make sure that the CFL ramping is complete within the 1st order portion of the run. In the spatial discretisation panel there is a blending from 1st order to 2nd order option. Make sure that you use this! I sometimes delay the onset of the ramping by a few hundred iterations and increase the number of iterations that the ramping is performed. Without a high CFL number in the 1st order portion then this option is more or less meaningless – you need to give it big time steps to get all of the crap out of the domain before the 2nd order simulation begins.
- Ensure that your meshes are as smooth as possible. Skewness increases the chances of the adjustment procedure kicking in, in addition to giving crappy solutions.