2021-11-19 Mixed methods

Last time

  • Community presentations

  • Petrov-Galerkin stabilization

  • Mass lumping for time dependent problems

  • Examples of finite element interfaces

Today

  • Community presentations

  • More finite element interfaces: Deal.II and MOOSE

  • Vector problems and mixed finite elements

Finite element interfaces: Deal.II

\[\begin{gather*} v^T F(u) \sim \int_\Omega v \cdot \color{olive}{f_0(u, \nabla u)} + \nabla v \!:\! \color{olive}{f_1(u, \nabla u)} \quad v^T J w \sim \int_\Omega \begin{bmatrix} v \\ \nabla v \end{bmatrix}^T \color{teal}{\begin{bmatrix} f_{0,0} & f_{0,1} \\ f_{1,0} & f_{1,1} \end{bmatrix}} \begin{bmatrix} w \\ \nabla w \end{bmatrix} \\ J w = \sum_e \mathcal E_e^T \underbrace{\begin{bmatrix} B_I \\ B_{\nabla} \end{bmatrix}^T \begin{bmatrix} I & \\ & \left( \frac{\partial X}{\partial x}\right)^T \end{bmatrix}}_{\texttt{fe\_values}} W_q \color{teal}{\begin{bmatrix} f_{0,0} & f_{0,1} \\ f_{1,0} & f_{1,1} \end{bmatrix}} \underbrace{\begin{bmatrix} I & \\ & \left( \frac{\partial X}{\partial x}\right) \end{bmatrix} \begin{bmatrix} B_I \\ B_{\nabla} \end{bmatrix}}_{\texttt{fe\_values}} \mathcal E_e w_L \end{gather*}\]
for e in elems:
    fe_values.reinit()
    for q in q_points:
        for i in test_functions:
            for j in trial_functions
                K_e[i,j] += ...
            f_e[i] += ...
    for f in e.faces:
        if f.at_boundary():
            fe_face_values.reinit()
            for q in q_points:
                ...

Finite element interfaces: MOOSE

Materials

  • Can be written without knowledge of finite elements

  • Registration allows libraries of materials (some in MOOSE, others packaged separatle)

  • Example: crystal plasticity

  • Code is C++, so can do dirty things

    • table lookups, proprietary code

    • implicit materials (Newton solve at each quadrature point)

Composition in configuration files

  • Add fields and coupling

  • Select materials from libraries

  • Multiphysics composition

  • Multiscale coupling

Graphical interface: Peacock

Periodic table of finite elements

Exactly satisfies discrete identities like

\[ \nabla\cdot\nabla\times u = 0\]
\[ \nabla\times\nabla u = 0\]
  • Generalized concept: Finite Element Exterior Calculus (FEEC)

  • Improved stability or numerical properties

  • Higher order of accuracy for quantity of interest despite non-smooth problem

Problems with constraints

Stokes equation: (slow) incompressible flow

(47)\[\begin{align} -\nabla\cdot(\eta \nabla^s \mathbf u - pI) &= 0 \\ \nabla\cdot \mathbf u &= 0 \end{align}\]

where \(\nabla^s \mathbf u\) is the symmetric part of the \(3\times 3\) gradient \(\nabla \mathbf u\).

Weak form: find \((\mathbf u, p)\) such that

\[ \int \nabla^s \mathbf v \!:\! \eta \!:\! \nabla^s \mathbf u - p \nabla\cdot \mathbf v - q \nabla\cdot \mathbf u = 0, \quad \forall (\mathbf v, q)\]