define fespace <name> <flaglist>defines the finite element space <name>. Example:
define fespace v -order=2 -dim=3There are various classes of finite element spaces. Default are continuous, nodal-valued finite element spaces, the following define flags select
-hcurl | H(curl) finite elements (Nedelec-type, edge elements) |
-hdiv | H(div) finite elements (Raviart-Thomas, face elements) |
-l2 | non-continuous elements, element by element |
-l2surf | element by element on surface |
The following flags specify the finite element spaces
-order=<num> | Order of finite elements (1..linear) nodal and element of arbitrary order, hcurl and hdiv up to order 2 |
-hb | use hierarchical basis, (otherwise nodal) |
-dim=<num> | Number of fields (number of copies of fe), 2 for 2D elasticity |
-vec | set -dim=spacedim |
-tensor | set -dim=spacedim*spacedim |
-symtensor | set -dim=spacedim * (spacedim+1) / 2, (3 for 2D elasticity, symmetric stress tensor) |
-complex | complex valued fe-space |
A compound fe-space combines several fe-spaces to a new one. Useful, e.g., for Reissner-Mindlin plate models containing the deflection w and two rotations beta:
fespace vw -order=2 fespace vbeta -order=1 fespace v -compound -spaces=[vw,vbeta,vbeta]
The fespace maintains the degrees of freedom. On mesh refinement, the space provides the grid transfer operator (prolongation). High order fe spaces maintain a lowest-order fespace of the same type for preconditioning.