#include <AbstractTetrahedralMesh.hpp>
Public Types | |
typedef std::vector < BoundaryElement< ELEMENT_DIM-1, SPACE_DIM > * >::const_iterator | BoundaryElementIterator |
Public Member Functions | |
ElementIterator | GetElementIteratorBegin (bool skipDeletedElements=true) |
ElementIterator | GetElementIteratorEnd () |
AbstractTetrahedralMesh () | |
virtual | ~AbstractTetrahedralMesh () |
virtual unsigned | GetNumElements () const |
virtual unsigned | GetNumBoundaryElements () const |
unsigned | GetNumAllElements () const |
unsigned | GetNumAllBoundaryElements () const |
Element< ELEMENT_DIM, SPACE_DIM > * | GetElement (unsigned index) const |
BoundaryElement< ELEMENT_DIM-1, SPACE_DIM > * | GetBoundaryElement (unsigned index) const |
virtual void | SetElementOwnerships (unsigned lo, unsigned hi) |
virtual void | ConstructFromMeshReader (AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &rMeshReader, bool cullInternalFaces=false)=0 |
BoundaryElementIterator | GetBoundaryElementIteratorBegin () const |
BoundaryElementIterator | GetBoundaryElementIteratorEnd () const |
virtual void | GetInverseJacobianForElement (unsigned elementIndex, c_matrix< double, SPACE_DIM, ELEMENT_DIM > &rJacobian, double &rJacobianDeterminant, c_matrix< double, ELEMENT_DIM, SPACE_DIM > &rInverseJacobian) const |
virtual void | GetWeightedDirectionForBoundaryElement (unsigned elementIndex, c_vector< double, SPACE_DIM > &rWeightedDirection, double &rJacobianDeterminant) const |
Protected Attributes | |
std::vector< Element < ELEMENT_DIM, SPACE_DIM > * > | mElements |
std::vector< BoundaryElement < ELEMENT_DIM-1, SPACE_DIM > * > | mBoundaryElements |
Private Member Functions | |
virtual unsigned | SolveElementMapping (unsigned index) const =0 |
virtual unsigned | SolveBoundaryElementMapping (unsigned index) const =0 |
template<class Archive> | |
void | save (Archive &archive, const unsigned int version) const |
template<class Archive> | |
void | load (Archive &archive, const unsigned int version) |
Friends | |
class | boost::serialization::access |
Classes | |
class | ElementIterator |
Definition at line 54 of file AbstractTetrahedralMesh.hpp.
typedef std::vector<BoundaryElement<ELEMENT_DIM-1, SPACE_DIM> *>::const_iterator AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::BoundaryElementIterator |
Definition of boundary element Iterator type.
Definition at line 160 of file AbstractTetrahedralMesh.hpp.
AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::AbstractTetrahedralMesh | ( | ) | [inline] |
Constructor.
Definition at line 57 of file AbstractTetrahedralMesh.cpp.
AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::~AbstractTetrahedralMesh | ( | ) | [inline, virtual] |
Virtual destructor, since this class has virtual methods.
Definition at line 62 of file AbstractTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements, and AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements.
virtual unsigned AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveElementMapping | ( | unsigned | index | ) | const [private, pure virtual] |
Pure virtual solve element mapping method. For an element with a given global index, get the local index used by this process. Overridden in TetrahedralMesh and ParallelTetrahedralMesh classes.
index | the global index of the element |
Implemented in ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, TetrahedralMesh< DIM, DIM >, TetrahedralMesh< SPACE_DIM, SPACE_DIM >, and TetrahedralMesh< 3, 3 >.
Referenced by AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), and AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetInverseJacobianForElement().
virtual unsigned AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveBoundaryElementMapping | ( | unsigned | index | ) | const [private, pure virtual] |
Pure virtual solve boundary element mapping method. For a boundary element with a given global index, get the local index used by this process. Overridden in TetrahedralMesh and ParallelTetrahedralMesh classes.
index | the global index of the boundary element |
Implemented in ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, TetrahedralMesh< DIM, DIM >, TetrahedralMesh< SPACE_DIM, SPACE_DIM >, and TetrahedralMesh< 3, 3 >.
Referenced by AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetBoundaryElement(), and AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetWeightedDirectionForBoundaryElement().
void AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::save | ( | Archive & | archive, | |
const unsigned int | version | |||
) | const [inline, private] |
Archive the AbstractTetrahedralMesh. Note that this will write out a TrianglesMeshWriter file to wherever ArchiveLocationInfo has specified.
If the mesh is MutableMesh (or a subclass) the file is written by examining the current mesh.
If the mesh is not mutable then the file is a copy of the original file the mesh was read from.
archive | the archive | |
version | the current version of this class |
Caching an exception thrown by TrianglesMeshReader constructor if it cannot find the mesh on disk. That may mean it is a mesh constructed from a geometric description rather that read from file.
Definition at line 90 of file AbstractTetrahedralMesh.hpp.
void AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::load | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Loads a mesh by using TrianglesMeshReader and the location in ArchiveLocationInfo.
archive | ||
version |
Definition at line 136 of file AbstractTetrahedralMesh.hpp.
AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ElementIterator AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorBegin | ( | bool | skipDeletedElements = true |
) | [inline] |
Get an iterator to the first element in the mesh.
skipDeletedElements | whether to include deleted element |
Definition at line 384 of file AbstractTetrahedralMesh.hpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements.
Referenced by BidomainProblem< DIM >::AnalyseMeshForBath(), AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Calculate(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::CalculateBoundaryOfFlaggedRegion(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::FlagElementsNotContainingNodes(), Cylindrical2dMesh::GenerateVectorsOfElementsStraddlingPeriodicBoundaries(), PapillaryFibreCalculator::GetRadiusVectors(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetVolume(), Cylindrical2dMesh::ReconstructCylindricalMesh(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RefreshJacobianCachedData(), PapillaryFibreCalculator::SmoothStructureTensors(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::UnflagAllElements(), Cylindrical2dMesh::UseTheseElementsToDecideMeshing(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh(), and MeshBasedTissue< DIM >::WriteResultsToFiles().
AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ElementIterator AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorEnd | ( | ) | [inline] |
Get an iterator to one past the last element in the mesh.
Definition at line 391 of file AbstractTetrahedralMesh.hpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements.
Referenced by BidomainProblem< DIM >::AnalyseMeshForBath(), AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Calculate(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::CalculateBoundaryOfFlaggedRegion(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::FlagElementsNotContainingNodes(), Cylindrical2dMesh::GenerateVectorsOfElementsStraddlingPeriodicBoundaries(), PapillaryFibreCalculator::GetRadiusVectors(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetVolume(), Cylindrical2dMesh::ReconstructCylindricalMesh(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RefreshJacobianCachedData(), PapillaryFibreCalculator::SmoothStructureTensors(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::UnflagAllElements(), Cylindrical2dMesh::UseTheseElementsToDecideMeshing(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh(), and MeshBasedTissue< DIM >::WriteResultsToFiles().
unsigned AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements | ( | ) | const [inline, virtual] |
Get the number of elements that are actually in use.
Reimplemented in MutableMesh< ELEMENT_DIM, SPACE_DIM >, ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, MutableMesh< 2, 2 >, and MutableMesh< DIM, DIM >.
Definition at line 77 of file AbstractTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements.
Referenced by AbstractCardiacPde< ELEM_DIM, SPACE_DIM >::AbstractCardiacPde(), QuadraticMesh< DIM >::AddNodesToBoundaryElements(), BidomainPde< SPACE_DIM >::BidomainPde(), PapillaryFibreCalculator::CalculateFibreOrientations(), CuboidMeshConstructor< DIM >::Construct(), StreeterFibreGenerator< SPACE_DIM >::GenerateOrthotropicFibreOrientation(), VoronoiTessellation< DIM >::GenerateVerticesFromElementCircumcentres(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetContainingElementIndex(), ImplicitCardiacMechanicsAssembler< DIM >::ImplicitCardiacMechanicsAssembler(), VoronoiTessellation< DIM >::Initialise(), QuadraticMesh< DIM >::LoadFromFile(), NonlinearElasticityAssembler< DIM >::NonlinearElasticityAssembler(), PapillaryFibreCalculator::PapillaryFibreCalculator(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::PermuteNodesWithMetisBinaries(), and QuadraturePointsGroup< DIM >::QuadraturePointsGroup().
unsigned AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumBoundaryElements | ( | ) | const [inline, virtual] |
Get the number of boundary elements that are actually in use.
Reimplemented in MutableMesh< ELEMENT_DIM, SPACE_DIM >, ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, MutableMesh< 2, 2 >, and MutableMesh< DIM, DIM >.
Definition at line 95 of file AbstractTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements.
Referenced by BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::DefineZeroNeumannOnMeshBoundary().
unsigned AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumAllElements | ( | ) | const [inline] |
Get the total number of elements (including those marked as deleted).
Definition at line 83 of file AbstractTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements.
Referenced by TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::EdgeIterator::EdgeIterator(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::EdgesBegin(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::EdgesEnd(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::EdgeIterator::operator++(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::PermuteNodesWithMetisBinaries(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RefreshJacobianCachedData(), Cylindrical2dMesh::ReMesh(), Cylindrical2dMesh::UseTheseElementsToDecideMeshing(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh().
unsigned AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumAllBoundaryElements | ( | ) | const [inline] |
Get the total number of boundary elements (including those marked as deleted).
Definition at line 89 of file AbstractTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements.
Referenced by Cylindrical2dMesh::ReconstructCylindricalMesh(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RefreshJacobianCachedData(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh().
Element< ELEMENT_DIM, SPACE_DIM > * AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElement | ( | unsigned | index | ) | const [inline] |
Get the element with a given index in the mesh.
index | the global index of the element |
Definition at line 102 of file AbstractTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements, and AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveElementMapping().
Referenced by AbstractCardiacPde< ELEM_DIM, SPACE_DIM >::AbstractCardiacPde(), QuadraticMesh< DIM >::AddNodesToBoundaryElements(), BidomainPde< SPACE_DIM >::BidomainPde(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::CheckVoronoi(), DistanceMapCalculator< SPACE_DIM >::ComputeDistanceMap(), Cylindrical2dMesh::CorrectNonPeriodicMesh(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteBoundaryNodeAt(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteNode(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::EdgeIterator::EdgeIterator(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::EdgesBegin(), StreeterFibreGenerator< SPACE_DIM >::GenerateOrthotropicFibreOrientation(), VoronoiTessellation< DIM >::GenerateVerticesFromElementCircumcentres(), StreeterFibreGenerator< SPACE_DIM >::GetAveragedThickness(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::EdgeIterator::GetNodeA(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::EdgeIterator::GetNodeB(), PapillaryFibreCalculator::GetRadiusVectorForOneElement(), VoronoiTessellation< DIM >::Initialise(), CardiacElectroMechanicsProblem< DIM >::Initialise(), Node< SPACE_DIM >::IsFlagged(), QuadraticMesh< DIM >::LoadFromFile(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::MoveMergeNode(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::EdgeIterator::operator++(), QuadraturePointsGroup< DIM >::QuadraturePointsGroup(), Cylindrical2dMesh::ReMesh(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::SetNode(), CardiacElectroMechanicsProblem< DIM >::Solve(), Cylindrical2dMesh::UseTheseElementsToDecideMeshing(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh().
BoundaryElement< ELEMENT_DIM-1, SPACE_DIM > * AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetBoundaryElement | ( | unsigned | index | ) | const [inline] |
Get the boundary element with a given index in the mesh.
index | the global index of the boundary element |
Definition at line 109 of file AbstractTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements, and AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveBoundaryElementMapping().
Referenced by MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteBoundaryNodeAt(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::MoveMergeNode(), Cylindrical2dMesh::ReconstructCylindricalMesh(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::SetNode(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh().
void AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SetElementOwnerships | ( | unsigned | lo, | |
unsigned | hi | |||
) | [inline, virtual] |
Sets the ownership of each element according to which nodes are owned by the process.
lo | is the lowest node number owned by the process | |
hi | is one higher than the highest node number owned by the process ie. this process owns nodes [lo..hi) and element is "owned" if one or more of its nodes are owned |
Reimplemented in ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 37 of file AbstractTetrahedralMesh.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeGlobalIndex(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements, and AbstractElement< ELEMENT_DIM, SPACE_DIM >::SetOwnership().
virtual void AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader | ( | AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > & | rMeshReader, | |
bool | cullInternalFaces = false | |||
) | [pure virtual] |
Construct the mesh using a MeshReader. This method must be overridden in concrete classes.
rMeshReader | the mesh reader | |
cullInternalFaces | whether to cull internal faces (defaults to false) |
Implemented in ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, TetrahedralMesh< DIM, DIM >, TetrahedralMesh< SPACE_DIM, SPACE_DIM >, and TetrahedralMesh< 3, 3 >.
Referenced by AbstractCardiacProblem< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::Initialise(), and AbstractTetrahedralMesh< ELEM_DIM, SPACE_DIM >::load().
AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::BoundaryElementIterator AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetBoundaryElementIteratorBegin | ( | ) | const [inline] |
Return a pointer to the first boundary element in the mesh.
Definition at line 116 of file AbstractTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements.
Referenced by QuadraticMesh< DIM >::AddNodesToBoundaryElements(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::DefineZeroNeumannOnMeshBoundary(), Electrodes< DIM >::Electrodes(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetSurfaceArea(), QuadraticMesh< DIM >::LoadFromFile(), QuadraticMesh< DIM >::QuadraticMesh(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RefreshJacobianCachedData(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::Validate(), QuadraticMesh< DIM >::WriteBoundaryElementFile(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh().
AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::BoundaryElementIterator AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetBoundaryElementIteratorEnd | ( | ) | const [inline] |
Return a pointer to *one past* the last boundary element in the mesh (for consistency with STL iterators).
Definition at line 122 of file AbstractTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements.
Referenced by QuadraticMesh< DIM >::AddNodesToBoundaryElements(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::DefineZeroNeumannOnMeshBoundary(), Electrodes< DIM >::Electrodes(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetSurfaceArea(), QuadraticMesh< DIM >::LoadFromFile(), QuadraticMesh< DIM >::QuadraticMesh(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RefreshJacobianCachedData(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::Validate(), QuadraticMesh< DIM >::WriteBoundaryElementFile(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh().
void AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetInverseJacobianForElement | ( | unsigned | elementIndex, | |
c_matrix< double, SPACE_DIM, ELEMENT_DIM > & | rJacobian, | |||
double & | rJacobianDeterminant, | |||
c_matrix< double, ELEMENT_DIM, SPACE_DIM > & | rInverseJacobian | |||
) | const [inline, virtual] |
Compute the inverse Jacobian for a given element in the mesh.
elementIndex | index of an element | |
rJacobian | the Jacobian matrix | |
rJacobianDeterminant | the determinant of the Jacobian matrix | |
rInverseJacobian | the inverse Jacobian matrix |
Reimplemented in NonCachedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, TetrahedralMesh< DIM, DIM >, TetrahedralMesh< SPACE_DIM, SPACE_DIM >, and TetrahedralMesh< 3, 3 >.
Definition at line 128 of file AbstractTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements, and AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveElementMapping().
void AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetWeightedDirectionForBoundaryElement | ( | unsigned | elementIndex, | |
c_vector< double, SPACE_DIM > & | rWeightedDirection, | |||
double & | rJacobianDeterminant | |||
) | const [inline, virtual] |
Compute the weighted direction for a given boundary element.
elementIndex | index of an element | |
rWeightedDirection | the weighted direction vector | |
rJacobianDeterminant | the determinant of the Jacobian matrix |
Reimplemented in NonCachedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, TetrahedralMesh< DIM, DIM >, TetrahedralMesh< SPACE_DIM, SPACE_DIM >, and TetrahedralMesh< 3, 3 >.
Definition at line 138 of file AbstractTetrahedralMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements, and AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveBoundaryElementMapping().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in MutableMesh< ELEMENT_DIM, SPACE_DIM >, NonCachedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >, Cylindrical2dMesh, MutableMesh< 2, 2 >, MutableMesh< DIM, DIM >, TetrahedralMesh< DIM, DIM >, TetrahedralMesh< SPACE_DIM, SPACE_DIM >, and TetrahedralMesh< 3, 3 >.
Definition at line 76 of file AbstractTetrahedralMesh.hpp.
std::vector<Element<ELEMENT_DIM, SPACE_DIM> *> AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mElements [protected] |
Vector of pointers to elements in the mesh.
Definition at line 148 of file AbstractTetrahedralMesh.hpp.
Referenced by MutableMesh< ELEMENT_DIM, SPACE_DIM >::CheckVoronoi(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::Clear(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ElementIterator::ElementIterator(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetContainingElementIndex(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetContainingElementIndices(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorBegin(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorEnd(), NonCachedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetInverseJacobianForElement(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetInverseJacobianForElement(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNearestElementIndex(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumAllElements(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumLocalElements(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ElementIterator::IsAtEnd(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::PermuteNodesWithMetisBinaries(), QuadraticMesh< DIM >::QuadraticMesh(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::RefineElement(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterElement(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::ReIndex(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::ReMesh(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SetElementOwnerships(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SetElementOwnerships(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveElementMapping(), Cylindrical2dMesh::UseTheseElementsToDecideMeshing(), and AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::~AbstractTetrahedralMesh().
std::vector<BoundaryElement<ELEMENT_DIM-1, SPACE_DIM> *> AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mBoundaryElements [protected] |
Vector of pointers to boundary elements in the mesh.
Definition at line 151 of file AbstractTetrahedralMesh.hpp.
Referenced by TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::Clear(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructCuboid(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructRectangularMesh(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetBoundaryElement(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetBoundaryElementIteratorBegin(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetBoundaryElementIteratorEnd(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumAllBoundaryElements(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::GetNumBoundaryElements(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumBoundaryElements(), NonCachedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetWeightedDirectionForBoundaryElement(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetWeightedDirectionForBoundaryElement(), QuadraticMesh< DIM >::QuadraticMesh(), ParallelTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::RegisterBoundaryElement(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::ReIndex(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::ReMesh(), Cylindrical2dMesh::ReMesh(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveBoundaryElementMapping(), and AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::~AbstractTetrahedralMesh().