Name

gf_mesh_fem_set — General function for modifying mesh_fem objects.

Calling Sequence

gf_mesh_fem_set(MF, 'fem', fem fem [, ivec CVIDX])
gf_mesh_fem_set(MF, 'classical fem', fem fem, int K [, ivec CVIDX])
gf_mesh_fem_set(MF, 'classical discontinuous fem', fem fem, int K [, ivec CVIDX])
gf_mesh_fem_set(MF, 'qdim', int Qdim)
gf_mesh_fem_set(MF, 'reduction', int s)
gf_mesh_fem_set(MF, 'reduction matrices', spmat R, spmat E)
gf_mesh_fem_set(MF, 'dof partition', ivec DOFP)
gf_mesh_fem_set(MF, 'set partial', ivec DOFs[, ivec RCVs])
    

Description

  • gf_mesh_fem_set(MF,'fem',Fem f[, vec 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(MF,'classical fem',int k[, vec CVids]) Assign a classical (Lagrange polynomial) fem of order k to the MeshFem. Uses FEM_PK for simplexes, FEM_QK for parallelepipeds etc.

  • gf_mesh_fem_set(MF,'classical discontinuous fem',int K, [int IM_DEGREE [,vec CVIDX]]) Assigns a classical (Lagrange polynomial) discontinuous fem or order K. Similar to gf_mesh_fem_set(MF,'classical fem') except that FEM_PK_DISCONTINUOUS is used.

  • gf_mesh_fem_set(MF,'qdim',int Q) Change the Q dimension of the field that is interpolated by the MeshFem. Q = 1 means that the MeshFem describes a scalar field, Q = N means that the MeshFem describes a vector field of dimension N.

  • gf_mesh_fem_set(MF,'reduction matrices',mat R,mat E) Set the reduction and extension matrices and valid their use.

  • gf_mesh_fem_set(MF,'reduction',int s) Set or unset the use of the reduction/extension matrices.

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

  • gf_mesh_fem_set(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`.

Examples

Building a discontinuous mesh_fem mfdu to compute the gradient DU of a field U defined on a mesh_fem mf:

 
mfdu = gf_mesh_fem(m);
// use polynomials of degree 2, and no integration method
gf_mesh_fem_set(mfdu,'classical discontinuous fem',2); 
DU = gf_compute(mf,U,'gradient',mfdu);
 

See Also

gf_mesh_fem_get, gf_mesh_fem, gf_fem

Authors

Y. Collette