Chaste
Release::2017.1
|
#include <AbstractElement.hpp>
Public Member Functions | |
AbstractElement (unsigned index, const std::vector< Node< SPACE_DIM > * > &rNodes) | |
AbstractElement (unsigned index=INDEX_IS_NOT_USED) | |
virtual | ~AbstractElement () |
virtual void | UpdateNode (const unsigned &rIndex, Node< SPACE_DIM > *pNode)=0 |
void | ReplaceNode (Node< SPACE_DIM > *pOldNode, Node< SPACE_DIM > *pNewNode) |
virtual void | MarkAsDeleted ()=0 |
virtual void | RegisterWithNodes ()=0 |
double | GetNodeLocation (unsigned localIndex, unsigned dimension) const |
c_vector< double, SPACE_DIM > | GetNodeLocation (unsigned localIndex) const |
unsigned | GetNodeGlobalIndex (unsigned localIndex) const |
Node< SPACE_DIM > * | GetNode (unsigned localIndex) const |
unsigned | GetNumNodes () const |
void | AddNode (Node< SPACE_DIM > *pNode) |
bool | IsDeleted () const |
unsigned | GetIndex () const |
void | SetIndex (unsigned index) |
bool | GetOwnership () const |
void | SetOwnership (bool ownership) |
void | SetAttribute (double attribute) |
double | GetAttribute () |
unsigned | GetUnsignedAttribute () |
void | AddElementAttribute (double attribute) |
std::vector< double > & | rGetElementAttributes () |
unsigned | GetNumElementAttributes () |
Protected Member Functions | |
void | ConstructElementAttributes () |
Protected Attributes | |
std::vector< Node< SPACE_DIM > * > | mNodes |
unsigned | mIndex |
bool | mIsDeleted |
bool | mOwnership |
ElementAttributes< ELEMENT_DIM, SPACE_DIM > * | mpElementAttributes |
An abstract element class for use in finite element meshes.
Definition at line 55 of file AbstractElement.hpp.
AbstractElement< ELEMENT_DIM, SPACE_DIM >::AbstractElement | ( | unsigned | index, |
const std::vector< Node< SPACE_DIM > * > & | rNodes | ||
) |
Constructor which takes in a vector of nodes.
index | the index of the element in the mesh |
rNodes | the nodes owned by the element |
Definition at line 48 of file AbstractElement.cpp.
AbstractElement< ELEMENT_DIM, SPACE_DIM >::AbstractElement | ( | unsigned | index = INDEX_IS_NOT_USED | ) |
Default constructor, which doesn't add any nodes: they must be added later.
index | the index of the element in the mesh (defaults to INDEX_IS_NOT_USED) |
Definition at line 60 of file AbstractElement.cpp.
|
virtual |
Virtual destructor, since this class has virtual methods. Deletes added attributes (when they exist)
Definition at line 68 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mpElementAttributes.
void AbstractElement< ELEMENT_DIM, SPACE_DIM >::AddElementAttribute | ( | double | attribute | ) |
Add an attribute to the list of element attributes.
attribute | the value of the attribute to be added |
Definition at line 203 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::ConstructElementAttributes(), and AbstractElement< ELEMENT_DIM, SPACE_DIM >::mpElementAttributes.
void AbstractElement< ELEMENT_DIM, SPACE_DIM >::AddNode | ( | Node< SPACE_DIM > * | pNode | ) |
Add a node to this element.
pNode | pointer to the new node |
Definition at line 129 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.
Referenced by QuadraticMeshHelper< DIM >::AddNodeToBoundaryElement().
|
protected |
Construct an empty ElementAttributes container.
Definition at line 194 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mpElementAttributes.
Referenced by AbstractElement< ELEMENT_DIM, SPACE_DIM >::AddElementAttribute(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetAttribute(), and AbstractElement< ELEMENT_DIM, SPACE_DIM >::SetAttribute().
double AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetAttribute | ( | ) |
Definition at line 173 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::ConstructElementAttributes(), and AbstractElement< ELEMENT_DIM, SPACE_DIM >::mpElementAttributes.
Referenced by MonodomainPurkinjeCableAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeCableMatrixTerm(), MonodomainPurkinjeCableMassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeCableMatrixTerm(), AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreateJunction(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextCableElement(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextElement(), and AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetUnsignedAttribute().
unsigned AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetIndex | ( | ) | const |
Definition at line 141 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mIndex.
Referenced by AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::AbstractCorrectionTermAssembler(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::AddElement(), PottsMesh< DIM >::AddElement(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::AddElement(), FarhadifarForce< DIM >::AddForceContribution(), NagaiHondaForce< DIM >::AddForceContribution(), ContinuumMechanicsNeumannBcsAssembler< DIM >::AssembleOnBoundaryElement(), AbstractNonlinearElasticitySolver< DIM >::AssembleOnBoundaryElement(), AbstractNonlinearElasticitySolver< DIM >::AssembleOnBoundaryElementForPressureOnDeformedBc(), IncompressibleNonlinearElasticitySolver< DIM >::AssembleOnElement(), CompressibleNonlinearElasticitySolver< DIM >::AssembleOnElement(), AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::AssembleOnElement(), AbstractContinuumMechanicsAssembler< DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::AssembleOnElement(), AbstractFeSurfaceIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::AssembleOnSurfaceElement(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::CheckIsVoronoi(), ElectrodesStimulusFactory< DIM >::ComputeElectrodeTotalFlux(), AveragedSourceEllipticPde< DIM >::ComputeLinearInUCoeffInSourceTerm(), MonodomainStiffnessMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm(), BidomainAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm(), ExtendedBidomainAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm(), AveragedSourceParabolicPde< DIM >::ComputeSourceTerm(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteBoundaryNodeAt(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElementAlongGivenAxis(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElementAlongShortAxis(), AbstractContinuumMechanicsAssembler< DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::DoAssemble(), AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::ElementAssemblyCriterion(), AbstractNonlinearElasticitySolver< DIM >::GetElementCentroidStrain(), AbstractCardiacMechanicsSolver< ELASTICITY_SOLVER, DIM >::Initialise(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::MutableVertexMesh(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformIntersectionSwap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT2Swap(), PottsMesh< DIM >::PottsMesh(), Cylindrical2dMesh::ReconstructCylindricalMesh(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh(), StreeterFibreGenerator< SPACE_DIM >::Visit(), and StressPerElementWriter< DIM >::Visit().
Node< SPACE_DIM > * AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNode | ( | unsigned | localIndex | ) | const |
Get the node with a given local index in this element.
localIndex | local index of the node in this element |
Definition at line 116 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.
Referenced by VertexElement< ELEMENT_DIM, SPACE_DIM >::AddFace(), FarhadifarForce< DIM >::AddForceContribution(), NagaiHondaForce< DIM >::AddForceContribution(), BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::AddNeumannBoundaryCondition(), QuadraticMeshHelper< DIM >::AddNodeToBoundaryElement(), BidomainProblem< DIM >::AnalyseMeshForBath(), AbstractNonlinearElasticitySolver< DIM >::AssembleOnBoundaryElementForPressureOnDeformedBc(), AbstractFeCableIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::AssembleOnCableElement(), AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::AssembleOnElement(), AbstractContinuumMechanicsAssembler< DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::AssembleOnElement(), AbstractFeSurfaceIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::AssembleOnSurfaceElement(), AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CalculateOnElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::CalculateUnitNormalToFaceWithArea(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::CheckIsVoronoi(), MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteBoundaryNodeAt(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElement(), PottsMesh< DIM >::DivideElement(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElementAlongGivenAxis(), StreeterFibreGenerator< SPACE_DIM >::GetAveragedThicknessLocalNode(), PottsMesh< DIM >::GetNeighbouringElementIndices(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringElementIndices(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetRosetteRankOfElement(), PottsMesh< DIM >::GetSurfaceAreaOfElement(), MutableElement< ELEMENT_DIM, SPACE_DIM >::IsElementOnBoundary(), MutableElement< 1, SPACE_DIM >::IsElementOnBoundary(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::MutableVertexMesh(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT2Swap(), PottsMesh< DIM >::PottsMesh(), Cylindrical2dMesh::ReMesh(), FineCoarseMeshPair< DIM >::SetUpBoxes(), VertexElement< ELEMENT_DIM, SPACE_DIM >::VertexElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh(), StreeterFibreGenerator< SPACE_DIM >::Visit(), and DistanceMapCalculator< ELEMENT_DIM, SPACE_DIM >::WorkOnLocalQueue().
unsigned AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeGlobalIndex | ( | unsigned | localIndex | ) | const |
Given the local index of a node owned by this element, return the global index of the node in the mesh.
localIndex | the node's local index in this element |
Definition at line 109 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.
Referenced by AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::AbstractCorrectionTermAssembler(), QuadraticMeshHelper< DIM >::AddExtraBoundaryNodes(), VertexElement< ELEMENT_DIM, SPACE_DIM >::AddFace(), QuadraticMeshHelper< DIM >::AddNodesToBoundaryElements(), AbstractNonlinearElasticitySolver< DIM >::AssembleOnBoundaryElement(), AbstractNonlinearElasticitySolver< DIM >::AssembleOnBoundaryElementForPressureOnDeformedBc(), AbstractFeCableIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::AssembleOnCableElement(), IncompressibleNonlinearElasticitySolver< DIM >::AssembleOnElement(), CompressibleNonlinearElasticitySolver< DIM >::AssembleOnElement(), AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::AssembleOnElement(), CompressibleNonlinearElasticitySolver< DIM >::AssembleSystem(), IncompressibleNonlinearElasticitySolver< DIM >::AssembleSystem(), AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::CalculateJacobian(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::CalculateMaximumNodeConnectivityPerProcess(), AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CalculateOnElement(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::CheckIsVoronoi(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::CheckOutwardNormals(), AbstractCardiacMechanicsSolver< ELASTICITY_SOLVER, DIM >::ComputeDeformationGradientAndStretchInEachElement(), MonodomainCorrectionTermAssembler< ELEM_DIM, SPACE_DIM >::ComputeVectorTerm(), BidomainCorrectionTermAssembler< ELEM_DIM, SPACE_DIM >::ComputeVectorTerm(), EllipticBoxDomainPdeModifier< DIM >::ConstructBoundaryConditionsContainer(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMesh(), Cylindrical2dMesh::CorrectNonPeriodicMesh(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteNode(), AbstractContinuumMechanicsAssembler< DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::DoAssemble(), AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::ElementAssemblyCriterion(), AbstractNonlinearElasticitySolver< DIM >::GetElementCentroidStrain(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeIndices(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeNotAlsoInElement(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextCableElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNextEdgeGradientOfElementAtNode(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextElement(), MutableElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocalIndex(), MutableElement< 1, SPACE_DIM >::GetNodeLocalIndex(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetPreviousEdgeGradientOfElementAtNode(), AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::GetStiffnessMatrixGlobalIndices(), AbstractTetrahedralElement< 0, SPACE_DIM >::GetStiffnessMatrixGlobalIndices(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetSurfaceAreaOfElement(), VertexBasedCellPopulation< DIM >::GetTetrahedralMeshForPdeModifier(), QuadraticMeshHelper< DIM >::HelperMethod1(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::IdentifySwapType(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::EdgeIterator::operator++(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformIntersectionSwap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformProtorosetteResolution(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformRosetteRankDecrease(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT2Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT3Swap(), Cylindrical2dMesh::ReconstructCylindricalMesh(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SetElementOwnerships(), CellwiseDataGradient< DIM >::SetupGradients(), CardiacElectroMechanicsProblem< DIM, ELEC_PROB_DIM >::Solve(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::SplitEdge(), AbstractBoxDomainPdeModifier< DIM >::UpdateCellData(), Cylindrical2dMesh::UseTheseElementsToDecideMeshing(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and VoltageInterpolaterOntoMechanicsMesh< DIM >::VoltageInterpolaterOntoMechanicsMesh().
double AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocation | ( | unsigned | localIndex, |
unsigned | dimension | ||
) | const |
localIndex | the index of the node to query, in [0,N) where N is the number of nodes in this element. |
dimension | the spatial dimension to query. |
Definition at line 89 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.
Referenced by Element< ELEMENT_DIM, SPACE_DIM >::CalculateCircumsphere(), AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::CalculateJacobian(), Element< ELEMENT_DIM, SPACE_DIM >::CalculateMinMaxEdgeLengths(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::CalculateMomentsOfElement(), Element< ELEMENT_DIM, SPACE_DIM >::CalculateXi(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElementAlongGivenAxis(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::ElementIncludesPoint(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetAreaGradientOfElementAtNode(), PottsMesh< DIM >::GetCentroidOfElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetCentroidOfElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetLocalIndexForElementEdgeClosestToPoint(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNextEdgeGradientOfElementAtNode(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetPreviousEdgeGradientOfElementAtNode(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfElement(), and MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT3Swap().
c_vector< double, SPACE_DIM > AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocation | ( | unsigned | localIndex | ) | const |
localIndex | the index of the node to query, in [0,N) where N is the number of nodes in this element. |
Definition at line 102 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.
unsigned AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumElementAttributes | ( | ) |
Definition at line 222 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mpElementAttributes.
unsigned AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes | ( | ) | const |
Definition at line 123 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.
Referenced by AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::AbstractCorrectionTermAssembler(), VertexElement< ELEMENT_DIM, SPACE_DIM >::AddFace(), FarhadifarForce< DIM >::AddForceContribution(), NagaiHondaForce< DIM >::AddForceContribution(), BidomainProblem< DIM >::AnalyseMeshForBath(), AbstractNonlinearElasticitySolver< DIM >::AssembleOnBoundaryElementForPressureOnDeformedBc(), AbstractFeCableIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::AssembleOnCableElement(), AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::AssembleOnElement(), AbstractFeSurfaceIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::AssembleOnSurfaceElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::CalculateMomentsOfElement(), AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CalculateOnElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::CalculateUnitNormalToFaceWithArea(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::CheckIsVoronoi(), ElectrodesStimulusFactory< DIM >::ComputeElectrodeTotalFlux(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMesh(), MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteBoundaryNodeAt(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideEdge(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElement(), PottsMesh< DIM >::DivideElement(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElementAlongGivenAxis(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::ElementIncludesPoint(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetAreaGradientOfElementAtNode(), PottsElement< DIM >::GetAspectRatio(), StreeterFibreGenerator< SPACE_DIM >::GetAveragedThicknessLocalNode(), PottsMesh< DIM >::GetCentroidOfElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetCentroidOfElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetLocalIndexForElementEdgeClosestToPoint(), PottsMesh< DIM >::GetNeighbouringElementIndices(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringElementIndices(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeIndices(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeNotAlsoInElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNextEdgeGradientOfElementAtNode(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetPreviousEdgeGradientOfElementAtNode(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetRosetteRankOfElement(), PottsMesh< DIM >::GetSurfaceAreaOfElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetSurfaceAreaOfElement(), VertexBasedCellPopulation< DIM >::GetTetrahedralMeshForPdeModifier(), PottsMesh< DIM >::GetVolumeOfElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfElement(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::IdentifySwapType(), Element< ELEMENT_DIM, SPACE_DIM >::MarkAsDeleted(), BoundaryElement< ELEMENT_DIM, SPACE_DIM >::MarkAsDeleted(), MutableElement< ELEMENT_DIM, SPACE_DIM >::MarkAsDeleted(), MutableElement< 1, SPACE_DIM >::MarkAsDeleted(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::MutableVertexMesh(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformIntersectionSwap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformProtorosetteResolution(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformRosetteRankDecrease(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT2Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT3Swap(), PottsMesh< DIM >::PottsMesh(), BoundaryElement< ELEMENT_DIM, SPACE_DIM >::ResetIndex(), Element< ELEMENT_DIM, SPACE_DIM >::ResetIndex(), MutableElement< ELEMENT_DIM, SPACE_DIM >::ResetIndex(), MutableElement< 1, SPACE_DIM >::ResetIndex(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SetElementOwnerships(), CardiacElectroMechanicsProblem< DIM, ELEC_PROB_DIM >::Solve(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh(), CellPopulationElementWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), VoltageInterpolaterOntoMechanicsMesh< DIM >::VoltageInterpolaterOntoMechanicsMesh(), and DistanceMapCalculator< ELEMENT_DIM, SPACE_DIM >::WorkOnLocalQueue().
bool AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetOwnership | ( | ) | const |
Definition at line 153 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mOwnership.
Referenced by AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::AbstractCorrectionTermAssembler(), CompressibleNonlinearElasticitySolver< DIM >::AssembleSystem(), IncompressibleNonlinearElasticitySolver< DIM >::AssembleSystem(), AbstractFeCableIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::DoAssemble(), AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::DoAssemble(), AbstractContinuumMechanicsAssembler< DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::DoAssemble(), and AbstractCardiacMechanicsSolver< ELASTICITY_SOLVER, DIM >::Initialise().
unsigned AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetUnsignedAttribute | ( | ) |
This method converts the attribute (stored as a double) to an unsigned, and throws an exception if this is not sensible.
Definition at line 181 of file AbstractElement.cpp.
References EXCEPTION, AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetAttribute(), and CompareDoubles::WithinAnyTolerance().
Referenced by AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::AbstractCorrectionTermAssembler(), BidomainProblem< DIM >::AnalyseMeshForBath(), BidomainWithBathAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm(), ExtendedBidomainMassMatrixAssembler< DIM >::ComputeMatrixTerm(), BidomainMassMatrixAssembler< DIM >::ComputeMatrixTerm(), and PseudoEcgCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::ShouldSkipThisElement().
bool AbstractElement< ELEMENT_DIM, SPACE_DIM >::IsDeleted | ( | ) | const |
Get whether the element is marked as deleted.
Definition at line 135 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mIsDeleted.
Referenced by AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMesh(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextCableElement(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextElement(), Cylindrical2dMesh::ReconstructCylindricalMesh(), and Cylindrical2dMesh::ReMesh().
|
pure virtual |
Mark the element as having been removed from the mesh. Also notify nodes in the element that it has been removed.
Implemented in MutableElement< 1, SPACE_DIM >, MutableElement< ELEMENT_DIM, SPACE_DIM >, MutableElement< DIM, DIM >, BoundaryElement< ELEMENT_DIM, SPACE_DIM >, and Element< ELEMENT_DIM, SPACE_DIM >.
|
pure virtual |
Inform all nodes forming this element that they are in this element.
Implemented in MutableElement< 1, SPACE_DIM >, MutableElement< ELEMENT_DIM, SPACE_DIM >, MutableElement< DIM, DIM >, BoundaryElement< ELEMENT_DIM, SPACE_DIM >, and Element< ELEMENT_DIM, SPACE_DIM >.
void AbstractElement< ELEMENT_DIM, SPACE_DIM >::ReplaceNode | ( | Node< SPACE_DIM > * | pOldNode, |
Node< SPACE_DIM > * | pNewNode | ||
) |
Replace one of the nodes in this element with another.
pOldNode | pointer to the current node |
pNewNode | pointer to the replacement node |
Definition at line 74 of file AbstractElement.cpp.
References EXCEPTION, AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes, and AbstractElement< ELEMENT_DIM, SPACE_DIM >::UpdateNode().
Referenced by MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT2Swap(), Cylindrical2dMesh::ReconstructCylindricalMesh(), and MutableMesh< ELEMENT_DIM, SPACE_DIM >::SplitEdge().
std::vector< double > & AbstractElement< ELEMENT_DIM, SPACE_DIM >::rGetElementAttributes | ( | ) |
Definition at line 211 of file AbstractElement.cpp.
References EXCEPTION, and AbstractElement< ELEMENT_DIM, SPACE_DIM >::mpElementAttributes.
void AbstractElement< ELEMENT_DIM, SPACE_DIM >::SetAttribute | ( | double | attribute | ) |
Set an attribute (a value associated with the element)
attribute | the value of an attribute |
Definition at line 165 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::ConstructElementAttributes(), and AbstractElement< ELEMENT_DIM, SPACE_DIM >::mpElementAttributes.
Referenced by MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), Toroidal2dVertexMesh::ConstructFromMeshReader(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), PottsMesh< DIM >::ConstructFromMeshReader(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringElementIndices().
void AbstractElement< ELEMENT_DIM, SPACE_DIM >::SetIndex | ( | unsigned | index | ) |
Set the index of this element in the mesh.
index | the new index |
Definition at line 147 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mIndex.
Referenced by Toroidal2dVertexMesh::GetMeshForVtk(), and Cylindrical2dVertexMesh::GetMeshForVtk().
void AbstractElement< ELEMENT_DIM, SPACE_DIM >::SetOwnership | ( | bool | ownership | ) |
Set whether the current process owns this element.
ownership | whether the current process now owns this element |
Definition at line 159 of file AbstractElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mOwnership.
Referenced by AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SetElementOwnerships().
|
pure virtual |
Update node at the given index.
rIndex | is an local index to which node to change |
pNode | is a pointer to the replacement node |
Implemented in MutableElement< 1, SPACE_DIM >, MutableElement< ELEMENT_DIM, SPACE_DIM >, MutableElement< DIM, DIM >, BoundaryElement< ELEMENT_DIM, SPACE_DIM >, and Element< ELEMENT_DIM, SPACE_DIM >.
Referenced by AbstractElement< ELEMENT_DIM, SPACE_DIM >::ReplaceNode().
|
protected |
The index of this element within the mesh
Definition at line 63 of file AbstractElement.hpp.
Referenced by PottsElement< DIM >::AddNode(), MutableElement< ELEMENT_DIM, SPACE_DIM >::AddNode(), MutableElement< 1, SPACE_DIM >::AddNode(), AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::CalculateJacobian(), MutableElement< ELEMENT_DIM, SPACE_DIM >::DeleteNode(), MutableElement< 1, SPACE_DIM >::DeleteNode(), Element< ELEMENT_DIM, SPACE_DIM >::Element(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetIndex(), Element< ELEMENT_DIM, SPACE_DIM >::MarkAsDeleted(), BoundaryElement< ELEMENT_DIM, SPACE_DIM >::MarkAsDeleted(), MutableElement< ELEMENT_DIM, SPACE_DIM >::MarkAsDeleted(), MutableElement< 1, SPACE_DIM >::MarkAsDeleted(), Element< ELEMENT_DIM, SPACE_DIM >::RegisterWithNodes(), BoundaryElement< ELEMENT_DIM, SPACE_DIM >::RegisterWithNodes(), MutableElement< ELEMENT_DIM, SPACE_DIM >::RegisterWithNodes(), MutableElement< 1, SPACE_DIM >::RegisterWithNodes(), BoundaryElement< ELEMENT_DIM, SPACE_DIM >::ResetIndex(), Element< ELEMENT_DIM, SPACE_DIM >::ResetIndex(), MutableElement< ELEMENT_DIM, SPACE_DIM >::ResetIndex(), MutableElement< 1, SPACE_DIM >::ResetIndex(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::SetIndex(), Element< ELEMENT_DIM, SPACE_DIM >::UpdateNode(), BoundaryElement< ELEMENT_DIM, SPACE_DIM >::UpdateNode(), MutableElement< ELEMENT_DIM, SPACE_DIM >::UpdateNode(), and MutableElement< 1, SPACE_DIM >::UpdateNode().
|
protected |
Whether this element has been deleted, and hence whether its location in the mesh can be re-used.
Definition at line 69 of file AbstractElement.hpp.
Referenced by AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::GetVolume(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::IsDeleted(), Element< ELEMENT_DIM, SPACE_DIM >::MarkAsDeleted(), BoundaryElement< ELEMENT_DIM, SPACE_DIM >::MarkAsDeleted(), MutableElement< ELEMENT_DIM, SPACE_DIM >::MarkAsDeleted(), and MutableElement< 1, SPACE_DIM >::MarkAsDeleted().
|
protected |
The nodes forming this element.
Definition at line 60 of file AbstractElement.hpp.
Referenced by AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::AbstractTetrahedralElement(), AbstractTetrahedralElement< 0, SPACE_DIM >::AbstractTetrahedralElement(), PottsElement< DIM >::AddNode(), MutableElement< ELEMENT_DIM, SPACE_DIM >::AddNode(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::AddNode(), MutableElement< 1, SPACE_DIM >::AddNode(), BoundaryElement< ELEMENT_DIM, SPACE_DIM >::BoundaryElement(), AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::CalculateCentroid(), AbstractTetrahedralElement< 0, SPACE_DIM >::CalculateCentroid(), MutableElement< ELEMENT_DIM, SPACE_DIM >::DeleteNode(), MutableElement< 1, SPACE_DIM >::DeleteNode(), PottsElement< DIM >::GetAspectRatio(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNode(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeGlobalIndex(), MutableElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocalIndex(), MutableElement< 1, SPACE_DIM >::GetNodeLocalIndex(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocation(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), MutableElement< ELEMENT_DIM, SPACE_DIM >::IsElementOnBoundary(), MutableElement< 1, SPACE_DIM >::IsElementOnBoundary(), Element< ELEMENT_DIM, SPACE_DIM >::MarkAsDeleted(), BoundaryElement< ELEMENT_DIM, SPACE_DIM >::MarkAsDeleted(), MutableElement< ELEMENT_DIM, SPACE_DIM >::MarkAsDeleted(), MutableElement< 1, SPACE_DIM >::MarkAsDeleted(), MutableElement< 1, SPACE_DIM >::MutableElement(), Element< ELEMENT_DIM, SPACE_DIM >::RegisterWithNodes(), BoundaryElement< ELEMENT_DIM, SPACE_DIM >::RegisterWithNodes(), MutableElement< ELEMENT_DIM, SPACE_DIM >::RegisterWithNodes(), MutableElement< 1, SPACE_DIM >::RegisterWithNodes(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::ReplaceNode(), BoundaryElement< ELEMENT_DIM, SPACE_DIM >::ResetIndex(), Element< ELEMENT_DIM, SPACE_DIM >::ResetIndex(), MutableElement< ELEMENT_DIM, SPACE_DIM >::ResetIndex(), MutableElement< 1, SPACE_DIM >::ResetIndex(), Element< ELEMENT_DIM, SPACE_DIM >::UpdateNode(), BoundaryElement< ELEMENT_DIM, SPACE_DIM >::UpdateNode(), MutableElement< ELEMENT_DIM, SPACE_DIM >::UpdateNode(), MutableElement< 1, SPACE_DIM >::UpdateNode(), and VertexElement< ELEMENT_DIM, SPACE_DIM >::VertexElement().
|
protected |
Whether the current process owns this element.
Definition at line 72 of file AbstractElement.hpp.
Referenced by AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetOwnership(), and AbstractElement< ELEMENT_DIM, SPACE_DIM >::SetOwnership().
|
protected |
A pointer to an ElementAttributes object associated with this element.
Definition at line 75 of file AbstractElement.hpp.
Referenced by AbstractElement< ELEMENT_DIM, SPACE_DIM >::AddElementAttribute(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::ConstructElementAttributes(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetAttribute(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumElementAttributes(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::rGetElementAttributes(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::SetAttribute(), and AbstractElement< ELEMENT_DIM, SPACE_DIM >::~AbstractElement().