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 \sigma = f\]

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

\[\nabla\cdot \left( \lambda I \mathrm{Tr}(\varepsilon) + 2\mu \varepsilon \right) = f\]

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

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

where \(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 equation

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

describes 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

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