init_nrbc Subroutine

private subroutine init_nrbc(bc, state, nSize, neigh, layout, level, nScalars, varSys, derVarPos, elemPos, nElems)

Initialize the values required for the characteristic boundary conditions

Simply calculate the macroscopic values from the current pdf distributions in the boundary element and its neighbor elements and store it to the %nrbc%lodi field NOTE: To be consistent, the same calculation procedure of the LODI values need to be performed as in the outlet_nrbc "NRBC routine" itself


type(boundary_type) :: bc

global array boundary type

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

State array

integer, intent(in) :: nSize


integer, intent(in) :: neigh(:)

neighbor array

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

fluid parameters

integer, intent(in) :: level


integer, intent(in) :: nScalars

number of scalars in global system

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

scheme variable system

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

position of derived quantities in varsys

integer, intent(in) :: elemPos(:)

BC elements positions in total list

integer, intent(in) :: nElems

number of BC elements

Called by

proc~~init_nrbc~~CalledByGraph proc~init_nrbc init_nrbc proc~init_boundary_single init_boundary_single proc~init_boundary_single->proc~init_nrbc proc~mus_init_boundary mus_init_boundary proc~mus_init_boundary->proc~init_boundary_single proc~mus_initialize mus_initialize proc~mus_initialize->proc~mus_init_boundary proc~mus_reset_aux mus_reset_aux proc~mus_reset_aux->proc~mus_init_boundary program~musubi musubi program~musubi->proc~mus_initialize proc~mus_perform_dynloadbal mus_perform_dynLoadBal proc~mus_perform_dynloadbal->proc~mus_reset_aux



integer, private :: iElem
integer, private :: iDir
integer, private :: iField
integer, private :: QQ
integer, private :: iNeigh
integer, private :: neighPos
integer, private :: posInTotal
real(kind=rk), private :: ff(layout%fStencil%QQ)