![]() |
Chaste
Release::3.4
|
#include <NonCachedTetrahedralMesh.hpp>
Inheritance diagram for NonCachedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >:
Collaboration diagram for NonCachedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >:Public Member Functions | |
| void | RefreshJacobianCachedData () |
| void | GetJacobianForElement (unsigned elementIndex, c_matrix< double, SPACE_DIM, SPACE_DIM > &rJacobian, double &rJacobianDeterminant) const |
| void | GetInverseJacobianForElement (unsigned elementIndex, c_matrix< double, SPACE_DIM, ELEMENT_DIM > &rJacobian, double &rJacobianDeterminant, c_matrix< double, ELEMENT_DIM, SPACE_DIM > &rInverseJacobian) const |
| void | GetWeightedDirectionForElement (unsigned elementIndex, c_vector< double, SPACE_DIM > &rWeightedDirection, double &rJacobianDeterminant) const |
| void | GetWeightedDirectionForBoundaryElement (unsigned elementIndex, c_vector< double, SPACE_DIM > &rWeightedDirection, double &rJacobianDeterminant) const |
Public Member Functions inherited from TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > | |
| TetrahedralMesh () | |
| void | ConstructFromMeshReader (AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &rMeshReader) |
| void | ReadNodesPerProcessorFile (const std::string &rNodesPerProcessorFile) |
| bool | CheckIsConforming () |
| double | GetVolume () |
| double | GetSurfaceArea () |
| void | RefreshMesh () |
| void | PermuteNodes () |
| void | PermuteNodes (const std::vector< unsigned > &perm) |
| unsigned | GetContainingElementIndexWithInitialGuess (const ChastePoint< SPACE_DIM > &rTestPoint, unsigned startingElementGuess, bool strict=false) |
| unsigned | GetNearestElementIndex (const ChastePoint< SPACE_DIM > &rTestPoint) |
| std::vector< unsigned > | GetContainingElementIndices (const ChastePoint< SPACE_DIM > &rTestPoint) |
| virtual void | Clear () |
| double | GetAngleBetweenNodes (unsigned indexA, unsigned indexB) |
| EdgeIterator | EdgesBegin () |
| EdgeIterator | EdgesEnd () |
Public Member Functions inherited from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > | |
| ElementIterator | GetElementIteratorBegin (bool skipDeletedElements=true) |
| ElementIterator | GetElementIteratorEnd () |
| AbstractTetrahedralMesh () | |
| virtual | ~AbstractTetrahedralMesh () |
| virtual unsigned | GetNumElements () const |
| virtual unsigned | GetNumLocalElements () const |
| virtual unsigned | GetNumBoundaryElements () const |
| virtual unsigned | GetNumLocalBoundaryElements () const |
| unsigned | GetNumAllElements () const |
| unsigned | GetNumAllBoundaryElements () const |
| virtual unsigned | GetNumCableElements () const |
| virtual unsigned | GetNumVertices () const |
| virtual unsigned | GetMaximumNodeIndex () |
| Element< ELEMENT_DIM, SPACE_DIM > * | GetElement (unsigned index) const |
| BoundaryElement< ELEMENT_DIM-1, SPACE_DIM > * | GetBoundaryElement (unsigned index) const |
| void | ConstructFromMesh (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > &rOtherMesh) |
| BoundaryElementIterator | GetBoundaryElementIteratorBegin () const |
| BoundaryElementIterator | GetBoundaryElementIteratorEnd () const |
| void | CheckOutwardNormals () |
| virtual void | ConstructLinearMesh (unsigned width) |
| virtual void | ConstructRectangularMesh (unsigned width, unsigned height, bool stagger=true) |
| virtual void | ConstructCuboid (unsigned width, unsigned height, unsigned depth) |
| void | ConstructRegularSlabMesh (double spaceStep, double width, double height=0, double depth=0) |
| void | ConstructRegularSlabMeshWithDimensionSplit (unsigned dimension, double spaceStep, double width, double height=0, double depth=0) |
| virtual bool | CalculateDesignatedOwnershipOfBoundaryElement (unsigned faceIndex) |
| virtual bool | CalculateDesignatedOwnershipOfElement (unsigned elementIndex) |
| unsigned | CalculateMaximumNodeConnectivityPerProcess () const |
| virtual void | GetHaloNodeIndices (std::vector< unsigned > &rHaloIndices) const |
| void | CalculateNodeExchange (std::vector< std::vector< unsigned > > &rNodesToSendPerProcess, std::vector< std::vector< unsigned > > &rNodesToReceivePerProcess) |
| virtual c_vector< double, 2 > | CalculateMinMaxEdgeLengths () |
| unsigned | GetContainingElementIndex (const ChastePoint< SPACE_DIM > &rTestPoint, bool strict=false, std::set< unsigned > testElements=std::set< unsigned >(), bool onlyTryWithTestElements=false) |
| unsigned | GetNearestElementIndexFromTestElements (const ChastePoint< SPACE_DIM > &rTestPoint, std::set< unsigned > testElements) |
Public Member Functions inherited from AbstractMesh< ELEMENT_DIM, SPACE_DIM > | |
| 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 DistributedVectorFactory * | GetDistributedVectorFactory () |
| virtual void | SetDistributedVectorFactory (DistributedVectorFactory *pFactory) |
| 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) |
| bool | IsMeshChanging () const |
| unsigned | CalculateMaximumContainingElementsPerProcess () const |
| void | SetMeshHasChangedSinceLoading () |
Private Member Functions | |
| template<class Archive > | |
| void | serialize (Archive &archive, const unsigned int version) |
Friends | |
| class | boost::serialization::access |
Additional Inherited Members | |
Public Types inherited from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > | |
| typedef std::vector < BoundaryElement< ELEMENT_DIM-1, SPACE_DIM > * >::const_iterator | BoundaryElementIterator |
Public Types inherited from AbstractMesh< ELEMENT_DIM, SPACE_DIM > | |
| typedef std::vector< Node < SPACE_DIM > * >::const_iterator | BoundaryNodeIterator |
Protected Member Functions inherited from TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > | |
| unsigned | SolveNodeMapping (unsigned index) const |
| unsigned | SolveElementMapping (unsigned index) const |
| unsigned | SolveBoundaryElementMapping (unsigned index) const |
| template<class MESHER_IO > | |
| void | ExportToMesher (NodeMap &map, MESHER_IO &mesherInput, int *elementList=NULL) |
| template<class MESHER_IO > | |
| void | ImportFromMesher (MESHER_IO &mesherOutput, unsigned numberOfElements, int *elementList, unsigned numberOfFaces, int *faceList, int *edgeMarkerList) |
| void | InitialiseTriangulateIo (triangulateio &mesherIo) |
| void | FreeTriangulateIo (triangulateio &mesherIo) |
Protected Member Functions inherited from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > | |
| void | SetElementOwnerships () |
Protected Member Functions inherited from AbstractMesh< ELEMENT_DIM, SPACE_DIM > | |
| ChasteCuboid< SPACE_DIM > | CalculateBoundingBox (const std::vector< Node< SPACE_DIM > * > &rNodes) const |
Protected Attributes inherited from TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > | |
| std::vector< c_vector< double, SPACE_DIM > > | mElementWeightedDirections |
| std::vector< c_matrix< double, SPACE_DIM, ELEMENT_DIM > > | mElementJacobians |
| std::vector< c_matrix< double, ELEMENT_DIM, SPACE_DIM > > | mElementInverseJacobians |
| std::vector< double > | mElementJacobianDeterminants |
| std::vector< c_vector< double, SPACE_DIM > > | mBoundaryElementWeightedDirections |
| std::vector< double > | mBoundaryElementJacobianDeterminants |
Protected Attributes inherited from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > | |
| bool | mMeshIsLinear |
| std::vector< Element < ELEMENT_DIM, SPACE_DIM > * > | mElements |
| std::vector< BoundaryElement < ELEMENT_DIM-1, SPACE_DIM > * > | mBoundaryElements |
Protected Attributes inherited from AbstractMesh< ELEMENT_DIM, SPACE_DIM > | |
| std::vector< Node< SPACE_DIM > * > | mNodes |
| std::vector< Node< SPACE_DIM > * > | mBoundaryNodes |
| DistributedVectorFactory * | mpDistributedVectorFactory |
| std::vector< unsigned > | mNodePermutation |
| std::string | mMeshFileBaseName |
| bool | mMeshChangesDuringSimulation |
A drop-in replacement for TetrahedralMesh that doesn't cache any jacobian-related data.
It thus provides essentially a serial version of the memory-efficient DistributedTetrahedralMesh, enabling the use of larger meshes on single-processor machines.
Definition at line 53 of file NonCachedTetrahedralMesh.hpp.
|
virtual |
Get the Jacobian matrix, its inverse and its determinant for a given element.
| elementIndex | index of the element in the mesh |
| rJacobian | the Jacobian matrix |
| rJacobianDeterminant | the determinant of the Jacobian matrix |
| rInverseJacobian | the inverse Jacobian matrix |
Reimplemented from TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 53 of file NonCachedTetrahedralMesh.cpp.
|
virtual |
Get the Jacobian matrix and its determinant for a given element.
| elementIndex | index of the element in the mesh |
| rJacobian | the Jacobian matrix |
| rJacobianDeterminant | the determinant of the Jacobian matrix |
Reimplemented from TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 46 of file NonCachedTetrahedralMesh.cpp.
References EXCEPTION.
|
virtual |
Get the weighted direction and the determinant of the Jacobian for a given boundary element.
| elementIndex | index of the element in the mesh |
| rWeightedDirection | the weighted direction |
| rJacobianDeterminant | the determinant of the Jacobian matrix |
Reimplemented from TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 70 of file NonCachedTetrahedralMesh.cpp.
|
virtual |
Get the weighted direction and the determinant of the Jacobian for a given element.
| elementIndex | index of the element in the mesh |
| rWeightedDirection | the weighted direction |
| rJacobianDeterminant | the determinant of the Jacobian matrix |
Reimplemented from TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 63 of file NonCachedTetrahedralMesh.cpp.
References EXCEPTION.
|
virtual |
Reimplemented to do no caching
Reimplemented from TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 40 of file NonCachedTetrahedralMesh.cpp.
|
inlineprivate |
Serialize the mesh.
| archive | the archive |
| version | the current version of this class |
Definition at line 65 of file NonCachedTetrahedralMesh.hpp.
|
friend |
Needed for serialization.
Definition at line 57 of file NonCachedTetrahedralMesh.hpp.