#include <HydStructures.hpp>
◆ computeAllFlows()
| void openswmm::hydstruct::StructureSolver::computeAllFlows |
( |
SimulationContext & |
ctx, |
|
|
double |
dt, |
|
|
double * |
node_new_surf_area = nullptr |
|
) |
| |
Compute flow for all non-conduit links (batch by type).
For each type group:
- Gather upstream/downstream heads from node arrays
- Batch compute flow using type-specific equation
- Scatter flow + dQ/dH back to link arrays
- Parameters
-
| ctx | Simulation context. |
| dt | Timestep (seconds). |
| node_new_surf_area | Per-node surface area from the DW solver's xnode buffer. Read by computePumpFlows (pump flow-limiter, matching legacy getModPumpFlow) and written by computeWeirFlows (weir surface-area scatter, matching legacy findNonConduitSurfArea). Pass nullptr to skip both (pump falls back to MIN_SURFAREA; weir scatter is skipped). |
◆ init()
◆ nonConduitIndices()
| const std::vector< int > & openswmm::hydstruct::StructureSolver::nonConduitIndices |
( |
| ) |
const |
|
inlinenoexcept |
Get pre-built list of all non-conduit link indices.
◆ updatePumpTargetSettings()
| void openswmm::hydstruct::StructureSolver::updatePumpTargetSettings |
( |
SimulationContext & |
ctx | ) |
|
Evaluate pump startup/shutoff depth hysteresis. Must be called ONCE per timestep BEFORE the DW iteration loop, matching legacy link_setTargetSetting() timing.
The documentation for this class was generated from the following files:
- /home/runner/work/openswmm.engine/openswmm.engine/src/engine/hydraulics/HydStructures.hpp
- /home/runner/work/openswmm.engine/openswmm.engine/src/engine/hydraulics/HydStructures.cpp