![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Richards-equation integration for LID node soil columns. More...
#include "LidNode.hpp"#include "LidNodeRichardsState.hpp"#include <type_traits>#include "../core/SimulationContext.hpp"#include "../core/UnitConversion.hpp"#include "../hydraulics/Node.hpp"#include "../input/Tokenizer.hpp"#include <algorithm>#include <cmath>#include <limits>#include <sstream>#include <stdexcept>Namespaces | |
| namespace | openswmm |
| namespace | openswmm::lidnode |
| namespace | openswmm::lidnode::detail |
Functions | |
| bool | openswmm::lidnode::richardsMode (const SimulationContext &ctx, int node) |
| Read the initialized LID Richards mode flag for a node. | |
| double | openswmm::lidnode::exchangeRichardsPorts (SimulationContext &ctx, int link, double flow, double dt) |
| Limit and book a link transfer involving Richards or mixed retained-water ports. | |
| void | openswmm::lidnode::readRichards (SimulationContext &ctx, const std::vector< std::string > &lines) |
| Parse node-LID Richards numerical options and layer retention/storage materials. | |
| void | openswmm::lidnode::refreshRichardsState (SimulationContext &ctx, int row) |
| Recompute one initialized Richards row pressure, moisture and retained inventory. | |
| void | openswmm::lidnode::detail::checkMeshInterval (const LidNodeState &s, double start, double end) |
| Require an exact pending accepted Mesh owner interval. | |
| richards::Column | openswmm::lidnode::detail::column (const SimulationContext &ctx, int row, double dt, double evaporation, bool continuous=false) |
| Convert one initialized native node stack to an owned SI Richards column. | |
| RichardsNodeDraft | openswmm::lidnode::detail::draft (const SimulationContext &ctx, int row, const richards::Column &col, const richards::Report &report, double dt, double completed, bool mesh=false) |
| Prepare an owned native publication from an accepted SI column/report. | |
| void | openswmm::lidnode::detail::publish (SimulationContext &ctx, RichardsNodeDraft &&d) noexcept |
| Publish one fully prepared native Richards state without throwing. | |
| LidNodeState | openswmm::lidnode::detail::routed (const SimulationContext &ctx, int row) |
| Prepare a Mesh Richards state incorporating accepted hydraulic porous-port water. | |
| bool | openswmm::lidnode::validateRichardsRouting (const SimulationContext &ctx, double dt) |
| Preflight the common accepted Mesh Richards routing interval without mutation. | |
| void | openswmm::lidnode::prepareRichardsStep (SimulationContext &ctx, double dt, double evaporation, bool mesh_prepared=false) |
| Advance non-Mesh Richards owners privately, then publish the whole successful batch. | |
Richards-equation integration for LID node soil columns.