gf_fem

This object represents a finite element method on a reference element.

# Calling Sequence

    F = gf_fem('interpolated_fem', mesh_fem mf, mesh_im mim, [ivec blocked_dof])

    F = gf_fem(string fem_name)

## Description

General constructor for fem objects.

This object represents a finite element method on a reference element.

## Command list

- `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.

## See Also

- getfem types

## Authors

Y. Collette