![]() |
OpenSWMM Engine
6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
|
CVODE (SUNDIALS) wrapper for the 2D surface routing ODE system. More...
#include "../data/MeshData.hpp"#include "../data/SurfaceStateData.hpp"#include "../data/SolverOptions2D.hpp"Go to the source code of this file.
CVODE (SUNDIALS) wrapper for the 2D surface routing ODE system.
Wraps the SUNDIALS CVODE solver for time integration of the semi-discrete finite volume surface flow equations. Uses BDF for time discretisation, CVODE's default Newton corrector with inexact tolerance, and SPGMR (Krylov GMRES) for the inner linear solves. A Jacobi preconditioner is wired by default (per-cell diagonal approximation rebuilt each Jacobian refresh); see SolverOptions2D for the menu of other linear solver / preconditioner tiers reserved for future use.
The ODE system is: dy/dt = f(t, y) where y[i] = H_i (water-surface elevation at triangle i) and f computes the RHS from the finite volume formulation.