![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Mesh thermal state, including bed energy retained through surface drying. More...
#include "core/ProcessPerf.hpp"#include "MeshHeat.hpp"#include "../data/MeshData.hpp"#include "../data/SurfaceStateData.hpp"#include "../data/SolverOptions2D.hpp"#include "../solver/InertialKernels.hpp"#include "../subsurface/SubsurfaceData.hpp"#include "../../data/LidNodeData.hpp"#include "../gw/GwTransportData.hpp"#include "../../core/SimulationContext.hpp"#include "../../transport/components/HeatFluxModules/BedExchange.hpp"#include "../../transport/components/HeatFluxModules/SurfaceExchange.hpp"#include "../../transport/components/HeatFluxModules/RadiativeExchange.hpp"#include "../../transport/components/HeatFluxModules/HeatOverrides.hpp"#include "../../transport/components/HeatFluxModules/SolarRadiation.hpp"#include <algorithm>#include <cmath>#include <set>#include <sstream>#include <stdexcept>Namespaces | |
| namespace | openswmm |
| namespace | openswmm::twoD |
Functions | |
| GroundColumnAssembly | openswmm::twoD::appendGroundColumnSystem (const MeshData &mesh, const SolverOptions2D &options, GroundHeatState &owner, int i, MeshHeatState *h, double mass, double volume, double evaporated, double dt, double channel_area, std::vector< ThermalStore > &stores, std::vector< ThermalContact > &contacts, std::vector< ThermalBoundary > &boundaries) |
| Append one physical column and its finite surface/LID contacts to a shared thermal graph. | |
| double | openswmm::twoD::commitGroundColumnSystem (GroundColumnAssembly &a, const ThermalSolution &solved) noexcept |
| Publish an accepted shared thermal solution into one assembly's canonical owners. | |
| std::string | openswmm::twoD::initializeMeshHeat (SimulationContext &ctx, const MeshData &mesh, SurfaceStateData &state, const SolverOptions2D &options, GroundHeatState *aquifer, const std::vector< uint8_t > *coverage) |
| Prepare optional surface thermal stores, porewater and physical ground ownership. | |
| std::string | openswmm::twoD::configureGroundLidOwners (SimulationContext &ctx, const MeshData &mesh, GroundHeatState &owner, const std::vector< GwNodeBed > &beds) |
| Map persistent Mesh Richards LID thermal owners onto physical ground cells. | |
| double | openswmm::twoD::applyLocalBedSpecies (const MeshData &mesh, MeshHeatState &h, int i, int r, double mass, double volume, double dt) noexcept |
| Exchange one native surface row with finite bed porewater. | |
| double | openswmm::twoD::applyLocalBedSpeciesEuler (const MeshData &mesh, MeshHeatState &h, int i, int r, double mass, double volume, double dt) |
| Exchange one native surface row with finite bed porewater for an Euler RK2 stage. | |
| bool | openswmm::twoD::ageLocalBedPorewater (MeshHeatState &h, double dt) noexcept |
| Advance the local-storage porewater age inventory without altering water volume. | |
| void | openswmm::twoD::advectStandaloneGround (MeshHeatState &h, int i, double volume, double donor) noexcept |
| Carry accepted infiltration heat through a standalone saturated physical soil column. | |
| void | openswmm::twoD::prepareMeshHeat (SimulationContext &ctx, SurfaceStateData &state, double dt) |
| Prepare inherited exchange flags, weather and fresh per-cell thermal interval accounting. | |
| double | openswmm::twoD::applyMeshHeatCell (const MeshData &mesh, const SolverOptions2D &options, MeshHeatState &h, int i, double mass, double volume, double evaporated, double dt, bool midpoint) noexcept |
| Update one mixed surface thermal sample before accepted intensive water sinks. | |
| void | openswmm::twoD::advanceRemainingGroundColumns (const MeshData &mesh, const SolverOptions2D &options, SurfaceStateData &state, double seconds) noexcept |
| Complete each surface-owned physical ground column's unprocessed router interval. | |
Mesh thermal state, including bed energy retained through surface drying.