add_ghostFromFiner Subroutine

private recursive subroutine add_ghostFromFiner(elemID, levelDesc, minLevel, tree, updated, foundPos, stencil)

Add parentID as GhostFromFiner. Then set its BC from its children. If any children do NOT exist, recursively call this routine to add them as GhostFromFiner.

Arguments

TypeIntentOptionalAttributesName
integer(kind=long_k), intent(in) :: elemID

requested treeID

type(tem_levelDesc_type), intent(inout) :: levelDesc(minLevel:)

the level descriptor to be filled

integer, intent(in) :: minLevel

minimum level fluid element in the tree

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

tree information

logical, intent(out) :: updated

was the current element updated in this call?

integer, intent(out) :: foundPos
type(tem_stencilHeader_type), intent(in) :: stencil

current stencil definition


Calls

proc~~add_ghostfromfiner~~CallsGraph proc~add_ghostfromfiner add_ghostFromFiner proc~add_ghostfromfiner->proc~add_ghostfromfiner interface~positionofval~4 positionofval proc~add_ghostfromfiner->interface~positionofval~4 proc~tem_levelof tem_LevelOf proc~add_ghostfromfiner->proc~tem_levelof proc~tem_directchildren tem_directChildren proc~add_ghostfromfiner->proc~tem_directchildren proc~tem_pathof tem_PathOf proc~add_ghostfromfiner->proc~tem_pathof interface~append~4 append proc~add_ghostfromfiner->interface~append~4 proc~tem_posofpath tem_PosOfPath proc~add_ghostfromfiner->proc~tem_posofpath proc~tem_find_bcs_fromfiner tem_find_BCs_fromFiner proc~add_ghostfromfiner->proc~tem_find_bcs_fromfiner proc~posofval_label posofval_label interface~positionofval~4->proc~posofval_label proc~append_ga_dynlong_vec append_ga_dynlong_vec interface~append~4->proc~append_ga_dynlong_vec proc~append_ga_dynlong append_ga_dynlong interface~append~4->proc~append_ga_dynlong proc~tem_find_bcs_fromfiner->interface~append~4 interface~init~15 init proc~tem_find_bcs_fromfiner->interface~init~15 proc~update_childneighborid update_childNeighborID proc~tem_find_bcs_fromfiner->proc~update_childneighborid proc~stenciltochild stencilToChild proc~tem_find_bcs_fromfiner->proc~stenciltochild interface~sortedposofval~4 sortedposofval proc~posofval_label->interface~sortedposofval~4 proc~init_ga2d_real init_ga2d_real interface~init~15->proc~init_ga2d_real interface~expand~2 expand proc~append_ga_dynlong_vec->interface~expand~2 proc~append_ga_dynlong->interface~expand~2 interface~tem_parentof tem_ParentOf proc~update_childneighborid->interface~tem_parentof proc~tem_idofcoord tem_IdOfCoord proc~update_childneighborid->proc~tem_idofcoord proc~tem_parentatlevel tem_ParentAtLevel interface~tem_parentof->proc~tem_parentatlevel proc~tem_directparent tem_directParent interface~tem_parentof->proc~tem_directparent proc~sortposofval_label sortposofval_label interface~sortedposofval~4->proc~sortposofval_label proc~expand_ga_dynlong expand_ga_dynlong interface~expand~2->proc~expand_ga_dynlong

Called by

proc~~add_ghostfromfiner~~CalledByGraph proc~add_ghostfromfiner add_ghostFromFiner proc~add_ghostfromfiner->proc~add_ghostfromfiner proc~identify_local_element identify_local_element proc~identify_local_element->proc~add_ghostfromfiner proc~single_process_element single_process_element proc~single_process_element->proc~identify_local_element proc~identify_halo identify_halo proc~identify_halo->proc~identify_local_element proc~request_remotehalos request_remoteHalos proc~request_remotehalos->proc~identify_halo proc~identify_elements identify_elements proc~identify_elements->proc~single_process_element proc~identify_elements->proc~identify_elements proc~build_levelelements build_levelElements proc~build_levelelements->proc~identify_elements proc~create_allparentneighbors create_allParentNeighbors proc~create_allparentneighbors->proc~identify_elements proc~identify_additionalneigh identify_additionalNeigh proc~identify_additionalneigh->proc~identify_elements proc~identify_stencilneigh identify_stencilNeigh proc~identify_stencilneigh->proc~identify_elements proc~communicate_elements communicate_elements proc~communicate_elements->proc~request_remotehalos

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iChild
integer, private :: level
integer(kind=long_k), private :: children(8)
integer(kind=long_k), private :: property
logical, private :: wasAdded
logical, private :: childUpdated
integer, private :: childPos(8)
type(tem_path_type), private :: childPath