pbc3d_NoStress_ESAtmo3D_GPU_wrapper Subroutine

public subroutine pbc3d_NoStress_ESAtmo3D_GPU_wrapper(bc, mymodel)

GPU-accelerated parabolic no-stress / no-heat-flux BC for 3D Entropy-Stable Atmosphere. Reflects the normal component of the solution gradient at every wall node so that BR1 averaging gives avgGrad . n = 0 (zero diffusive flux through the wall) for every variable.

Arguments

TypeIntentOptionalAttributesName
class(BoundaryCondition), intent(in) :: bc
class(Model), intent(inout) :: mymodel

Calls

proc~~pbc3d_nostress_esatmo3d_gpu_wrapper~~CallsGraph proc~pbc3d_nostress_esatmo3d_gpu_wrapper pbc3d_NoStress_ESAtmo3D_GPU_wrapper interface~pbc3d_nostress_esatmo3d_gpu pbc3d_nostress_esatmo3d_gpu proc~pbc3d_nostress_esatmo3d_gpu_wrapper->interface~pbc3d_nostress_esatmo3d_gpu

Contents


Source Code

  subroutine pbc3d_NoStress_ESAtmo3D_GPU_wrapper(bc,mymodel)
    !! GPU-accelerated parabolic no-stress / no-heat-flux BC for 3D Entropy-Stable Atmosphere.
    !! Reflects the normal component of the solution gradient at every wall
    !! node so that BR1 averaging gives avgGrad . n = 0 (zero diffusive flux
    !! through the wall) for every variable.
    class(BoundaryCondition),intent(in) :: bc
    class(Model),intent(inout) :: mymodel

    select type(m => mymodel)
    class is(ESAtmo3D)
      if(bc%nBoundaries > 0) then
        call pbc3d_nostress_esatmo3d_gpu( &
          m%solutionGradient%extBoundary_gpu, &
          m%solutionGradient%boundary_gpu, &
          m%geometry%nhat%boundary_gpu, &
          bc%elements_gpu,bc%sides_gpu, &
          bc%nBoundaries,m%solution%interp%N, &
          m%solution%nElem,m%solution%nvar)
      endif
    endselect

  endsubroutine pbc3d_NoStress_ESAtmo3D_GPU_wrapper