Class xlifepp::NedelecSecondTrianglePk#

class NedelecSecondTrianglePk : public xlifepp::NedelecTriangle#

Nedelec second family of any order k on triangle T (NT2k) space Vk: P^2_(k) dim Vk = (k+1)(k+2) edge dofs: v-> int_e v.t q, q in P_(k)[e] k+1 dofs by edge e triangle dofs: v-> int_t v.q, q in D_(k-1)[t] k^2-1 dofs only for k>1 where D_(k-1)[t] = P^2_(k-2) + PH_(k-2)*x of dimension k^2-1.

Public Functions

NedelecSecondTrianglePk(const Interpolation *int_p)#

Nedelec second family order k on triangle.

              |\
              4  3
3 2           |    \
|   \         5      2
4     1       |   10   \           dof's numbering
 -5--6-*      6  11 12   1
  k=1         |            \
               --7---8---9---
                   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)