
Evolution of the bound water content (top) and the free water (bottom) in a geodynamic one dimensional pipe flow model. Initially, all water is bound (left column). Since the middle layer has a zero solubility, water is almost instantaneously released from minerals and starts migrating upward with respect to the solid, leading to a higher bound water content when it reaches the top layer. Chemical reactions like these are typically much faster than the flow velocity in geodynamic models and are amongst the problems we want to solve by including dedicated ODE solver libraries.
Revisiting Open Source Libraries for Solving ODEs
Contributed by Wolfgang Bangerth, Colorado State University Fort Collins; Juliane Dannberg, University of Florida; Rene Gassmoeller, University of Florida
Many of CIG’s large flagship codes – for example Rayleigh, PyLith, SPECFEM, and ASPECT – solve partial differential equations. There is of course a long history of writing such codes and part of this history is that traditionally, PDE solvers have hand-rolled their own time integrators and nonlinear solvers: Exceptions – such as PyLith – notwithstanding, they generally use low-order time discretization methods (such as explicit or implicit Euler, Crank-Nicolson, or BDF-2) with time-step sizes based on CFL numbers rather than accuracy considerations; and they implement nonlinear solvers via fixed point iterations or relatively simple variations of Newton’s method, but without sophisticated line search, trust region, or acceleration methods.
This reliance on hand-written methods is perhaps surprising because we have all learned that at least for the discretization of PDEs, we should build on one of the widely used software libraries that provide everything one needs for the task: ... [full article]
Check out all Research Highlights