Guide to PETSc Tutorial Examples, by Physics — PETSc 3.14.5 documentation

petsc-3.14.5 2021-03-03
Report Typos and Errors

# Guide to PETSc Tutorial Examples, by Physics

Below we list examples which simulate particular physics problems so that users interested in a particular set of governing equations can easily locate a relevant example. Often PETSc will have several examples looking at the same physics using different numerical tools, such as different discretizations, meshing strategy, closure model, or parameter regime.

## Poisson

The Poisson equation

\[-\Delta u = f\]

is used to model electrostatics, steady-state diffusion, and other physical processes. Many PETSc examples solve this equation.

> Finite Difference
>   2D

>     SNES example 5

>   3D

>     KSP example 45

> Finite Element
>   2D

>     SNES example 12

>   3D

>     SNES example 12

## Elastostatics

The equation for elastostatics balances body forces against stresses in the body

\[-\nabla\cdot \bm \sigma = \bm f\]

where \(\bm\sigma\) is the stress tensor. Linear, isotropic elasticity governing infinitesimal strains has the particular stress-strain relation

\[-\nabla\cdot \left( \lambda I \operatorname{trace}(\bm\varepsilon) + 2\mu \bm\varepsilon \right) = \bm f\]

where the strain tensor \(\bm \varepsilon\) is given by

\[\bm \varepsilon = \frac{1}{2} \left(\nabla \bm u + (\nabla \bm u)^T \right)\]

where \(\bm u\) is the infinitesimal displacement of the body.

Finite Element
  2D

    SNES example 17

  3D

    SNES example 17

  3D

    SNES example 56

If we allow finite strains in the body, we can express the stress-strain relation in terms of the Jacobian of the deformation gradient

\[J = \mathrm{det}(F) = \mathrm{det}\left(\nabla u\right)\]

and the right Cauchy-Green deformation tensor

\[C = F^T F\]

so that

\[\frac{\mu}{2} \left( \mathrm{Tr}(C) - 3 \right) + J p + \frac{\kappa}{2} (J - 1) = 0\]

In the example itself, everything can be expressed in terms of determinants and cofactors of \(F\).

> Finite Element
>   3D

>     SNES example 77

## Stokes

The Stokes equations

\[\begin{aligned} -\nabla \cdot \left(\mu \left(\nabla u + \nabla u^T \right)\right) + \nabla p + f &= 0 \\ \nabla\cdot u &= 0 \end{aligned}\]

describe slow flow of an incompressible fluid with velocity \(u\), pressure \(p\), and body force \(f\).

> Finite Element
>   2D

>     SNES example 62

>   3D

>     SNES example 62

>   See Guide to the Stokes Equations using Finite Elements in PETSc for more.

## Euler

## Heat equation

The heat equation

\[\frac{\partial u}{\partial t} - \Delta u = f\]

is used to model heat flow, time-dependent diffusion, and other physical processes.

> Finite Element
>   2D

>     TS example 45

>   3D

>     TS example 45

## Navier-Stokes

The incompressible Navier-Stokes equations

\[\begin{aligned} \frac{\partial u}{\partial t} + u\cdot\nabla u - \nabla \cdot \left(\mu \left(\nabla u + \nabla u^T\right)\right) + \nabla p + f &= 0 \\ \nabla\cdot u &= 0 \end{aligned}\]

are appropriate for flow of an incompressible fluid at low to moderate Reynolds number.

> Finite Element
>   2D

>     TS example 46

>   3D

>     TS example 46