identify_local_element Subroutine

private subroutine identify_local_element(targetID, levelDesc, tree, minLevel, elemPos, nesting, updated, stencil, skip_add_additionalGhost)

Determine if the target element (local) targetID is fluid or ghost in the local process If fluid: do nothing, as it will be added later on anyway (or already is) ghostFromFiner (coarser than requested): add all virtual children, i.e. all levels between requested treeID and found one. ghostFromCoarser (finer than requested): not existing( localPos=0): add to halo

Arguments

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

neighboring treeID

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

the level descriptor to be filled

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

tree information

integer, intent(in) :: minLevel

minimum level fluid element in the tree

integer, intent(out) :: elemPos

targetID element position in the levelDesc % elem list

integer, intent(in) :: nesting

nesting level

logical, intent(out) :: updated

was the element updated in this call?

type(tem_stencilHeader_type), intent(in) :: stencil

current stencil definition

logical, intent(in), optional :: skip_add_additionalGhost

logical, optional, if true no ghosts are added


Calls

proc~~identify_local_element~~CallsGraph proc~identify_local_element identify_local_element proc~tem_pathof tem_PathOf proc~identify_local_element->proc~tem_pathof proc~tem_tidinfo tem_tIDinfo proc~identify_local_element->proc~tem_tidinfo interface~positionofval~4 positionofval proc~identify_local_element->interface~positionofval~4 proc~add_all_virtual_children add_all_virtual_children proc~identify_local_element->proc~add_all_virtual_children proc~tem_posofpath tem_PosOfPath proc~identify_local_element->proc~tem_posofpath proc~add_ghostfromfiner add_ghostFromFiner proc~identify_local_element->proc~add_ghostfromfiner interface~append~4 append proc~identify_local_element->interface~append~4 proc~tem_levelof tem_LevelOf proc~identify_local_element->proc~tem_levelof proc~tem_baryofid tem_BaryOfId proc~tem_tidinfo->proc~tem_baryofid proc~tem_elemsize tem_ElemSize proc~tem_tidinfo->proc~tem_elemsize proc~tem_coordofid tem_CoordOfId proc~tem_tidinfo->proc~tem_coordofid proc~posofval_label posofval_label interface~positionofval~4->proc~posofval_label proc~add_all_virtual_children->interface~positionofval~4 proc~add_all_virtual_children->proc~add_all_virtual_children proc~add_all_virtual_children->interface~append~4 proc~add_all_virtual_children->proc~tem_levelof proc~tem_idofcoord tem_IdOfCoord proc~add_all_virtual_children->proc~tem_idofcoord proc~tem_childnumber tem_childNumber proc~add_all_virtual_children->proc~tem_childnumber proc~tem_find_bcs_fromcoarser tem_find_BCs_fromCoarser proc~add_all_virtual_children->proc~tem_find_bcs_fromcoarser proc~add_all_virtual_children->proc~tem_coordofid interface~init~15 init proc~add_all_virtual_children->interface~init~15 proc~add_ghostfromfiner->proc~tem_pathof proc~add_ghostfromfiner->interface~positionofval~4 proc~add_ghostfromfiner->proc~tem_posofpath proc~add_ghostfromfiner->proc~add_ghostfromfiner proc~add_ghostfromfiner->interface~append~4 proc~add_ghostfromfiner->proc~tem_levelof proc~tem_find_bcs_fromfiner tem_find_BCs_fromFiner proc~add_ghostfromfiner->proc~tem_find_bcs_fromfiner proc~tem_directchildren tem_directChildren proc~add_ghostfromfiner->proc~tem_directchildren proc~append_ga_dynlong append_ga_dynlong interface~append~4->proc~append_ga_dynlong proc~append_ga_dynlong_vec append_ga_dynlong_vec interface~append~4->proc~append_ga_dynlong_vec interface~expand~2 expand proc~append_ga_dynlong->interface~expand~2 proc~tem_baryofid->proc~tem_coordofid proc~tem_elemsizelevel tem_ElemSizeLevel proc~tem_baryofid->proc~tem_elemsizelevel proc~tem_find_bcs_fromfiner->interface~append~4 proc~tem_find_bcs_fromfiner->interface~init~15 proc~stenciltochild stencilToChild proc~tem_find_bcs_fromfiner->proc~stenciltochild proc~update_childneighborid update_childNeighborID proc~tem_find_bcs_fromfiner->proc~update_childneighborid proc~childtostencil childToStencil proc~tem_find_bcs_fromcoarser->proc~childtostencil proc~tem_elemsize->proc~tem_levelof proc~tem_elemsize->proc~tem_elemsizelevel proc~tem_coordofid->proc~tem_levelof interface~sortedposofval~4 sortedposofval proc~posofval_label->interface~sortedposofval~4 proc~append_ga_dynlong_vec->interface~expand~2 proc~init_ga2d_real init_ga2d_real interface~init~15->proc~init_ga2d_real proc~expand_ga_dynlong expand_ga_dynlong interface~expand~2->proc~expand_ga_dynlong proc~sortposofval_label sortposofval_label interface~sortedposofval~4->proc~sortposofval_label proc~update_childneighborid->proc~tem_idofcoord interface~tem_parentof tem_ParentOf proc~update_childneighborid->interface~tem_parentof

Called by

proc~~identify_local_element~~CalledByGraph proc~identify_local_element identify_local_element 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~create_allparentneighbors create_allParentNeighbors proc~request_remotehalos->proc~create_allparentneighbors proc~identify_stencilneigh identify_stencilNeigh proc~request_remotehalos->proc~identify_stencilneigh proc~identify_elements identify_elements proc~identify_elements->proc~single_process_element proc~identify_elements->proc~identify_elements proc~identify_elements->proc~create_allparentneighbors proc~identify_elements->proc~identify_stencilneigh proc~create_allparentneighbors->proc~identify_elements proc~create_allparentneighbors->proc~identify_stencilneigh proc~identify_additionalneigh identify_additionalNeigh proc~identify_additionalneigh->proc~identify_elements proc~identify_stencilneigh->proc~identify_elements proc~build_levelelements build_levelElements proc~build_levelelements->proc~identify_elements proc~build_levelelements->proc~identify_additionalneigh proc~communicate_elements communicate_elements proc~communicate_elements->proc~request_remotehalos proc~tem_find_allelements tem_find_allElements proc~tem_find_allelements->proc~identify_additionalneigh proc~tem_find_allelements->proc~build_levelelements proc~tem_find_allelements->proc~communicate_elements

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: localPos
integer, private :: targetLevel
integer, private :: dPos
integer, private :: fluidLevel
integer(kind=long_k), private :: fluidID
type(tem_path_type), private :: targetPath
logical, private :: l_skip_add_additionalGhost