OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
openswmm::surfacespecies::Block Struct Reference

#include <SurfaceSpeciesKernel.hpp>

Collaboration diagram for openswmm::surfacespecies::Block:

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
 

Detailed Description

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.

Member Function Documentation

◆ bu_idx()

std::size_t openswmm::surfacespecies::Block::bu_idx ( int sc,
int lu,
int s ) const
inlinenoexcept

Flatten a prepared subcatchment/landuse/species buildup coordinate.

Parameters
[in]scValid nonnegative zero-based subcatchment index.
[in]luValid landuse index below nlu.
[in]sValid species index below n.
Returns
(sc*nlu+lu)*n+s as size_t. Caller ensures product fits int for nlu*n intermediate and valid dimensions; no bounds/overflow validation, allocation or state mutation.

Member Data Documentation

◆ bu_params

const std::vector<landuse::BuildupParams>* openswmm::surfacespecies::Block::bu_params = nullptr

[lu*n + s]

◆ buildup

std::vector<double>* openswmm::surfacespecies::Block::buildup = nullptr

[(sc*nlu + lu)*n + s], per normalizer unit

◆ c_rain

const std::vector<double>* openswmm::surfacespecies::Block::c_rain = nullptr

[s] rainfall concentration

◆ co_frac

const std::vector<double>* openswmm::surfacespecies::Block::co_frac = nullptr

[s] or null

◆ co_pollut

const std::vector<int>* openswmm::surfacespecies::Block::co_pollut = nullptr

[s] or null

◆ conc

std::vector<double>* openswmm::surfacespecies::Block::conc = nullptr

[sc*n + s], washoff concentration

◆ led_bmp_removal

std::vector<double>* openswmm::surfacespecies::Block::led_bmp_removal = nullptr

◆ led_infil_loss

std::vector<double>* openswmm::surfacespecies::Block::led_infil_loss = nullptr

◆ led_ponded_lost

std::vector<double>* openswmm::surfacespecies::Block::led_ponded_lost = nullptr

ponded mass written off when dry

◆ led_runoff_load

std::vector<double>* openswmm::surfacespecies::Block::led_runoff_load = nullptr

◆ led_surface_buildup

std::vector<double>* openswmm::surfacespecies::Block::led_surface_buildup = nullptr

◆ led_sweeping

std::vector<double>* openswmm::surfacespecies::Block::led_sweeping = nullptr

◆ led_wet_deposition

std::vector<double>* openswmm::surfacespecies::Block::led_wet_deposition = nullptr

◆ lid_reactor_mask

const std::vector<uint8_t>* openswmm::surfacespecies::Block::lid_reactor_mask = nullptr

◆ mcf

const std::vector<double>* openswmm::surfacespecies::Block::mcf = nullptr

[s] concentration mass -> user mass

◆ n

int openswmm::surfacespecies::Block::n = 0

species in the family

◆ nlu

int openswmm::surfacespecies::Block::nlu = 0

land uses

◆ ponded_qual

std::vector<double>* openswmm::surfacespecies::Block::ponded_qual = nullptr

[sc*n + s], concentration mass

◆ ponded_reacted_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.

◆ ponded_reactor_mask

const std::vector<uint8_t>* openswmm::surfacespecies::Block::ponded_reactor_mask = nullptr

◆ runon_qual_rate

std::vector<double>* openswmm::surfacespecies::Block::runon_qual_rate = nullptr

[sc*n + s], concentration mass / s

◆ snow_only

const std::vector<bool>* openswmm::surfacespecies::Block::snow_only = nullptr

[s]

◆ sweep_now

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.

◆ sweep_removal

const std::vector<double>* openswmm::surfacespecies::Block::sweep_removal = nullptr

◆ total_load

std::vector<double>* openswmm::surfacespecies::Block::total_load = nullptr

[sc*n + s], user mass

◆ wo_params

const std::vector<landuse::WashoffParams>* openswmm::surfacespecies::Block::wo_params = nullptr

[lu*n + s]


The documentation for this struct was generated from the following file: