AdditionalInit_ESAtmo2D_t Subroutine

public subroutine AdditionalInit_ESAtmo2D_t(this)

Arguments

TypeIntentOptionalAttributesName
class(ESAtmo2D_t), intent(inout) :: this

Called by

proc~~additionalinit_esatmo2d_t~~CalledByGraph proc~additionalinit_esatmo2d_t AdditionalInit_ESAtmo2D_t proc~additionalinit_esatmo2d AdditionalInit_ESAtmo2D proc~additionalinit_esatmo2d->proc~additionalinit_esatmo2d_t

Contents


Source Code

  subroutine AdditionalInit_ESAtmo2D_t(this)
    implicit none
    class(ESAtmo2D_t),intent(inout) :: this
    ! Local
    procedure(SELF_bcMethod),pointer :: bcfunc

    bcfunc => hbc2d_NoNormalFlow_ESAtmo2D
    call this%hyperbolicBCs%RegisterBoundaryCondition( &
      SELF_BC_NONORMALFLOW,"no_normal_flow",bcfunc)

    ! Parabolic BC for the same wall tag: zero diffusive normal flux
    ! (no-stress / no-heat-flux). hyperbolicBCs and parabolicBCs are
    ! independent linked lists, so registering the same tag here does
    ! not clobber the hyperbolic registration above.
    bcfunc => pbc2d_NoStress_ESAtmo2D
    call this%parabolicBCs%RegisterBoundaryCondition( &
      SELF_BC_NONORMALFLOW,"no_normal_flow",bcfunc)

    ! Diffusive-flux scratch buffers. Always allocated (memory cost is
    ! modest); only used when nu>0 or kappa>0 (and gradient_enabled is
    ! therefore .true.).
    call this%diffFlux%Init(this%solution%interp,this%nvar,this%mesh%nElem)
    call this%diffFlux%AssociateGeometry(this%geometry)
    call this%diffDiv%Init(this%solution%interp,this%nvar,this%mesh%nElem)

  endsubroutine AdditionalInit_ESAtmo2D_t