Tips for convergence

Tips for convergence

suo-yang edited this page on Jul 22, 2020 · 3 revisions

General tips for cases difficult to converge

(a) First, try TimeDepFlag = TRUE (i.e. pseudo-unsteady solver) in the FlameMaster.input. If both ||dY|| and ||Res|| keep approximately constant for a long time without generating any temporary/intermediate solution, then you should consider to reduce DeltaTStart in the FlameMaster.input by several (e.g. 4) orders of magnitude until it can converge.

(b) Especially when (a) does not work, another way you can consider is re-generating the grids based on gradients (of temperature and species). Particularly, you can play with the frequency of grid re-generation by playing with DeltaNewGrid in the FlameMaster.input. The default value of DeltaNewGrid is normally too large, so you can consider to reduce it until the solver can converge. The extreme choice would be DeltaNewGrid = 1, which is equivalent to turning on OneSolutionOneGrid = TRUE.

Specific tips for changing mechanisms

This is just about the most difficult thing to do in FM.

(a) The way that I typically try to tackle it is by converting names from the old mechanism to the new mechanism in the start profile. The more species that are not set to zero, the better off you will be. This will reduced that initial ||dY|| because you have fewer species that change from 0 to something or something to zero.

(b) If that still does not work, the other alternative is how you would generate a start profile from nothing. That would involve usually starting with a high oxidizer and high temperature to get something that would auto-ignite naturally and then lowering the oxidizer and temperature until you get what you want.