![]() |
OpenSWMM Engine
6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
|
Node hydraulics — volume/depth/head conversions, surface area, overflow. More...
Go to the source code of this file.
Namespaces | |
| namespace | openswmm |
| namespace | openswmm::node |
| namespace | openswmm::constants |
Functions | |
| double | openswmm::node::getVolume (const NodeData &nodes, int idx, double depth, TableData *tables=nullptr) |
| Compute volume at a given depth for a single node. | |
| double | openswmm::node::getSurfArea (const NodeData &nodes, int idx, double depth, TableData *tables=nullptr) |
| Compute surface area at a given depth for a single node. | |
| double | openswmm::node::getPondedArea (const NodeData &nodes, int idx, double depth) |
| Get the ponded area (for overflow above rim). | |
| double | openswmm::node::getMaxOutflow (const NodeData &nodes, int idx, double q, double dt) |
| Compute max outflow limited by available volume. | |
| double | openswmm::node::getOverflow (double new_volume, double full_volume, double dt) |
| Compute overflow rate at a node. | |
| double | openswmm::node::getHead (double invert_elev, double depth) |
| Compute head from depth: head = invert + depth. | |
| void | openswmm::node::computeHeads (const double *invert, const double *depth, double *head, int n) |
| Compute head = invert + depth for all nodes. | |
| void | openswmm::node::computeVolumes (const NodeData &nodes, const double *depth, double *volume) |
| Compute volumes for all nodes from their current depths. | |
| void | openswmm::node::computeOverflows (const double *new_volume, const double *full_volume, double *overflow, double dt, int n) |
| Compute overflow for all nodes. | |
Variables | |
| constexpr double | openswmm::constants::GRAVITY = 32.2 |
| ft/s^2 | |
| constexpr double | openswmm::constants::PHI = 1.486 |
| Manning's units factor (US) | |
| constexpr double | openswmm::constants::FUDGE = 0.0001 |
| Minimum depth/area threshold (ft) | |
| constexpr double | openswmm::constants::MIN_SURFAREA = 12.566 |
| 4*pi sq ft ≈ 4-ft diameter manhole | |
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.