![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Node hydraulics — numerically identical to legacy node.c. More...
#include "Node.hpp"#include "../core/UnitConversion.hpp"#include "../data/NodeSubtypes.hpp"#include "../data/StorageGeometry.hpp"#include "../math/FindRoot.hpp"#include <cmath>#include <algorithm>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::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::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, double depth, double volume) |
| Evaluate a transport store using an explicit depth and booked volume. | |
| double | openswmm::node::storeVolume (const NodeData &nodes, int idx) |
| Evaluate the mixed transport store from current node state. | |
| 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 — numerically identical to legacy node.c.