check_bndLevel Subroutine

private subroutine check_bndLevel(proto, parent, parent_ID_offset, leVal, maxLevel)

This routine checks if neighbor node with intersected boundary is level higher than current node level.

If neighbor node is intersected boundary bit but no a leaf or target or node with qVal than refine current node.

Arguments

TypeIntentOptionalAttributesName
type(sdr_protoTree_type), intent(inout) :: proto

preliminary tree on which childern are created

integer, intent(in) :: parent

Position of parent node on the dynamic array of node%treeID and node_data in preliminary tree

integer(kind=long_k), intent(in) :: parent_ID_offset

first treeID of the parent

type(levelValues_type), intent(in) :: leVal

contains information on current level on which children are created

integer, intent(inout) :: maxLevel

Maximum level to refine current node


Calls

proc~~check_bndlevel~~CallsGraph proc~check_bndlevel check_bndLevel proc~tem_coordofid tem_CoordOfId proc~check_bndlevel->proc~tem_coordofid proc~sdr_nodeprop_btest sdr_nodeProp_btest proc~check_bndlevel->proc~sdr_nodeprop_btest proc~sdr_neighbor_in_proto sdr_neighbor_in_proto proc~check_bndlevel->proc~sdr_neighbor_in_proto proc~tem_idofcoord tem_IdOfCoord proc~sdr_neighbor_in_proto->proc~tem_idofcoord interface~tem_parentof tem_ParentOf proc~sdr_neighbor_in_proto->interface~tem_parentof interface~positionofval~3 positionofval proc~sdr_neighbor_in_proto->interface~positionofval~3

Called by

proc~~check_bndlevel~~CalledByGraph proc~check_bndlevel check_bndLevel proc~sdr_refine_leaf sdr_refine_leaf proc~sdr_refine_leaf->proc~check_bndlevel program~seeder seeder program~seeder->proc~sdr_refine_leaf

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iDir
integer, private :: coord(4)
integer, private :: neighbor_level
integer, private :: neighbor_pos
logical, private :: refine_for_neighbor