Some Tips for Enforced Temperature
When the temperature profile is enforced by a input file, ComputeWithRadiation
should be FALSE
. This is because temperature should become a conserved scalar when it is enforced, but may diverge with the radiation source term.
Some Tips for Soot
When changing the soot chemical mechanism, remember to add more species to subroutine void TSoot::InitPAH(TInputDataPtr input)
in TPAH.C
.
When dealing with soot, the followings in the Input File should be fixed as:
WithSoot is TRUE
SootDASSL = TRUE
SootSolve = FALSE
ThermoPhoresis = TRUE
SootUpdateProdRate = TRUE
ExactBackward is TRUE
Particularly, SootSolve = TRUE
will fix the gas phase field as the initial conditions but only do the soot calculation, then we cannot get the correct gas phase field.
When the convergence of soot cases are difficult or slow, do the following 2 steps strategy:
(1) For soot source terms, only keep Nucleation
as TRUE
, set all others (Coagulation
, Condensation
, SurfaceGrowth
, SurfaceOxidation
) as FALSE
, then run the code to converge the gas phase field.
(2) Use the results of step (1) as the initial condition, turn on all soot source terms to TRUE
, but set MaxIter = 0
, then run the code to converge the soot moments.
In this way, you only integrate the full soot equations once instead of Niter times, which is faster. But for inexpensive cases, if both ways converge, the results will be the same, and it does not matter which way you use.
If even step (1) cannot converge, also turn off Nucleation
and try to get a converged no soot solution first.
If you only need to generate chemtable using FlameMaster, then the step (1) is enough to converge the gas phase, because soot moments do not go in the chemtable and will be taken care of by NGA in the LES.
The code contains options of up to 4th order soot models (15+1 moments), but higher than 2nd order soot models (i.e. >6+1 moments) are unverified yet.