OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
CvodeSurfaceSolver.hpp File Reference

CVODE (SUNDIALS) wrapper for the 2D surface routing ODE system. More...

Include dependency graph for CvodeSurfaceSolver.hpp:

Go to the source code of this file.

Detailed Description

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.

See also
TWO_DIMENSIONAL_SURFACE_ROUTING_IMPLEMENTATION_STRATEGY.md ยง4.2
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n MIT License