Introduction

A lot of PDE(s) can be writen in a generic form, and depends mainly on the definition of coefficients. The generic form that we use is describe by the next equation :

\[\begin{eqnarray*} d \frac{\partial u}{\partial t} + \nabla \cdot \left( -c \nabla u - \alpha u + \gamma \right) + \beta \cdot \nabla u + a u = f \quad \text{ in } \Omega \end{eqnarray*}\]

with \(u\) the unknown and \(\Omega \in \mathbb{R}^n\) the computation domain . We call this generic form by Coefficient Form PDE and the coefficients are

  • \(d\) : damping or mass coefficient

  • \(c\) : diffusion coefficient

  • \(\alpha\) : conservative flux convection coefficient

  • \(\gamma\) : conservative flux source term

  • \(\beta\) : convection coefficient

  • \(a\) : absorption or reaction coefficient

  • \(f\) : source term

Many problems are multiphysics (i.e. several unknowns) and the generic form can be extended naturally into a system of generic PDE.

Coefficients of each equation can be defined by an expression that depends of the current unknown or unknowns of other equations.

The unknown of each PDEs can be defined as a scalar function (\(u:\mathbb{R}^n \longrightarrow \mathbb{R}\)) or a vectorial function (\(u:\mathbb{R}^n \longrightarrow \mathbb{R}^n\)). We need also to respect some constraint on the coefficient shape as described in the next table.

Table 1. Shape required by the coefficients
Coefficient Scalar Unknown Vectorial Unknown

\(d\)

scalar

scalar

\(c\)

scalar or matrix

scalar or matrix

\(\alpha\)

vectorial

x

\(\gamma\)

vectorial

x

\(\beta\)

vectorial

vectorial

\(a\)

scalar

scalar

\(f\)

scalar

vectorial

1. Initial Conditions

2. Boundary Conditions

  • Dirichlet :

  • Neumann : generic version which can depend on the unknowns

  • Robin :

3. Finite Element Approximation

4. Time scheme

  • BDF

  • Theta

5. Stabilized finite element

Given a cfpdes equation named eq, SUPG and GaLS can be used as stabilisation methods. To enable them use, in the command-line or .cfg file, the option cfpdes.eq.stabilitsation=1 and define the stabilisation type cfpdes.eq.stabilitsation.type=gls #supg#unusual-gls #gls

Table 2. Stabilisation methods
type

gls

default option

supg

unusual-gls

Examples are available here