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

Arguments

Type IntentOptional Attributes Name
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 current iLevel both now and next


Calls

proc~~set_boundary~~CallsGraph proc~set_boundary set_boundary proc~fill_bcbuffer fill_bcBuffer proc~set_boundary->proc~fill_bcbuffer proc~fill_neighbuffer fill_neighBuffer proc~set_boundary->proc~fill_neighbuffer tem_startTimer tem_startTimer proc~set_boundary->tem_startTimer tem_stopTimer tem_stopTimer proc~set_boundary->tem_stopTimer val val proc~set_boundary->val state_varpos state_varpos proc~fill_bcbuffer->state_varpos proc~fill_neighbuffer->tem_startTimer proc~fill_neighbuffer->tem_stopTimer proc~fill_neighbuffer->val proc~fill_neighbuffer->state_varpos

Called by

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