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

Runtime backend selection for the explicit FV 1D network solver. More...

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

Go to the source code of this file.

Namespaces

namespace  openswmm
 
namespace  openswmm::fv
 

Functions

std::unique_ptr< INetworkSolveropenswmm::fv::makeNetworkSolver (const FvOptions &opts, std::string *chosen, int n_cells)
 Construct the FV network solver for opts and a mesh of n_cells.
 

Detailed Description

Runtime backend selection for the explicit FV 1D network solver.

Mirrors 2d/solver/SurfaceSolverFactory.hpp: prefer a Kokkos plugin when one is present, is new enough, reports a usable device, and the problem is large enough to amortize per-kernel launch overhead; otherwise fall back to the serial/OpenMP CPU ExplicitFvSolver.

Lives in the core — it owns the CPU↔plugin decision — but pulls in no Kokkos or GPU dependency itself.

See also
plans/EXPLICIT_FV_KOKKOS_1D_SOLVER_PLAN.md §4, §5
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n Apache-2.0