[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. |

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.

- on the domain_proc : { ( domain_entity , range_proc )[k] }
- on the range_proc : { ( range_entity , domain_proc )[k] }

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.

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 1.6.3