Tutorials, by Physics — PETSc 3.23.0 documentation

Skip to main content
`Ctrl`+`K`

# Tutorials, 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. The resulting discretizations use PETSc’s nonlinear solvers

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 everything is expressed in terms of determinants and cofactors of \(F\).

> Finite Element :

## Stokes

Guide to the Stokes Equations using Finite Elements

## Euler

Not yet developed

## Heat equation

The time-dependent 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 time-dependent 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