Underworld3: Mathematically Self-Describing Modelling in Python for Desktop, HPC and Cloud

Louis N. Moresi, John Mansour, Julian Giordani, Matthew Gregg Knepley, Ben S. Knight, Juan Carlos Graciosa, Thyagarajulu Gollapalli, Neng Lu, Romain Beucher · The Journal of Open Source Software · 2025

Underworld3 is a finite element, geophysical-fluid-dynamics modelling framework designed to be both straightforward to use and highly scalable to peak high-performance computing environments.It implements the Lagrangian-particle finite element methodology outlined in Moresi et al. (2003).Underworld3 inherits the design patterns of earlier versions of underworld including: (1) A python user interface that is inherently safe for parallel computation.(2) A symbolic interface based on sympy that allows users to construct and simplify combinations of mathematical functions, unknowns and the spatial gradients of unknowns on the fly.(3) Interchangeable Lagrangian, Semi-Lagrangian and Eulerian time derivatives with symbolic representations wrapping the underlying implementation.(4) Fast, robust, parallel numerical solvers based on PETSc (Balay et al., 2024) and petsc4py (Dalcin et al., 2011), (5) Flexible, Lagrangian "particle" swarms for handling transport-dominated unknowns that are fully interchangeable with other data-types and can also be treated as symbolic quantities.(6) Unstructured and adaptive meshing that is fully compatible with the symbolic framework.

Read the paper · More papers on PaperTik