OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
SoilCharacteristic.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2//
3// Copyright 2026 Caleb Buahin
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing, software
12// distributed under the License is distributed on an "AS IS" BASIS,
13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14// See the License for the specific language governing permissions and
15// limitations under the License.
16
80
81#ifndef OPENSWMM_ENGINE_2D_SOIL_CHARACTERISTIC_HPP
82#define OPENSWMM_ENGINE_2D_SOIL_CHARACTERISTIC_HPP
83
84#include "SubsurfaceData.hpp"
85
86namespace openswmm::twoD::soil {
87
90struct Params {
92 double Ks = 1.0e-5;
93 double theta_s = 0.45;
94 double theta_r = 0.10;
95 double alpha = 2.0;
96 double psi_b = 0.20;
97 double lambda = 0.40;
98 double vg_n = 1.6;
99 double vg_L = 0.5;
100};
101
103double effectiveSaturation(const Params& p, double psi) noexcept;
104
106double waterContent(const Params& p, double psi) noexcept;
107
109double relativeConductivity(const Params& p, double psi) noexcept;
110
112double conductivity(const Params& p, double psi) noexcept;
113
116double suctionAtSaturation(const Params& p, double Se) noexcept;
117
121double diffusivity(const Params& p, double psi) noexcept;
122
126double equilibriumStorage(const Params& p, double L) noexcept;
127
132double rechargeQ0(const Params& p, double L, double hu) noexcept;
133
136double enslavedStorage(const Params& p, double L) noexcept;
137
142double alphaL(const Params& p, double L) noexcept;
143
148double feddesStress(double psi, double psi_w) noexcept;
149
150} // namespace openswmm::twoD::soil
151
152#endif // OPENSWMM_ENGINE_2D_SOIL_CHARACTERISTIC_HPP
G-step 1 — state, parameters and options for the two-zone groundwater kernel (TWO_ZONE_GROUNDWATER_EX...
Definition SoilCharacteristic.cpp:32
double effectiveSaturation(const Params &p, double psi) noexcept
Effective saturation at suction head psi (m, ≥ 0). Se ∈ (0, 1].
Definition SoilCharacteristic.cpp:63
double waterContent(const Params &p, double psi) noexcept
Water content θ(ψ) = θ_r + Se·(θ_s − θ_r).
Definition SoilCharacteristic.cpp:100
double diffusivity(const Params &p, double psi) noexcept
Definition SoilCharacteristic.cpp:182
double rechargeQ0(const Params &p, double L, double hu) noexcept
Definition SoilCharacteristic.cpp:251
double conductivity(const Params &p, double psi) noexcept
Unsaturated conductivity K(ψ) = Ks·Kr(ψ) (m/s).
Definition SoilCharacteristic.cpp:137
double suctionAtSaturation(const Params &p, double Se) noexcept
Definition SoilCharacteristic.cpp:141
double equilibriumStorage(const Params &p, double L) noexcept
Definition SoilCharacteristic.cpp:229
double relativeConductivity(const Params &p, double psi) noexcept
Relative conductivity Kr(ψ) ∈ (0, 1].
Definition SoilCharacteristic.cpp:104
double feddesStress(double psi, double psi_w) noexcept
Definition SoilCharacteristic.cpp:299
double alphaL(const Params &p, double L) noexcept
Definition SoilCharacteristic.cpp:286
double enslavedStorage(const Params &p, double L) noexcept
Definition SoilCharacteristic.cpp:247
SoilChar
Definition SubsurfaceData.hpp:61
@ RUSSO
default; Mualem-consistent, same α slot as Gardner
Definition SubsurfaceData.hpp:62
Definition SoilCharacteristic.hpp:90
SoilChar law
Definition SoilCharacteristic.hpp:91
double alpha
Definition SoilCharacteristic.hpp:95
double Ks
Definition SoilCharacteristic.hpp:92
double vg_n
Definition SoilCharacteristic.hpp:98
double theta_r
Definition SoilCharacteristic.hpp:94
double psi_b
Definition SoilCharacteristic.hpp:96
double theta_s
Definition SoilCharacteristic.hpp:93
double vg_L
Definition SoilCharacteristic.hpp:99
double lambda
Definition SoilCharacteristic.hpp:97