Method
Solvers
Nonlinear and linear solution, preconditioning, multigrid, Jacobians.
7 notes · search
tag:solvers · all topicsSetting Up Full Multigrid¶
Underworld can precondition a Stokes solve with geometric multigrid built from a real hierarchy of meshes, rather than with the algebraic multigrid it falls back to. What the difference is, how to build a mesh that has a hierarchy, and when the choice is worth making.
Moving the Mesh Without Remaking It¶
There are three ways to put resolution where a calculation needs it: rebuild the mesh, subdivide it, or move its nodes. The third conserves the node budget and leaves the connectivity, the parallel partition and the multigrid hierarchy untouched — nothing is created or destroyed, only relocated. How that redistribution works in Underworld3, what it is worth in numbers, and where its ceiling is.
Read doi10.6084/m9.figshare.33241170
Constitutive Models in Symbolic Form¶
A constitutive model is a Python class where the relationship between fluxes and gradients is encoded in SymPy. At every stage the mathematics is visible, inspectable, and differentiable. The framework handles Jacobians, C code generation, and PETSc integration. You handle the physics.
Read doi10.6084/m9.figshare.33193590
How Underworld3 Turns SymPy into C¶
What actually happens between the moment you write a mathematical expression in underworld3's python layer and the moment PETSc receives a finite element term in the form of compiled C code ?
Read doi10.6084/m9.figshare.33193572
Our Journey from Underworld2 to Underworld3¶
Underworld is a code for geodynamics — mantle convection, lithospheric deformation, subduction, ice flow. We solve coupled, nonlinear PDEs with complex rheologies using Lagrangian particles to track material history. The project has been running for 20 years: why did we start again ?
Read doi10.6084/m9.figshare.33193566
ISMIP-HOM benchmark experiments using Underworld¶
Read doi10.6084/m9.figshare.33193518
Free surface in Underworld¶
Read doi10.6084/m9.figshare.33193503