create_children Subroutine

private subroutine create_children(proto, parent, child_nodePos, grwTreeID)

This routine append 8 children to protoTree and inherit property bits from parent. leaf bit is removed from parent.

Arguments

TypeIntentOptionalAttributesName
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, intent(out) :: child_nodePos(8)

8 children node position in protoTree

type(grw_longarray_type), intent(inout) :: grwTreeID

Temporary growing array of TreeID contains new leaf nodes in current level


Calls

proc~~create_children~~CallsGraph proc~create_children create_children proc~tem_directchildren tem_directChildren proc~create_children->proc~tem_directchildren proc~sdr_set_nodeprop_bit sdr_set_nodeProp_bit proc~create_children->proc~sdr_set_nodeprop_bit proc~sdr_inheritbnd_eligiblechildren sdr_inHeritBnd_eligibleChildren proc~create_children->proc~sdr_inheritbnd_eligiblechildren proc~sdr_clear_nodeprop_bit sdr_clear_nodeProp_bit proc~create_children->proc~sdr_clear_nodeprop_bit interface~append~10 append proc~create_children->interface~append~10 proc~sdr_nodeprop_btest sdr_nodeProp_btest proc~sdr_inheritbnd_eligiblechildren->proc~sdr_nodeprop_btest proc~tem_eligiblechildren tem_eligibleChildren proc~sdr_inheritbnd_eligiblechildren->proc~tem_eligiblechildren

Called by

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

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iChild
integer(kind=long_k), private :: treeID(1:8)
integer, private :: child_sublevel
integer, private :: propbits(proto%node%propLength)
logical, private :: child_hasBnd(8)
integer, private :: minLevel