flood_periphery Subroutine

private subroutine flood_periphery(proto, geometry, meshUniverse)

This routine loops over all intersected with geoemtry nodes and fluidify some node according to the following rule:\n 1. one of its link does noe intersect with any geometry that requires qVal 2. it has fluid neighbor on that direction. i.e. it is wet in that side. Jiaxing Qi

Todo

HK: works for single color only right now! (qvalues are only computed for first color, need to think about what to do for multiple colors.)

Arguments

Type IntentOptional Attributes Name
type(sdr_protoTree_type), intent(inout) :: proto

The proto tree description with all the data enabling the flooding.

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

Description of geometric objects.

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

treelmesh contains bounding cube info


Calls

proc~~flood_periphery~~CallsGraph proc~flood_periphery flood_periphery proc~flood_periphery_diagonal flood_periphery_diagonal proc~flood_periphery->proc~flood_periphery_diagonal proc~needcalcqvalbybcid needCalcQValByBCID proc~flood_periphery->proc~needcalcqvalbybcid proc~needflddglbybcid needFldDglByBCID proc~flood_periphery->proc~needflddglbybcid proc~sdr_qvalbynode sdr_qValByNode proc~flood_periphery->proc~sdr_qvalbynode sdr_mark_floodnode sdr_mark_floodnode proc~flood_periphery->sdr_mark_floodnode tem_BaryOfId tem_BaryOfId proc~flood_periphery->tem_BaryOfId tem_ElemSize tem_ElemSize proc~flood_periphery->tem_ElemSize tem_log tem_log proc~flood_periphery->tem_log tem_toStr tem_toStr proc~flood_periphery->tem_toStr val val proc~flood_periphery->val proc~flood_periphery_diagonal->sdr_mark_floodnode proc~flood_periphery_diagonal->val proc~sdr_neighbor_in_proto sdr_neighbor_in_proto proc~flood_periphery_diagonal->proc~sdr_neighbor_in_proto tem_CoordOfId tem_CoordOfId proc~flood_periphery_diagonal->tem_CoordOfId proc~needcalcqvalbybcid->val kindpos kindpos proc~needcalcqvalbybcid->kindpos proc~needflddglbybcid->val proc~needflddglbybcid->kindpos proc~sdr_qvalbynode->val fraction_PointLine fraction_PointLine proc~sdr_qvalbynode->fraction_PointLine intersect_RayTriangle intersect_RayTriangle proc~sdr_qvalbynode->intersect_RayTriangle 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~~flood_periphery~~CalledByGraph proc~flood_periphery flood_periphery proc~sdr_flood_tree sdr_flood_tree proc~sdr_flood_tree->proc~flood_periphery program~seeder seeder program~seeder->proc~sdr_flood_tree