Computational PDEs
Scientific computing practical (implementation & testing)

PDEs on moving domains in an axisymmetric configuration

Our add-on ngsxditto already does a lot for unfitted PDEs on moving domains — Eulerian time stepping, level-set geometries, ghost-penalty stabilization and isoparametric higher-order geometry. What is still missing is the axisymmetric (rotationally symmetric) setup. Adding it would let us simulate genuinely three-dimensional, rotationally symmetric moving-domain problems — for example a rising bubble — at the cost of a two-dimensional computation. This project is primarily an implementation and testing task.

Type: Scientific computing practical (also suitable as a Bachelor's project)  |  Prerequisites: Numerics of PDEs (introductory), Python / NGSolve, interest in scientific software  |  Contact: Christoph Lehrenfeld

The axisymmetric reduction

Many flow and transport problems are rotationally symmetric about an axis (here the $z$-axis). In cylindrical coordinates $(r,\theta,z)$ with no $\theta$-dependence, a three-dimensional problem reduces to a two-dimensional one on the meridional half-plane $\hat\Omega = \{(r,z): r>0\}$. The price is that all integrals carry the cylindrical volume element,

$\displaystyle \int_\Omega f \,\mathrm{d}x \;=\; 2\pi \int_{\hat\Omega} f\, r \,\mathrm{d}r\,\mathrm{d}z ,$

i.e. a radial weight $r$ appears in every bilinear and linear form, and differential operators (gradient, divergence, Laplacian) take their cylindrical form. The two practical subtleties are the $r$-weighting of the weak forms and the coordinate axis $r=0$, where the weight degenerates and suitable (symmetry / regularity) conditions must be enforced.

Moving domains, unfitted

The moving physical domain $\Omega(t)$ (e.g. the interior or exterior of a rising bubble) is described implicitly by a level-set function $\phi(r,z,t)$ on a fixed background mesh of $\hat\Omega$. ngsxditto provides the unfitted machinery on top of this: an Eulerian time discretization (BDF), where degrees of freedom are extended off the physical domain via ghost-penalty stabilization as $\Omega(t)$ moves [LO19], [LL22], and isoparametric mappings for higher-order geometry. The project keeps this framework and makes every ingredient axisymmetric-aware.

What the project adds

  • Weighted forms. Add the radial weight $r$ to ngsxditto's integrators (volume, interface and ghost-penalty terms) so that the assembled forms correspond to the axisymmetric problem.
  • Axis treatment. Handle the rotation axis $r=0$: appropriate symmetry boundary conditions, and care with quantities that must vanish (or stay bounded) on the axis.
  • Geometry & time stepping. Make sure the level-set cut, the isoparametric mapping and the Eulerian extension all behave correctly in the weighted setting, including near the axis.
  • A model problem. Set up an axisymmetric moving-domain benchmark — a rising bubble or an oscillating droplet — and run it end to end.

Project roadmap

  1. Warm-up: stationary axisymmetric problem. Implement a simple axisymmetric convection–diffusion or Poisson problem on a fixed unfitted domain in ngsxfem/ngsxditto, with the $r$-weighted forms and axis conditions. Verify against a known/manufactured solution.
  2. Add the moving domain. Combine the weighted forms with ngsxditto's Eulerian time-stepping for a prescribed motion of $\Omega(t)$ (a translating / growing interface), and check accuracy and mass conservation in the axisymmetric measure.
  3. Rising-bubble model problem. Drive the interface by a (given or computed) velocity field and simulate a rising bubble / oscillating droplet; compare interface shape and rise behaviour with reference data.
  4. Higher order & robustness. Switch on isoparametric higher-order geometry and study robustness of the ghost-penalty stabilization across cut configurations and near the axis.
  5. Consolidate into ngsxditto. Turn the working code into a clean, tested addition to ngsxditto (examples, a small test, documentation) so others can reuse the axisymmetric setup.

A related, more analysis-oriented topic is the axisymmetric Stokes problem with an H(div) discretization; the implementation here could later feed into such pressure-robust axisymmetric flow solvers.

References

  • ngsxditto / ngsxfem — the group's NGSolve add-ons for unfitted (moving-domain) finite element methods
  • LO_ESAIM_2019 — Lehrenfeld, Olshanskii: An Eulerian FEM for PDEs in time-dependent domains (ESAIM 2019)
  • LL_SINUM_2022 — Lou, Lehrenfeld: Isoparametric unfitted BDF–FEM for PDEs on evolving domains (SINUM 2022)
  • HLP2023 — Heimann, Lehrenfeld, Preuß: Geometrically higher order unfitted space-time methods for PDEs on moving domains (SISC 2023)
  • IMAJNA_vWRL_2021 — von Wahl, Richter, Lehrenfeld: Unfitted Eulerian FEM for the time-dependent Stokes problem on moving domains (IMA J. Numer. Anal. 2021)
  • LLMvB_ARXIV_2026 — Lederer, Lehrenfeld, Merdon, van Beeck: Pressure-robustness for the axisymmetric Stokes problem (2026)