build_BClists Subroutine

private subroutine build_BClists(globBC, tree, bc_prop, minLevel, maxLevel, layout, field, comm)

Assemble the level-wise list of elements which adhere to the boundary conditions.

The boundaries will then be treated for each level one by one, running over the list of elements. The bitmasks are set for the directions pointing into the domain. In the LBM, the incoming densities have to be updated. As boundaries are being set before the kernel, the state arrays have to be stored to the FETCH position

Arguments

TypeIntentOptionalAttributesName
type(glob_boundary_type), intent(out), allocatable:: globBC(:)

boundaries for the elements with bnd property set

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

fluid tree from mesh

type(tem_BC_prop_type), intent(in) :: bc_prop

boundary information from mesh

integer, intent(in) :: minLevel

contains pdf global information

integer, intent(in) :: maxLevel

contains pdf global information

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

scheme layout

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

field type

integer, intent(in) :: comm

mpi communication enviroment with mpi communicator


Calls

proc~~build_bclists~~CallsGraph proc~build_bclists build_BClists proc~normalizebc normalizeBC proc~build_bclists->proc~normalizebc proc~mus_check_allwall mus_check_allWall proc~build_bclists->proc~mus_check_allwall proc~allocatebclist allocateBCList proc~build_bclists->proc~allocatebclist proc~assignbclist assignBCList proc~build_bclists->proc~assignbclist proc~countnbnds countnBnds proc~build_bclists->proc~countnbnds mpi_allreduce mpi_allreduce proc~normalizebc->mpi_allreduce interface~append~3 append proc~normalizebc->interface~append~3 proc~tem_determine_discretevector tem_determine_discreteVector proc~normalizebc->proc~tem_determine_discretevector proc~mus_init_bc_elems mus_init_bc_elems proc~allocatebclist->proc~mus_init_bc_elems proc~assignbclist->interface~append~3 proc~tem_levelof tem_LevelOf proc~assignbclist->proc~tem_levelof proc~tem_horizontalspacer tem_horizontalSpacer proc~countnbnds->proc~tem_horizontalspacer proc~countnbnds->mpi_allreduce proc~countnbnds->proc~tem_levelof interface~destroy~2 destroy proc~mus_init_bc_elems->interface~destroy~2 interface~init~2 init proc~mus_init_bc_elems->interface~init~2

Called by

proc~~build_bclists~~CalledByGraph proc~build_bclists build_BClists proc~mus_construct mus_construct proc~mus_construct->proc~build_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 program~musubi musubi program~musubi->proc~mus_initialize none~do_balance do_balance none~do_balance->proc~mus_perform_dynloadbal proc~mus_solve mus_solve proc~mus_solve->none~do_balance

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iBnd
integer, private :: nBCs
integer, private :: iField