OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
LidNodeAquifer.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2
11
12#pragma once
13#include <vector>
14namespace openswmm {
16class Router;
17namespace twoD {
19struct SurfaceStateData;
21}
22namespace lidnode {
23// Production column preparation at the single global hydraulic cadence.
24// Accepted gross receipts wait for each receiving groundwater cell's clock.
45 twoD::SurfaceStateData& surface, double dt, double evaporation);
46// Internal water-only real LID-state bridge at an explicit closed owner interval.
47// Uses current node geometry, pressure limits, forcing and clogging; no new UI
48// parameters. Successful preparation requires one finishStep after routing ports.
49// Production cross-tier 1D scheduling and joint restart remain gated.
71 twoD::SurfaceStateData& surface, double start, double end,
72 double evaporation, const std::vector<int>& nodes);
73// Same atomic real-state publication, replacing one actual due GW tier firing
74// including its ordinary cells. Caller supplies all due Richards node owners.
94 double start, double end, double evaporation,
95 const std::vector<int>& nodes);
96// Internal atomic fixed-forcing conduit window. Native DW and mixed LID rows
97// advance at step_ends; the due GW tier settles once. The caller supplies all
98// Mesh nodes in the 1D network on that tier. Other GW tiers retain their clocks.
99// No live source/face drivers, structure callbacks, ponding/flooding or restart.
124 twoD::SurfaceStateData& surface, int tier, double start, double end,
125 const std::vector<double>& step_ends, double evaporation,
126 const std::vector<int>& nodes);
127}
128}
Top-level routing orchestrator.
Definition Routing.hpp:101
The two-zone kernel. Owned by SurfaceRouter2D; driven by the marcher's tier hooks.
Definition SubsurfaceSolver.hpp:128
Definition LidNode.cpp:25
twoD::RichardsBedAcceptance acceptRichardsNodesForTier(SimulationContext &ctx, twoD::SubsurfaceSolver &gw, twoD::SurfaceStateData &surface, int tier, double start, double end, double evaporation, const std::vector< int > &nodes)
Replace one due groundwater tier firing with a paired Richards-node settlement.
twoD::RichardsBedAcceptance acceptRichardsNodesAtFiring(SimulationContext &ctx, twoD::SubsurfaceSolver &gw, twoD::SurfaceStateData &surface, double start, double end, double evaporation, const std::vector< int > &nodes)
Settle a closed owner interval and publish corresponding real Richards node state.
twoD::RichardsBedAcceptance routeRichardsNodesForTierWindow(SimulationContext &ctx, Router &router, twoD::SubsurfaceSolver &gw, twoD::SurfaceStateData &surface, int tier, double start, double end, const std::vector< double > &step_ends, double evaporation, const std::vector< int > &nodes)
Trial and publish a fixed-forcing native dynamic-wave/Richards tier window.
void prepareMeshRichardsStep(SimulationContext &ctx, twoD::SubsurfaceSolver &gw, twoD::SurfaceStateData &surface, double dt, double evaporation)
Prepare global-cadence Richards LID nodes and retain completed aquifer receipts.
Definition GroundHeat.hpp:19
Definition ExchangeLaw.hpp:60
Definition ExchangeLaw.hpp:60
Central, reentrant simulation context.
Definition SimulationContext.hpp:390
Definition LidNodeExchange.hpp:78
Definition SurfaceStateData.hpp:64