#include <Groundwater.hpp>
|
| void | init (int n_subcatch) |
| |
| void | execute (SimulationContext &ctx, double dt, double max_evap, const double *infil_rate, const double *sw_head) |
| | Compute groundwater for all subcatchments (batch).
|
| |
| GWSoA & | state () |
| |
◆ execute()
| void openswmm::groundwater::GWSolver::execute |
( |
SimulationContext & |
ctx, |
|
|
double |
dt, |
|
|
double |
max_evap, |
|
|
const double * |
infil_rate, |
|
|
const double * |
sw_head |
|
) |
| |
Compute groundwater for all subcatchments (batch).
Steps (per subcatchment, all independent → vectorisable):
- Compute upper zone percolation — batch exp() + multiply
- Compute lateral GW flow — batch pow() + arithmetic
- Compute deep percolation — batch multiply
- Compute ET from upper/lower zones — batch clamp
- Euler step: θ += dθ/dt * dt, H += dH/dt * dt — batch add
- Parameters
-
| ctx | Simulation context. |
| dt | Timestep (seconds). |
| max_evap | Maximum evaporation rate (ft/sec, scalar broadcast). |
| infil_rate | Per-subcatchment infiltration rate (ft/sec). |
| sw_head | Per-subcatchment surface water head (ft). |
◆ init()
| void openswmm::groundwater::GWSolver::init |
( |
int |
n_subcatch | ) |
|
◆ state()
| GWSoA & openswmm::groundwater::GWSolver::state |
( |
| ) |
|
|
inline |
The documentation for this class was generated from the following files:
- /home/runner/work/openswmm.engine/openswmm.engine/src/engine/hydrology/Groundwater.hpp
- /home/runner/work/openswmm.engine/openswmm.engine/src/engine/hydrology/Groundwater.cpp