![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Node hydraulics — volume/depth/head conversions, surface area, overflow. More...
Go to the source code of this file.
Namespaces | |
| namespace | openswmm |
| namespace | openswmm::node |
Functions | |
| double | openswmm::node::getVolume (const NodeData &nodes, int idx, double depth, TableData *tables=nullptr, int unit_sys=0, const NodeSubtypes *subs=nullptr) |
| Evaluate a node depth-volume relation in native units. | |
| double | openswmm::node::getSurfArea (const NodeData &nodes, int idx, double depth, TableData *tables=nullptr, int unit_sys=0, const NodeSubtypes *subs=nullptr) |
| Evaluate the raw derivative of storage volume with depth. | |
| double | openswmm::node::getPondedArea (const NodeData &nodes, int idx, double depth, TableData *tables=nullptr, int unit_sys=0, const NodeSubtypes *subs=nullptr) |
| Select an above-rim ponded area or the raw storage surface area. | |
| double | openswmm::node::getMaxOutflow (const NodeData &nodes, int idx, double q, double dt) |
| Limit a proposed nonnegative withdrawal by legacy node storage availability. | |
| double | openswmm::node::getOverflow (double new_volume, double full_volume, double dt) |
| Convert excess node water volume into a timestep overflow rate. | |
| double | openswmm::node::storeVolume (const NodeData &nodes, int idx) |
| Evaluate the mixed transport store from current node state. | |
| double | openswmm::node::storeVolume (const NodeData &nodes, int idx, double depth, double volume) |
| Evaluate a transport store using an explicit depth and booked volume. | |
| double | openswmm::node::getDepth (const NodeData &nodes, int idx, double volume, TableData *tables=nullptr, int unit_sys=0, const NodeSubtypes *subs=nullptr) |
| Convert booked storage volume to depth using native geometry. | |
| double | openswmm::node::getHead (double invert_elev, double depth) |
| Compute hydraulic head by adding node invert and depth. | |
| void | openswmm::node::computeHeads (const double *invert, const double *depth, double *head, int n) |
| Add native invert elevation and depth elementwise. | |
| void | openswmm::node::computeVolumes (const NodeData &nodes, const double *depth, double *volume, const NodeSubtypes *subs=nullptr) |
| Evaluate every node volume with US-unit, table-free scalar geometry. | |
| void | openswmm::node::computeOverflows (const double *new_volume, const double *full_volume, double *overflow, double dt, int n) |
| Compute per-node overflow from excess native volumes. | |
Node hydraulics — volume/depth/head conversions, surface area, overflow.
All functions operate on SoA arrays from NodeData. They are designed for batch operation over all nodes in a single call.