#include <Landuse.hpp>
|
| void | init (int n_landuses, int n_pollutants) |
| |
| void | computeBuildup (SurfaceQualitySoA &sq, const double *area, const double *curb_length, double dt, int n_subcatch) |
| | Batch compute buildup for all subcatchments.
|
| |
| void | computeWashoff (SurfaceQualitySoA &sq, const double *runoff, const double *area, int n_subcatch) |
| | Batch compute washoff for all subcatchments.
|
| |
◆ computeBuildup()
| void openswmm::landuse::LanduseSolver::computeBuildup |
( |
SurfaceQualitySoA & |
sq, |
|
|
const double * |
area, |
|
|
const double * |
curb_length, |
|
|
double |
dt, |
|
|
int |
n_subcatch |
|
) |
| |
Batch compute buildup for all subcatchments.
For each (subcatch, pollutant):
- Convert current buildup to equivalent days (inverse function)
- Add timestep: days += dt / 86400
- Recompute buildup mass (forward function) All three steps are vectorisable (pow/exp/division).
◆ computeWashoff()
| void openswmm::landuse::LanduseSolver::computeWashoff |
( |
SurfaceQualitySoA & |
sq, |
|
|
const double * |
runoff, |
|
|
const double * |
area, |
|
|
int |
n_subcatch |
|
) |
| |
Batch compute washoff for all subcatchments.
For each (subcatch, pollutant): EMC: conc = coeff (constant — trivially vectorisable) Exponential: conc = k * Q^n * B / (Q * A) (vectorisable) Rating: conc = k * (Q*A)^(n-1) (vectorisable)
◆ init()
| void openswmm::landuse::LanduseSolver::init |
( |
int |
n_landuses, |
|
|
int |
n_pollutants |
|
) |
| |
◆ buildup_params
| std::vector<BuildupParams> openswmm::landuse::LanduseSolver::buildup_params |
Per (landuse × pollutant) parameters. Index: [lu * n_pollutants + p].
◆ n_landuses_
| int openswmm::landuse::LanduseSolver::n_landuses_ = 0 |
◆ n_pollutants_
| int openswmm::landuse::LanduseSolver::n_pollutants_ = 0 |
◆ washoff_params
| std::vector<WashoffParams> openswmm::landuse::LanduseSolver::washoff_params |
The documentation for this class was generated from the following files:
- /home/runner/work/openswmm.engine/openswmm.engine/src/engine/quality/Landuse.hpp
- /home/runner/work/openswmm.engine/openswmm.engine/src/engine/quality/Landuse.cpp