sdr_refine_leaf Subroutine

public subroutine sdr_refine_leaf(proto, geometry)

This routine extends the protoTree with max of minlevel or level of refinement object.

If it is a leaf, check for intersected objects, and keep on refining accordingly down to the maximum requested level. When the desired level is reached (no refinement object, or desired level of intersected refinement object reached, check all (26) direct neigbors. If there is a neighbor intersected by a boundary check its refinement level, if it is higher then the current one, do another refinement step.

Arguments

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

The proto tree description with all the data to refine further

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

type which contains all geometry object infos


Calls

proc~~sdr_refine_leaf~~CallsGraph proc~sdr_refine_leaf sdr_refine_leaf append append proc~sdr_refine_leaf->append destroy destroy proc~sdr_refine_leaf->destroy init init proc~sdr_refine_leaf->init proc~check_bndlevel check_bndLevel proc~sdr_refine_leaf->proc~check_bndlevel proc~create_children create_children proc~sdr_refine_leaf->proc~create_children proc~inherit_intersectedobject inHerit_intersectedObject proc~sdr_refine_leaf->proc~inherit_intersectedobject sdr_set_nodeprop_bit sdr_set_nodeprop_bit proc~sdr_refine_leaf->sdr_set_nodeprop_bit sorted sorted proc~sdr_refine_leaf->sorted tem_FirstIdAtLevel tem_FirstIdAtLevel proc~sdr_refine_leaf->tem_FirstIdAtLevel tem_horizontalSpacer tem_horizontalSpacer proc~sdr_refine_leaf->tem_horizontalSpacer tem_startTimer tem_startTimer proc~sdr_refine_leaf->tem_startTimer tem_stopTimer tem_stopTimer proc~sdr_refine_leaf->tem_stopTimer truncate truncate proc~sdr_refine_leaf->truncate val val proc~sdr_refine_leaf->val proc~check_bndlevel->val 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 proc~create_children->append proc~create_children->sdr_set_nodeprop_bit proc~create_children->val sdr_clear_nodeprop_bit sdr_clear_nodeprop_bit proc~create_children->sdr_clear_nodeprop_bit sdr_inheritbnd_eligiblechildren sdr_inheritbnd_eligiblechildren proc~create_children->sdr_inheritbnd_eligiblechildren tem_directChildren tem_directChildren proc~create_children->tem_directChildren proc~inherit_intersectedobject->append proc~inherit_intersectedobject->val proc~is_intersecting is_intersecting proc~inherit_intersectedobject->proc~is_intersecting sdr_append_childintersectedobject sdr_append_childintersectedobject proc~inherit_intersectedobject->sdr_append_childintersectedobject proc~inherit_intersectedobject->tem_CoordOfId tem_sphereCubeOverlap tem_sphereCubeOverlap proc~inherit_intersectedobject->tem_sphereCubeOverlap

Called by

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