Class xlifepp::LagrangeStdTetrahedronPk#

class LagrangeStdTetrahedronPk : public xlifepp::LagrangeTetrahedron#

Public Functions

LagrangeStdTetrahedronPk(const Interpolation *interp_p)#

constructor by interpolation

~LagrangeStdTetrahedronPk()#

destructor

virtual void computeShapeValues(std::vector<real_t>::const_iterator it_pt, ShapeValues &shv, const bool withDeriv = true, const bool with2Deriv = false) const#

shape functions

computeShapeValues defines Lagrange Pk Reference Element shape functions general method using matrix approach: the nth basis function is represented as An0 An1*y An2*y^2 + …+Ank*y^k + … + AnNx^k where An.

is the nth row of a matrix stored in RefElement class as shapeFunCoeffs this matrix has to be computed before the monomes function returns values or derivatives of monoms at a given point

inline virtual const splitvec_t &getO1splitting() const#

returns reference to splitting scheme computed by splitO1

void initShapeFunCoeffs()#

compute shape functions coefficients in basis (1,x,y,x2,xy,y2,…)

init shape functions coefficients in basis monoms by solving linear systems n=nbdofs=(k+1)*(k+2)*(k+3)/6

void monomes(real_t, real_t, real_t, std::vector<real_t>::iterator, number_t = 0) const#

evaluate monomes basis at a point (x,y)

compute value or derivatives of monomes (1, x, y, z, x2, y2, z2, xy, xz, yz …) at a point (x,y,z) monomes ordering is given by nested loops i=1,n ; j=1,n-i; k=1,n-i-j der = 0 : values der = 1 : dx values der = 2 : dy values der = 3 : dz values

Public Members

Matrix<real_t> shapeFunCoeffs#

matrix representing shape functions coefficients in standard polynomials basis