46#ifndef OPENSWMM_LANDUSE_HPP
47#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);
139 const double* area,
const double* curb_length,
140 double dt,
int n_subcatch);
151 const double*
runoff,
const double* area,
169 const double*
runoff,
const double* area,
170 const int* co_pollut,
const double* co_frac,
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:92
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:166
void computeWashoff(SurfaceQualitySoA &sq, const double *runoff, const double *area, int n_subcatch)
Batch compute washoff for all subcatchments.
Definition Landuse.cpp:114
std::vector< BuildupParams > buildup_params
Per (landuse × pollutant) parameters. Index: [lu * n_pollutants + p].
Definition Landuse.hpp:174
int n_pollutants_
Definition Landuse.hpp:177
void init(int n_landuses, int n_pollutants)
Definition Landuse.cpp:43
int n_landuses_
Definition Landuse.hpp:176
std::vector< WashoffParams > washoff_params
Definition Landuse.hpp:175
Definition Landuse.cpp:33
WashoffType
Definition Landuse.hpp:69
@ EMC
Definition Landuse.hpp:73
@ NONE
Definition Landuse.hpp:70
@ RATING
Definition Landuse.hpp:72
BuildupType
Definition Landuse.hpp:61
@ EXTERNAL
Definition Landuse.hpp:66
@ EXPON
Definition Landuse.hpp:64
@ NONE
Definition Landuse.hpp:62
@ POWER
Definition Landuse.hpp:63
@ SATUR
Definition Landuse.hpp:65
Definition HotStartManager.hpp:90
Definition NodeCoupling.cpp:16
Central, reentrant simulation context.
Definition SimulationContext.hpp:353
Definition Landuse.hpp:80
double max_days
Time to reach max buildup.
Definition Landuse.hpp:83
BuildupType type
Definition Landuse.hpp:81
int normalizer
0=PER_AREA, 1=PER_CURB
Definition Landuse.hpp:84
double coeff[3]
c0 (max), c1 (rate), c2 (exponent)
Definition Landuse.hpp:82
Definition Landuse.hpp:99
std::vector< double > buildup
Definition Landuse.hpp:106
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:109
void resize(int n_sc, int n_lu, int n_poll)
Definition Landuse.cpp:35
int n_subcatch
Definition Landuse.hpp:100
int n_pollutants
Definition Landuse.hpp:102
int n_landuses
Definition Landuse.hpp:101
Definition Landuse.hpp:87
double expon
Washoff exponent.
Definition Landuse.hpp:90
double bmp_effic
BMP removal [0-1].
Definition Landuse.hpp:92
WashoffType type
Definition Landuse.hpp:88
double sweep_effic
Street sweep removal [0-1].
Definition Landuse.hpp:91
double coeff
Washoff coefficient.
Definition Landuse.hpp:89