gf_mesh_fem_set

General function for modifying mesh_fem objects.

# Calling Sequence

    gf_mesh_fem_set(mesh_fem MF, 'fem', fem f[, ivec CVids])

    gf_mesh_fem_set(mesh_fem MF, 'classical fem', int k[, ivec CVids])

    gf_mesh_fem_set(mesh_fem MF, 'classical discontinuous fem', int K[, @tscalar alpha[, ivec CVIDX]])

    gf_mesh_fem_set(mesh_fem MF, 'qdim', int Q)

    gf_mesh_fem_set(mesh_fem MF, 'reduction matrices', mat R, mat E)

    gf_mesh_fem_set(mesh_fem MF, 'reduction', int s)

    gf_mesh_fem_set(mesh_fem MF, 'reduce meshfem', mat RM)

    gf_mesh_fem_set(mesh_fem MF, 'dof partition', ivec DOFP)

    gf_mesh_fem_set(mesh_fem MF, 'set partial', ivec DOFs[, ivec RCVs])

## Description

General function for modifying mesh_fem objects.

## Command list

- `gf_mesh_fem_set(mesh_fem MF, 'fem', fem f[, ivec CVids])`

  Set the Finite Element Method. Assign a FEM `f` to all convexes whose #ids are listed in `CVids`. If `CVids` is not given, the integration is assigned to all convexes. See the help of gf_fem to obtain a list of available FEM methods.

- `gf_mesh_fem_set(mesh_fem MF, 'classical fem', int k[, ivec CVids])`

  Assign a classical (Lagrange polynomial) fem of order `k` to the mesh_fem. Uses FEM_PK for simplexes, FEM_QK for parallelepipeds etc.

- `gf_mesh_fem_set(mesh_fem MF, 'classical discontinuous fem', int K[, @tscalar alpha[, ivec CVIDX]])`

  Assigns a classical (Lagrange polynomial) discontinuous fem or order K. Similar to gf_mesh_fem_set(mesh_fem MF, 'classical fem') except that FEM_PK_DISCONTINUOUS is used. Param `alpha` the node inset, 0 \leq alpha < 1, where 0 implies usual dof nodes, greater values move the nodes toward the center of gravity, and 1 means that all degrees of freedom collapse on the center of gravity.

- `gf_mesh_fem_set(mesh_fem MF, 'qdim', int Q)`

  Change the `Q` dimension of the field that is interpolated by the mesh_fem. `Q = 1` means that the mesh_fem describes a scalar field, `Q = N` means that the mesh_fem describes a vector field of dimension N.

- `gf_mesh_fem_set(mesh_fem MF, 'reduction matrices', mat R, mat E)`

  Set the reduction and extension matrices and valid their use.

- `gf_mesh_fem_set(mesh_fem MF, 'reduction', int s)`

  Set or unset the use of the reduction/extension matrices.

- `gf_mesh_fem_set(mesh_fem MF, 'reduce meshfem', mat RM)`

  Set reduction mesh fem This function selects the degrees of freedom of the finite element method by selecting a set of independent vectors of the matrix RM. The numer of columns of RM should corresponds to the number of degrees of fredoom of the finite element method.

- `gf_mesh_fem_set(mesh_fem MF, 'dof partition', ivec DOFP)`

  Change the 'dof_partition' array. `DOFP` is a vector holding a integer value for each convex of the mesh_fem. See gf_mesh_fem_get(mesh_fem MF, 'dof partition') for a description of "dof partition".

- `gf_mesh_fem_set(mesh_fem MF, 'set partial', ivec DOFs[, ivec RCVs])`

  Can only be applied to a partial mesh_fem. Change the subset of the degrees of freedom of `mf`. If `RCVs` is given, no FEM will be put on the convexes listed in `RCVs`.

## See Also

- getfem types

## Authors

Y. Collette