sdr_identify_boundary Subroutine

public subroutine sdr_identify_boundary(node_pos, treeID, coord, leVal, proto, geometry, BC_ID, qVal, bc_normal, 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

Type IntentOptional Attributes Name
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

real(kind=rk), intent(out) :: bc_normal(3)

Wall normal pointing from the surface to the barycenter of the boundary element

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

contains bounding cube information


Calls

proc~~sdr_identify_boundary~~CallsGraph proc~sdr_identify_boundary sdr_identify_boundary kindpos kindpos proc~sdr_identify_boundary->kindpos proc~getbcid_and_calcqval getBCID_and_calcQval proc~sdr_identify_boundary->proc~getbcid_and_calcqval proc~getnormal getNormal proc~sdr_identify_boundary->proc~getnormal proc~needcalcqvalbybcid needCalcQValByBCID proc~sdr_identify_boundary->proc~needcalcqvalbybcid proc~sdr_neighbor_in_proto sdr_neighbor_in_proto proc~sdr_identify_boundary->proc~sdr_neighbor_in_proto sdr_nodeprop_btest sdr_nodeprop_btest proc~sdr_identify_boundary->sdr_nodeprop_btest tem_BaryOfId tem_BaryOfId proc~sdr_identify_boundary->tem_BaryOfId tem_abort tem_abort proc~sdr_identify_boundary->tem_abort tem_convertTreeIDtoCube tem_convertTreeIDtoCube proc~sdr_identify_boundary->tem_convertTreeIDtoCube tem_pointCubeOverlap tem_pointCubeOverlap proc~sdr_identify_boundary->tem_pointCubeOverlap val val proc~sdr_identify_boundary->val proc~getbcid_and_calcqval->proc~needcalcqvalbybcid proc~getbcid_and_calcqval->val proc~sdr_find_periodic_neighbor sdr_find_periodic_neighbor proc~getbcid_and_calcqval->proc~sdr_find_periodic_neighbor proc~sdr_qvalbynode sdr_qValByNode proc~getbcid_and_calcqval->proc~sdr_qvalbynode proc~sdr_truncate_qval sdr_truncate_qVal proc~getbcid_and_calcqval->proc~sdr_truncate_qval proc~getnormal->kindpos proc~getnormal->val append append proc~getnormal->append destroy destroy proc~getnormal->destroy init init proc~getnormal->init mrgrnk mrgrnk proc~getnormal->mrgrnk tem_triangle_normal_proximity tem_triangle_normal_proximity proc~getnormal->tem_triangle_normal_proximity proc~needcalcqvalbybcid->kindpos proc~needcalcqvalbybcid->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 proc~sdr_find_periodic_neighbor->kindpos proc~sdr_find_periodic_neighbor->proc~needcalcqvalbybcid proc~sdr_find_periodic_neighbor->sdr_nodeprop_btest proc~sdr_find_periodic_neighbor->tem_BaryOfId proc~sdr_find_periodic_neighbor->tem_abort proc~sdr_find_periodic_neighbor->val proc~sdr_find_periodic_neighbor->proc~sdr_qvalbynode proc~sdr_find_periodic_neighbor->proc~sdr_truncate_qval proc~sdr_find_periodic_neighbor->tem_IdOfCoord proc~gettreeidposofcoord getTreeIDPosOfCoord proc~sdr_find_periodic_neighbor->proc~gettreeidposofcoord proc~projectveconplane projectVecOnPlane proc~sdr_find_periodic_neighbor->proc~projectveconplane tem_CoordOfId tem_CoordOfId proc~sdr_find_periodic_neighbor->tem_CoordOfId tem_CoordOfReal tem_CoordOfReal proc~sdr_find_periodic_neighbor->tem_CoordOfReal proc~sdr_qvalbynode->val fraction_PointLine fraction_PointLine proc~sdr_qvalbynode->fraction_PointLine intersect_RayTriangle intersect_RayTriangle proc~sdr_qvalbynode->intersect_RayTriangle proc~sdr_truncate_qval->sdr_nodeprop_btest proc~gettreeidposofcoord->sdr_nodeprop_btest proc~gettreeidposofcoord->positionofval proc~gettreeidposofcoord->tem_IdOfCoord proc~gettreeidposofcoord->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