These animations complement the static snapshots presented in Fig. 1. 2D Burgers benchmark and Fig. 2. LeVeque deformational flow benchmark of the manuscript.
This repository contains the Python implementation accompanying the paper:
A Control-Theoretic Framework on Moving-Mesh Methods for Solving PDEs
The repository includes two demonstration notebooks that reproduce the numerical experiments presented in the paper, together with animated visualizations of the corresponding PDE evolutions.
.
├── 2DBurger_DEMO.ipynb # Burgers' equation case study
├── LeVeque_DEMO.ipynb # LeVeque case study
├── burgers.gif # Animation of the Burgers' equation evolution
├── LeVeque.gif # Animation of the LeVeque solution evolution
├──fig_burgers_grids.png # Time Slice plot of the Burgers' equation evolution
├──fig_LeVeque_grids.png # Time Slice plot of the LeVeque' equation evolution
└── README.md
The notebooks require Python 3 together with the following packages:
- NumPy
- Matplotlib
- JAX
- Equinox
- Optax
- Diffrax
The following Python modules are used:
from __future__ import annotations
import os
import math
import pickle
import numpy as np
import matplotlib.pyplot as plt
import jax
import jax.numpy as jnp
import jax.scipy.linalg as jspla
from jax import lax, vmap, jit
import jax.tree_util as jtu
import equinox as eqx
import optax
import diffraxOpen either notebook with Jupyter Notebook or JupyterLab and execute all cells.
2DBurger_DEMO.ipynbreproduces the results for the two-dimensional Burgers' equation.LeVeque_DEMO.ipynbreproduces the results for the LeVeque test case.
The repository also contains animations of the complete temporal evolution shown in the paper:
burgers.gif— evolution of the Burgers' equation solution along with the adaptive mesh.LeVeque.gif— evolution of the LeVeque solution along with the adaptive mesh.
This repository is released under the MIT License.

