OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
openswmm::groundwater::GWSolver Class Reference

#include <Groundwater.hpp>

Collaboration diagram for openswmm::groundwater::GWSolver:

Public Member Functions

void init (int n_subcatch)
 
void execute (SimulationContext &ctx, double dt, double max_evap, const double *infil_rate, const double *sw_head, const double *frac_perv, const double *perv_evap_rate)
 Compute groundwater for all subcatchments (batch).
 
GWSoAstate ()
 
const GWSoAstate () const
 

Member Function Documentation

◆ execute()

void openswmm::groundwater::GWSolver::execute ( SimulationContext ctx,
double  dt,
double  max_evap,
const double *  infil_rate,
const double *  sw_head,
const double *  frac_perv,
const double *  perv_evap_rate 
)

Compute groundwater for all subcatchments (batch).

Steps (per subcatchment, all independent → vectorisable):

  1. Compute upper zone percolation — batch exp() + multiply
  2. Compute lateral GW flow — batch pow() + arithmetic
  3. Compute deep percolation — batch multiply
  4. Compute ET from upper/lower zones — batch clamp
  5. Euler step: θ += dθ/dt * dt, H += dH/dt * dt — batch add
Parameters
ctxSimulation context.
dtTimestep (seconds).
max_evapMaximum evaporation rate (ft/sec, scalar broadcast).
infil_ratePer-subcatchment infiltration rate (ft/sec over full area).
sw_headPer-subcatchment surface water head (ft).
frac_pervPer-subcatchment pervious fraction (0-1).
perv_evap_ratePer-subcatchment pervious evap rate already exerted (ft/sec over full area).
Here is the call graph for this function:

◆ init()

void openswmm::groundwater::GWSolver::init ( int  n_subcatch)
Here is the call graph for this function:

◆ state() [1/2]

GWSoA & openswmm::groundwater::GWSolver::state ( )
inline
Here is the caller graph for this function:

◆ state() [2/2]

const GWSoA & openswmm::groundwater::GWSolver::state ( ) const
inline

The documentation for this class was generated from the following files: