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

Option struct for the explicit finite-volume 1D network solver. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openswmm::fv::FvOptions
 Knobs for FLOW_ROUTING FV. More...
 

Namespaces

namespace  openswmm
 
namespace  openswmm::fv
 

Enumerations

enum class  openswmm::fv::RiemannSolver : int {
  openswmm::fv::HLL = 0 ,
  openswmm::fv::HLLC = 1
}
 
enum class  openswmm::fv::Limiter : int {
  openswmm::fv::MINMOD = 0 ,
  openswmm::fv::VANLEER = 1 ,
  openswmm::fv::SUPERBEE = 2
}
 Slope limiter used by the second-order (MUSCL) reconstruction. More...
 
enum class  openswmm::fv::ScalarScheme : int {
  openswmm::fv::UPWIND = 0 ,
  openswmm::fv::MUSCL = 1 ,
  openswmm::fv::QUICKEST_ULTIMATE = 2
}
 Reconstruction used for the advected scalar field. More...
 
enum class  openswmm::fv::TimeIntegration : int {
  openswmm::fv::EULER = 0 ,
  openswmm::fv::RK2 = 1
}
 Temporal integrator. More...
 
enum class  openswmm::fv::StructureCoupling : int {
  openswmm::fv::SUBSTEP = 0 ,
  openswmm::fv::ROUTING_STEP = 1
}
 When pump/orifice/weir/outlet structure equations are re-evaluated. More...
 
enum class  openswmm::fv::Backend : int {
  openswmm::fv::CPU = 0 ,
  openswmm::fv::AUTO = 1 ,
  openswmm::fv::OMP = 2 ,
  openswmm::fv::CUDA = 3 ,
  openswmm::fv::HIP = 4 ,
  openswmm::fv::SYCL = 5
}
 Backend selection for the solver kernels. More...
 

Variables

constexpr int openswmm::fv::kMaxLtsTiers = 8
 

Detailed Description

Option struct for the explicit finite-volume 1D network solver.

Mirrors the role SolverOptions2D plays for the 2D marcher: a plain value type carrying every knob the solver reads, populated from the FV_* keys in [OPTIONS] (OptionsHandler.cpp) and stored as an embedded member of SimulationOptions.

Dependency-free by design (no SimulationContext, no Kokkos) so the GPU plugin can include it across the plain-C ABI boundary.

See also
plans/EXPLICIT_FV_KOKKOS_1D_SOLVER_PLAN.md ยง4.2
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n Apache-2.0