update_BClists Subroutine

private subroutine update_BClists(scheme, minLevel, maxLevel, nBCs, LP, remove_solid)

Update the neighbor stencil positions for the Boundaries

Before, positions in the original treeIDs were assigned to the boundary element lists. Update these now with level-wise positions in the tem_levelDesc_type "total list". When no element is found, the value in nghElems is 0. This has to be treated in this routine. If an empty neighbor relation is encountered, the last valid neighbor is used for all other neighbors Assertion: Before this routine, we should have: scheme%globBC( iBnd )%nElems( iLevel ) scheme%globBC( iBnd )%elemLvl( iLevel )%elem%val( iElem ))

Arguments

Type IntentOptional Attributes Name
type(mus_scheme_type), intent(inout) :: scheme

scheme information including fluid, boundary and flow information

integer, intent(in) :: minLevel
integer, intent(in) :: maxLevel
integer, intent(in) :: nBCs
integer, intent(in) :: LP(:)

Level Pointer

logical, intent(in) :: remove_solid

Calls

proc~~update_bclists~~CallsGraph proc~update_bclists update_BClists append append proc~update_bclists->append init init proc~update_bclists->init positionofval positionofval proc~update_bclists->positionofval proc~mus_set_posinnghelems mus_set_posInNghElems proc~update_bclists->proc~mus_set_posinnghelems proc~remove_solid_in_bc remove_solid_in_bc proc~update_bclists->proc~remove_solid_in_bc val val proc~update_bclists->val proc~check_solid_in_bc check_solid_in_bc proc~remove_solid_in_bc->proc~check_solid_in_bc proc~rearrange_bc_elems rearrange_bc_elems proc~remove_solid_in_bc->proc~rearrange_bc_elems proc~check_solid_in_bc->val proc~rearrange_bc_elems->val

Called by

proc~~update_bclists~~CalledByGraph proc~update_bclists update_BClists proc~mus_construct mus_construct proc~mus_construct->proc~update_bclists proc~mus_initialize mus_initialize proc~mus_initialize->proc~mus_construct proc~mus_perform_dynloadbal mus_perform_dynLoadBal proc~mus_perform_dynloadbal->proc~mus_construct program~mus_harvesting mus_harvesting program~mus_harvesting->proc~mus_construct proc~mus_solve mus_solve proc~mus_solve->proc~mus_perform_dynloadbal program~musubi musubi program~musubi->proc~mus_initialize program~musubi->proc~mus_solve