Method
Symbolic algebra & code generation
SymPy expressions, JIT compilation, automatic differentiation.
6 notes · search
tag:symbolic-codegen · all topicsSymbolic Time Derivatives in Underworld3¶
In Underworld3, the time derivative is a symbolic object. It appears in the solver's strong form as a SymPy expression, alongside the constitutive stress and the body force.
Read doi10.6084/m9.figshare.33193596
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
Physical Units in Computational Geodynamics¶
Non-dimensionalisation (rewriting problems to make them re-scalable from lab to the real world) is a specialised task that all modellers confront at some point. It is important for accurate and efficient numerical solutions. Can we take away the pain that comes with the task ?
Read doi10.6084/m9.figshare.33193587
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
Underworld3¶
Introducing Underworld3: Mathematically Self-Describing Modelling in Python for Desktop, HPC and Cloud.
Read doi10.6084/m9.figshare.33193533