set_boundary Subroutine

public subroutine set_boundary(field, pdf, levelDesc, tree, iLevel, nBCs, params, layout, varSys, derVarPos, globBC, mixture, physics, state)

Call the functions associated with each boundary condition

Loop over each field and Run over all the boundary conditions for current iLevel and call the function pointer. The function pointer was before assigned in init_boundary This routine is being called from the do_recursive_multiLevel "main control routine" before the compute (advection_relaxation) kernel call


type(mus_field_type), intent(inout) :: field(:)

fluid parameters and properties

type(pdf_data_type), intent(inout) :: pdf

contains global state vector

type(tem_levelDesc_type), intent(in) :: levelDesc

global type contains iLevel descriptor

type(treelmesh_type), intent(in) :: tree

global treelm mesh

integer, intent(in) :: iLevel

the iLevel on which this boundary was invoked

integer, intent(in) :: nBCs

number of BC

type(mus_param_type), intent(in) :: params

global parameters

type(mus_scheme_layout_type), intent(in) :: layout

stencil layout information

type(tem_varSys_type), intent(in) :: varSys

scheme variable system

type(mus_derVarPos_type), intent(in) :: derVarPos(:)

position of derived quantities in varsys

type(glob_boundary_type), intent(in) :: globBC(:)

scheme global boundary type

type(mus_mixture_type), intent(in) :: mixture

mixture info

type(mus_physics_type), intent(in) :: physics

scheme global boundary type

real(kind=rk), intent(inout) :: state(:,:)

state arrays fo all iLevels


proc~~set_boundary~~CallsGraph proc~set_boundary set_boundary proc~tem_stoptimer tem_stopTimer proc~set_boundary->proc~tem_stoptimer proc~fill_bcbuffer fill_bcBuffer proc~set_boundary->proc~fill_bcbuffer proc~tem_starttimer tem_startTimer proc~set_boundary->proc~tem_starttimer proc~fill_neighbuffer fill_neighBuffer proc~set_boundary->proc~fill_neighbuffer proc~fill_neighbuffer->proc~tem_stoptimer proc~fill_neighbuffer->proc~tem_starttimer

Called by

proc~~set_boundary~~CalledByGraph proc~set_boundary set_boundary proc~do_recursive_multilevel do_recursive_multiLevel proc~do_recursive_multilevel->proc~set_boundary proc~do_fast_singlelevel do_fast_singleLevel proc~do_fast_singlelevel->proc~set_boundary proc~do_benchmark do_benchmark proc~do_benchmark->proc~set_boundary



integer, private :: iField
integer, private :: nFields
integer, private :: iBnd