OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
LidNodeRichardsState.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2
11
12#pragma once
13#include "LidNode.hpp"
14
16// Shared geometry/material conversion and private publication draft. All node
17// geometry stays in canonical feet; kernel columns and reports are SI.
36richards::Column column(const SimulationContext& ctx, int row, double dt, double evaporation,
37 bool continuous = false);
39 int row = -1, node = -1;
41 double volume = 0, depth = 0, head = 0, full_volume = 0, lat_flow = 0;
42};
43
62RichardsNodeDraft draft(const SimulationContext& ctx, int row, const richards::Column& col,
63 const richards::Report& report, double dt, double completed,
64 bool mesh = false);
77void publish(SimulationContext& ctx, RichardsNodeDraft&& d) noexcept;
91LidNodeState routed(const SimulationContext& ctx, int row);
103void checkMeshInterval(const LidNodeState& s, double start, double end);
104}
Layered LID node storage, water exchange, and lifecycle operations.
Definition LidNodeRichards.cpp:210
RichardsNodeDraft draft(const SimulationContext &ctx, int r, const richards::Column &col, const richards::Report &report, double dt, double completed, bool mesh)
Prepare an owned native publication from an accepted SI column/report.
Definition LidNodeRichards.cpp:267
void checkMeshInterval(const LidNodeState &s, double start, double end)
Require an exact pending accepted Mesh owner interval.
Definition LidNodeRichards.cpp:211
void publish(SimulationContext &ctx, RichardsNodeDraft &&d) noexcept
Publish one fully prepared native Richards state without throwing.
Definition LidNodeRichards.cpp:308
LidNodeState routed(const SimulationContext &ctx, int r)
Prepare a Mesh Richards state incorporating accepted hydraulic porous-port water.
Definition LidNodeRichards.cpp:318
richards::Column column(const SimulationContext &ctx, int r, double dt, double evaporation, bool continuous)
Convert one initialized native node stack to an owned SI Richards column.
Definition LidNodeRichards.cpp:218
Definition LidNodeData.hpp:54
Central, reentrant simulation context.
Definition SimulationContext.hpp:390
Definition LidNodeRichardsState.hpp:38
double volume
Definition LidNodeRichardsState.hpp:41
double full_volume
Definition LidNodeRichardsState.hpp:41
int row
Definition LidNodeRichardsState.hpp:39
double depth
Definition LidNodeRichardsState.hpp:41
double head
Definition LidNodeRichardsState.hpp:41
double lat_flow
Definition LidNodeRichardsState.hpp:41
LidNodeState state
Definition LidNodeRichardsState.hpp:40
int node
Definition LidNodeRichardsState.hpp:39
Definition RichardsColumn.hpp:37
Definition RichardsColumn.hpp:60