AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <AbstractTetrahedralElement.hpp>

Inherits AbstractElement< ELEMENT_DIM, SPACE_DIM >.

Inherited by BoundaryElement< ELEMENT_DIM, SPACE_DIM >, BoundaryElement< ELEM_DIM, SPACE_DIM >, and Element< ELEMENT_DIM, SPACE_DIM >.

Collaboration diagram for AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 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

Protected Member Functions

void RefreshJacobian (c_matrix< double, SPACE_DIM, ELEMENT_DIM > &rJacobian)

Detailed Description

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

This abstract class defines a tetrahedral element for use in the Finite Element Method.

Definition at line 45 of file AbstractTetrahedralElement.hpp.


Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::AbstractTetrahedralElement ( unsigned  index,
const std::vector< Node< SPACE_DIM > * > &  rNodes 
) [inline]

Constructor which takes in a vector of nodes.

Parameters:
index the index of the element in the mesh
rNodes the nodes owned by the element

Definition at line 56 of file AbstractTetrahedralElement.cpp.

References AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::CalculateJacobian(), AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::CalculateWeightedDirection(), and AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::AbstractTetrahedralElement ( unsigned  index = INDEX_IS_NOT_USED  )  [inline]

Default constructor, which doesn't fill in any nodes. The nodes must be added later.

Parameters:
index the index of the element in the mesh (defaults to INDEX_IS_NOT_USED)

Definition at line 98 of file AbstractTetrahedralElement.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
virtual AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::~AbstractTetrahedralElement (  )  [inline, virtual]

Virtual destructor, since this class has virtual methods.

Definition at line 77 of file AbstractTetrahedralElement.hpp.


Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
c_vector< double, SPACE_DIM > AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::CalculateCentroid (  )  const [inline]

Get the location of the centroid of the element.

Definition at line 191 of file AbstractTetrahedralElement.cpp.

References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::CalculateInverseJacobian ( c_matrix< double, SPACE_DIM, ELEMENT_DIM > &  rJacobian,
double rJacobianDeterminant,
c_matrix< double, ELEMENT_DIM, SPACE_DIM > &  rInverseJacobian 
) [inline]

Compute the Jacobian and the inverse Jacobian for this element.

Parameters:
rJacobian the Jacobian matrix (output)
rJacobianDeterminant the determinant of the Jacobian (output)
rInverseJacobian the inverse Jacobian matrix (output)

Definition at line 202 of file AbstractTetrahedralElement.cpp.

References AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::CalculateJacobian(), and Inverse().

Referenced by AbstractFeCableIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::AssembleOnCableElement(), AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CalculateOnElement(), Element< ELEMENT_DIM, SPACE_DIM >::CalculateQuality(), and Element< ELEMENT_DIM, SPACE_DIM >::CalculateXi().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::CalculateJacobian ( c_matrix< double, SPACE_DIM, ELEMENT_DIM > &  rJacobian,
double rJacobianDeterminant 
) [inline]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
c_vector< double, SPACE_DIM > AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::CalculateNormal (  )  [inline]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::CalculateWeightedDirection ( c_vector< double, SPACE_DIM > &  rWeightedDirection,
double rJacobianDeterminant 
) [inline]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::GetStiffnessMatrixGlobalIndices ( unsigned  problemDim,
unsigned pIndices 
) const [inline]

Place in the pIndices array, the global indices (within the stiffness matrix) of the degrees of freedom associated with this element.

Parameters:
problemDim the problem dimension e.g. 2 for Bidomain.
pIndices where to store results: an unsigned array with ELEMENT_DIM+1 entries.

Definition at line 236 of file AbstractTetrahedralElement.cpp.

References AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeGlobalIndex().

Referenced by AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::DoAssemble(), AbstractFeSurfaceIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::DoAssemble(), and AbstractFeCableIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::DoAssemble().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::GetVolume ( double  determinant  )  const [inline]

Get the volume of an element (or area in 2d, or length in 1d)

Parameters:
determinant a pre-calculated Jacobian determinant for this element.
Returns:
volume (which is simply the determinant weighted by the SPACE_DIM)

Definition at line 213 of file AbstractTetrahedralElement.cpp.

References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mIsDeleted.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractTetrahedralElement< ELEMENT_DIM, SPACE_DIM >::RefreshJacobian ( c_matrix< double, SPACE_DIM, ELEMENT_DIM > &  rJacobian  )  [inline, protected]

The documentation for this class was generated from the following files:
Generated on Thu Dec 22 13:01:27 2011 for Chaste by  doxygen 1.6.3