Bulk Data Parallel Distribution
[Sierra Toolkit Mesh]

Parallel distribution of mesh bulk data. More...

Typedefs

typedef std::pair< Entity
*, unsigned > 
stk::mesh::EntityProc
 Pairing of an entity with a processor rank.
typedef PairIter< std::vector
< EntityProc >::const_iterator > 
stk::mesh::PairIterEntityProc
 Spans of a vector of entity-processor pairs are common.
typedef PairIter< std::vector
< EntityCommInfo >
::const_iterator > 
stk::mesh::PairIterEntityComm
 Span of ( communication-subset-ordinal , process-rank ) pairs for the communication of an entity.
typedef std::vector
< EntityCommInfo > 
stk::mesh::EntityCommInfoVector

Functions

bool stk::mesh::comm_mesh_counts (BulkData &, std::vector< size_t > &counts, bool=false)
 Global counts for a mesh's entities.

Detailed Description

Parallel distribution of mesh bulk data.

Parallel distributed entities have relations to entities that cross proessor boundaries.

Such a cross-processor relation can be viewed as follows.

( domain_entity , domain_proc ) -> ( range_entity , range_proc )

Mesh-specific parallel communication operations use a collection of cross-processor relations to determine what information is sent or received among processors. These operations send data from the domain_entity on the domain_processor to the range_entity on the range_processor. These communication operations are most efficient when all message data between a given pair of processors is packaged into a single message.

Efficient packing and unpacking of mesh-specific parallel communication messages is supported by structuring the cross-processor relations as follows.

Given a collection of cross-processor relations:

{ ( ( domain_entity , domain_proc ) -> ( range_entity , range_proc ) )[k] }

Form the following two correlated vectors on the domain and range processors.

Members of the domain processor's vector are ordered by the domain entity key and then by range processor. Members of the range processor's vector are ordered conformally with the domain processor's ordering. Thus message packing and unpacking can be performed by iterating the cross-processor relation vectors.


Function Documentation

bool stk::mesh::comm_mesh_counts ( BulkData &  ,
std::vector< size_t > &  counts,
bool  = false 
)

Global counts for a mesh's entities.

Generated on Wed Apr 13 10:05:49 2011 for Sierra Toolkit by  doxygen 1.6.3