PDEControlGym

User Guide

  • Installation
  • Quick Start

Tutorials

  • 1D Hyperbolic PDEs Tutorial
  • 1D Traffic ARZ PDE Tutorial

Environments

  • Transport 1D PDE
  • Reaction-Diffusion 1D PDE
  • Glioblastoma 1D PDE (Brain Tumor)
  • Navier-Stokes 2D PDE
    • Numerical Implementation
  • Traffic ARZ 1D PDE
  • Neuron Growth Control 1D PDE

Custom Environments

  • 1D Custom Environments
  • 2D Custom Environments

Utilities

  • Pre-implemented Rewards
  • Custom Rewards
PDEControlGym
  • Navier-Stokes 2D PDE
  • View page source

Navier-Stokes 2D PDE

This documentation is for the 2D Navier-Stokes PDE Environment defined by the boundary control problem

\[\begin{split} \begin{eqnarray} & \nabla \cdot \vec{u} = 0, \, \frac{\partial \vec{u}}{\partial t} + \vec{u} \cdot \nabla \vec{u} = -\frac{1}{\rho} \nabla p + \nu \nabla^2 \vec{u}, \, x \in [0,1], y \in [0,1], t \in [0, T] \\ & \vec{u}(x, 0, t) = U(x,t), \quad \forall x \in [0,1], t \in [0, T] \\ & \vec{u}(x, 1, t) = \vec{u}(1, y, t) = \vec{u}(0, y, t) = 0, \forall x \in [0,1], y \in [0,1], t \in [0,T] \end{eqnarray}\end{split}\]

with boundary control input in the top boundary and the velocity at all other boundaries is set to be zero. We incorporate a predictor-corrector scheme for the imcompressive Navier Stokes equations. In the scheme, we denote \(\vec{u} = (u(x,y), v(x,y))\) is the velocity vector, and \((x,y)\) is the spatial position.

Numerical Implementation

We use the predictor-corrector step to solve the Navier-Stokes 2D problem. The pressure field is solve in an iterative manner.

First, the predictor step (where \(u_{i, j}^{n}\) is shorthand for \(u(x_{i}, y_{j}, t_{n})\)).

\begin{eqnarray} u^*_{i,j} &= u^n_{i,j} + \Delta t (\nu(\frac{u^n_{i-1,j} - 2 u^n_{i,j} + u^n_{i+1,j}}{(\Delta x)^2} + \frac{u^n_{i,j-1} -2u^n_{i,j}+u^n_{i,j+1}}{(\Delta y)^2})) \\ &\quad\quad\quad - \Delta t (u^{n}_{i,j}\frac{u^n_{i+1,j}-u^n_{i-1,j}}{2\Delta x} + v^{n}_{i,j}\frac{u^n_{i,j+1} - u^{n}_{i,j-1}}{2 \Delta y})), \\ v^*_{i,j} &= v^{n}_{i,j} + \Delta t (\nu(\frac{v^{n}_{i-1,j} - 2 v^{n}_{i,j} + v^{n}_{i+1,j}}{(\Delta x)^2} + \frac{v^{n}_{i,j-1} -2v^{n}_{i,j}+v^{n}_{i,j+1}}{(\Delta y)^2})) \\ & \quad\quad\quad - \Delta t (u^{n}_{i,j}\frac{v^{n}_{i+1,j}-v^{n}_{i-1,j}}{2\Delta x} + v^{n}_{i,j}\frac{v^{n}_{i,j+1} - v^{n}_{i,j-1}}{2 \Delta y}) \end{eqnarray}

Second, solve the pressure for the continuity condition.

\begin{eqnarray} \nabla^2 p = \frac{\partial^2 p}{\partial x^2} + \frac{\partial^2 p}{\partial y^2} = -\rho (\frac{\partial^2 u}{\partial x^2} + 2 \frac{\partial u}{\partial x}\frac{\partial v}{\partial y} + \frac{\partial^2 v}{\partial y^2}) \end{eqnarray}

Third, perform the corrector step.

\begin{eqnarray} & u^{n+1}_{i,j} = u^*_{i,j} - \Delta t \cdot \frac{1}{\rho} \frac{p^*_{i+1,j}-p^*_{i-1,j}}{2\Delta x} \\ & v^{n+1}_{i,j} = v^*_{i,j} - \Delta t \cdot \frac{1}{\rho} \frac{p^*_{i,j+1} - p^*_{i,j-1}}{\Delta y} \end{eqnarray}

We apply boundary conditions every time step after the predictor step and corrector step.

Previous Next

© Copyright 2023, PDEContRoLGym.

Built with Sphinx using a theme provided by Read the Docs.