#include <DistributedTetrahedralMesh.hpp>
Inherits AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Inherited by MixedDimensionMesh< 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 DistributedTetrahedralMesh.hpp.
typedef std::vector<Node<SPACE_DIM> *>::const_iterator DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::HaloNodeIterator |
Definition of halo node Iterator type.
Definition at line 431 of file DistributedTetrahedralMesh.hpp.
DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::DistributedTetrahedralMesh | ( | DistributedTetrahedralMeshPartitionType::type | partitioningMethod = DistributedTetrahedralMeshPartitionType::PARMETIS_LIBRARY |
) | [inline] |
Constructor.
partitioningMethod | defaults to PARMETIS_LIBRARY, but in 1-D is always overridden in this constructor to be the DUMB partition |
Definition at line 74 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMetisPartitioning.
DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::~DistributedTetrahedralMesh | ( | ) | [inline, virtual] |
Destructor.
Definition at line 90 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes.
ChasteCuboid< SPACE_DIM > DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::CalculateBoundingBox | ( | ) | const [inline, virtual] |
Calculate the bounding box (width extremes for all dimensions of the mesh). Override for distributed case
Reimplemented from AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 1600 of file DistributedTetrahedralMesh.cpp.
References PetscTools::ReplicateException(), ChastePoint< DIM >::rGetLocation(), ChasteCuboid< SPACE_DIM >::rGetLowerCorner(), and ChasteCuboid< SPACE_DIM >::rGetUpperCorner().
bool DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::CalculateDesignatedOwnershipOfBoundaryElement | ( | unsigned | faceIndex | ) | [inline, virtual] |
Determine whether or not the current process owns node 0 of this boundary element (tie breaker to determine which process writes to file for when two or more share ownership of a face).
faceIndex | is the global index of the face |
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 557 of file DistributedTetrahedralMesh.cpp.
bool DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::CalculateDesignatedOwnershipOfElement | ( | unsigned | elementIndex | ) | [inline, virtual] |
Determine whether or not the current process owns node 0 of this element (tie breaker to determine which process writes to file for when two or more share ownership of an element).
elementIndex | is the global index of the element |
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 544 of file DistributedTetrahedralMesh.cpp.
c_vector< double, 2 > DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::CalculateMinMaxEdgeLengths | ( | ) | [inline, virtual] |
Computes the minimum and maximum lengths of the edges in the mesh. This method overrides the default implementation in the parent class
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 1663 of file DistributedTetrahedralMesh.cpp.
void DistributedTetrahedralMesh< 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 | |||
) | [inline, private] |
Compute a parallel partitioning of a given mesh using specialised methods below based on the value of mMetisPartitioning
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 |
Definition at line 106 of file DistributedTetrahedralMesh.cpp.
References PetscTools::AmMaster(), PetscTools::Barrier(), EXCEPTION, AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetContainingElementIndices(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetElementData(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextElementData(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::HasNclFile(), PetscTools::IsParallel(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMetisPartitioning, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodePermutation, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mpSpaceRegion, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements, ElementData::NodeIndices, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ParMetisLibraryNodeAndElementPartitioning(), Timer::PrintAndReset(), and AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::Reset().
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid | ( | unsigned | width, | |
unsigned | height, | |||
unsigned | depth | |||
) | [inline, virtual] |
Construct a 3D cuboid grid on [0,width]x[0,height]x[0,depth].
Distributed version splits the mesh in layers in the z-direction. That is, the zeroth process will own from z=0 to about z=depth/num_procs etc.
width | width of the mesh (in the x-direction) | |
height | height of the mesh (in the y-direction) | |
depth | depth of the mesh (in the z-direction) |
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 1005 of file DistributedTetrahedralMesh.cpp.
References PetscTools::AmMaster(), PetscTools::Barrier(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), EXCEPTION, DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLocalOwnership(), DistributedVectorFactory::GetLow(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeOrHaloNode(), OutputFileHandler::GetOutputDirectoryFullPath(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryNodes, AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMetisPartitioning, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mpSpaceRegion, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumBoundaryElements, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumNodes, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterBoundaryElement(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterElement(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterHaloNode(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterNode(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh().
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader | ( | AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > & | rMeshReader | ) | [inline, virtual] |
Construct the mesh using a MeshReader.
rMeshReader | the mesh reader |
Implements AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 222 of file DistributedTetrahedralMesh.cpp.
References Node< SPACE_DIM >::AddNodeAttribute(), PetscTools::AmTopMost(), ElementData::AttributeValue, PetscTools::Barrier(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning(), EXCEPTION, AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorBegin(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorEnd(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetMeshFileBaseName(), PetscTools::GetMyRank(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextFaceData(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextNode(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNodeAttributes(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNodeIteratorBegin(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNodeIteratorEnd(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeOrHaloNode(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumElementAttributes(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumFaceAttributes(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumFaces(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::HasNodePermutation(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::IsFileFormatBinary(), PetscTools::IsParallel(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryNodes, AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mMeshFileBaseName, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMetisPartitioning, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodePermutation, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mNodesMapping, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumBoundaryElements, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumNodes, ElementData::NodeIndices, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterBoundaryElement(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterElement(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterHaloNode(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterNode(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ReorderNodes(), PetscTools::ReplicateException(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::Reset(), Timer::Reset(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::rGetNodePermutation(), and AbstractElement< ELEMENT_DIM, SPACE_DIM >::SetAttribute().
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh(), and Load2dMeshAndSetCircularTissue().
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh | ( | unsigned | width | ) | [inline, virtual] |
Construct a 1D linear grid on [0,width]
Throws if there are more processes than the number of nodes (width+1)
width | width of the mesh (in the x-direction) |
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 687 of file DistributedTetrahedralMesh.cpp.
References PetscTools::AmMaster(), PetscTools::Barrier(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), EXCEPTION, DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLocalOwnership(), DistributedVectorFactory::GetLow(), OutputFileHandler::GetOutputDirectoryFullPath(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryNodes, AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMetisPartitioning, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mpSpaceRegion, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumBoundaryElements, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumNodes, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterBoundaryElement(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterElement(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterHaloNode(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterNode(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh().
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh | ( | unsigned | width, | |
unsigned | height, | |||
bool | stagger = true | |||
) | [inline, virtual] |
Construct a 2D rectangular grid on [0,width]x[0,height].
Diagonals can be staggered so that there is no preferred diffusion propagation direction.
Distributed version splits the mesh in layers in the y-direction. That is, the zeroth process will own from y=0 to about y=height/num_procs etc.
width | width of the mesh (in the x-direction) | |
height | height of the mesh (in the y-direction) | |
stagger | whether the mesh should 'jumble' up the elements (defaults to true) |
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 804 of file DistributedTetrahedralMesh.cpp.
References PetscTools::AmMaster(), PetscTools::Barrier(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh(), EXCEPTION, DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLocalOwnership(), DistributedVectorFactory::GetLow(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeOrHaloNode(), OutputFileHandler::GetOutputDirectoryFullPath(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryNodes, AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMetisPartitioning, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mpSpaceRegion, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumBoundaryElements, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumNodes, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterBoundaryElement(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterElement(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterHaloNode(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterNode(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh().
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetHaloNodeIndices | ( | std::vector< unsigned > & | rHaloIndices | ) | const [inline, virtual] |
Utility method to give the functionality of iterating through the halo nodes of a process
rHaloIndices | A vector to fill with the global indices of the nodes which are locally halos |
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 510 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes.
Referenced by DistanceMapCalculator< ELEMENT_DIM, SPACE_DIM >::DistanceMapCalculator().
DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::HaloNodeIterator DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetHaloNodeIteratorBegin | ( | ) | const [inline] |
Definition at line 1675 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes.
DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::HaloNodeIterator DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetHaloNodeIteratorEnd | ( | ) | const [inline] |
Definition at line 1681 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes.
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNearestNodeIndex | ( | const ChastePoint< SPACE_DIM > & | rTestPoint | ) | [inline, virtual] |
GetNearestNodeIndex iterates through all nodes in the mesh and returns the global index with the smallest distance to the provided point.
This method is overridden in the distributed case to return the global node index.
rTestPoint | reference to the point |
Reimplemented from AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 1633 of file DistributedTetrahedralMesh.cpp.
References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNode(), and ChastePoint< DIM >::rGetLocation().
Node< SPACE_DIM > * DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeOrHaloNode | ( | unsigned | index | ) | const [inline, virtual] |
We first search halo node (as there are fewer), then search totally owned nodes. Otherwise throw.
index | the global index of the node |
Reimplemented from AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 639 of file DistributedTetrahedralMesh.cpp.
References EXCEPTION, PetscTools::GetMyRank(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodesMapping, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mNodesMapping.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh().
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumAllNodes | ( | ) | const [inline, virtual] |
Reimplemented from AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 486 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumNodes.
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumBoundaryElements | ( | ) | const [inline, virtual] |
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 504 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumBoundaryElements.
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements | ( | ) | const [inline, virtual] |
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 492 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements.
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumHaloNodes | ( | ) | const [inline] |
Definition at line 462 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes.
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumLocalBoundaryElements | ( | ) | const [inline, virtual] |
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 474 of file DistributedTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements.
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumLocalElements | ( | ) | const [inline, virtual] |
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 468 of file DistributedTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements.
Referenced by VtkMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh().
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumLocalNodes | ( | ) | const [inline] |
Definition at line 456 of file DistributedTetrahedralMesh.cpp.
References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes.
Referenced by Hdf5ToVtkConverter< ELEMENT_DIM, SPACE_DIM >::Hdf5ToVtkConverter().
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes | ( | ) | const [inline, virtual] |
Reimplemented from AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 480 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumNodes.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ParMetisLibraryNodeAndElementPartitioning().
DistributedTetrahedralMeshPartitionType::type DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetPartitionType | ( | ) | const [inline] |
serialization uses this method.
Definition at line 498 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMetisPartitioning.
ChasteCuboid< SPACE_DIM > * DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetProcessRegion | ( | ) | [inline] |
Get the local region of space owned by this process
Definition at line 521 of file DistributedTetrahedralMesh.cpp.
References EXCEPTION, and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mpSpaceRegion.
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ParMetisLibraryNodeAndElementPartitioning | ( | AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > & | rMeshReader, | |
std::set< unsigned > & | rElementsOwned, | |||
std::set< unsigned > & | rNodesOwned, | |||
std::set< unsigned > & | rHaloNodesOwned, | |||
std::vector< unsigned > & | rProcessorsOffset | |||
) | [inline, private] |
Specialised method to compute a parallel partitioning of a given mesh with the ParMetis library (called by ComputeMeshPartitioning, based on the value of mMetisPartitioning)
rMeshReader | is the reader pointing to the mesh to be read in and partitioned | |
rElementsOwned | is an empty set to be filled with the indices of elements owned by this process | |
rNodesOwned | is an empty set to be filled with the indices of nodes owned by this process | |
rHaloNodesOwned | is an empty set to be filled with the indices of halo 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 |
Definition at line 1294 of file DistributedTetrahedralMesh.cpp.
References AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetElementData(), PetscTools::GetMyRank(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextElementData(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), PetscTools::GetNumProcs(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::IsFileFormatBinary(), PetscTools::IsParallel(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodePermutation, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements, ElementData::NodeIndices, Timer::Reset(), and AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::Reset().
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning().
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterBoundaryElement | ( | unsigned | index | ) | [inline, private] |
Add the most recently constructed boundary element to the global->local boundary element mapping
index | is the global index of boundary element to be registered |
Definition at line 588 of file DistributedTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements, and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElementsMapping.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh().
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterElement | ( | unsigned | index | ) | [inline, private] |
Add the most recently constructed element to the global->local element mapping
index | is the global index of element to be registered |
Definition at line 582 of file DistributedTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements, and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElementsMapping.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh().
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterHaloNode | ( | unsigned | index | ) | [inline, private] |
Add the most recently constructed halo node to the global->local halo node mapping
index | is the global index of halo node to be registered |
Definition at line 576 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes, and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodesMapping.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh().
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterNode | ( | unsigned | index | ) | [inline, private] |
Add the most recently constructed node to the global->local node mapping
index | is the global index of node to be registered |
Definition at line 570 of file DistributedTetrahedralMesh.cpp.
References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mNodesMapping.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh().
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ReorderNodes | ( | ) | [inline, private] |
Reorder the node indices in this mesh by applying the permutation give in mNodePermutation.
The node indexed with "i" will be re-assigned with the new index mNodePermutation[i]
Definition at line 658 of file DistributedTetrahedralMesh.cpp.
References PetscTools::IsParallel(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodesMapping, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodePermutation, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mNodesMapping.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::Scale | ( | const double | xFactor = 1.0 , |
|
const double | yFactor = 1.0 , |
|||
const double | zFactor = 1.0 | |||
) | [inline, virtual] |
Scale the mesh - uses the parent class for scaling the nodes. This derived specialisation is for scaling halo nodes.
xFactor | is the scale in the x-direction (defaults to 1.0) | |
yFactor | is the scale in the y-direction (defaults to 1.0) | |
zFactor | is the scale in the z-direction (defaults to 1.0) |
Reimplemented from AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 1271 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes.
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Serialize the mesh.
archive | the archive | |
version | the current version of this class |
Reimplemented from AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in DistributedQuadraticMesh< DIM >, and MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 107 of file DistributedTetrahedralMesh.hpp.
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SetDistributedVectorFactory | ( | DistributedVectorFactory * | pFactory | ) | [inline, virtual] |
Specify the node distribution across processes. This also makes sure we don't try to use METIS to partition the mesh.
pFactory | a factory to use for this mesh |
Reimplemented from AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 99 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMetisPartitioning.
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SetElementOwnerships | ( | ) | [inline, private, virtual] |
Sets the ownership of each element according to which nodes are owned by the process.
Information on node ownership comes from the distributed vector factory and an element is "owned" if one or more of its nodes are owned
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 531 of file DistributedTetrahedralMesh.cpp.
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SetProcessRegion | ( | ChasteCuboid< SPACE_DIM > * | pRegion | ) | [inline] |
Set the local region of space to be owned by this process
pRegion | The region, defined by a ChasteCuboid. |
Definition at line 538 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mpSpaceRegion.
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveBoundaryElementMapping | ( | unsigned | index | ) | const [inline, protected, virtual] |
Overridden solve boundary element mapping method.
index | the global index of the boundary element |
Implements AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 626 of file DistributedTetrahedralMesh.cpp.
References EXCEPTION, PetscTools::GetMyRank(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElementsMapping.
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveElementMapping | ( | unsigned | index | ) | const [inline, protected, virtual] |
Overridden solve element mapping method.
index | the global index of the element |
Implements AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 613 of file DistributedTetrahedralMesh.cpp.
References EXCEPTION, PetscTools::GetMyRank(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElementsMapping.
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveNodeMapping | ( | unsigned | index | ) | const [inline, protected, virtual] |
Overridden solve node mapping method.
index | the global index of the node |
Implements AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 594 of file DistributedTetrahedralMesh.cpp.
References EXCEPTION, PetscTools::GetMyRank(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mNodesMapping.
Referenced by MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in DistributedQuadraticMesh< DIM >, and MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 99 of file DistributedTetrahedralMesh.hpp.
std::map<unsigned, unsigned> DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElementsMapping [private] |
A map from boundary element global index to local index used by this process.
Definition at line 90 of file DistributedTetrahedralMesh.hpp.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterBoundaryElement(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveBoundaryElementMapping().
std::map<unsigned, unsigned> DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElementsMapping [private] |
A map from element global index to local index used by this process.
Definition at line 87 of file DistributedTetrahedralMesh.hpp.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterElement(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveElementMapping().
std::vector<Node<SPACE_DIM>* > DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes [private] |
Vector of pointer to halo nodes used by this process.
Definition at line 78 of file DistributedTetrahedralMesh.hpp.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetHaloNodeIndices(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetHaloNodeIteratorBegin(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetHaloNodeIteratorEnd(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeOrHaloNode(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumHaloNodes(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterHaloNode(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ReorderNodes(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::Scale(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::~DistributedTetrahedralMesh().
std::map<unsigned, unsigned> DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodesMapping [private] |
A map from halo node global index to local index used by this process.
Definition at line 84 of file DistributedTetrahedralMesh.hpp.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeOrHaloNode(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterHaloNode(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ReorderNodes().
DistributedTetrahedralMeshPartitionType::type DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMetisPartitioning [private] |
Partitioning method.
Definition at line 96 of file DistributedTetrahedralMesh.hpp.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::DistributedTetrahedralMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetPartitionType(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SetDistributedVectorFactory().
std::map<unsigned, unsigned> DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mNodesMapping [private] |
A map from node global index to local index used by this process.
Definition at line 81 of file DistributedTetrahedralMesh.hpp.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeOrHaloNode(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterNode(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ReorderNodes(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveNodeMapping().
ChasteCuboid<SPACE_DIM>* DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mpSpaceRegion [private] |
The region of space owned by this process, if using geometric partition.
Definition at line 93 of file DistributedTetrahedralMesh.hpp.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetProcessRegion(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SetProcessRegion().
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumBoundaryElements [private] |
The total number of boundary elements in the mesh.
Definition at line 72 of file DistributedTetrahedralMesh.hpp.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumBoundaryElements().
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements [private] |
The total number of elements in the mesh.
Definition at line 69 of file DistributedTetrahedralMesh.hpp.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ParMetisLibraryNodeAndElementPartitioning().
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumNodes [private] |
The total number of nodes in the mesh.
Definition at line 75 of file DistributedTetrahedralMesh.hpp.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumAllNodes(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes().