tem_findElement Subroutine

public recursive subroutine tem_findElement(TreeID, eligible_child, ElemList, treeIDlist, nElems, Part_First, Part_Last, otherLevel)

Recursive routine to find all actual (eligible) leave nodes in the local partition for a given treeID. Alternatively use tem_findPath, which uses precomputed paths in the tree and should speed up the search (at the expense of storing the paths beforehand).

Arguments

TypeIntentOptionalAttributesName
integer(kind=long_k) :: TreeID

TreeID to find in the array of Elements

integer :: eligible_child(:)

Candidate childs, which might be considered as neighbors

type(tem_longList), pointer:: ElemList

linked list of resulting elements building the neighbor

integer(kind=long_k), intent(in) :: treeIDlist(nElems)

array of treeIDs

integer, intent(in) :: nElems

number of elements in list

integer(kind=long_k), intent(in) :: Part_First(:)

parts first entry

integer(kind=long_k), intent(in) :: Part_Last(:)

parts last entry

logical, intent(inout), optional :: otherLevel

entry is on another level


Calls

proc~~tem_findelement~~CallsGraph proc~tem_findelement tem_findElement proc~tem_findelement->proc~tem_findelement proc~tem_posofid tem_PosOfId proc~tem_findelement->proc~tem_posofid interface~append~22 append proc~tem_findelement->interface~append~22 proc~tem_pathcomparison tem_PathComparison proc~tem_posofid->proc~tem_pathcomparison proc~tem_pathof tem_PathOf proc~tem_posofid->proc~tem_pathof proc~tem_appendsp2darray tem_appendSp2dArray interface~append~22->proc~tem_appendsp2darray proc~tem_appendintlist tem_appendIntList interface~append~22->proc~tem_appendintlist proc~tem_appendsp1darray tem_appendSp1dArray interface~append~22->proc~tem_appendsp1darray proc~tem_appendintlong1darray tem_appendIntLong1dArray interface~append~22->proc~tem_appendintlong1darray proc~tem_appendlonglist tem_appendLongList interface~append~22->proc~tem_appendlonglist proc~tem_appenddp1darray tem_appendDp1dArray interface~append~22->proc~tem_appenddp1darray proc~tem_appendintlongarrayto1darray tem_appendIntLongArrayTo1dArray interface~append~22->proc~tem_appendintlongarrayto1darray proc~tem_appenddp2darray tem_appendDp2dArray interface~append~22->proc~tem_appenddp2darray proc~tem_appendint1darray tem_appendInt1dArray interface~append~22->proc~tem_appendint1darray proc~tem_appendint2darray tem_appendInt2dArray interface~append~22->proc~tem_appendint2darray proc~tem_appendintlong2darray tem_appendIntLong2dArray interface~append~22->proc~tem_appendintlong2darray

Contents


Variables

TypeVisibilityAttributesNameInitial
integer(kind=long_k), private :: pos
integer, private :: i
integer(kind=long_k), private :: childID
integer(kind=long_k), private :: off