38#ifndef OPENSWMM_ENGINE_DATA_LIDLAYERSPECIESDATA_HPP
39#define OPENSWMM_ENGINE_DATA_LIDLAYERSPECIESDATA_HPP
111 return (
static_cast<std::size_t
>(unit) *
kLayerCount +
112 static_cast<std::size_t
>(layer)) *
114 static_cast<std::size_t
>(species);
123 void resize(
int units,
int species,
const std::vector<int>& offsets) {
127 const auto n_layers =
static_cast<std::size_t
>(units) *
129 value.assign(n_layers *
static_cast<std::size_t
>(species), 0.0);
131 drain_value.assign(
static_cast<std::size_t
>(units) *
132 static_cast<std::size_t
>(species), 0.0);
134 static_cast<std::size_t
>(species), 0.0);
152 void ensureSized(
int units,
int species,
const std::vector<int>& offsets) {
153 const auto want =
static_cast<std::size_t
>(units) *
155 static_cast<std::size_t
>(species);
158 resize(units, species, offsets);
Definition NodeCoupling.cpp:16
LidLayer
Definition LidLayerSpeciesData.hpp:52
@ PAVEMENT
Definition LidLayerSpeciesData.hpp:54
@ SURFACE
Definition LidLayerSpeciesData.hpp:53
@ SOIL
Definition LidLayerSpeciesData.hpp:55
@ COUNT_
Definition LidLayerSpeciesData.hpp:57
@ STORAGE
Definition LidLayerSpeciesData.hpp:56
LidSpecies
Species rows carried on the LID layers.
Definition LidLayerSpeciesData.hpp:61
@ AGE
Definition LidLayerSpeciesData.hpp:62
@ TEMPERATURE
Definition LidLayerSpeciesData.hpp:65
@ COUNT_
Definition HeatData.hpp:80
Per-(unit, layer, species) state for every LID unit in the model.
Definition LidLayerSpeciesData.hpp:77
void resize(int units, int species, const std::vector< int > &offsets)
Definition LidLayerSpeciesData.hpp:123
static constexpr int kLayerCount
Definition LidLayerSpeciesData.hpp:106
std::vector< int > group_offset
Definition LidLayerSpeciesData.hpp:83
int n_units
Definition LidLayerSpeciesData.hpp:78
std::vector< double > vol_prev
Definition LidLayerSpeciesData.hpp:93
int n_species
Definition LidLayerSpeciesData.hpp:79
bool active() const noexcept
Definition LidLayerSpeciesData.hpp:108
std::vector< double > drain_value
Definition LidLayerSpeciesData.hpp:98
std::vector< double > value
[(unit * kLayerCount + layer) * n_species + species]
Definition LidLayerSpeciesData.hpp:86
void ensureSized(int units, int species, const std::vector< int > &offsets)
Size the block if it is not already the requested shape.
Definition LidLayerSpeciesData.hpp:152
std::vector< double > inflow_value
Definition LidLayerSpeciesData.hpp:104
std::size_t layer_index(int unit, LidLayer layer, int species) const noexcept
Definition LidLayerSpeciesData.hpp:110
void clear()
Definition LidLayerSpeciesData.hpp:161