Class xlifepp::NedelecFirstTrianglePk#

class NedelecFirstTrianglePk : public xlifepp::NedelecTriangle#

Nedelec first family of any order k on triangle T (NT1k) space Vk: P^2_(k-1) + S_k, dim Vk = k(k+2) where S_k={p in PH_k; p.x=0}, PHk homogeneous polynomials of order k) edge dofs: v-> int_e v.t q, q in P_(k-1)[e] k dofs by edge e triangle dofs: v-> int_t v.q, q in P_(k-2)[t]^2 k(k-1) dofs only for k>1.

Public Functions

NedelecFirstTrianglePk(const Interpolation *int_p)#

Nedelec first family order k on triangle.

              *
| \           | \
2   1       3 *   * 2
|     \       |     \           dof's side numbering
 ---3---*   4 *  *7   * 1
  k=1         |    *8   \
               ---*---*---*
                  5   6
                   k=2
2
| \
2   1        edge orientation in dof's integral computation on edge
|     \
3---3---1         e1 : 1->2,  e2 : 2->3   e3 : 3->1
   ->
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 withDeriv = true, const bool with2Deriv = false) const#

compute shape values at a point

virtual void interpolationData()#

defines reference element interpolation data

interp defines Reference Element interpolation data

void pointCoordinates()#

builds virtual coordinates of moment dofs

virtual number_t sideDofsMap(const number_t &n, const number_t &i, const number_t &j, const number_t &k = 0) const#

side dofs mapping

void sideNumbering()#

local numbering on edges (side)