OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
SoilCharacteristic.cpp File Reference

G-steps 2 and 13 — see the header, especially its. More...

#include "SoilCharacteristic.hpp"
#include <algorithm>
#include <cmath>
Include dependency graph for SoilCharacteristic.cpp:

Namespaces

namespace  openswmm
 
namespace  openswmm::twoD
 
namespace  openswmm::twoD::soil
 

Functions

double openswmm::twoD::soil::effectiveSaturation (const Params &p, double psi) noexcept
 Effective saturation at suction head psi (m, ≥ 0). Se ∈ (0, 1].
 
double openswmm::twoD::soil::waterContent (const Params &p, double psi) noexcept
 Water content θ(ψ) = θ_r + Se·(θ_s − θ_r).
 
double openswmm::twoD::soil::relativeConductivity (const Params &p, double psi) noexcept
 Relative conductivity Kr(ψ) ∈ [0, 1].
 
double openswmm::twoD::soil::conductivity (const Params &p, double psi) noexcept
 Unsaturated conductivity K(ψ) = Ks·Kr(ψ) (m/s).
 
double openswmm::twoD::soil::suctionAtSaturation (const Params &p, double Se) noexcept
 Suction head at a given effective saturation — the retention inverse, needed to give the σ column a ψ from its θ. Returns 0 at Se ≥ 1.
 
double openswmm::twoD::soil::diffusivity (const Params &p, double psi) noexcept
 Soil-moisture diffusivity D(θ) = K(ψ)/|dθ/dψ| (m²/s) at suction psi. Evaluated from a centered finite difference of the retention curve. Callers decide whether the capillary term is enabled.
 
double openswmm::twoD::soil::equilibriumStorage (const Params &p, double L) noexcept
 Hydrostatic-equilibrium storage of a column of thickness L (m of water): ∫₀ᴸ θ(ψ) dψ. Gardner and Brooks–Corey are closed form; Russo and van Genuchten use fixed-order Gauss–Legendre.
 
double openswmm::twoD::soil::enslavedStorage (const Params &p, double L) noexcept
 The ENSLAVED reduction: hᵤ algebraic in h_g — the storage at which rechargeQ0 vanishes. For Gardner this is eq. 39.
 
double openswmm::twoD::soil::rechargeQ0 (const Params &p, double L, double hu) noexcept
 Closure-A quasi-steady recharge (m/s). + down, − capillary rise.
 
double openswmm::twoD::soil::alphaL (const Params &p, double L) noexcept
 αL, the dimensionless group the AUTO closure selection reads. For Brooks–Corey and van Genuchten the law's own inverse length replaces α (1/ψ_b, and the van Genuchten α), so the thresholds mean the same thing across laws.
 
double openswmm::twoD::soil::feddesStress (double psi, double psi_w) noexcept
 Feddes-style smooth stress multiplier on potential ET, from the column's mean suction. 1 in the readily-available range, falling smoothly to 0 at the wilting point — no if (infil <= 0) gate, which is the behaviour §7 retires. psi_w wilting suction (m).
 

Detailed Description

G-steps 2 and 13 — see the header, especially its.

Warning
about which q₀ rates are published closed forms and which are ours.
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License
Apache-2.0