FLASH-X
Doxygen Generated Documentation From Interface Source Code
|
Go to the source code of this file.
Functions/Subroutines | |
subroutine | Burn_computeDt (blockID, blkLimits, blkLimitsGC, solnData, dt_burn, dt_minloc) |
subroutine Burn_computeDt | ( | integer | blockID, |
integer | blkLimits, | ||
integer | blkLimitsGC, | ||
real | solnData, | ||
real | dt_burn, | ||
integer, dimension(5) | dt_minloc | ||
) |
compute a burning timestep limiter, by trying to force the energy generation from burning to be smaller than the internal energy in a zone.
The timestep limiter would be:
eint dt = enucDtFactor * —– burn enuc
enuc is energy/volume/s, so the time factor is already in there, and we are actually doing
eint dt = enucDtFactor * —– * dt burn enuc*dt
enuc*dt is the amount of energy / volume deposited in a zone by burning. eint is the internal energy / volume in that zone. If enuc*dt is 2x eint, then we want a timestep that is half the size.
enucDtFactor is a prefactor to scaling the timestep. In general, we aim for enuc*dt < enucDtFactor * eint. For good coupling between the hydro and the burner, enucDtFactor should be < 1.
blockID – local block ID
blkLimits – the indices for the interior endpoints of the block blkLimitsGC – the indices for endpoints including the guardcells solnData – the physical, solution data from grid dt_burn – variable to hold timestep constraint dt_minloc(5) – array to hold limiting zone info: zone indices (i,j,k), block ID, PE number
PARAMETERS
enucDtFactor A parameter, such that enuc*dt < enucDtFactor * eint, that is, the energy release from burning divided by the internal energy in that zone is < enucDtFactor.
SEE ALSO
Driver_computeDt
NOTE
This routine is not implemented yet due to conflicts with the required magnitude of enucDtFactor
Definition at line 72 of file Burn_computeDt.F90.