97#ifndef OPENSWMM_ENGINE_TRANSPORT_BED_EXCHANGE_HPP
98#define OPENSWMM_ENGINE_TRANSPORT_BED_EXCHANGE_HPP
163 double j0,
double j1,
double h,
double area_m2,
188 double vol_b,
double q_exch,
double dt)
noexcept;
206 double vol_ft3,
double t_gr)
noexcept;
226 double bed_m2,
double vol_ft3,
227 double t_gr)
noexcept;
236 double t_gr_global)
noexcept;
295 int n_arr,
int offset,
int n_total,
double dt);
Plan H6b — the bed / hyporheic transient-storage zone.
Definition BedExchange.cpp:37
PairStep relaxPair(const BedCoupling &g, double t_w, double t_b, double j0, double j1, double h, double area_m2, double dt) noexcept
One exact step of the coupled (water, bed) pair.
Definition BedExchange.cpp:81
double groundTempFor(const SimulationContext &ctx, const SedimentConfig &sc, double t_gr_global) noexcept
Definition BedExchange.cpp:241
double groundTemperature(SimulationContext &ctx) noexcept
Definition BedExchange.cpp:180
double bedExchangeQ(const SedimentConfig &cfg, double bed_m2) noexcept
Definition BedExchange.cpp:235
BedCoupling bedCouplingFromContact(const SimulationContext &ctx, const SedimentConfig &sc, double bed_m2, double vol_ft3, double t_gr) noexcept
The material half of the coupling, geometry already folded in.
Definition BedExchange.cpp:251
double linkBedAreaM2(const SimulationContext &ctx, int link) noexcept
Definition BedExchange.cpp:189
bool bedExchangeEnabled(const SimulationContext &ctx) noexcept
True when [HEAT_FLUXES] SEDIMENT_EXCHANGE is on and heat transport is.
Definition BedExchange.cpp:176
BedCoupling bedCouplingForLink(const SimulationContext &ctx, int link, double vol_ft3, double t_gr) noexcept
Bed conductances for link j from the deck configuration and the link's current hydraulics.
Definition BedExchange.cpp:283
SolutePairStep exchangePair(double c_w, double c_b, double vol_w, double vol_b, double q_exch, double dt) noexcept
One exact step of the two-body solute exchange.
Definition BedExchange.cpp:149
void applyBedSoluteExchange(SimulationContext &ctx, double *link_conc, int n_arr, int offset, int n_total, double dt)
Step every conduit's bed/channel solute exchange for one dt.
Definition BedExchange.cpp:324
void seedBedTemperature(SimulationContext &ctx)
Size and seed the bed temperature array, idempotently.
Definition BedExchange.cpp:296
double linkFreeSurfaceFt2(const SimulationContext &ctx, int link) noexcept
Definition BedExchange.cpp:217
Definition NodeCoupling.cpp:16
[SEDIMENT_EXCHANGE] — the bed zone's material and geometry.
Definition BedZoneData.hpp:88
Central, reentrant simulation context.
Definition SimulationContext.hpp:353
One element's bed coupling, fully reduced to SI conductances.
Definition BedExchange.hpp:117
double c_b
Bed heat capacity, J/K.
Definition BedExchange.hpp:121
bool viable() const noexcept
True when the pair is worth stepping at all.
Definition BedExchange.hpp:125
double g_bg
Bed<->deep-ground conductance, W/K.
Definition BedExchange.hpp:119
double g_wb
Water<->bed conductance, W/K (conduction + advection)
Definition BedExchange.hpp:118
double t_gr
Deep-ground temperature, °C.
Definition BedExchange.hpp:122
double c_w
Water heat capacity, J/K.
Definition BedExchange.hpp:120
Simultaneous temperature increments for the coupled pair, °C.
Definition BedExchange.hpp:129
double dt_b
Bed.
Definition BedExchange.hpp:131
double dt_w
Channel water.
Definition BedExchange.hpp:130
Simultaneous concentration increments for the coupled pair.
Definition BedExchange.hpp:167
double dc_b
Bed water.
Definition BedExchange.hpp:169
double dc_w
Channel water.
Definition BedExchange.hpp:168