Summary

J. Emmanuel JohnsonTakaya Uchida

In this tutorial, I go step-by-step through the original 12 Steps to Navier-Stokes that was created by Lorena Barber. However, I use the API from this library which uses many other libraries as the backbone, e.g. FiniteDiffX, Diffrax, jaxdf, and kernex.

1D Problems

Linear Convection

∂u∂t+c∂u∂x=0\frac{\partial u}{\partial t} + c \frac{\partial u}{\partial x} = 0

Diffusion

∂u∂t=ν∂2u∂x2\frac{\partial u}{\partial t} = \nu \frac{\partial^2 u}{\partial x^2}

Advection Diffusion

∂u∂t+u∂u∂x=ν∂2u∂x2\begin{aligned} \frac{\partial u}{\partial t} + u\frac{\partial u}{\partial x} &= \nu\frac{\partial^2 u}{\partial x^2} \end{aligned}

2D Problems

Linear Convection

∂u∂t+c∂u∂x+c∂u∂y=0\frac{\partial u}{\partial t} + c \frac{\partial u}{\partial x} + c\frac{\partial u}{\partial y} = 0

Nonlinear Convection

∂u∂t+u∂u∂x+v∂u∂y=0∂v∂t+u∂v∂x+v∂v∂y=0\begin{aligned} \frac{\partial u}{\partial t} + u \frac{\partial u}{\partial x} + v\frac{\partial u}{\partial y} &= 0 \\ \frac{\partial v}{\partial t} + u \frac{\partial v}{\partial x} + v\frac{\partial v}{\partial y} &= 0 \end{aligned}

Diffusion

∂u∂t=ν∂2u∂x2+ν∂2u∂y2\begin{aligned} \frac{\partial u}{\partial t} &= \nu\frac{\partial^2 u}{\partial x^2} + \nu\frac{\partial^2 u}{\partial y^2} \end{aligned}

Burgers Equation

∂u∂t+u∂u∂x+v∂u∂y=ν(∂2u∂x2+∂2u∂y2)∂v∂t+u∂v∂x+v∂v∂y=ν(∂2v∂x2+∂2v∂y2)\begin{aligned} \frac{\partial u}{\partial t} &+ u\frac{\partial u}{\partial x} + v\frac{\partial u}{\partial y} = \nu\left(\frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2}\right) \\ \frac{\partial v}{\partial t} &+ u\frac{\partial v}{\partial x} + v\frac{\partial v}{\partial y} = \nu\left(\frac{\partial^2 v}{\partial x^2} + \frac{\partial^2 v}{\partial y^2} \right) \end{aligned}

Elliptical Equations

Laplace's Equation

∂2p∂x2+∂2p∂y2=0\begin{aligned} \frac{\partial^2 p}{\partial x^2} + \frac{\partial^2 p}{\partial y^2} = 0 \end{aligned}

Poisson's Equation

∂2u∂x2+∂2u∂y2=∇u=b\begin{aligned} \frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} = \nabla u = b \end{aligned}

Navier-Stokes (TODO)

∂u∂t+u∂u∂x+v∂u∂y=−1ρ∂p∂x+ν(∂2u∂x2+∂2u∂y2)∂v∂t+u∂v∂x+v∂v∂y=−1ρ∂p∂y+ν(∂2v∂x2+∂2v∂y2)∂2p∂x2+∂2p∂y2=−ρ(∂u∂x∂u∂x+2∂u∂y∂v∂x+∂v∂y∂v∂y)\begin{aligned} \frac{\partial u}{\partial t} &+ u\frac{\partial u}{\partial x} + v\frac{\partial u}{\partial y} = - \frac{1}{\rho}\frac{\partial p}{\partial x} + \nu\left(\frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2}\right) \\ \frac{\partial v}{\partial t} &+ u\frac{\partial v}{\partial x} + v\frac{\partial v}{\partial y} = - \frac{1}{\rho}\frac{\partial p}{\partial y} + \nu\left(\frac{\partial^2 v}{\partial x^2} + \frac{\partial^2 v}{\partial y^2} \right) \\ \frac{\partial^2 p}{\partial x^2} &+ \frac{\partial^2 p}{\partial y^2} = -\rho\left( \frac{\partial u}{\partial x}\frac{\partial u}{\partial x} + 2 \frac{\partial u}{\partial y}\frac{\partial v}{\partial x} + \frac{\partial v}{\partial y}\frac{\partial v}{\partial y}\right) \end{aligned}