Classes, needed to define a problem.
More...

 Differential operators 
 Predefined standard differential operators to be used as building blocks.


 Variables 
 Classes to define groups of variables.


 Functionals 
 Classes for defining PDE problems in terms of variational functionals or weak formulations.


 Finite Elements 
 Classes to define finite element spaces and functions on them.


Classes, needed to define a problem.
This group of classes helps to define minimization problems or operator equations in finite element spaces. for this purpose one has to define a variational functional, or an operator in weak form, which maps certain variables to certain residual spaces (often dual spaces). Often one has to deal with systems of equations.
In order to set up a PDE problem, the following steps are usually required:
 Obtain a grid and let a GridManager handle subsequent mesh refinements and prolongation.
 Define suitable finite element spaces required for the discretization of the problem (see Finite Elements).
 Define the variables ocurring in the problem. For equations (either scalar or vectorial), this will usually be only one. For systems of equations, there will be several variables (see Variables).
 Define the variational functional (or the operator) and its derivatives (see Functionals and the VariationalFunctional concept).
 Instantiate an assembler that can perform assembly of right hand sides and stiffness matrices (see Assembly).
The following tasks are supported by the following classes
 Standard FEM Spaces: DiscontinuousLagrangeMapper, ContinuousLagrangeMapper, NedelecMapper
 Definition of Spaces: FEFunctionSpace
 Definition of elementary properties of varibles: VariableDescription
 Grouping several variables and spaces together into a whole: VariableSetDescription via boost::fusion::vector
 Representation of such a group: VariableSet
 Representation of a single component: FunctionSpaceElement
 Definition of a functional/equation: VariationalFunctional