sdr_identify_boundary Subroutine

public subroutine sdr_identify_boundary(node_pos, treeID, coord, leVal, proto, geometry, BC_ID, qVal, meshUniverse)

This routine checks for boundary neighbors and level of the boundary node

Note, this can not easily be used for target nodes with subelement resolution, as it assumes q-Values if the node is intersected by a boundary.

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: node_pos

Position of leaf in the preliminary tree

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

treeID of parent node

integer, intent(in) :: coord(4)

Coordinate of treeID

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

level value of parent node

type(sdr_protoTree_type), intent(in) :: proto

preliminary tree

type(sdr_geometry_type), intent(in) :: geometry

contains all geometrical objects

integer(kind=long_k), intent(out) :: BC_ID(qQQQ)

Boundary ID for all 26 neighbor directions

real(kind=rk), intent(out) :: qVal(qQQQ)

distance from boundary for all 26 neighbor directions

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

contains bounding cube information


Calls

proc~~sdr_identify_boundary~~CallsGraph proc~sdr_identify_boundary sdr_identify_boundary proc~sdr_nodeprop_btest sdr_nodeProp_btest proc~sdr_identify_boundary->proc~sdr_nodeprop_btest proc~getbcid_and_calcqval getBCID_and_calcQval proc~sdr_identify_boundary->proc~getbcid_and_calcqval proc~tem_baryofid tem_BaryOfId proc~sdr_identify_boundary->proc~tem_baryofid proc~needcalcqvalbybcid needCalcQValByBCID proc~sdr_identify_boundary->proc~needcalcqvalbybcid proc~tem_abort tem_abort proc~sdr_identify_boundary->proc~tem_abort proc~sdr_neighbor_in_proto sdr_neighbor_in_proto proc~sdr_identify_boundary->proc~sdr_neighbor_in_proto proc~getbcid_and_calcqval->proc~needcalcqvalbybcid proc~sdr_qvalbynode sdr_qValByNode proc~getbcid_and_calcqval->proc~sdr_qvalbynode proc~sdr_find_periodic_neighbor sdr_find_periodic_neighbor proc~getbcid_and_calcqval->proc~sdr_find_periodic_neighbor proc~sdr_truncate_qval sdr_truncate_qVal proc~getbcid_and_calcqval->proc~sdr_truncate_qval interface~tem_parentof tem_ParentOf proc~sdr_neighbor_in_proto->interface~tem_parentof proc~tem_idofcoord tem_IdOfCoord proc~sdr_neighbor_in_proto->proc~tem_idofcoord interface~positionofval~3 positionofval proc~sdr_neighbor_in_proto->interface~positionofval~3 proc~intersect_raytriangle intersect_RayTriangle proc~sdr_qvalbynode->proc~intersect_raytriangle proc~fraction_pointline fraction_PointLine proc~sdr_qvalbynode->proc~fraction_pointline proc~sdr_find_periodic_neighbor->proc~sdr_nodeprop_btest proc~sdr_find_periodic_neighbor->proc~tem_baryofid proc~sdr_find_periodic_neighbor->proc~needcalcqvalbybcid proc~sdr_find_periodic_neighbor->proc~tem_abort proc~sdr_find_periodic_neighbor->proc~sdr_qvalbynode proc~sdr_find_periodic_neighbor->proc~tem_idofcoord proc~sdr_find_periodic_neighbor->proc~sdr_truncate_qval proc~tem_coordofid tem_CoordOfId proc~sdr_find_periodic_neighbor->proc~tem_coordofid proc~gettreeidposofcoord getTreeIDPosOfCoord proc~sdr_find_periodic_neighbor->proc~gettreeidposofcoord proc~tem_coordofreal tem_CoordOfReal proc~sdr_find_periodic_neighbor->proc~tem_coordofreal proc~projectveconplane projectVecOnPlane proc~sdr_find_periodic_neighbor->proc~projectveconplane proc~sdr_truncate_qval->proc~sdr_nodeprop_btest proc~gettreeidposofcoord->proc~sdr_nodeprop_btest proc~gettreeidposofcoord->proc~tem_idofcoord proc~gettreeidposofcoord->interface~positionofval~3 proc~gettreeidposofcoord->proc~tem_coordofreal

Called by

proc~~sdr_identify_boundary~~CalledByGraph proc~sdr_identify_boundary sdr_identify_boundary proc~proto2treelm proto2Treelm proc~proto2treelm->proc~sdr_identify_boundary proc~traverse_tree traverse_tree proc~traverse_tree->proc~proto2treelm proc~traverse_tree->proc~traverse_tree proc~sdr_proto2treelm sdr_proto2treelm proc~sdr_proto2treelm->proc~traverse_tree program~seeder seeder program~seeder->proc~sdr_proto2treelm

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iDir
integer, private :: neighbor_pos
integer, private :: neighbor_level
logical, private :: unKnownBnd(qQQQ)
integer, private :: startDir
integer, private :: unKnownNeighPos(qQQQ)
real(kind=rk), private :: elembary(3)
integer(kind=long_k), private :: minBCID
logical, private :: check_unKnownBnd
integer, private :: iDir_tmp
integer, private :: nBCs