Class xlifepp::NedelecEdgeFirstTetrahedronPk#
-
class NedelecEdgeFirstTetrahedronPk : public xlifepp::NedelecEdgeTetrahedron#
-
Nedelec edge first family of any order k on tetrahedron t (NE1k) space Vk : P^3_(k-1) + Sk with Sk={p in Phk^3, x.p=0}, Phk homogeneous polynomials of degree k, k(k+2)(k+3)/2 dofs edge dofs : v-> int_e v.t q, q in P_(k-1)[e] k dofs by edge e face dofs (k>1) : v-> int_f v.q, q in {P_(k-2)[f]^3, q.n=0} k(k-1) dofs by face tetrahedron dofs (k>2): v-> int_t v.q, q in P_(k-3)[t]^3 k(k-1)(k-2)/2 dofs.
Public Functions
-
NedelecEdgeFirstTetrahedronPk(const Interpolation *int_p)#
-
Nedelec edge first family of order k on tetrahedron (NE1k)
-
virtual void computeShapeFunctions()#
-
compute shape functions as polynomials
compute shape functions as polynomials using general algorithm
-
virtual void computeShapeValues(std::vector<real_t>::const_iterator it_pt, ShapeValues &shv, const bool der1 = true, const bool der2 = false) const#
-
compute shape values at a point
-
virtual Value evalFaceDof(const FeDof &dof, const GeomElement &selt, const Function &f, const Function &gradf, const Function &grad2f) const#
-
specific eval face dof function
-
virtual void interpolationData()#
-
defines reference element interpolation data
interp defines Reference Element interpolation data
-
void pointCoordinates()#
-
builds virtual coordinates of moment dofs
-
virtual void rotateDofs(const std::vector<number_t>&, ShapeValues &shv, bool der1 = false, bool der2 = false) const#
-
rotation of face dofs to ensure matching of dofs on shared face
-
virtual number_t sideDofsMap(const number_t &n, const number_t &i, const number_t &j, const number_t &k = 0) const#
-
face dofs mapping
-
virtual void sideNumbering()#
-
local numbering on faces (side)
-
virtual number_t sideofsideDofsMap(const number_t &n, const number_t &i, const number_t &j) const#
-
edge dof mapping
-
void sideOfSideNumbering()#
-
local numbering on edges (side of side)
-
NedelecEdgeFirstTetrahedronPk(const Interpolation *int_p)#