Chaste
Release::2018.1
|
#include <Element.hpp>
Public Member Functions | |
Element (unsigned index, const std::vector< Node< SPACE_DIM > * > &rNodes, bool registerWithNodes=true) | |
Element (const Element &rElement, const unsigned index) | |
void | RegisterWithNodes () |
void | MarkAsDeleted () |
void | UpdateNode (const unsigned &rIndex, Node< SPACE_DIM > *pNode) |
void | ResetIndex (unsigned index) |
c_vector< double, SPACE_DIM+1 > | CalculateCircumsphere (c_matrix< double, SPACE_DIM, ELEMENT_DIM > &rJacobian, c_matrix< double, ELEMENT_DIM, SPACE_DIM > &rInverseJacobian) |
double | CalculateCircumsphereVolume () |
double | CalculateQuality () |
c_vector< double, 2 > | CalculateMinMaxEdgeLengths () |
c_vector< double, SPACE_DIM+1 > | CalculateInterpolationWeights (const ChastePoint< SPACE_DIM > &rTestPoint) |
c_vector< double, SPACE_DIM+1 > | CalculateInterpolationWeightsWithProjection (const ChastePoint< SPACE_DIM > &rTestPoint) |
c_vector< double, SPACE_DIM > | CalculateXi (const ChastePoint< SPACE_DIM > &rTestPoint) |
bool | IncludesPoint (const ChastePoint< SPACE_DIM > &rTestPoint, bool strict=false) |
Public Member Functions inherited from AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM > | |
AbstractTetrahedralElement (unsigned index, const std::vector< Node< SPACE_DIM > * > &rNodes) | |
AbstractTetrahedralElement (unsigned index=INDEX_IS_NOT_USED) | |
virtual | ~AbstractTetrahedralElement () |
c_vector< double, SPACE_DIM > | CalculateCentroid () const |
void | CalculateJacobian (c_matrix< double, SPACE_DIM, ELEMENT_DIM > &rJacobian, double &rJacobianDeterminant) |
void | CalculateWeightedDirection (c_vector< double, SPACE_DIM > &rWeightedDirection, double &rJacobianDeterminant) |
c_vector< double, SPACE_DIM > | CalculateNormal () |
void | CalculateInverseJacobian (c_matrix< double, SPACE_DIM, ELEMENT_DIM > &rJacobian, double &rJacobianDeterminant, c_matrix< double, ELEMENT_DIM, SPACE_DIM > &rInverseJacobian) |
double | GetVolume (double determinant) const |
void | GetStiffnessMatrixGlobalIndices (unsigned problemDim, unsigned *pIndices) const |
Public Member Functions inherited from AbstractElement< ELEMENT_DIM, SPACE_DIM > | |
AbstractElement (unsigned index, const std::vector< Node< SPACE_DIM > * > &rNodes) | |
AbstractElement (unsigned index=INDEX_IS_NOT_USED) | |
virtual | ~AbstractElement () |
void | ReplaceNode (Node< SPACE_DIM > *pOldNode, Node< SPACE_DIM > *pNewNode) |
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 () |
Additional Inherited Members | |
Protected Member Functions inherited from AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM > | |
void | RefreshJacobian (c_matrix< double, SPACE_DIM, ELEMENT_DIM > &rJacobian) |
Protected Member Functions inherited from AbstractElement< ELEMENT_DIM, SPACE_DIM > | |
void | ConstructElementAttributes () |
Protected Attributes inherited from AbstractElement< ELEMENT_DIM, SPACE_DIM > | |
std::vector< Node< SPACE_DIM > * > | mNodes |
unsigned | mIndex |
bool | mIsDeleted |
bool | mOwnership |
ElementAttributes< ELEMENT_DIM, SPACE_DIM > * | mpElementAttributes |
A concrete element class which inherits from AbstractTetrahedralElement.
Definition at line 53 of file Element.hpp.
Element< ELEMENT_DIM, SPACE_DIM >::Element | ( | unsigned | index, |
const std::vector< Node< SPACE_DIM > * > & | rNodes, | ||
bool | registerWithNodes = true |
||
) |
Constructor which takes in a vector of nodes.
index | the index of the element in the mesh |
rNodes | the nodes owned by the element |
registerWithNodes | whether to tell the nodes that they are contained in this element |
Definition at line 46 of file Element.cpp.
References Element< ELEMENT_DIM, SPACE_DIM >::RegisterWithNodes().
Element< ELEMENT_DIM, SPACE_DIM >::Element | ( | const Element< ELEMENT_DIM, SPACE_DIM > & | rElement, |
const unsigned | index | ||
) |
"Copy" constructor which allows a new index to be specified.
rElement | an element to copy |
index | the index of the new element |
Definition at line 56 of file Element.cpp.
c_vector< double, SPACE_DIM+1 > Element< ELEMENT_DIM, SPACE_DIM >::CalculateCircumsphere | ( | c_matrix< double, SPACE_DIM, ELEMENT_DIM > & | rJacobian, |
c_matrix< double, ELEMENT_DIM, SPACE_DIM > & | rInverseJacobian | ||
) |
Calculate the circumsphere/circumcircle of this element.
After reconstructing a cylindrical 2d mesh, the Jacobian data of the periodic elements is not valid anymore. We want to use the jacobians computed before swapping the nodes.
rJacobian | the Jacobian matrix |
rInverseJacobian | the inverse Jacobian matrix |
Definition at line 118 of file Element.cpp.
Referenced by MutableMesh< ELEMENT_DIM, SPACE_DIM >::CheckIsVoronoi().
double Element< ELEMENT_DIM, SPACE_DIM >::CalculateCircumsphereVolume | ( | ) |
c_vector< double, SPACE_DIM+1 > Element< ELEMENT_DIM, SPACE_DIM >::CalculateInterpolationWeights | ( | const ChastePoint< SPACE_DIM > & | rTestPoint | ) |
rTestPoint | reference to the point |
Definition at line 228 of file Element.cpp.
Referenced by AbstractNonlinearElasticitySolver< DIM >::AssembleOnBoundaryElementForPressureOnDeformedBc(), and AbstractBoxDomainPdeModifier< DIM >::UpdateCellData().
c_vector< double, SPACE_DIM+1 > Element< ELEMENT_DIM, SPACE_DIM >::CalculateInterpolationWeightsWithProjection | ( | const ChastePoint< SPACE_DIM > & | rTestPoint | ) |
rTestPoint | reference to the point |
Definition at line 248 of file Element.cpp.
c_vector< double, 2 > Element< ELEMENT_DIM, SPACE_DIM >::CalculateMinMaxEdgeLengths | ( | ) |
Definition at line 203 of file Element.cpp.
double Element< ELEMENT_DIM, SPACE_DIM >::CalculateQuality | ( | ) |
The quality of a triangle/tetrahedron is the ratio between the volume of the shape and the volume of its circumsphere. This is normalised by dividing through by the Platonic ratio.
Definition at line 163 of file Element.cpp.
c_vector< double, SPACE_DIM > Element< ELEMENT_DIM, SPACE_DIM >::CalculateXi | ( | const ChastePoint< SPACE_DIM > & | rTestPoint | ) |
rTestPoint | reference to the point |
Definition at line 290 of file Element.cpp.
References ChastePoint< DIM >::rGetLocation().
bool Element< ELEMENT_DIM, SPACE_DIM >::IncludesPoint | ( | const ChastePoint< SPACE_DIM > & | rTestPoint, |
bool | strict = false |
||
) |
rTestPoint | reference to the point |
strict | whether the point must not be too close to an edge/face (defaults to false) |
Definition at line 313 of file Element.cpp.
Referenced by MutableMesh< ELEMENT_DIM, SPACE_DIM >::RefineElement().
|
virtual |
Mark the element as having been removed from the mesh. Also notify nodes in the element that it has been removed.
Implements AbstractElement< ELEMENT_DIM, SPACE_DIM >.
Definition at line 74 of file Element.cpp.
Referenced by MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteBoundaryNodeAt().
|
virtual |
Inform all nodes forming this element that they are in this element.
Implements AbstractElement< ELEMENT_DIM, SPACE_DIM >.
Definition at line 65 of file Element.cpp.
Referenced by AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMesh(), and Element< ELEMENT_DIM, SPACE_DIM >::Element().
void Element< ELEMENT_DIM, SPACE_DIM >::ResetIndex | ( | unsigned | index | ) |
Reset the index of this element in the mesh.
index | the new index of the element |
Definition at line 104 of file Element.cpp.
Referenced by MutableMesh< ELEMENT_DIM, SPACE_DIM >::AddElement().
|
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 |
Update node at the given index
rIndex | is an local index to which node to change |
pNode | is a pointer to the replacement node |
Implements AbstractElement< ELEMENT_DIM, SPACE_DIM >.
Definition at line 89 of file Element.cpp.
References Node< SPACE_DIM >::AddElement().
Referenced by MutableMesh< ELEMENT_DIM, SPACE_DIM >::RefineElement().