ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <ParallelTetrahedralMesh.hpp>

Inheritance diagram for ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >:

Inheritance graph
[legend]
Collaboration diagram for ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >:

Collaboration graph
[legend]

List of all members.

Public Types

enum  PartitionType { DUMB = 0, METIS_BINARY, METIS_LIBRARY }

Public Member Functions

 ParallelTetrahedralMesh (PartitionType metisPartitioning=METIS_LIBRARY)
virtual ~ParallelTetrahedralMesh ()
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


Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
class ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >

Parallel implementation of a mesh Nodes are distributed such that each process has A set of nodes (possibly reordered) with contiguous global indices A local copy of all the elements supporting those nodes A local copy of ghost/halo nodes which are all the nodes used in the supporting elements, but not owned outright.

Definition at line 62 of file ParallelTetrahedralMesh.hpp.


Member Enumeration Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
enum ParallelTetrahedralMesh::PartitionType

Definition of partition types. "DUMB" is using naturally mesh ordering with PETSC_DECIDE. "METIS_BINARY" via METIS file dump and a call to the Metis binary partdmesh. "METIS_LIBRARY" is a call to the sequential METIS library

Definition at line 73 of file ParallelTetrahedralMesh.hpp.


Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ParallelTetrahedralMesh ( PartitionType  metisPartitioning = METIS_LIBRARY  )  [inline]

Constructor.

Parameters:
metisPartitioning defaults to METIS_LIBRARY

Definition at line 49 of file ParallelTetrahedralMesh.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::~ParallelTetrahedralMesh (  )  [inline, virtual]


Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader ( AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &  rMeshReader,
bool  cullInternalFaces = false 
) [inline, virtual]

Construct the mesh using a MeshReader. This method must be overridden in concrete classes.

Parameters:
rMeshReader the mesh reader
cullInternalFaces whether to cull internal faces (defaults to false)

Todo:
: assert the node is not considered both owned and halo-owned. Remove continue statement few lines below then.

Implements AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.

Definition at line 117 of file ParallelTetrahedralMesh.cpp.

References ElementData::AttributeValue, ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetMeshFileBaseName(), PetscTools::GetMyRank(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextElementData(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextFaceData(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextNode(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumElementAttributes(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumFaceAttributes(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumFaces(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), PetscTools::GetNumProcs(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryNodes, AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements, ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes, ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodesMapping, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mMeshFileBaseName, ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMetisPartitioning, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mNodesMapping, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodesPermutation, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory, ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumBoundaryElements, ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements, ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumNodes, ElementData::NodeIndices, ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterBoundaryElement(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterElement(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterHaloNode(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterNode(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ReorderNodes(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::SetRegion(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveHaloNodeMapping(), and ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveNodeMapping().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumLocalNodes (  )  const [inline]

Get the number of nodes that are entirely owned by the local process. (Does not include halo nodes).

Definition at line 316 of file ParallelTetrahedralMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumLocalElements (  )  const [inline]

Get the number of Elements which are owned by this process (have at least one entirely locally-owned node).

Definition at line 322 of file ParallelTetrahedralMesh.cpp.

References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes (  )  const [inline, virtual]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements (  )  const [inline, virtual]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumBoundaryElements (  )  const [inline, virtual]

Get the total number of boundary elements that are actually in use (globally).

Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.

Definition at line 340 of file ParallelTetrahedralMesh.cpp.

References ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumBoundaryElements.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SetElementOwnerships ( unsigned  lo,
unsigned  hi 
) [inline, virtual]

Sets the ownership of each element according to which nodes are owned by the process.

Parameters:
lo is the lowest node number owned by the process
hi is one higher than the highest node number owned by the process ie. this process owns nodes [lo..hi) and element is "owned" if one or more of its nodes are owned

Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.

Definition at line 346 of file ParallelTetrahedralMesh.cpp.

References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements, and AbstractElement< ELEMENT_DIM, SPACE_DIM >::SetOwnership().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterNode ( unsigned  index  )  [inline, private]

Add the most recently constructed node to the global->local node mapping

Parameters:
index is the global index of node to be registered

Definition at line 361 of file ParallelTetrahedralMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, and ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mNodesMapping.

Referenced by ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterHaloNode ( unsigned  index  )  [inline, private]

Add the most recently constructed halo node to the global->local halo node mapping

Parameters:
index is the global index of halo node to be registered

Definition at line 367 of file ParallelTetrahedralMesh.cpp.

References ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes, and ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodesMapping.

Referenced by ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterElement ( unsigned  index  )  [inline, private]

Add the most recently constructed element to the global->local element mapping

Parameters:
index is the global index of element to be registered

Definition at line 373 of file ParallelTetrahedralMesh.cpp.

References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements, and ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElementsMapping.

Referenced by ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterBoundaryElement ( unsigned  index  )  [inline, private]

Add the most recently constructed boundary element to the global->local boundary element mapping

Parameters:
index is the global index of boundary element to be registered

Definition at line 379 of file ParallelTetrahedralMesh.cpp.

References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements, and ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElementsMapping.

Referenced by ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveNodeMapping ( unsigned  index  )  const [inline, private, virtual]

Overridden solve node mapping method.

Parameters:
index the global index of the node

Implements AbstractMesh< ELEMENT_DIM, SPACE_DIM >.

Definition at line 385 of file ParallelTetrahedralMesh.cpp.

References PetscTools::GetMyRank(), and ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mNodesMapping.

Referenced by ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveHaloNodeMapping ( unsigned  index  )  [inline, private]

Overridden solve halo node mapping method.

Parameters:
index the global index of the node

Definition at line 399 of file ParallelTetrahedralMesh.cpp.

References ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodesMapping.

Referenced by ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveElementMapping ( unsigned  index  )  const [inline, private, virtual]

Overridden solve element mapping method.

Parameters:
index the global index of the element

Implements AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.

Definition at line 406 of file ParallelTetrahedralMesh.cpp.

References PetscTools::GetMyRank(), and ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElementsMapping.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveBoundaryElementMapping ( unsigned  index  )  const [inline, private, virtual]

Overridden solve boundary element mapping method.

Parameters:
index the global index of the boundary element

Implements AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.

Definition at line 421 of file ParallelTetrahedralMesh.cpp.

References PetscTools::GetMyRank(), and ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElementsMapping.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
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]

Compute a parallel partitioning of a given mesh using specialised methods below based on the value of mMetisPartitioning

Parameters:
rMeshReader is the reader pointing to the mesh to be read in and partitioned
rNodesOwned is a set to be filled with the indices of nodes owned by this process
rHaloNodesOwned is a set to be filled with the indices of halo nodes owned by this process
rElementsOwned is a set to be filled with the indices of elements owned by this process
rProcessorsOffset a vector of length NumProcs to be filled with the index of the lowest indexed node owned by each process
rNodePermutation a vector to be filled with the permutation applied to the node numbering by the partitioning method
Todo:
Make it clear which way the permutation applies

Todo:
: add a timing event for the partitioning

Definition at line 64 of file ParallelTetrahedralMesh.cpp.

References ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::DumbNodePartitioning(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextElementData(), PetscTools::GetNumProcs(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::MetisBinaryNodePartitioning(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::MetisLibraryNodePartitioning(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMetisPartitioning, ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements, ElementData::NodeIndices, and AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::Reset().

Referenced by ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::DumbNodePartitioning ( AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &  rMeshReader,
std::set< unsigned > &  rNodesOwned 
) [inline, private]

Specialised method to compute a parallel partitioning of a given mesh (called by ComputeMeshPartitioning, based on the value of mMetisPartitioning

Parameters:
rMeshReader is the reader pointing to the mesh to be read in and partitioned
rNodesOwned is an empty set to be filled with the indices of nodes owned by this process

Todo:
: to be removed

Definition at line 436 of file ParallelTetrahedralMesh.cpp.

References DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLow(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory, and ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumNodes.

Referenced by ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::MetisBinaryNodePartitioning ( AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &  rMeshReader,
std::set< unsigned > &  rNodesOwned,
std::vector< unsigned > &  rProcessorsOffset,
std::vector< unsigned > &  rNodePermutation 
) [inline, private]

Specialised method to compute a parallel partitioning of a given mesh (called by ComputeMeshPartitioning, based on the value of mMetisPartitioning

Parameters:
rMeshReader is the reader pointing to the mesh to be read in and partitioned
rNodesOwned is an empty set to be filled with the indices of nodes owned by this process
rProcessorsOffset a vector of length NumProcs to be filled with the index of the lowest indexed node owned by each process
rNodePermutation a vector to be filled with the permutation applied to the node numberig by the partitioning method

Definition at line 451 of file ParallelTetrahedralMesh.cpp.

References PetscTools::Barrier(), PetscTools::GetMyRank(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextElementData(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), PetscTools::GetNumProcs(), OutputFileHandler::GetOutputDirectoryFullPath(), OutputFileHandler::IsMaster(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements, ElementData::NodeIndices, OutputFileHandler::OpenOutputFile(), and AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::Reset().

Referenced by ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::MetisLibraryNodePartitioning ( AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &  rMeshReader,
std::set< unsigned > &  rNodesOwned,
std::vector< unsigned > &  rProcessorsOffset,
std::vector< unsigned > &  rNodePermutation 
) [inline, private]

Specialised method to compute a parallel partitioning of a given mesh (called by ComputeMeshPartitioning, based on the value of mMetisPartitioning

Parameters:
rMeshReader is the reader pointing to the mesh to be read in and partitioned
rNodesOwned is an empty set to be filled with the indices of nodes owned by this process
rProcessorsOffset a vector of length NumProcs to be filled with the index of the lowest indexed node owned by each process
rNodePermutation a vector to be filled with the permutation applied to the node numberig by the partitioning method

Definition at line 586 of file ParallelTetrahedralMesh.cpp.

References PetscTools::GetMyRank(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextElementData(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), PetscTools::GetNumProcs(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements, ElementData::NodeIndices, and AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::Reset().

Referenced by ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ReorderNodes ( std::vector< unsigned > &  rNodePermutation  )  [inline, private]


Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements [private]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumBoundaryElements [private]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumNodes [private]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector<Node<SPACE_DIM>* > ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes [private]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::map<unsigned, unsigned> ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mNodesMapping [private]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::map<unsigned, unsigned> ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodesMapping [private]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::map<unsigned, unsigned> ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElementsMapping [private]

A map from element global index to local index used by this process.

Definition at line 101 of file ParallelTetrahedralMesh.hpp.

Referenced by ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterElement(), and ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveElementMapping().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::map<unsigned, unsigned> ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElementsMapping [private]

A map from boundary element global index to local index used by this process.

Definition at line 104 of file ParallelTetrahedralMesh.hpp.

Referenced by ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterBoundaryElement(), and ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveBoundaryElementMapping().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
PartitionType ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMetisPartitioning [private]


The documentation for this class was generated from the following files:

Generated on Tue Aug 4 16:11:37 2009 for Chaste by  doxygen 1.5.5