63 std::array<GasSpecies, GAS_MAX_SPECIES>
species = {};
93 std::array<uint64_t, GAS_MAX_SPECIES>
amounts = {};
110 std::array<int64_t, GAS_MAX_SPECIES>
amounts = {};
116 std::array<uint64_t, GAS_MAX_SPECIES>
amounts = {};
134 [[nodiscard]] uint32_t
Index(uint32_t x, uint32_t y, uint32_t z)
const {
142 [[nodiscard]] GasCell
MakeGasCell(
const GasConfig& config, std::span<const uint64_t> amounts,
143 uint32_t temperatureMilliKelvin);
147 std::span<const uint32_t> fractionsQ32,
148 uint32_t temperatureMilliKelvin,
149 uint64_t surfacePressureMicroPascal);
152 [[nodiscard]] GasBox
MakeGasBox(
const GasConfig& config, std::vector<GasCell> reference);
155 [[nodiscard]] GasDerived
DeriveGasCell(
const GasBox& box,
const GasCell& cell, uint32_t z);
158 [[nodiscard]] int64_t
GasVelocity(
const GasBox& box,
const GasCell& cell, uint32_t axis);
163 [[nodiscard]] GasTotals
SumGas(
const GasBox& box);
166 [[nodiscard]] uint64_t
HashGas(
const GasBox& box);
GasDerived DeriveGasCell(const GasBox &box, const GasCell &cell, uint32_t z)
GasCoefficients MakeGasCoefficients(const GasConfig &config)
uint64_t HashGas(const GasBox &box)
int64_t GasVelocity(const GasBox &box, const GasCell &cell, uint32_t axis)
constexpr uint32_t GAS_AXES
void StepGas(GasBox &box)
GasBox MakeGasBox(const GasConfig &config, std::vector< GasCell > reference)
GasTotals SumGas(const GasBox &box)
std::vector< GasCell > MakeHydrostaticReference(const GasConfig &config, std::span< const uint32_t > fractionsQ32, uint32_t temperatureMilliKelvin, uint64_t surfacePressureMicroPascal)
GasCell MakeGasCell(const GasConfig &config, std::span< const uint64_t > amounts, uint32_t temperatureMilliKelvin)
constexpr uint32_t GAS_MAX_SPECIES
uint32_t Index(uint32_t x, uint32_t y, uint32_t z) const
std::vector< GasCell > reference
std::vector< GasCell > ghost
std::vector< GasCell > cells
std::vector< GasDerived > referenceDerived
GasCoefficients coefficients
std::array< uint64_t, GAS_MAX_SPECIES > amounts
std::array< int64_t, GAS_AXES > momentum
std::array< uint64_t, GAS_MAX_SPECIES > massPerAmount
uint32_t soundTemperature
std::array< GasBoundary, GAS_AXES > boundary
std::array< int32_t, GAS_AXES > windVelocity
uint32_t soundSpeedMmPerS
GasReconstruction reconstruction
std::array< GasSpecies, GAS_MAX_SPECIES > species
std::array< int64_t, GAS_MAX_SPECIES > amounts
std::array< int64_t, GAS_AXES > momentum
std::array< int64_t, GAS_AXES > momentum
std::array< uint64_t, GAS_MAX_SPECIES > amounts