#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 68 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::METIS_LIBRARY |
) | [inline] |
Constructor.
partitioningMethod | defaults to METIS_LIBRARY, but in 1-D is always overridden in this constructor to be the DUMB partition |
Definition at line 56 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMetisPartitioning.
DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::~DistributedTetrahedralMesh | ( | ) | [inline, virtual] |
Destructor.
Definition at line 71 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 Distribute case
Reimplemented from AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 1836 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 545 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 532 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 87 of file DistributedTetrahedralMesh.cpp.
References PetscTools::AmMaster(), PetscTools::Barrier(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::DumbNodePartitioning(), 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 >::MetisLibraryNodePartitioning(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMetisPartitioning, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements, ElementData::NodeIndices, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ParMetisLibraryNodePartitioning(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::PetscMatrixPartitioning(), 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 1289 of file DistributedTetrahedralMesh.cpp.
References PetscTools::AmMaster(), EXCEPTION, DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLocalOwnership(), DistributedVectorFactory::GetLow(), PetscTools::GetMyRank(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeOrHaloNode(), 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 >::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(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterNode().
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 207 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 >::GetElementData(), 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 >::GetNode(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNodeAttributes(), 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 >::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 >::mNodes, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mNodesMapping, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodesPermutation, 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(), and AbstractElement< ELEMENT_DIM, SPACE_DIM >::SetRegion().
Referenced by AdaptiveBidomainProblem::AdaptMesh(), 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 1028 of file DistributedTetrahedralMesh.cpp.
References PetscTools::AmMaster(), EXCEPTION, DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLocalOwnership(), DistributedVectorFactory::GetLow(), 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 >::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(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterNode().
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 1116 of file DistributedTetrahedralMesh.cpp.
References PetscTools::AmMaster(), EXCEPTION, DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLocalOwnership(), DistributedVectorFactory::GetLow(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeOrHaloNode(), 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 >::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(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterNode().
void DistributedTetrahedralMesh< 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)
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 |
Definition at line 646 of file DistributedTetrahedralMesh.cpp.
References EXCEPTION, DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLow(), DistributedVectorFactory::GetProblemSize(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumBoundaryElements, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements, and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumNodes.
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning().
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 514 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes.
Referenced by AdaptiveTetrahedralMesh::ConstructFromDistributedMesh(), and DistanceMapCalculator< ELEMENT_DIM, SPACE_DIM >::DistanceMapCalculator().
DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::HaloNodeIterator DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetHaloNodeIteratorBegin | ( | ) | const [inline] |
Get an iterator to the first halo node in the mesh.
Definition at line 1869 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] |
Get an iterator to one past the last halo node in the mesh.
Definition at line 1875 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes.
Node< SPACE_DIM > * DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeOrHaloNode | ( | unsigned | index | ) | const [inline, virtual] |
Returns the local pointer to a node which is either owned or in the halo of this process.
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 627 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(), AdaptiveTetrahedralMesh::ConstructFromDistributedMesh(), 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] |
Get the total number of nodes that are actually in use (globally).
Reimplemented from AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 490 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumNodes.
unsigned DistributedTetrahedralMesh< 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 508 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumBoundaryElements.
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements | ( | ) | const [inline, virtual] |
Get the total number of elements that are actually in use (globally).
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 496 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements.
Referenced by AdaptiveTetrahedralMesh::ConstructFromDistributedMesh().
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumHaloNodes | ( | ) | const [inline] |
Get the number of nodes that are halo owned by the local process.
Definition at line 466 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes.
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumLocalBoundaryElements | ( | ) | const [inline] |
Get the number of Boundary Elements which are owned by this process (have at least one entirely locally-owned node).
Definition at line 478 of file DistributedTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements.
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumLocalElements | ( | ) | const [inline, virtual] |
Get the number of Elements which are owned by this process (have at least one entirely locally-owned node).
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 472 of file DistributedTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements.
unsigned DistributedTetrahedralMesh< 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 460 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] |
Get the total number of nodes that are actually in use (globally).
Reimplemented from AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 484 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumNodes.
Referenced by AdaptiveTetrahedralMesh::ConstructFromDistributedMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::MetisLibraryNodePartitioning(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ParMetisLibraryNodePartitioning().
DistributedTetrahedralMeshPartitionType::type DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetPartitionType | ( | ) | const [inline] |
Get the type of mesh partition ing that is being used...
serialization uses this method.
Definition at line 502 of file DistributedTetrahedralMesh.cpp.
References DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMetisPartitioning.
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::MetisLibraryNodePartitioning | ( | AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > & | rMeshReader, | |
std::set< unsigned > & | rNodesOwned, | |||
std::vector< unsigned > & | rProcessorsOffset | |||
) | [inline, private] |
Specialised method to compute a parallel partitioning of a given mesh (called by ComputeMeshPartitioning, based on the value of mMetisPartitioning
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 |
Definition at line 893 of file DistributedTetrahedralMesh.cpp.
References PetscTools::AmMaster(), 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(), PetscTools::IsParallel(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodesPermutation, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements, NEVER_REACHED, 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 >::ParMetisLibraryNodePartitioning | ( | 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 1555 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(), RandomNumberGenerator::Instance(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::IsFileFormatBinary(), PetscTools::IsParallel(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodesPermutation, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumElements, ElementData::NodeIndices, RandomNumberGenerator::Reseed(), Timer::Reset(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::Reset(), and RandomNumberGenerator::Shuffle().
Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning().
void DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::PetscMatrixPartitioning | ( | AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > & | rMeshReader, | |
std::set< unsigned > & | rNodesOwned, | |||
std::vector< unsigned > & | rProcessorsOffset | |||
) | [inline, private] |
Specialised method to compute a parallel partitioning of a given mesh (called by ComputeMeshPartitioning, based on the value of mMetisPartitioning
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 |
It seems to be free-ing local_ia and local_ja as a side effect
Definition at line 676 of file DistributedTetrahedralMesh.cpp.
References PetscTools::AmMaster(), PetscTools::AmTopMost(), PetscTools::Barrier(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetElementData(), PetscTools::GetMyRank(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextElementData(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), PetscTools::GetNumProcs(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::IsFileFormatBinary(), PetscTools::IsParallel(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodesPermutation, ElementData::NodeIndices, Timer::PrintAndReset(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::Reset(), Timer::Reset(), and PetscTools::SetupMat().
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 576 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 570 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 564 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 558 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 mNodesPermutation.
The node indexed with "i" will be re-assigned with the new index mNodesPermutation[i]
Definition at line 999 of file DistributedTetrahedralMesh.cpp.
References PetscTools::IsParallel(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodes, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mHaloNodesMapping, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mNodesMapping, and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodesPermutation.
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 1532 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 MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 109 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 80 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 525 of file DistributedTetrahedralMesh.cpp.
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 614 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 601 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 582 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 MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 101 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 95 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 92 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 83 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 89 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 98 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 86 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().
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumBoundaryElements [private] |
The total number of boundary elements in the mesh.
Definition at line 77 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 >::DumbNodePartitioning(), 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 74 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 >::DumbNodePartitioning(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::MetisLibraryNodePartitioning(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ParMetisLibraryNodePartitioning().
unsigned DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mTotalNumNodes [private] |
The total number of nodes in the mesh.
Definition at line 80 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 >::DumbNodePartitioning(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumAllNodes(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes().