19#ifndef OPENSWMM_ENGINE_POLLUTANT_DATA_HPP
20#define OPENSWMM_ENGINE_POLLUTANT_DATA_HPP
71 std::vector<double>
mwt;
172 const auto un =
static_cast<std::size_t
>(n);
177 c_gw.assign(un, 0.0);
194 const auto np =
static_cast<std::size_t
>(
n_pollutants());
195 node_conc.assign(
static_cast<std::size_t
>(n_nodes) * np, 0.0);
196 node_conc_old.assign(
static_cast<std::size_t
>(n_nodes) * np, 0.0);
197 link_conc.assign(
static_cast<std::size_t
>(n_links) * np, 0.0);
198 link_conc_old.assign(
static_cast<std::size_t
>(n_links) * np, 0.0);
199 subcatch_conc.assign(
static_cast<std::size_t
>(n_subcatches) * np, 0.0);
Definition Controls.cpp:24
MassUnits
Pollutant concentration units.
Definition PollutantData.hpp:36
@ MG_PER_L
Milligrams per liter.
@ UG_PER_L
Micrograms per liter.
@ COUNTS_PER_L
Counts per liter (bacteria)
Static properties for each pollutant species.
Definition PollutantData.hpp:55
std::vector< double > link_conc_old
Previous-step quality in each link.
Definition PollutantData.hpp:148
std::vector< double > init_conc
Initial concentration everywhere in the network.
Definition PollutantData.hpp:101
int n_pollutants() const noexcept
Definition PollutantData.hpp:168
void resize_pollutants(int n)
Resize pollutant definition arrays to hold n pollutants.
Definition PollutantData.hpp:171
std::vector< double > c_gw
Groundwater concentration.
Definition PollutantData.hpp:89
std::vector< double > node_conc_old
Previous-step quality at each node.
Definition PollutantData.hpp:134
void save_quality_state() noexcept
Definition PollutantData.hpp:203
std::vector< double > subcatch_conc_old
Previous-step quality in subcatchment runoff.
Definition PollutantData.hpp:162
std::vector< int > co_pollut
Co-pollutant index (-1 if none).
Definition PollutantData.hpp:108
std::vector< double > c_rain
Rain concentration (project mass/volume units).
Definition PollutantData.hpp:83
std::vector< double > link_conc
Current quality concentration in each link.
Definition PollutantData.hpp:145
std::vector< double > mwt
Molecular weight (g/mol). Used for unit conversions.
Definition PollutantData.hpp:71
std::vector< double > k_decay
First-order decay coefficient (1/day).
Definition PollutantData.hpp:77
std::vector< bool > snow_only
True if the pollutant should be printed in output.
Definition PollutantData.hpp:120
void reset_quality_state() noexcept
Definition PollutantData.hpp:209
std::vector< double > c_rdii
RDII concentration.
Definition PollutantData.hpp:95
void resize_quality(int n_nodes, int n_links, int n_subcatches)
Allocate per-object quality arrays.
Definition PollutantData.hpp:193
std::vector< MassUnits > units
Concentration units for each pollutant.
Definition PollutantData.hpp:65
std::vector< double > subcatch_conc
Current quality concentration in subcatchment runoff.
Definition PollutantData.hpp:159
std::vector< double > co_frac
Co-fraction (fraction of co-pollutant concentration).
Definition PollutantData.hpp:114
std::vector< double > node_conc
Current quality concentration at each node.
Definition PollutantData.hpp:131