RecommendedTimeStep_ExtrudedAMRController Function

public function RecommendedTimeStep_ExtrudedAMRController(this, dtBase) result(dt)

Level-based explicit time step bound: dtBase / 2**maxLevel, with dtBase stable on the base (level-0) mesh. Refinement halves the horizontal element size per level; the vertical spacing is unchanged, so this is conservative when the vertical CFL binds.

Arguments

TypeIntentOptionalAttributesName
class(ExtrudedAMRController), intent(in) :: this
real(kind=prec), intent(in) :: dtBase

Return Value real(kind=prec)


Contents


Source Code

  function RecommendedTimeStep_ExtrudedAMRController(this,dtBase) result(dt)
    !! Level-based explicit time step bound: dtBase / 2**maxLevel, with dtBase stable on the
    !! base (level-0) mesh. Refinement halves the horizontal element size per level; the
    !! vertical spacing is unchanged, so this is conservative when the vertical CFL binds.
    implicit none
    class(ExtrudedAMRController),intent(in) :: this
    real(prec),intent(in) :: dtBase
    real(prec) :: dt

    dt = dtBase/real(2**this%maxLevel,prec)

  endfunction RecommendedTimeStep_ExtrudedAMRController