Chaste  Release::3.4
BoundaryElement< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <BoundaryElement.hpp>

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

Public Member Functions

 BoundaryElement (unsigned index, const std::vector< Node< SPACE_DIM > * > &rNodes)
 
 BoundaryElement (unsigned index, Node< SPACE_DIM > *pNode)
 
void RegisterWithNodes ()
 
void ResetIndex (unsigned index)
 
void MarkAsDeleted ()
 
void UpdateNode (const unsigned &rIndex, Node< SPACE_DIM > *pNode)
 
- 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 ()
 

Protected Member Functions

 BoundaryElement ()
 
- 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 ()
 

Additional Inherited Members

- 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
 

Detailed Description

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

Concrete boundary element class which inherits from AbstractTetrahedralElement.

A 'face' in Chaste is shorthand for BoundaryElement<2,3> i.e. a 2D boundary surface element on the edge of a 3D mesh.

Definition at line 52 of file BoundaryElement.hpp.

Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
BoundaryElement< ELEMENT_DIM, SPACE_DIM >::BoundaryElement ( )
protected

(Protected) constructor that does take in nodes. Only available to subclasses. Calling code should use one of the other constructors.

Definition at line 46 of file BoundaryElement.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
BoundaryElement< ELEMENT_DIM, SPACE_DIM >::BoundaryElement ( unsigned  index,
const std::vector< Node< SPACE_DIM > * > &  rNodes 
)

Constructor which takes in a vector of nodes.

Parameters
indexthe index of the element in the mesh
rNodesthe nodes owned by the element

Definition at line 53 of file BoundaryElement.cpp.

References BoundaryElement< ELEMENT_DIM, SPACE_DIM >::RegisterWithNodes().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
BoundaryElement< ELEMENT_DIM, SPACE_DIM >::BoundaryElement ( unsigned  index,
Node< SPACE_DIM > *  pNode 
)

Create a new boundary element from a Node.

The element has ELEMENT_DIM=0 and SPACE_DIM identical to that of the node from which it is constructed.

Parameters
indexthe index of the element in the mesh
pNodea pointer to the node

Definition at line 60 of file BoundaryElement.cpp.

References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes, and BoundaryElement< ELEMENT_DIM, SPACE_DIM >::RegisterWithNodes().

Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void BoundaryElement< ELEMENT_DIM, SPACE_DIM >::MarkAsDeleted ( )
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 91 of file BoundaryElement.cpp.

Referenced by Cylindrical2dMesh::ReconstructCylindricalMesh().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void BoundaryElement< ELEMENT_DIM, SPACE_DIM >::RegisterWithNodes ( )
virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void BoundaryElement< ELEMENT_DIM, SPACE_DIM >::ResetIndex ( unsigned  index)

Reset the index of this boundary element in the mesh.

Parameters
indexthe new index of the boundary element

Definition at line 80 of file BoundaryElement.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void BoundaryElement< ELEMENT_DIM, SPACE_DIM >::UpdateNode ( const unsigned rIndex,
Node< SPACE_DIM > *  pNode 
)
virtual

Update node at the given index.

Parameters
rIndexis an local index to which node to change
pNodeis a pointer to the replacement node

Implements AbstractElement< ELEMENT_DIM, SPACE_DIM >.

Definition at line 103 of file BoundaryElement.cpp.

References Node< SPACE_DIM >::AddBoundaryElement().


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