Defines a 6-Node straight triangular finite element using P2 interpolation. More...

#include <Triang6S.h>

Inheritance diagram for Triang6S:
triangle FEShape

Public Member Functions

 Triang6S ()
 Default Constructor.
 
 Triang6S (const Element *el)
 Constructor for an element.
 
 ~Triang6S ()
 Destructor.
 
void Sh (real_t s, real_t t, real_t *sh) const
 Calculate shape functions.
 
Point< real_t > getCenter () const
 Return coordinates of center of element.
 
real_t getMaxEdgeLength () const
 Return maximal edge length of triangle.
 
real_t getMinEdgeLength () const
 Return minimal edge length of triangle.
 
void setLocal (real_t s, real_t t)
 Initialize local point coordinates in element.
 
void atMidEdges (std::vector< Point< real_t > > &dsh, std::vector< real_t > &w)
 Compute partial derivatives of shape functions at mid edges of triangles.
 
std::vector< Point< real_t > > DSh () const
 Return partial derivatives of shape functions of element nodes.
 
- Public Member Functions inherited from triangle
 triangle ()
 Default Constructor.
 
 triangle (const Element *el)
 Constructor for an element.
 
 triangle (const Side *sd)
 Constructor for a side.
 
virtual ~triangle ()
 Destructor.
 
real_t getArea ()
 Return element area.
 
Point< real_t > getCenter () const
 Return coordinates of center of element.
 
Point< real_t > getCircumcenter () const
 Return coordinates of circumcenter of element.
 
real_t getCircumRadius () const
 Return radius of circumscribed circle of triangle.
 
real_t getInRadius () const
 Return radius of inscribed circle of triangle.
 
Point< real_t > getRefCoord (const Point< real_t > &x) const
 Return reference coordinates of a point x in element.
 
real_t getMaxEdgeLength () const
 Return maximal edge length of triangle.
 
real_t getMinEdgeLength () const
 Return minimal edge length of triangle.
 
bool isIn (const Point< real_t > &x) const
 Check whether point x is in current triangle or not.
 
bool isStrictlyIn (const Point< real_t > &x) const
 Check whether point x is strictly in current triangle (not on the boundary) or not.
 
- 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 6-Node straight triangular finite element using P2 interpolation.

The reference element is the rectangle triangle with two unit edges.

Author
Rachid Touzani

Constructor & Destructor Documentation

◆ Triang6S()

Triang6S ( const Element el)

Constructor for an element.

The constructed triangle is an element in a 2-D mesh.

Parameters
[in]elPointer to Element instance

Member Function Documentation

◆ atMidEdges()

void atMidEdges ( std::vector< Point< real_t > > &  dsh,
std::vector< real_t > &  w 
)

Compute partial derivatives of shape functions at mid edges of triangles.

This member function can be called for integrations using partial derivatives of shape functions and approximated by midedge integration formula

Parameters
[out]dshVector containing partial derivatives of shape functions
[out]wVector containing weights for the integration formula

◆ DSh()

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

Return partial derivatives of shape functions of element nodes.

Returns
LocalVect instance of partial derivatives of shape functions e.g. dsh(i).x, dsh(i).y, are partial derivatives of the i-th shape function.
Note
The local point at which the derivatives are computed must be chosen before by using the member function setLocal

◆ setLocal()

void setLocal ( real_t  s,
real_t  t 
)

Initialize local point coordinates in element.

Parameters
[in]sLocal first coordinate of the point where the gradient of the shape functions are evaluated
[in]tLocal second coordinate of the point where the gradient of the shape functions are evaluated

◆ Sh()

void Sh ( real_t  s,
real_t  t,
real_t *  sh 
) const

Calculate shape functions.

Parameters
[in]sLocal first coordinate of the point where the gradient of the shape functions are evaluated
[in]tLocal second coordinate of the point where the gradient of the shape functions are evaluated
[out]shArray of of shape functions at (s,t)