![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
#include <SurfaceSpeciesKernel.hpp>
Public Member Functions | |
| std::size_t | bu_idx (int sc, int lu, int s) const noexcept |
| Flatten a prepared subcatchment/landuse/species buildup coordinate. | |
Public Attributes | |
| int | n = 0 |
| species in the family | |
| int | nlu = 0 |
| land uses | |
| const std::vector< landuse::BuildupParams > * | bu_params = nullptr |
| [lu*n + s] | |
| const std::vector< landuse::WashoffParams > * | wo_params = nullptr |
| [lu*n + s] | |
| std::vector< double > * | buildup = nullptr |
| [(sc*nlu + lu)*n + s], per normalizer unit | |
| std::vector< double > * | conc = nullptr |
| const std::vector< double > * | ponded_reacted_mass = nullptr |
| const std::vector< uint8_t > * | ponded_reactor_mask = nullptr |
| const std::vector< uint8_t > * | lid_reactor_mask = nullptr |
| std::vector< double > * | ponded_qual = nullptr |
| [sc*n + s], concentration mass | |
| std::vector< double > * | runon_qual_rate = nullptr |
| [sc*n + s], concentration mass / s | |
| std::vector< double > * | total_load = nullptr |
| [sc*n + s], user mass | |
| const std::vector< double > * | mcf = nullptr |
| [s] concentration mass -> user mass | |
| const std::vector< double > * | c_rain = nullptr |
| [s] rainfall concentration | |
| const std::vector< bool > * | snow_only = nullptr |
| [s] | |
| const std::vector< int > * | co_pollut = nullptr |
| [s] or null | |
| const std::vector< double > * | co_frac = nullptr |
| [s] or null | |
| std::vector< double > * | led_surface_buildup = nullptr |
| std::vector< double > * | led_wet_deposition = nullptr |
| std::vector< double > * | led_bmp_removal = nullptr |
| std::vector< double > * | led_infil_loss = nullptr |
| std::vector< double > * | led_runoff_load = nullptr |
| std::vector< double > * | led_sweeping = nullptr |
| std::vector< double > * | led_ponded_lost = nullptr |
| const std::vector< unsigned char > * | sweep_now = nullptr |
| const std::vector< double > * | sweep_removal = nullptr |
The arrays one species family keeps, sized for n species. Every pointer used by an active path must be nonnull. Co-pollutant, reacted-pool/mask, LID-reactor and sweeping fields are optional according to their field contracts.
|
inlinenoexcept |
Flatten a prepared subcatchment/landuse/species buildup coordinate.
| [in] | sc | Valid nonnegative zero-based subcatchment index. |
| [in] | lu | Valid landuse index below nlu. |
| [in] | s | Valid species index below n. |
| const std::vector<landuse::BuildupParams>* openswmm::surfacespecies::Block::bu_params = nullptr |
[lu*n + s]
| std::vector<double>* openswmm::surfacespecies::Block::buildup = nullptr |
[(sc*nlu + lu)*n + s], per normalizer unit
| const std::vector<double>* openswmm::surfacespecies::Block::c_rain = nullptr |
[s] rainfall concentration
| const std::vector<double>* openswmm::surfacespecies::Block::co_frac = nullptr |
[s] or null
| const std::vector<int>* openswmm::surfacespecies::Block::co_pollut = nullptr |
[s] or null
| std::vector<double>* openswmm::surfacespecies::Block::conc = nullptr |
[sc*n + s], washoff concentration
| std::vector<double>* openswmm::surfacespecies::Block::led_bmp_removal = nullptr |
| std::vector<double>* openswmm::surfacespecies::Block::led_infil_loss = nullptr |
| std::vector<double>* openswmm::surfacespecies::Block::led_ponded_lost = nullptr |
ponded mass written off when dry
| std::vector<double>* openswmm::surfacespecies::Block::led_runoff_load = nullptr |
| std::vector<double>* openswmm::surfacespecies::Block::led_surface_buildup = nullptr |
| std::vector<double>* openswmm::surfacespecies::Block::led_sweeping = nullptr |
| std::vector<double>* openswmm::surfacespecies::Block::led_wet_deposition = nullptr |
| const std::vector<uint8_t>* openswmm::surfacespecies::Block::lid_reactor_mask = nullptr |
| const std::vector<double>* openswmm::surfacespecies::Block::mcf = nullptr |
[s] concentration mass -> user mass
| int openswmm::surfacespecies::Block::n = 0 |
species in the family
| int openswmm::surfacespecies::Block::nlu = 0 |
land uses
| std::vector<double>* openswmm::surfacespecies::Block::ponded_qual = nullptr |
[sc*n + s], concentration mass
| const std::vector<double>* openswmm::surfacespecies::Block::ponded_reacted_mass = nullptr |
Optional reacted pool mass [sc*n+s], declared mass units. Its presence opts into conservative residual-mass storage; pollutants and species without explicit subcatchment laws retain legacy closure.
| const std::vector<uint8_t>* openswmm::surfacespecies::Block::ponded_reactor_mask = nullptr |
| std::vector<double>* openswmm::surfacespecies::Block::runon_qual_rate = nullptr |
[sc*n + s], concentration mass / s
| const std::vector<bool>* openswmm::surfacespecies::Block::snow_only = nullptr |
[s]
| const std::vector<unsigned char>* openswmm::surfacespecies::Block::sweep_now = nullptr |
Street sweeping this step: [sc * nlu + lu] events (shared by every family, SubcatchData::sweep_now) and the land use's removal fraction.
| const std::vector<double>* openswmm::surfacespecies::Block::sweep_removal = nullptr |
| std::vector<double>* openswmm::surfacespecies::Block::total_load = nullptr |
[sc*n + s], user mass
| const std::vector<landuse::WashoffParams>* openswmm::surfacespecies::Block::wo_params = nullptr |
[lu*n + s]