Class xlifepp::LagrangeStdTetrahedronPk#

class LagrangeStdTetrahedronPk : public xlifepp::LagrangeTetrahedron#

Inheritence diagram for xlifepp::LagrangeStdTetrahedronPk:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "1" [label="xlifepp::LagrangeStdTetrahedronPk" tooltip="xlifepp::LagrangeStdTetrahedronPk" fillcolor="#BFBFBF"] "2" [label="xlifepp::LagrangeTetrahedron" tooltip="xlifepp::LagrangeTetrahedron"] "4" [label="xlifepp::RefElement" tooltip="xlifepp::RefElement"] "3" [label="xlifepp::RefTetrahedron" tooltip="xlifepp::RefTetrahedron"] "1" -> "2" [dir=forward tooltip="public-inheritance"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "3" -> "4" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for xlifepp::LagrangeStdTetrahedronPk:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "24" [label="xlifepp::Matrix< real_t >" tooltip="xlifepp::Matrix< real_t >"] "17" [label="std::list< std::vector< PolynomialT< real_t > > >" tooltip="std::list< std::vector< PolynomialT< real_t > > >"] "20" [label="std::map< xlifepp::Quadrature *, std::vector< xlifepp::ShapeValues > >" tooltip="std::map< xlifepp::Quadrature *, std::vector< xlifepp::ShapeValues > >"] "22" [label="std::map< xlifepp::Triplet< number_t >, number_t >" tooltip="std::map< xlifepp::Triplet< number_t >, number_t >"] "18" [label="std::list< T >" tooltip="std::list< T >"] "21" [label="std::map< K, T >" tooltip="std::map< K, T >"] "7" [label="std::vector< T >" tooltip="std::vector< T >"] "26" [label="std::vector< K >" tooltip="std::vector< K >"] "8" [label="std::vector< ShapeType >" tooltip="std::vector< ShapeType >"] "6" [label="std::vector< real_t >" tooltip="std::vector< real_t >"] "27" [label="std::vector< std::pair< ShapeType, std::vector< number_t > > >" tooltip="std::vector< std::pair< ShapeType, std::vector< number_t > > >"] "10" [label="std::vector< std::vector< int_t > >" tooltip="std::vector< std::vector< int_t > >"] "9" [label="std::vector< std::vector< number_t > >" tooltip="std::vector< std::vector< number_t > >"] "11" [label="std::vector< xlifepp::GeomRefElement * >" tooltip="std::vector< xlifepp::GeomRefElement * >"] "13" [label="std::vector< xlifepp::Interpolation * >" tooltip="std::vector< xlifepp::Interpolation * >"] "19" [label="std::vector< xlifepp::PolynomialsBasisT >" tooltip="std::vector< xlifepp::PolynomialsBasisT >"] "14" [label="std::vector< xlifepp::RefDof * >" tooltip="std::vector< xlifepp::RefDof * >"] "15" [label="std::vector< xlifepp::RefElement * >" tooltip="std::vector< xlifepp::RefElement * >"] "23" [label="std::vector< xlifepp::Triplet< number_t > >" tooltip="std::vector< xlifepp::Triplet< number_t > >"] "5" [label="xlifepp::GeomRefElement" tooltip="xlifepp::GeomRefElement"] "12" [label="xlifepp::Interpolation" tooltip="xlifepp::Interpolation"] "1" [label="xlifepp::LagrangeStdTetrahedronPk" tooltip="xlifepp::LagrangeStdTetrahedronPk" fillcolor="#BFBFBF"] "2" [label="xlifepp::LagrangeTetrahedron" tooltip="xlifepp::LagrangeTetrahedron"] "25" [label="xlifepp::Matrix< K >" tooltip="xlifepp::Matrix< K >"] "16" [label="xlifepp::PolynomialsBasisT< K >" tooltip="xlifepp::PolynomialsBasisT< K >"] "4" [label="xlifepp::RefElement" tooltip="xlifepp::RefElement"] "3" [label="xlifepp::RefTetrahedron" tooltip="xlifepp::RefTetrahedron"] "24" -> "6" [dir=forward tooltip="public-inheritance"] "24" -> "25" [dir=forward tooltip="template-instance"] "17" -> "18" [dir=forward tooltip="template-instance"] "20" -> "21" [dir=forward tooltip="template-instance"] "22" -> "21" [dir=forward tooltip="template-instance"] "26" -> "7" [dir=forward tooltip="template-instance"] "8" -> "7" [dir=forward tooltip="template-instance"] "6" -> "7" [dir=forward tooltip="template-instance"] "27" -> "7" [dir=forward tooltip="template-instance"] "10" -> "7" [dir=forward tooltip="template-instance"] "9" -> "7" [dir=forward tooltip="template-instance"] "11" -> "7" [dir=forward tooltip="template-instance"] "13" -> "7" [dir=forward tooltip="template-instance"] "19" -> "7" [dir=forward tooltip="template-instance"] "14" -> "7" [dir=forward tooltip="template-instance"] "15" -> "7" [dir=forward tooltip="template-instance"] "23" -> "7" [dir=forward tooltip="template-instance"] "5" -> "6" [dir=forward tooltip="usage"] "5" -> "8" [dir=forward tooltip="usage"] "5" -> "9" [dir=forward tooltip="usage"] "5" -> "10" [dir=forward tooltip="usage"] "5" -> "11" [dir=forward tooltip="usage"] "12" -> "13" [dir=forward tooltip="usage"] "1" -> "2" [dir=forward tooltip="public-inheritance"] "1" -> "24" [dir=forward tooltip="usage"] "1" -> "27" [dir=forward tooltip="usage"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "2" -> "22" [dir=forward tooltip="usage"] "2" -> "23" [dir=forward tooltip="usage"] "25" -> "26" [dir=forward tooltip="public-inheritance"] "16" -> "17" [dir=forward tooltip="public-inheritance"] "4" -> "5" [dir=forward tooltip="usage"] "4" -> "12" [dir=forward tooltip="usage"] "4" -> "14" [dir=forward tooltip="usage"] "4" -> "15" [dir=forward tooltip="usage"] "4" -> "9" [dir=forward tooltip="usage"] "4" -> "16" [dir=forward tooltip="usage"] "4" -> "19" [dir=forward tooltip="usage"] "4" -> "20" [dir=forward tooltip="usage"] "3" -> "4" [dir=forward tooltip="public-inheritance"] }

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