#include <ParallelTetrahedralMesh.hpp>
Public Types | |
enum | PartitionType { DUMB = 0, METIS_BINARY, METIS_LIBRARY } |
Public Member Functions | |
ParallelTetrahedralMesh (PartitionType metisPartitioning=METIS_LIBRARY) | |
void | ConstructFromMeshReader (AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &rMeshReader, bool cullInternalFaces=false) |
unsigned | GetNumLocalNodes () const |
unsigned | GetNumLocalElements () const |
unsigned | GetNumNodes () const |
unsigned | GetNumElements () const |
unsigned | GetNumBoundaryElements () const |
void | SetElementOwnerships (unsigned lo, unsigned hi) |
Private Member Functions | |
void | RegisterNode (unsigned index) |
void | RegisterHaloNode (unsigned index) |
void | RegisterElement (unsigned index) |
void | RegisterBoundaryElement (unsigned index) |
unsigned | SolveNodeMapping (unsigned index) const |
unsigned | SolveHaloNodeMapping (unsigned index) |
unsigned | SolveElementMapping (unsigned index) const |
unsigned | SolveBoundaryElementMapping (unsigned index) const |
void | ComputeMeshPartitioning (AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &rMeshReader, std::set< unsigned > &rNodesOwned, std::set< unsigned > &rHaloNodesOwned, std::set< unsigned > &rElementsOwned, std::vector< unsigned > &rProcessorsOffset, std::vector< unsigned > &rNodePermutation) |
void | DumbNodePartitioning (AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &rMeshReader, std::set< unsigned > &rNodesOwned) |
void | MetisBinaryNodePartitioning (AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &rMeshReader, std::set< unsigned > &rNodesOwned, std::vector< unsigned > &rProcessorsOffset, std::vector< unsigned > &rNodePermutation) |
void | MetisLibraryNodePartitioning (AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &rMeshReader, std::set< unsigned > &rNodesOwned, std::vector< unsigned > &rProcessorsOffset, std::vector< unsigned > &rNodePermutation) |
void | ReorderNodes (std::vector< unsigned > &rNodePermutation) |
Private Attributes | |
unsigned | mTotalNumElements |
unsigned | mTotalNumBoundaryElements |
unsigned | mTotalNumNodes |
std::vector< Node< SPACE_DIM > * > | mHaloNodes |
std::map< unsigned, unsigned > | mNodesMapping |
std::map< unsigned, unsigned > | mHaloNodesMapping |
std::map< unsigned, unsigned > | mElementsMapping |
std::map< unsigned, unsigned > | mBoundaryElementsMapping |
PartitionType | mMetisPartitioning |
Friends | |
class | TestParallelTetrahedralMesh |
Definition at line 60 of file ParallelTetrahedralMesh.hpp.
void ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader | ( | AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > & | rMeshReader, | |
bool | cullInternalFaces = false | |||
) | [inline] |
Definition at line 211 of file ParallelTetrahedralMesh.hpp.
References ElementData::AttributeValue, ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning(), ElementData::NodeIndices, and PetscTools::NumProcs().
void ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning | ( | AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > & | rMeshReader, | |
std::set< unsigned > & | rNodesOwned, | |||
std::set< unsigned > & | rHaloNodesOwned, | |||
std::set< unsigned > & | rElementsOwned, | |||
std::vector< unsigned > & | rProcessorsOffset, | |||
std::vector< unsigned > & | rNodePermutation | |||
) | [inline, private] |
Definition at line 157 of file ParallelTetrahedralMesh.hpp.
References ElementData::NodeIndices, and PetscTools::NumProcs().
Referenced by ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().