AdditionalInit_ESAtmo3D Subroutine

public subroutine AdditionalInit_ESAtmo3D(this)

Arguments

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

Calls

proc~~additionalinit_esatmo3d~~CallsGraph proc~additionalinit_esatmo3d AdditionalInit_ESAtmo3D proc~additionalinit_esatmo3d_t AdditionalInit_ESAtmo3D_t proc~additionalinit_esatmo3d->proc~additionalinit_esatmo3d_t

Contents


Source Code

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

    ! Call parent _t AdditionalInit (registers CPU BC)
    call AdditionalInit_ESAtmo3D_t(this)

    ! Re-register with GPU-accelerated versions for both lists.
    ! hyperbolicBCs and parabolicBCs are independent linked lists, so
    ! the same SELF_BC_NONORMALFLOW tag applies in both contexts.
    bcfunc => hbc3d_NoNormalFlow_ESAtmo3D_GPU_wrapper
    call this%hyperbolicBCs%RegisterBoundaryCondition( &
      SELF_BC_NONORMALFLOW,"no_normal_flow",bcfunc)

    bcfunc => pbc3d_NoStress_ESAtmo3D_GPU_wrapper
    call this%parabolicBCs%RegisterBoundaryCondition( &
      SELF_BC_NONORMALFLOW,"no_normal_flow",bcfunc)

  endsubroutine AdditionalInit_ESAtmo3D