Defines a three-dimensional 4-node tetrahedral finite element using P1 interpolation. More...

#include <Tetra4.h>

Inheritance diagram for Tetra4:
FEShape

Public Member Functions

 Tetra4 ()
 Default Constructor.
 
 Tetra4 (const Element *el)
 Constructor when data of Element el are given.
 
 ~Tetra4 ()
 Destructor.
 
void set (const Element *el)
 Choose element by giving its pointer.
 
real_t Sh (size_t i, Point< real_t > s) const
 Calculate shape function of node i at a given point s.
 
real_t getVolume () const
 Return volume of element.
 
Point< real_t > getRefCoord (const Point< real_t > &x) const
 Return reference coordinates of a point x in element.
 
bool isIn (const Point< real_t > &x)
 Check whether point x is in current tetrahedron or not.
 
real_t getInterpolate (const Point< real_t > &x, const LocalVect< real_t, 4 > &v)
 Return interpolated value at point of coordinate x
 
Point< real_t > EdgeSh (size_t k, Point< real_t > s)
 Return edge shape function.
 
Point< real_t > CurlEdgeSh (size_t k)
 Return curl of edge shape function.
 
real_t getMaxEdgeLength () const
 Return maximal edge length of tetrahedron.
 
real_t getMinEdgeLength () const
 Return minimal edge length of tetrahedron.
 
std::vector< Point< real_t > > DSh () const
 Calculate partial derivatives of shape functions at element nodes.
 
- Public Member Functions inherited from FEShape
 FEShape ()
 Default Constructor.
 
 FEShape (const Element *el)
 Constructor for an element.
 
 FEShape (const Side *sd)
 Constructor for a side.
 
virtual ~FEShape ()
 Destructor.
 
real_t Sh (size_t i) const
 Return shape function of node i at given point.
 
real_t Sh (size_t i, Point< real_t > s) const
 Calculate shape function of node i at a given point s.
 
real_t getDet () const
 Return determinant of jacobian.
 
Point< real_t > getCenter () const
 Return coordinates of center of element.
 
Point< real_t > getLocalPoint () const
 Localize a point in the element.
 
Point< real_t > getLocalPoint (const Point< real_t > &s) const
 Localize a point in the element.
 

Detailed Description

Defines a three-dimensional 4-node tetrahedral finite element using P1 interpolation.

The reference element is the right tetrahedron with four unit edges interpolation.

Author
Rachid Touzani

Member Function Documentation

◆ CurlEdgeSh()

Point< real_t > CurlEdgeSh ( size_t  k)

Return curl of edge shape function.

Parameters
[in]kLocal edge number for which the curl of the edge shape function is computed
Remarks
Element edges are ordered as follows: Edge k has end vertices k and k+1

◆ DSh()

std::vector< Point< real_t > > DSh ( ) const

Calculate partial derivatives of shape functions at element nodes.

Returns
Vector of partial derivatives of shape functions e.g. dsh[i-1].x, dsh[i-1].y, are partial derivatives of the i-th shape function

◆ EdgeSh()

Point< real_t > EdgeSh ( size_t  k,
Point< real_t >  s 
)

Return edge shape function.

Parameters
[in]kLocal edge number for which the edge shape function is computed
[in]sLocal coordinates in element
Remarks
Element edges are ordered as follows: Edge k has end vertices k and k+1

◆ Sh()

real_t Sh ( size_t  i,
Point< real_t >  s 
) const

Calculate shape function of node i at a given point s.

s is a point in the reference tetrahedron.