16#ifndef OPENSWMM_ENGINE_QUALITY_DATA_HPP
17#define OPENSWMM_ENGINE_QUALITY_DATA_HPP
21#include "../quality/Treatment.hpp"
44 auto un =
static_cast<std::size_t
>(n);
76 auto total =
static_cast<std::size_t
>(nlu) *
77 static_cast<std::size_t
>(npoll);
111 auto total =
static_cast<std::size_t
>(nlu) *
112 static_cast<std::size_t
>(npoll);
114 coeff.assign(total, 0.0);
115 expon.assign(total, 0.0);
122 coeff.shrink_to_fit();
123 expon.shrink_to_fit();
141 std::vector<openswmm::treatment::TreatExpr>
compiled;
155 auto total =
static_cast<std::size_t
>(nn * npoll);
159 cin.assign(
static_cast<std::size_t
>(npoll), 0.0);
160 removal.assign(
static_cast<std::size_t
>(npoll), -1.0);
169 for (
const auto& e :
expressions)
if (!e.empty())
return true;
Definition NodeCoupling.cpp:15
Definition QualityData.hpp:63
int n_pollutants
Definition QualityData.hpp:72
std::vector< int > func_type
Index: [landuse * n_pollutants + pollutant].
Definition QualityData.hpp:65
void shrink_to_fit()
Definition QualityData.hpp:85
int n_landuses
Definition QualityData.hpp:71
std::vector< double > coeff2
Definition QualityData.hpp:67
void resize(int nlu, int npoll)
Definition QualityData.hpp:74
std::vector< double > coeff1
Definition QualityData.hpp:66
std::vector< double > coeff3
Definition QualityData.hpp:68
std::vector< int > normalizer
0=PER_AREA, 1=PER_CURB
Definition QualityData.hpp:69
Definition QualityData.hpp:29
std::vector< std::string > comments
Object comment from the INP file (';'-prefixed lines immediately above this landuse's data row),...
Definition QualityData.hpp:41
int count() const
Definition QualityData.hpp:30
void resize(int n)
Definition QualityData.hpp:43
std::vector< double > sweep_interval
Days between sweeps.
Definition QualityData.hpp:32
std::vector< double > last_swept
Days since last swept.
Definition QualityData.hpp:34
void shrink_to_fit()
Definition QualityData.hpp:51
std::vector< double > sweep_removal
Max removal fraction (0-100)
Definition QualityData.hpp:33
Definition QualityData.hpp:133
std::vector< std::string > expressions
Index: [node * n_pollutants + pollutant].
Definition QualityData.hpp:135
int n_nodes
Definition QualityData.hpp:137
std::vector< double > removal
Definition QualityData.hpp:151
void resize(int nn, int npoll)
Definition QualityData.hpp:153
std::vector< openswmm::treatment::TreatExpr > compiled
Compiled treatment expressions (same indexing as expressions[])
Definition QualityData.hpp:141
void shrink_to_fit()
Definition QualityData.hpp:163
std::vector< bool > has_treatment
Per-node flag: true if any pollutant has a treatment expression.
Definition QualityData.hpp:144
std::vector< double > cin
Per-node inflow concentrations (size = n_pollutants, reused each timestep)
Definition QualityData.hpp:147
bool hasAny() const
Definition QualityData.hpp:168
int n_pollutants
Definition QualityData.hpp:138
Definition QualityData.hpp:98
std::vector< double > sweep_effic
0-100
Definition QualityData.hpp:103
int n_pollutants
Definition QualityData.hpp:107
std::vector< double > expon
Definition QualityData.hpp:102
std::vector< int > func_type
Index: [landuse * n_pollutants + pollutant].
Definition QualityData.hpp:100
std::vector< double > bmp_effic
0-100
Definition QualityData.hpp:104
std::vector< double > coeff
Definition QualityData.hpp:101
void resize(int nlu, int npoll)
Definition QualityData.hpp:109
int n_landuses
Definition QualityData.hpp:106
void shrink_to_fit()
Definition QualityData.hpp:120