tem_find_allElements Subroutine

public subroutine tem_find_allElements(tree, levelDesc, levelPointer, computeStencil, commPattern, cleanup, reqNesting, proc)

call this routine from your geometry initialization routine in the solver create all the necessary level-wise objects, such as element lists, dependencies

1.) build all dependencies for halos and ghost which are needed for interpolation/reconstruction (including MPI communications) 2.) build the pointers for each element to its neighbors/stencil elements. All this information is stored in tem_levelDesc_type

Arguments

TypeIntentOptionalAttributesName
type(treelmesh_type), intent(inout) :: tree

the global tree

type(tem_levelDesc_type), intent(inout) :: levelDesc(tree%global%minLevel:)

the level descriptor to be filled

integer, intent(out), allocatable:: levelPointer(:)

Pointer from treeIDlist entry to level-wise fluid part of total list

type(tem_stencilHeader_type) :: computeStencil(:)

array of all stencils used in the simulation

type(tem_commPattern_type), intent(in) :: commPattern

the communication pattern used

logical, intent(in), optional :: cleanup

cleanup arrays afterwards?

integer, intent(in), optional :: reqNesting

nesting level

type(tem_comm_env_type), intent(in) :: proc

Process description to use.


Calls

proc~~tem_find_allelements~~CallsGraph proc~tem_find_allelements tem_find_allElements proc~identify_additionalneigh identify_additionalNeigh proc~tem_find_allelements->proc~identify_additionalneigh proc~tem_pathof tem_PathOf proc~tem_find_allelements->proc~tem_pathof proc~tem_cleanupdependencyarrays tem_cleanupDependencyArrays proc~tem_find_allelements->proc~tem_cleanupdependencyarrays proc~identify_lists identify_lists proc~tem_find_allelements->proc~identify_lists proc~assemble_lists assemble_lists proc~tem_find_allelements->proc~assemble_lists proc~build_levelelements build_levelElements proc~tem_find_allelements->proc~build_levelelements proc~tem_build_levelpointer tem_build_levelPointer proc~tem_find_allelements->proc~tem_build_levelpointer proc~check_additionalcomm check_additionalComm proc~tem_find_allelements->proc~check_additionalcomm proc~update_elempostototalpos update_elemPosToTotalPos proc~tem_find_allelements->proc~update_elempostototalpos proc~communicate_elements communicate_elements proc~tem_find_allelements->proc~communicate_elements proc~tem_horizontalspacer tem_horizontalSpacer proc~tem_find_allelements->proc~tem_horizontalspacer

Called by

proc~~tem_find_allelements~~CalledByGraph proc~tem_find_allelements tem_find_allElements proc~tem_create_leveldesc tem_create_levelDesc proc~tem_create_leveldesc->proc~tem_find_allelements proc~tem_dimbydim_construction tem_dimByDim_construction proc~tem_dimbydim_construction->proc~tem_create_leveldesc proc~tem_build_face_info tem_build_face_info proc~tem_build_face_info->proc~tem_dimbydim_construction proc~check_serial_multilevel_facedesc check_serial_multilevel_faceDesc proc~check_serial_multilevel_facedesc->proc~tem_build_face_info proc~check_serial_singlelevel_facedesc check_serial_singlelevel_faceDesc proc~check_serial_singlelevel_facedesc->proc~tem_build_face_info proc~check_parallel_singlelevel_facedesc check_parallel_singlelevel_faceDesc proc~check_parallel_singlelevel_facedesc->proc~tem_build_face_info

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iLevel
type(tem_path_type), private, allocatable:: pathFirst(:)
type(tem_path_type), private, allocatable:: pathLast(:)
logical, private :: doAdditional
logical, private :: clean_constructionArrays