Doxygen Generated Documentation From Interface Source Code
Burn_computeDt.F90 File Reference

Go to the source code of this file.


subroutine Burn_computeDt (blockID, blkLimits, blkLimitsGC, solnData, dt_burn, dt_minloc)

Function/Subroutine Documentation

◆ Burn_computeDt()

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


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.




This routine is not implemented yet due to conflicts with the required magnitude of enucDtFactor

Definition at line 72 of file Burn_computeDt.F90.