This object represents a finite element method on a reference element.
F = gf_fem('interpolated_fem', mesh_fem mf, mesh_im mim, [ivec blocked_dof])
F = gf_fem(string fem_name)
General constructor for fem objects.
This object represents a finite element method on a reference element.
F = gf_fem('interpolated_fem', mesh_fem mf, mesh_im mim, [ivec blocked_dof])
Build a special fem which is interpolated from another mesh_fem.
    Using this special finite element, it is possible to interpolate a given
    mesh_fem mf on another mesh, given the integration method mim that will
    be used on this mesh.
    Note that this finite element may be quite slow, and eats much
    memory.
F = gf_fem(string fem_name)
The fem_name should contain a description of the finite element
      method. Please refer to the getfem++ manual (especially the
      description of finite element and integration methods) for a complete
      reference. Here is a list of some of them:
      - FEM_PK(n,k) :
        classical Lagrange element Pk on a simplex of dimension n.
      - FEM_PK_DISCONTINUOUS(n,k[,alpha]) :
        discontinuous Lagrange element Pk on a simplex of dimension n.
      - FEM_QK(n,k) :
        classical Lagrange element Qk on quadrangles, hexahedrons etc.
      - FEM_QK_DISCONTINUOUS(n,k[,alpha]) :
        discontinuous Lagrange element Qk on quadrangles, hexahedrons etc.
      - FEM_Q2_INCOMPLETE(n) :
        incomplete Q2 elements with 8 and 20 dof (serendipity Quad 8 and
        Hexa 20 elements).
      - FEM_PK_PRISM(n,k) :
        classical Lagrange element Pk on a prism of dimension n.
      - FEM_PK_PRISM_DISCONTINUOUS(n,k[,alpha]) :
        classical discontinuous Lagrange element Pk on a prism.
      - FEM_PK_WITH_CUBIC_BUBBLE(n,k) :
        classical Lagrange element Pk on a simplex with an additional
        volumic bubble function.
      - FEM_P1_NONCONFORMING :
        non-conforming P1 method on a triangle.
      - FEM_P1_BUBBLE_FACE(n) :
        P1 method on a simplex with an additional bubble function on face 0.
      - FEM_P1_BUBBLE_FACE_LAG :
        P1 method on a simplex with an additional lagrange dof on face 0.
      - FEM_PK_HIERARCHICAL(n,k) :
        PK element with a hierarchical basis.
      - FEM_QK_HIERARCHICAL(n,k) :
        QK element with a hierarchical basis.
      - FEM_PK_PRISM_HIERARCHICAL(n,k) :
        PK element on a prism with a hierarchical basis.
      - FEM_STRUCTURED_COMPOSITE(fem f,k) :
        Composite fem f on a grid with k divisions.
      - FEM_PK_HIERARCHICAL_COMPOSITE(n,k,s) :
        Pk composite element on a grid with s subdivisions and with a
        hierarchical basis.
      - FEM_PK_FULL_HIERARCHICAL_COMPOSITE(n,k,s) :
        Pk composite element with s subdivisions and a hierarchical basis
        on both degree and subdivision.
      - FEM_PRODUCT(A,B) :
        tensorial product of two polynomial elements.
      - FEM_HERMITE(n) :
        Hermite element P3 on a simplex of dimension n = 1, 2, 3.
      - FEM_ARGYRIS :
        Argyris element P5 on the triangle.
      - FEM_HCT_TRIANGLE :
        Hsieh-Clough-Tocher element on the triangle (composite P3 element
        which is C1), should be used with IM_HCT_COMPOSITE() integration
        method.
      - FEM_QUADC1_COMPOSITE :
        Quadrilateral element, composite P3 element and C1 (16 dof).
      - FEM_REDUCED_QUADC1_COMPOSITE :
        Quadrilateral element, composite P3 element and C1 (12 dof).
      - FEM_RT0(n) :
        Raviart-Thomas element of order 0 on a simplex of dimension n.
      - FEM_NEDELEC(n) :
        Nedelec edge element of order 0 on a simplex of dimension n.
      Of course, you have to ensure that the selected fem is compatible with
      the geometric transformation: a Pk fem has no meaning on a quadrangle.
Y. Collette