OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
openswmm::exfil::ExfilSolver Class Reference

#include <Exfiltration.hpp>

Collaboration diagram for openswmm::exfil::ExfilSolver:

Public Member Functions

void init (SimulationContext &ctx)
 Build storage exfiltration geometry and independent bottom/bank Green-Ampt states.
 
void computeAll (SimulationContext &ctx, double dt)
 Advance eligible storage exfiltration states and publish raw loss rates.
 
ExfilSoA & state ()
 Borrow mutable exfiltration solver state for checkpoint/inspection.
 
const ExfilSoA & state () const
 Borrow read-only exfiltration solver state.
 

Member Function Documentation

◆ computeAll()

void openswmm::exfil::ExfilSolver::computeAll ( SimulationContext & ctx,
double dt )

Advance eligible storage exfiltration states and publish raw loss rates.

Suppresses legacy seepage for Richards/non-current LID bottoms or aquifer-owned beds. Computes bottom/clogging and wetted-bank losses, including dry-state recovery. Publishes uncapped raw rate; Router later applies the joint evaporation/exfiltration water-volume cap and books loss volume. No independent donor cap, model validation or synchronization.

Parameters
[in,out]ctxBorrowed live node depths/climate factors; writes storage exfil_rate in cfs, with coherent mappings from init.
[in]dtPositive step seconds used by modified Green-Ampt evolution; caller validates.
Here is the call graph for this function:

◆ init()

void openswmm::exfil::ExfilSolver::init ( SimulationContext & ctx)

Build storage exfiltration geometry and independent bottom/bank Green-Ampt states.

Selects storage nodes with positive bottomConductivity. If none, sets count0 while retaining previous vector storage. Otherwise resets geometry, initializes GA states and derives bottom/bank areas. Tabular authored geometry converts to ft/ft2; functional geometry preserves legacy raw-coefficient behavior. Does not perform current-step loss booking or validate every curve/index. Allocation/init failures can leave partial solver state.

Parameters
[in,out]ctxBorrowed resolved model with aligned storage subtype/curve data and authored exfiltration parameters.
Here is the call graph for this function:

◆ state() [1/2]

ExfilSoA & openswmm::exfil::ExfilSolver::state ( )
inline

Borrow mutable exfiltration solver state for checkpoint/inspection.

Returns
Owned SoA reference; resizing/reinitialization invalidates element views. Caller preserves dimensions and serializes mutation.

◆ state() [2/2]

const ExfilSoA & openswmm::exfil::ExfilSolver::state ( ) const
inline

Borrow read-only exfiltration solver state.

Returns
Owned SoA reference valid while solver lives; element views invalidate on mutable resize/init.

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