Scrambler  1
TreeParsing Module Reference

Performs necessary communication of new tree tree created by CreateChildren to necessary processors and calls appropriate pair-wise node routine when unparsing messages. Intermediate between TreeLevelComms and TreeNodeOps. More...

List of all members.

Public Member Functions

subroutine FindList2D (A, j, b)
 Returns a 1D array 'b' containing the true indices from column j of 2D logical array 'A'.
subroutine FindList1D (A, b)
 Returns a 1D array 'b' containing the true indices of a 1D logical array 'A'.
NeighboringChildrenParsing Routines for parsing nodes for InheritNeighborChildren
subroutine SendNeighboringChildren (message, node, neighbor)
 sends children that might neighbor neighbor's children
subroutine RecvNeighboringChildren (message)
 receives children that might neighbor children of local nodes
OverlappingChildrenParsing Routines for parsing nodes for InheritOverlapChildren
subroutine SendOverlappingChildren (message, node, overlap)
 This routine is called by two different schedulers: PostSendOverlappingChildrenToNewNodes PostSendOverlappingChildrenToOldNodes Both of which send children to overlaps (For old grids, the children info is being sent to new overlaps) (For new grids, the children info is being sent to old overlaps)
subroutine RecvOverlappingChildrenFromOldNodes (message)
 receives children that might overlap children of local nodes
subroutine RecvOverlappingChildrenFromNewNodes (message)
 receives children that might overlap children of old nodes
ChildGridParsing Routines for parsing new nodes to child processors
subroutine SendGridToChild (message, child)
 Informs children of their new grids or of their nextlevel parentprocs.
subroutine RecvGridsFromParent (message)
 Receiving incoming new grids.
ChildOverlapsNeighborsParsing Routines for parsing overlaps and neighbors to new children
subroutine SendOverlapsNeighborsToChild (Message, child)
 Informs children of their neighbors and overlaps.
subroutine RecvOverlapsNeighbors (message)
 Receives neighbors and overlaps of new grids received by RecvGridsFromParent.
OldChildOverlapsParsing Routines for parsing overlaps to old children
subroutine SendOverlapsToChild (message, child)
 This routine is called by two different schedulers: PostSendOverlapsToOldNodesChildren PostSendOverlapsToNodesOldChildren Both of which send new overlaps to old grids on the child level (on step 1 the old child grids are old grids children) (on step 2 the old child grids are the current grids old children)
subroutine RecvOldNodeOverlaps (message)
 This routine is called by old grids and unpacks new overlaps received from the parent grids.
ControlParsingRoutines Routines for parsing parent processors
subroutine FinalizeSendGridsToChildren (MessageGroup, ChildChildArray, GrandChildArray)
 This routine extracts the list of new parent procs for the grandchildren of child grids.
subroutine FinalizeRecvGridsFromParents (MessageGroup, NewParentsArray)
 This routine receives the parentlist for the next level from the parents of the current level.

Detailed Description

Performs necessary communication of new tree tree created by CreateChildren to necessary processors and calls appropriate pair-wise node routine when unparsing messages. Intermediate between TreeLevelComms and TreeNodeOps.

Definition at line 36 of file tree_parsing.f90.


Member Function/Subroutine Documentation

subroutine SendNeighboringChildren ( TYPE(PackedMessage), pointer  message,
TYPE(NodeDef), pointer  node,
TYPE(NodeDef), pointer  neighbor 
)

sends children that might neighbor neighbor's children

Parameters:
messagemessage to pack to
nodeThe node whose children should be packed
neighborThe neighbor node that might have children that neighbor the node's children

Definition at line 54 of file tree_parsing.f90.

subroutine RecvNeighboringChildren ( TYPE(PackedMessage), pointer  message)

receives children that might neighbor children of local nodes

Parameters:
messagemessage to unpack from

Definition at line 84 of file tree_parsing.f90.

subroutine SendOverlappingChildren ( TYPE(PackedMessage), pointer  message,
TYPE(NodeDef), pointer  node,
TYPE(NodeDef), pointer  overlap 
)

This routine is called by two different schedulers: PostSendOverlappingChildrenToNewNodes PostSendOverlappingChildrenToOldNodes Both of which send children to overlaps (For old grids, the children info is being sent to new overlaps) (For new grids, the children info is being sent to old overlaps)

Parameters:
messageThe message to pack to
nodeThe node whose children should be packed
overlapThe overlap node that might have children that overlap the node's children

Definition at line 133 of file tree_parsing.f90.

subroutine RecvOverlappingChildrenFromOldNodes ( TYPE(PackedMessage), pointer  message)

receives children that might overlap children of local nodes

Parameters:
messagemessage to unpack from

Definition at line 162 of file tree_parsing.f90.

subroutine RecvOverlappingChildrenFromNewNodes ( TYPE(PackedMessage), pointer  message)

receives children that might overlap children of old nodes

Parameters:
messagemessage to unpack from

Definition at line 207 of file tree_parsing.f90.

subroutine SendGridToChild ( TYPE(PackedMessage), pointer  message,
TYPE(NodeDef), pointer  child 
)

Informs children of their new grids or of their nextlevel parentprocs.

Parameters:
messageThe message to pack to
childThe child node to pack

Definition at line 258 of file tree_parsing.f90.

subroutine RecvGridsFromParent ( TYPE(PackedMessage), pointer  message)

Receiving incoming new grids.

Parameters:
messageThe message to unpack from

Definition at line 271 of file tree_parsing.f90.

subroutine SendOverlapsNeighborsToChild ( TYPE(PackedMessage), pointer  Message,
TYPE(NodeDef), pointer  child 
)

Informs children of their neighbors and overlaps.

Parameters:
messageThe message to pack to
childThe child node to pack neighbors and overlaps of

Definition at line 301 of file tree_parsing.f90.

subroutine RecvOverlapsNeighbors ( TYPE(PackedMessage), pointer  message)

Receives neighbors and overlaps of new grids received by RecvGridsFromParent.

Parameters:
messageThe message to unpack from

Definition at line 338 of file tree_parsing.f90.

subroutine SendOverlapsToChild ( TYPE(PackedMessage), pointer  message,
TYPE(NodeDef), pointer  child 
)

This routine is called by two different schedulers: PostSendOverlapsToOldNodesChildren PostSendOverlapsToNodesOldChildren Both of which send new overlaps to old grids on the child level (on step 1 the old child grids are old grids children) (on step 2 the old child grids are the current grids old children)

Parameters:
messageThe message to pack to
childThe child node to pack the overlaps of

Definition at line 386 of file tree_parsing.f90.

subroutine RecvOldNodeOverlaps ( TYPE(PackedMessage), pointer  message)

This routine is called by old grids and unpacks new overlaps received from the parent grids.

Parameters:
messageThe message to unpack from

Definition at line 408 of file tree_parsing.f90.

subroutine FinalizeSendGridsToChildren ( TYPE(StageMessageGroup), pointer  MessageGroup,
LOGICAL, dimension(:,:), pointer  ChildChildArray,
LOGICAL, dimension(:), pointer  GrandChildArray 
)

This routine extracts the list of new parent procs for the grandchildren of child grids.

Parameters:
MessageGroupThe message group containing the child grids
ChildChildArrayA 2D array of size MPI_NPxMPI_NP where ChildChildArray(i,j) is true
GrandChildArray1D array containing child and grandchild procs if processor i is on a proclist of any child assigned to processor j

Definition at line 444 of file tree_parsing.f90.

subroutine FinalizeRecvGridsFromParents ( TYPE(StageMessageGroup), pointer  MessageGroup,
LOGICAL, dimension(:), pointer  NewParentsArray 
)

This routine receives the parentlist for the next level from the parents of the current level.

Parameters:
MessageGroupThe message group containing the child grids
NewParentsArrayA 1D array of size MPI_NP where NewParentsArray(i) is true if the proclists of any grid on processor i contains the current processor.

Definition at line 486 of file tree_parsing.f90.

subroutine FindList2D ( LOGICAL, dimension(:,:), pointer  A,
INTEGER  j,
INTEGER, dimension(:), pointer  b 
)

Returns a 1D array 'b' containing the true indices from column j of 2D logical array 'A'.

Parameters:
A2D logical array whose lower bounds are expected to be 0
jColumn index
bOutput array that needs to be allocated and returned

Definition at line 534 of file tree_parsing.f90.

subroutine FindList1D ( LOGICAL, dimension(:), pointer  A,
INTEGER, dimension(:), pointer  b 
)

Returns a 1D array 'b' containing the true indices of a 1D logical array 'A'.

Parameters:
A1D logical array whose lower bound is expected to be 0
bOutput array that needs to be allocated and returned

Definition at line 553 of file tree_parsing.f90.


The documentation for this module was generated from the following file:
 All Classes Files Functions Variables