NAME
Hydro_computeDt
SYNOPSIS
Hydro_computeDt(integer(IN) :: blockID,
real(IN) :: x(:),
real(IN) :: dx(:),
real(IN) :: uxgrid(:),
real(IN) :: y(:),
real(IN) :: dy(:),
real(IN) :: uygrid(:),
real(IN) :: z(:),
real(IN) :: dz(:),
real(IN) :: uzgrid(:),
real,pointer :: solnData(:,:,:,:),
real,(INOUT) :: dtCheck,
integer(INOUT) :: dtMinLoc(:),
real(INOUT), optional :: extraInfo)
DESCRIPTION
Computes the timestep limiter for the hydrodynamical solver. For pure hydrodynamics, the Courant-Fredrichs-Lewy criterion is used. The sound speed is computed and together with the velocities, is used to constrain the timestep such that no information can propagate more than one zone per timestep.
ARGUMENTS
blockID -- local block ID
x, y, z -- coordinates
dx, dy, dz -- deltas in each {x, y z} directions
uxgrid, uygrid, uzgrid-- velocity of grid expansion in {x, y z} directions
solnData -- the physical, solution data from grid
dtCheck -- variable to hold timestep constraint
dtMinLoc(5) -- array to hold location of cell responsible for minimum dt:
dtMinLoc(1) = i index
dtMinLoc(2) = j index
dtMinLoc(3) = k index
dtMinLoc(4) = blockID
dtMinLoc(5) = hy_meshMe
extraInfo - Driver_computeDt can provide extra info to the caller
using this argument.