Chaste  Release::2017.1
AbstractMesh< ELEMENT_DIM, SPACE_DIM > Class Template Referenceabstract

#include <AbstractMesh.hpp>

+ Inheritance diagram for AbstractMesh< ELEMENT_DIM, SPACE_DIM >:
+ Collaboration diagram for AbstractMesh< ELEMENT_DIM, SPACE_DIM >:

Classes

class  NodeIterator
 

Public Types

typedef std::vector< Node< SPACE_DIM > * >::const_iterator BoundaryNodeIterator
 

Public Member Functions

NodeIterator GetNodeIteratorBegin (bool skipDeletedNodes=true)
 
NodeIterator GetNodeIteratorEnd ()
 
 AbstractMesh ()
 
virtual ~AbstractMesh ()
 
virtual unsigned GetNumNodes () const
 
unsigned GetNumBoundaryNodes () const
 
virtual unsigned GetNumAllNodes () const
 
unsigned GetNumNodeAttributes () const
 
Node< SPACE_DIM > * GetNode (unsigned index) const
 
virtual Node< SPACE_DIM > * GetNodeOrHaloNode (unsigned index) const
 
Node< SPACE_DIM > * GetNodeFromPrePermutationIndex (unsigned index) const
 
virtual void ReadNodesPerProcessorFile (const std::string &rNodesPerProcessorFile)
 
virtual DistributedVectorFactoryGetDistributedVectorFactory ()
 
virtual void SetDistributedVectorFactory (DistributedVectorFactory *pFactory)
 
virtual void PermuteNodes ()
 
BoundaryNodeIterator GetBoundaryNodeIteratorBegin () const
 
BoundaryNodeIterator GetBoundaryNodeIteratorEnd () const
 
std::string GetMeshFileBaseName () const
 
bool IsMeshOnDisk () const
 
const std::vector< unsigned > & rGetNodePermutation () const
 
virtual c_vector< double, SPACE_DIM > GetVectorFromAtoB (const c_vector< double, SPACE_DIM > &rLocationA, const c_vector< double, SPACE_DIM > &rLocationB)
 
double GetDistanceBetweenNodes (unsigned indexA, unsigned indexB)
 
virtual double GetWidth (const unsigned &rDimension) const
 
virtual ChasteCuboid< SPACE_DIM > CalculateBoundingBox () const
 
virtual unsigned GetNearestNodeIndex (const ChastePoint< SPACE_DIM > &rTestPoint)
 
virtual void Scale (const double xFactor=1.0, const double yFactor=1.0, const double zFactor=1.0)
 
virtual void Translate (const c_vector< double, SPACE_DIM > &rDisplacement)
 
void Translate (const double xMovement=0.0, const double yMovement=0.0, const double zMovement=0.0)
 
virtual void Rotate (c_matrix< double, SPACE_DIM, SPACE_DIM > rotationMatrix)
 
void Rotate (c_vector< double, 3 > axis, double angle)
 
void RotateX (const double theta)
 
void RotateY (const double theta)
 
void RotateZ (const double theta)
 
void Rotate (double theta)
 
virtual void RefreshMesh ()
 
bool IsMeshChanging () const
 
unsigned CalculateMaximumContainingElementsPerProcess () const
 
void SetMeshHasChangedSinceLoading ()
 

Protected Member Functions

virtual void SetElementOwnerships ()
 
ChasteCuboid< SPACE_DIM > CalculateBoundingBox (const std::vector< Node< SPACE_DIM > * > &rNodes) const
 

Protected Attributes

std::vector< Node< SPACE_DIM > * > mNodes
 
std::vector< Node< SPACE_DIM > * > mBoundaryNodes
 
DistributedVectorFactorympDistributedVectorFactory
 
std::vector< unsignedmNodePermutation
 
std::string mMeshFileBaseName
 
bool mMeshChangesDuringSimulation
 

Private Member Functions

virtual unsigned SolveNodeMapping (unsigned index) const =0
 
template<class Archive >
void serialize (Archive &archive, const unsigned int version)
 

Friends

class TestDistributedTetrahedralMesh
 
template<unsigned A_DIMENSION>
class NodesOnlyMesh
 
template<unsigned A_DIMENSION>
class QuadraticMeshHelper
 
class boost::serialization::access
 

Detailed Description

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

Abstract base class for all meshes.

Definition at line 60 of file AbstractMesh.hpp.

Member Typedef Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
typedef std::vector<Node<SPACE_DIM> *>::const_iterator AbstractMesh< ELEMENT_DIM, SPACE_DIM >::BoundaryNodeIterator

Definition of boundary node Iterator type.

Definition at line 148 of file AbstractMesh.hpp.

Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractMesh< ELEMENT_DIM, SPACE_DIM >::AbstractMesh ( )

Constructor.

Definition at line 44 of file AbstractMesh.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractMesh< ELEMENT_DIM, SPACE_DIM >::~AbstractMesh ( )
virtual

Virtual destructor, since this class has virtual methods.

Definition at line 52 of file AbstractMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory.

Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ChasteCuboid< SPACE_DIM > AbstractMesh< ELEMENT_DIM, SPACE_DIM >::CalculateBoundingBox ( const std::vector< Node< SPACE_DIM > * > &  rNodes) const
protected

Calculate a bounding box from a set of nodes. A generalised version of the public CalculateBoundingBox method.

Parameters
rNodesthe list of nodes to calculate the bounding box for.
Returns
the bounding box in the form of a ChasteCuboid.
Todo:
#1322 use a const version of NodeIterator here

Definition at line 227 of file AbstractMesh.cpp.

Referenced by Electrodes< DIM >::Electrodes(), and FineCoarseMeshPair< DIM >::SetUpBoxes().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ChasteCuboid< SPACE_DIM > AbstractMesh< ELEMENT_DIM, SPACE_DIM >::CalculateBoundingBox ( ) const
virtual

Calculate the bounding box (width extremes for all dimensions of the mesh). Overridden in distributed case

Returns
The minimum and maximum co-ordinates of any node in each dimension

Reimplemented in DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, and DistributedTetrahedralMesh< DIM, DIM >.

Definition at line 277 of file AbstractMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes.

Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::CalculateBoundingBox(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetWidth(), NodesOnlyMesh< SPACE_DIM >::SetUpBoxCollection(), and Cylindrical2dMesh::UpdateTopAndBottom().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractMesh< ELEMENT_DIM, SPACE_DIM >::CalculateMaximumContainingElementsPerProcess ( ) const
Returns
Iterates through local nodes and finds the maximum number of containing elements for all locally owned nodes Useful for determining FEM matrix fill.

Definition at line 488 of file AbstractMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes.

Referenced by LinearParabolicPdeSystemWithCoupledOdeSystemSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::InitialiseForSolve(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteNclFile().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
DistributedVectorFactory * AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetDistributedVectorFactory ( )
virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::string AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetMeshFileBaseName ( ) const
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNearestNodeIndex ( const ChastePoint< SPACE_DIM > &  rTestPoint)
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.

This method uses GetVectorFromAtoB distance and hence may return a correct solution in non-Euclidean space, but only if this method is overridden in a subclass (see e.g. Cylindrical2dMesh for an example of this).

Parameters
rTestPointreference to the point
Returns
node index

Reimplemented in DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, and DistributedTetrahedralMesh< DIM, DIM >.

Definition at line 285 of file AbstractMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, and ChastePoint< DIM >::rGetLocation().

Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNearestNodeIndex().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
Node< SPACE_DIM > * AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNode ( unsigned  index) const

Get the node with a given index in the mesh.

Parameters
indexthe global index of the node
Returns
a pointer to the node.

Definition at line 93 of file AbstractMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::SolveNodeMapping().

Referenced by AbstractContinuumMechanicsSolver< DIM >::AddIdentityBlockForDummyPressureVariables(), AbstractNonlinearElasticitySolver< DIM >::AssembleOnBoundaryElement(), HeartGeometryInformation< SPACE_DIM >::CalculateBoundingBoxOfSurface(), ElectrodesStimulusFactory< DIM >::CheckForElectrodesIntersection(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::CheckForRosettes(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::CheckIsVoronoi(), FineCoarseMeshPair< DIM >::ComputeCoarseElementsForFineNodes(), ElectrodesStimulusFactory< DIM >::ComputeElectrodeTotalFlux(), FineCoarseMeshPair< DIM >::ComputeFineElementsAndWeightsForCoarseNodes(), EllipticBoxDomainPdeModifier< DIM >::ConstructBoundaryConditionsContainer(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMesh(), ExtendedBidomainTissue< SPACE_DIM >::CreateGGapConductivities(), PottsBasedCellPopulation< DIM >::CreateMutableMesh(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteElement(), NodesOnlyMesh< SPACE_DIM >::DeleteNode(), ExtendedBidomainTissue< SPACE_DIM >::ExtendedBidomainTissue(), CryptCellsGenerator< CELL_CYCLE_MODEL >::Generate(), AbstractBoxDomainPdeModifier< DIM >::GenerateFeMesh(), HoneycombMeshGenerator::GetCircularMesh(), CaBasedCellPopulation< DIM >::GetLocationOfCellCentre(), Toroidal2dVertexMesh::GetMeshForVtk(), Cylindrical2dVertexMesh::GetMeshForVtk(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNearestNodeIndex(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeIndices(), CaBasedCellPopulation< DIM >::GetNode(), PottsBasedCellPopulation< DIM >::GetNode(), CaBasedCellPopulation< DIM >::GetNodeCorrespondingToCell(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeFromPrePermutationIndex(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeOrHaloNode(), NodesOnlyMesh< SPACE_DIM >::GetNodeOrHaloNode(), NonlinearElasticityTools< DIM >::GetNodesByComponentValue(), PapillaryFibreCalculator::GetRadiusVectorForOneElement(), VertexBasedCellPopulation< DIM >::GetTetrahedralMeshForPdeModifier(), VertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::MakeVtkMesh(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformIntersectionSwap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformProtorosetteResolution(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformRosetteRankDecrease(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformRosetteRankIncrease(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT2Swap(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::RescaleMeshFromBoundaryNode(), AbstractNonlinearElasticitySolver< DIM >::rGetSpatialSolution(), SolidMechanicsProblemDefinition< DIM >::SetFixedNodes(), Cylindrical2dNodesOnlyMesh::SetNode(), NodesOnlyMesh< SPACE_DIM >::SetNode(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::SplitLongEdges(), AbstractPdeModifier< DIM >::UpdateAtEndOfOutputTimeStep(), AbstractGrowingDomainPdeModifier< DIM >::UpdateCellData(), PottsBasedCellPopulation< DIM >::UpdateCellLocations(), Cylindrical2dMesh::UseTheseElementsToDecideMeshing(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::WidenEdgeOrCorrectIntersectionLocationIfNecessary(), AbstractContinuumMechanicsSolver< DIM >::WriteCurrentPressureSolution(), DiscreteSystemForceCalculator::WriteResultsToFile(), CaBasedCellPopulation< DIM >::WriteVtkResultsToFile(), and PottsBasedCellPopulation< DIM >::WriteVtkResultsToFile().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
Node< SPACE_DIM > * AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeFromPrePermutationIndex ( unsigned  index) const

Get the node with a given index in the mesh, prior to any node permutation being applied. For non-permuted meshes, this will have the same effect as GetNode.

This method is intended for use by the archiving code, to enable checkpoint migration, so that we can load the correct cells and boundary conditions after the mesh has been re-partitioned.

If unsure, use GetNode in preference to this method!

Parameters
indexthe global index of the node prior to a permutation being applied
Returns
a pointer to the node

Definition at line 106 of file AbstractMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNode(), and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodePermutation.

Referenced by BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::MergeFromArchive().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractMesh< ELEMENT_DIM, SPACE_DIM >::NodeIterator AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeIteratorBegin ( bool  skipDeletedNodes = true)
inline
Returns
an iterator to the first node in the mesh.
Parameters
skipDeletedNodeswhether to include deleted nodes

Definition at line 531 of file AbstractMesh.hpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::NodeIterator::NodeIterator().

Referenced by AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::AbstractCentreBasedCellPopulation(), VertexCryptBoundaryForce< DIM >::AddForceContribution(), DiffusionForce< DIM >::AddForceContribution(), NodesOnlyMesh< SPACE_DIM >::AddNodesToBoxes(), AbstractContinuumMechanicsSolver< DIM >::AllocateMatrixMemory(), BidomainProblem< DIM >::AnalyseMeshForBath(), NodesOnlyMesh< SPACE_DIM >::CalculateNodesOutsideLocalDomain(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::CheckForIntersections(), ElectrodesStimulusFactory< DIM >::ComputeElectrodeTotalFlux(), Cylindrical2dMesh::CreateMirrorNodes(), Electrodes< DIM >::Electrodes(), NodeBasedCellPopulation< DIM >::GetTetrahedralMeshForPdeModifier(), NodesOnlyMesh< SPACE_DIM >::IsANodeCloseToDomainBoundary(), NodeBasedCellPopulationWithParticles< DIM >::NodeBasedCellPopulationWithParticles(), VtkMeshWriter< ELEMENT_DIM, SPACE_DIM >::SetParallelFiles(), ParabolicGrowingDomainPdeModifier< DIM >::UpdateSolutionVector(), NodeVelocityWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), PottsMeshWriter< SPACE_DIM >::WriteFilesUsingMesh(), XdmfMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh(), VtkMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteNclFile().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractMesh< ELEMENT_DIM, SPACE_DIM >::NodeIterator AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeIteratorEnd ( )
inline
Returns
an iterator to one past the last node in the mesh.

Definition at line 538 of file AbstractMesh.hpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::NodeIterator::NodeIterator().

Referenced by NodeBasedCellPopulationWithParticles< DIM >::AcceptCellWritersAcrossPopulation(), MeshBasedCellPopulationWithGhostNodes< DIM >::AcceptCellWritersAcrossPopulation(), VertexCryptBoundaryForce< DIM >::AddForceContribution(), DiffusionForce< DIM >::AddForceContribution(), NodesOnlyMesh< SPACE_DIM >::AddNodesToBoxes(), AbstractContinuumMechanicsSolver< DIM >::AllocateMatrixMemory(), NodesOnlyMesh< SPACE_DIM >::CalculateNodesOutsideLocalDomain(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::CheckForIntersections(), ElectrodesStimulusFactory< DIM >::ComputeElectrodeTotalFlux(), Cylindrical2dMesh::CreateMirrorNodes(), Electrodes< DIM >::Electrodes(), NodeBasedCellPopulation< DIM >::GetTetrahedralMeshForPdeModifier(), NodesOnlyMesh< SPACE_DIM >::IsANodeCloseToDomainBoundary(), NodeBasedCellPopulationWithParticles< DIM >::NodeBasedCellPopulationWithParticles(), VtkMeshWriter< ELEMENT_DIM, SPACE_DIM >::SetParallelFiles(), ParabolicGrowingDomainPdeModifier< DIM >::UpdateSolutionVector(), NodeVelocityWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), PottsMeshWriter< SPACE_DIM >::WriteFilesUsingMesh(), XdmfMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh(), VtkMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteNclFile().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
Node< SPACE_DIM > * AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeOrHaloNode ( unsigned  index) const
virtual

Get the node with a given index in the mesh (synonym of GetNode() unless overridden in a distributed mesh).

Parameters
indexthe global index of the node
Returns
a pointer to the node.

Reimplemented in DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, DistributedTetrahedralMesh< DIM, DIM >, NodesOnlyMesh< SPACE_DIM >, NodesOnlyMesh< DIM >, and NodesOnlyMesh< 2 >.

Definition at line 100 of file AbstractMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNode().

Referenced by QuadraticMeshHelper< DIM >::AddInternalNodesToElements(), and AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::CheckOutwardNormals().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNumBoundaryNodes ( ) const
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodeAttributes ( ) const
Returns
the number of attributes on each node. Note, this implementation assumes that all nodes have the same number of attributes so that the first node in the container is indicative of the others.

Definition at line 84 of file AbstractMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes ( ) const
virtual
Returns
the number of nodes that are actually in use.

Overridden in MutableMesh and DistributedTetrahedralMesh.

Reimplemented in MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >, MutableVertexMesh< 2, 2 >, MutableVertexMesh< DIM, DIM >, NodesOnlyMesh< SPACE_DIM >, NodesOnlyMesh< DIM >, NodesOnlyMesh< 2 >, VertexMesh< ELEMENT_DIM, SPACE_DIM >, VertexMesh< ELEMENT_DIM, ELEMENT_DIM >, VertexMesh< DIM, DIM >, PottsMesh< DIM >, PottsMesh< SPACE_DIM >, MutableMesh< ELEMENT_DIM, SPACE_DIM >, MutableMesh< ELEMENT_DIM, ELEMENT_DIM >, MutableMesh< 2, 2 >, MutableMesh< DIM, DIM >, MutableMesh< SPACE_DIM, SPACE_DIM >, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, and DistributedTetrahedralMesh< DIM, DIM >.

Definition at line 66 of file AbstractMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes.

Referenced by AbstractContinuumMechanicsSolver< DIM >::AbstractContinuumMechanicsSolver(), AbstractContinuumMechanicsSolver< DIM >::AddIdentityBlockForDummyPressureVariables(), CaBasedCellPopulation< DIM >::CaBasedCellPopulation(), AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Calculate(), CardiacElectroMechProbRegularGeom< DIM >::CardiacElectroMechProbRegularGeom(), ElectrodesStimulusFactory< DIM >::CheckForElectrodesIntersection(), CmguiDeformedSolutionsWriter< DIM >::CmguiDeformedSolutionsWriter(), FineCoarseMeshPair< DIM >::ComputeCoarseElementsForFineNodes(), ElectrodesStimulusFactory< DIM >::ComputeElectrodeTotalFlux(), FineCoarseMeshPair< DIM >::ComputeFineElementsAndWeightsForCoarseNodes(), CuboidMeshConstructor< ELEMENT_DIM, SPACE_DIM >::Construct(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMesh(), CmguiDeformedSolutionsWriter< DIM >::ConvertOutput(), PottsBasedCellPopulation< DIM >::CreateMutableMesh(), HeartGeometryInformation< SPACE_DIM >::DetermineLayerForEachNode(), ContinuumMechanicsNeumannBcsAssembler< DIM >::DoAssemble(), AbstractContinuumMechanicsAssembler< DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::DoAssemble(), NodePartitioner< ELEMENT_DIM, SPACE_DIM >::DumbPartitioning(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ExportToMesher(), HeartConfigRelatedCellFactory< SPACE_DIM >::FillInCellularTransmuralAreas(), CryptCellsGenerator< CELL_CYCLE_MODEL >::Generate(), AbstractBoxDomainPdeModifier< DIM >::GenerateFeMesh(), SolidMechanicsProblemDefinition< DIM >::GetCompressibleMaterialLaw(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetDistributedVectorFactory(), SolidMechanicsProblemDefinition< DIM >::GetIncompressibleMaterialLaw(), NonlinearElasticityTools< DIM >::GetNodesByComponentValue(), CaBasedCellPopulation< DIM >::GetNumNodes(), PottsBasedCellPopulation< DIM >::GetNumNodes(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumVertices(), Hdf5ToTxtConverter< ELEMENT_DIM, SPACE_DIM >::Hdf5ToTxtConverter(), Hdf5ToVtkConverter< ELEMENT_DIM, SPACE_DIM >::Hdf5ToVtkConverter(), CardiacElectroMechanicsProblem< DIM, ELEC_PROB_DIM >::Initialise(), LinearParabolicPdeSystemWithCoupledOdeSystemSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::LinearParabolicPdeSystemWithCoupledOdeSystemSolver(), LinearParabolicPdeSystemWithCoupledOdeSystemSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::PrepareForSetupLinearSystem(), AbstractContinuumMechanicsSolver< DIM >::rGetPressures(), StokesFlowSolver< DIM >::rGetSpatialSolution(), AbstractNonlinearElasticitySolver< DIM >::rGetSpatialSolution(), ParabolicBoxDomainPdeModifier< DIM >::SetupInitialSolutionVector(), ContinuumMechanicsProblemDefinition< DIM >::SetZeroDirichletNodes(), CardiacElectroMechanicsProblem< DIM, ELEC_PROB_DIM >::Solve(), StreeterFibreGenerator< SPACE_DIM >::StreeterFibreGenerator(), AbstractPdeModifier< DIM >::UpdateAtEndOfOutputTimeStep(), EllipticGrowingDomainPdeModifier< DIM >::UpdateAtEndOfTimeStep(), PottsBasedCellPopulation< DIM >::UpdateCellLocations(), CaBasedCellPopulation< DIM >::UpdateCellLocations(), ParabolicGrowingDomainPdeModifier< DIM >::UpdateSolutionVector(), VoltageInterpolaterOntoMechanicsMesh< DIM >::VoltageInterpolaterOntoMechanicsMesh(), CmguiDeformedSolutionsWriter< DIM >::WriteDeformationPositions(), XdmfMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh(), HeartGeometryInformation< SPACE_DIM >::WriteLayerForEachNode(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteNclFile(), DiscreteSystemForceCalculator::WriteResultsToFile(), CaBasedCellPopulation< DIM >::WriteVtkResultsToFile(), and LinearParabolicPdeSystemWithCoupledOdeSystemSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::WriteVtkResultsToFile().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
c_vector< double, SPACE_DIM > AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB ( const c_vector< double, SPACE_DIM > &  rLocationA,
const c_vector< double, SPACE_DIM > &  rLocationB 
)
virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetWidth ( const unsigned rDimension) const
virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractMesh< ELEMENT_DIM, SPACE_DIM >::IsMeshChanging ( ) const
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractMesh< ELEMENT_DIM, SPACE_DIM >::IsMeshOnDisk ( ) const

Get whether this mesh was read from file.

Returns
whether this mesh was read from file

Definition at line 192 of file AbstractMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mMeshFileBaseName.

Referenced by AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetMeshFileBaseName(), and AbstractTetrahedralMesh< SPACE_DIM, SPACE_DIM >::save().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractMesh< ELEMENT_DIM, SPACE_DIM >::PermuteNodes ( )
virtual

Permute the nodes so that they appear in a different order in mNodes (and their mIndex's are altered accordingly).

Reimplemented in TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, TetrahedralMesh< DIM, DIM >, and TetrahedralMesh< 3, 3 >.

Definition at line 162 of file AbstractMesh.cpp.

References NEVER_REACHED.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractMesh< ELEMENT_DIM, SPACE_DIM >::ReadNodesPerProcessorFile ( const std::string &  rNodesPerProcessorFile)
virtual

Read in the number of nodes per processor from file.

Parameters
rNodesPerProcessorFilethe name of the file

Reimplemented in TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, TetrahedralMesh< DIM, DIM >, and TetrahedralMesh< 3, 3 >.

Definition at line 120 of file AbstractMesh.cpp.

References NEVER_REACHED.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
const std::vector< unsigned > & AbstractMesh< ELEMENT_DIM, SPACE_DIM >::rGetNodePermutation ( ) const
Returns
mNodePermutation.

When empty (most meshes) there is no node permutation When non-empty (parallel distributed meshes) then for a given original_index mNodePermutation[original_index] holds the new assigned index of that node in memory

Definition at line 198 of file AbstractMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodePermutation.

Referenced by QuadraticMeshHelper< DIM >::AddInternalNodesToElements(), HeartGeometryInformation< SPACE_DIM >::GetNodesAtSurface(), AbstractTetrahedralMesh< SPACE_DIM, SPACE_DIM >::save(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteNclFile().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Rotate ( c_matrix< double, SPACE_DIM, SPACE_DIM >  rotationMatrix)
virtual

Do a general mesh rotation with a positive determinant orthonormal rotation matrix. This is the rotation method that actually does the work. Should be overridden when the child class has halo nodes.

Parameters
rotationMatrixis a Ublas rotation matrix of the correct form

Reimplemented in DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, and DistributedTetrahedralMesh< DIM, DIM >.

Definition at line 380 of file AbstractMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::RefreshMesh().

Referenced by AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRegularSlabMeshWithDimensionSplit(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Rotate(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::RotateX(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::RotateY(), and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::RotateZ().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Rotate ( c_vector< double, 3 >  axis,
double  angle 
)

Do an angle axis rotation.

Parameters
axisis the axis of rotation (does not need to be normalised)
angleis the angle of rotation in radians

Definition at line 394 of file AbstractMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Rotate().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Rotate ( double  theta)

Rotating a 2D mesh equates that rotation around the z-axis.

Parameters
thetais the angle of rotation in radians

Definition at line 471 of file AbstractMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::RotateZ().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractMesh< ELEMENT_DIM, SPACE_DIM >::RotateX ( const double  theta)

Rotate the mesh about the x-axis.

Parameters
thetais the angle of rotation in radians

Definition at line 419 of file AbstractMesh.cpp.

References EXCEPTION, and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Rotate().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractMesh< ELEMENT_DIM, SPACE_DIM >::RotateY ( const double  theta)

Rotate the mesh about the y-axis.

Parameters
thetais the angle of rotation in radians

Definition at line 435 of file AbstractMesh.cpp.

References EXCEPTION, and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Rotate().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractMesh< ELEMENT_DIM, SPACE_DIM >::RotateZ ( const double  theta)

Rotate the mesh about the z-axis.

Parameters
thetais the angle of rotation in radians

Definition at line 453 of file AbstractMesh.cpp.

References EXCEPTION, and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Rotate().

Referenced by AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Rotate().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Scale ( const double  xFactor = 1.0,
const double  yFactor = 1.0,
const double  zFactor = 1.0 
)
virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
template<class Archive >
void AbstractMesh< ELEMENT_DIM, SPACE_DIM >::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

Serialize the mesh.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 87 of file AbstractMesh.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractMesh< ELEMENT_DIM, SPACE_DIM >::SetDistributedVectorFactory ( DistributedVectorFactory pFactory)
virtual

Set method for mpDistributedVectorFactory. Must be called before the mesh is used for anything. This only actually impacts the DistributedTetrahedralMesh subclass, in which the supplied factory is then used to specify the node distribution among the processes.

Parameters
pFactorya factory to use for this mesh

Reimplemented in DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, and DistributedTetrahedralMesh< DIM, DIM >.

Definition at line 147 of file AbstractMesh.cpp.

References EXCEPTION, PetscTools::GetNumProcs(), DistributedVectorFactory::GetNumProcs(), and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory.

Referenced by AbstractTetrahedralMesh< SPACE_DIM, SPACE_DIM >::load(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SetDistributedVectorFactory().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractMesh< ELEMENT_DIM, SPACE_DIM >::SetElementOwnerships ( )
protectedvirtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractMesh< ELEMENT_DIM, SPACE_DIM >::SetMeshHasChangedSinceLoading ( )
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
virtual unsigned AbstractMesh< ELEMENT_DIM, SPACE_DIM >::SolveNodeMapping ( unsigned  index) const
privatepure virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Translate ( const c_vector< double, SPACE_DIM > &  rDisplacement)
virtual

Translate the mesh given the displacement vector. This is the translation method that actually does the work. Should be overridden when the child class has halo nodes.

Parameters
rDisplacementis a translation vector of the correct size

Reimplemented in DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, and DistributedTetrahedralMesh< DIM, DIM >.

Definition at line 366 of file AbstractMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::RefreshMesh().

Referenced by AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRegularSlabMeshWithDimensionSplit(), AbstractBoxDomainPdeModifier< DIM >::GenerateFeMesh(), HoneycombMeshGenerator::GetCircularMesh(), and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Translate().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Translate ( const double  xMovement = 0.0,
const double  yMovement = 0.0,
const double  zMovement = 0.0 
)

Translate the mesh given the coordinate displacements separately.

Parameters
xMovementis the x-displacement (defaults to 0.0)
yMovementis the y-displacement (defaults to 0.0)
zMovementis the z-displacement (defaults to 0.0)

Definition at line 345 of file AbstractMesh.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Translate().

Friends And Related Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 79 of file AbstractMesh.hpp.

Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::string AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mMeshFileBaseName
protected
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector<unsigned> AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodePermutation
protected
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector<Node<SPACE_DIM> *> AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes
protected

Vector of pointers to nodes in the mesh.

Definition at line 96 of file AbstractMesh.hpp.

Referenced by MutableMesh< ELEMENT_DIM, SPACE_DIM >::AddNode(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::AddNode(), NodesOnlyMesh< SPACE_DIM >::AddNodeWithFixedIndex(), NodesOnlyMesh< SPACE_DIM >::CalculateBoundaryNodePairs(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::CalculateBoundingBox(), NodesOnlyMesh< SPACE_DIM >::CalculateInteriorNodePairs(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::CalculateMaximumContainingElementsPerProcess(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::CalculateMaximumNodeConnectivityPerProcess(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::Clear(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), Toroidal2dVertexMesh::ConstructFromMeshReader(), NodesOnlyMesh< SPACE_DIM >::ConstructFromMeshReader(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), NodesOnlyMesh< SPACE_DIM >::ConstructNodesWithoutMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh(), Cylindrical2dMesh::CreateMirrorNodes(), Cylindrical2dMesh::Cylindrical2dMesh(), Cylindrical2dVertexMesh::Cylindrical2dVertexMesh(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteBoundaryNodeAt(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteNode(), NodesOnlyMesh< SPACE_DIM >::DeleteNode(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteNodePriorToReMesh(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DeleteNodePriorToReMesh(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideEdge(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ExportToMesher(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GenerateVerticesFromElementCircumcentres(), NodesOnlyMesh< SPACE_DIM >::GetAllNodeIndices(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetDistanceBetweenNodes(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNearestNodeIndex(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringElementIndices(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNode(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeIteratorBegin(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeIteratorEnd(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeOrHaloNode(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNumAllNodes(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumLocalNodes(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodeAttributes(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), NodesOnlyMesh< SPACE_DIM >::GetNumNodes(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetWidth(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::IdentifySwapType(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ImportFromMesher(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::NodeIterator::IsAtEnd(), MutableMesh< SPACE_DIM, SPACE_DIM >::load(), NodesOnlyMesh< 2 >::load(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::MoveMergeNode(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::MutableMesh(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::MutableVertexMesh(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::NodeIterator::NodeIterator(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformIntersectionSwap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformNodeMerge(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformRosetteRankIncrease(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT3Swap(), Cylindrical2dMesh::ReconstructCylindricalMesh(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::RefineElement(), Cylindrical2dNodesOnlyMesh::RefreshMesh(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterNode(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::ReIndex(), Cylindrical2dMesh::ReMesh(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::ReMesh(), NodesOnlyMesh< SPACE_DIM >::RemoveDeletedNodes(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::RemoveDeletedNodes(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ReorderNodes(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::RescaleMeshFromBoundaryNode(), NodesOnlyMesh< SPACE_DIM >::ResizeBoxCollection(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::Rotate(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Rotate(), MutableMesh< SPACE_DIM, SPACE_DIM >::save(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Scale(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::SetNode(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::SetNode(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveNodeMapping(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::SolveNodeMapping(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::SplitEdge(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::Translate(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Translate(), NodesOnlyMesh< SPACE_DIM >::UpdateNodeIndices(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh(), and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::~AbstractMesh().


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