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

Type IntentOptional Attributes Name
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~sdr_neighbor_in_proto sdr_neighbor_in_proto proc~check_bndlevel->proc~sdr_neighbor_in_proto sdr_nodeprop_btest sdr_nodeprop_btest proc~check_bndlevel->sdr_nodeprop_btest tem_CoordOfId tem_CoordOfId proc~check_bndlevel->tem_CoordOfId val val proc~check_bndlevel->val positionofval positionofval proc~sdr_neighbor_in_proto->positionofval tem_IdOfCoord tem_IdOfCoord proc~sdr_neighbor_in_proto->tem_IdOfCoord tem_ParentOf tem_ParentOf proc~sdr_neighbor_in_proto->tem_ParentOf

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