![]() |
OpenSWMM Engine
6.0.0-alpha.3
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.3)
|
Classes | |
| struct | DPSConfig |
| DPS configuration parameters (derived from SimulationOptions at init). More... | |
| struct | DPSLinkArrays |
| struct | DWNodeArrays |
| class | DWSolver |
| Dynamic wave solver — operates on entire link/node system. More... | |
Enumerations | |
| enum class | SurchargeMethod : int { EXTRAN = 0 , SLOT = 1 , DYNAMIC_SLOT = 2 } |
| Surcharge method: EXTRAN (classic) or SLOT (Preissmann). More... | |
| enum class | MomentumCategory : uint8_t { SKIP_DRY = 0 , MANNING_OPEN = 1 , MANNING_CLOSED_FS = 2 , MANNING_CLOSED_FULL = 3 , FORCE_MAIN_HW = 4 , FORCE_MAIN_DW = 5 , N_CATEGORIES = 6 } |
| Momentum category for branch-free per-category kernel dispatch. More... | |
Variables | |
| constexpr double | SQRT_GRAVITY |
| sqrt(GRAVITY) — precomputed to avoid per-element std::sqrt in Froude calc. | |
| constexpr double | INV_SQRT_GRAVITY |
| 1.0 / sqrt(GRAVITY) — multiply instead of divide in Froude computation. | |
| constexpr double | OMEGA |
| constexpr double | DEFAULT_HEAD_TOL |
| constexpr int | DEFAULT_MAX_TRIALS |
| constexpr double | MAX_VELOCITY |
| constexpr double | MIN_TIMESTEP |
| constexpr double | EXTRAN_CROWN_CUTOFF |
| constexpr double | SLOT_CROWN_CUTOFF |
| Preissmann slot crown cutoff fraction. | |
| constexpr double | SLOT_WIDTH_FACTOR |
| Preissmann slot width factor (slot_width = y_full * this factor). | |
| constexpr double | MIN_SURFAREA |
|
strong |
Momentum category for branch-free per-category kernel dispatch.
Each conduit is classified once per Picard iteration (after geometry is computed). Per-category kernels have zero shape/type/state branches in their inner loops, enabling compiler auto-vectorization.
|
strong |
Surcharge method: EXTRAN (classic) or SLOT (Preissmann).
|
constexpr |
|
constexpr |
|
constexpr |
EXTRAN surcharge crown cutoff fraction (depth/full_depth). Above this, the Preissmann slot or surcharge algorithm activates.
|
constexpr |
1.0 / sqrt(GRAVITY) — multiply instead of divide in Froude computation.
|
constexpr |
Maximum conduit velocity (ft/s) — prevents numerical blowup.
|
constexpr |
Default minimum surface area (ft²) — approximately a 4-ft diameter manhole.
|
constexpr |
Absolute minimum routing timestep (s).
|
constexpr |
|
constexpr |
Preissmann slot crown cutoff fraction.
|
constexpr |
Preissmann slot width factor (slot_width = y_full * this factor).
|
constexpr |
sqrt(GRAVITY) — precomputed to avoid per-element std::sqrt in Froude calc.