47#ifndef OPENSWMM_LANDUSE_HPP
48#define OPENSWMM_LANDUSE_HPP
112 std::size_t
bu_idx(
int sc,
int lu,
int p)
const {
114 static_cast<std::size_t
>(lu) *
static_cast<std::size_t
>(
n_pollutants) +
115 static_cast<std::size_t
>(p);
118 void resize(
int n_sc,
int n_lu,
int n_poll);
127 void init(
int n_landuses,
int n_pollutants);
147 double dt,
int n_subcatch);
173 const int* co_pollut,
const double* co_frac,
int n_subcatch);
Definition Landuse.hpp:125
void computeBuildup(SurfaceQualitySoA &sq, const double *area, const double *curb_length, double dt, int n_subcatch)
Batch compute buildup for all subcatchments.
Definition Landuse.cpp:149
void applyCoPollutant(SurfaceQualitySoA &sq, const double *runoff, const double *area, const int *co_pollut, const double *co_frac, int n_subcatch)
Apply co-pollutant washoff fractions.
Definition Landuse.cpp:248
void computeWashoff(SurfaceQualitySoA &sq, const double *runoff, const double *area, int n_subcatch)
Batch compute washoff for all subcatchments.
Definition Landuse.cpp:187
std::vector< BuildupParams > buildup_params
Per (landuse × pollutant) parameters. Index: [lu * n_pollutants + p].
Definition Landuse.hpp:176
int n_pollutants_
Definition Landuse.hpp:179
void init(int n_landuses, int n_pollutants)
Set solver counts and resize landuse/pollutant parameter tables.
Definition Landuse.cpp:62
int n_landuses_
Definition Landuse.hpp:178
std::vector< WashoffParams > washoff_params
Definition Landuse.hpp:177
Definition Landuse.cpp:33
WashoffType
Definition Landuse.hpp:64
@ EMC
Definition Landuse.hpp:64
@ NONE
Definition Landuse.hpp:64
@ RATING
Definition Landuse.hpp:64
BuildupType
Definition Landuse.hpp:62
@ EXTERNAL
Definition Landuse.hpp:62
@ EXPON
Definition Landuse.hpp:62
@ NONE
Definition Landuse.hpp:62
@ POWER
Definition Landuse.hpp:62
@ SATUR
Definition Landuse.hpp:62
Definition ExplicitInertialSolver.hpp:68
Definition ExchangeLaw.hpp:60
Central, reentrant simulation context.
Definition SimulationContext.hpp:390
Definition Landuse.hpp:70
double max_days
Time to reach max buildup.
Definition Landuse.hpp:73
BuildupType type
Definition Landuse.hpp:71
int normalizer
0=PER_AREA, 1=PER_CURB
Definition Landuse.hpp:74
double coeff[3]
c0 (max), c1 (rate), c2 (exponent)
Definition Landuse.hpp:72
Definition Landuse.hpp:89
std::vector< double > buildup
Definition Landuse.hpp:96
std::size_t bu_idx(int sc, int lu, int p) const
Index into buildup array for (subcatch, landuse, pollutant)
Definition Landuse.hpp:112
std::vector< double > washoff_conc
Washoff concentration [subcatch * n_pollutants + pollutant] (mass/vol)
Definition Landuse.hpp:99
void resize(int n_sc, int n_lu, int n_poll)
Reset surface quality storage to requested subcatchment/landuse/pollutant dimensions.
Definition Landuse.cpp:46
int n_subcatch
Definition Landuse.hpp:90
int n_pollutants
Definition Landuse.hpp:92
int n_landuses
Definition Landuse.hpp:91
Definition Landuse.hpp:77
double expon
Washoff exponent.
Definition Landuse.hpp:80
double bmp_effic
BMP removal [0-1].
Definition Landuse.hpp:82
WashoffType type
Definition Landuse.hpp:78
double sweep_effic
Street sweep removal [0-1].
Definition Landuse.hpp:81
double coeff
Washoff coefficient.
Definition Landuse.hpp:79