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

Backend-neutral interface for the 2D surface-routing time integrator. More...

#include <vector>
Include dependency graph for ISurfaceSolver.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openswmm::twoD::ISurfaceSolver
 Abstract time integrator for the 2D surface-routing ODE system. More...
 
struct  openswmm::twoD::ISurfaceSolver::RunStats
 

Namespaces

namespace  openswmm
 
namespace  openswmm::twoD
 

Detailed Description

Backend-neutral interface for the 2D surface-routing time integrator.

Extracts the solver contract that SurfaceRouter2D depends on so the concrete solver can be chosen at runtime:

ISurfaceSolver ├── ExplicitInertialSolver (serial CPU; default) └── ExplicitKokkosSurfaceSolver (GPU/threaded plugin)

This header is dependency-free (no Kokkos): it only forward-declares the 2D data types it passes by reference, so it compiles regardless of which backend — if any — is available.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n Apache-2.0