86 const std::vector<double>& saturated_mass,
87 const std::vector<double>& unsaturated_mass,
88 const std::vector<double>& kd,
int age,
int temperature);
102 std::pair<std::vector<double>, std::vector<double>>
121 const std::vector<double>& saturated_water,
122 int species)
const noexcept;
160 bool canReserveOutgoing(
int species, std::size_t layer,
double amount)
const noexcept;
172 bool reserveOutgoing(
int species, std::size_t layer,
double amount)
noexcept;
200 double increment)
const noexcept;
Local thermal equilibrium in porous ground layers.
Derived overlap mapping for canonical sigma-layer porewater chemistry.
Definition ExchangeLaw.hpp:60
Definition GroundPorewater.hpp:20
bool settleOutgoingReservation(int species, std::size_t layer, double amount) noexcept
Release a queued outgoing reservation after its owning gather has consumed the packet.
Definition GroundPorewater.cpp:280
bool canReserveOutgoing(int species, std::size_t layer, double amount) const noexcept
Preflight an outgoing reservation against unreserved canonical mass.
Definition GroundPorewater.cpp:244
SigmaPorewaterMap sigma
Definition GroundPorewater.hpp:27
std::vector< double > reserved_out
Definition GroundPorewater.hpp:26
void refreshSigmaView()
Rebuild physical-layer mass and reservation views from an active SIGMA overlap map.
Definition GroundPorewater.cpp:344
int temp_row
Definition GroundPorewater.hpp:21
bool generateAge(const PorousHeatColumn &, double seconds) noexcept
Add elapsed water age to every physical layer and its generation ledger.
Definition GroundPorewater.cpp:192
std::vector< double > initial_mass
Definition GroundPorewater.hpp:26
std::pair< std::vector< double >, std::vector< double > > zoneMasses(const PorousHeatColumn &, const std::vector< double > &saturated_water) const
Derive saturated and unsaturated totals without creating another inventory.
Definition GroundPorewater.cpp:140
std::pair< double, double > zoneMass(const PorousHeatColumn &, const std::vector< double > &saturated_water, int species) const noexcept
Derive one species' saturated/unsaturated split from physical-layer mass.
Definition GroundPorewater.cpp:164
bool canApplyContactMassIncrement(int species, std::size_t layer, double increment) const noexcept
Preflight a signed contact receipt without spending reserved outgoing inventory.
Definition GroundPorewater.cpp:301
bool active() const noexcept
Test whether at least one species row is configured.
Definition GroundPorewater.hpp:57
std::vector< double > retention
Definition GroundPorewater.hpp:26
double contactAvailableMass(int species, std::size_t layer) const noexcept
Read unreserved physical-layer inventory available to a finite contact.
Definition GroundPorewater.cpp:221
std::string initialize(const PorousHeatColumn &, const std::vector< double > &saturated_water, const std::vector< double > &saturated_mass, const std::vector< double > &unsaturated_mass, const std::vector< double > &kd, int age, int temperature)
Seed canonical physical-layer species inventories from saturated/unsaturated totals.
Definition GroundPorewater.cpp:63
int n_species
Definition GroundPorewater.hpp:21
std::vector< double > contact_mass
Definition GroundPorewater.hpp:26
std::vector< double > mass
Definition GroundPorewater.hpp:26
std::string publishSigma(SubsurfaceTransportState &, int cell)
Publish pending SIGMA contact receipts and refresh the derived physical-layer views.
Definition GroundPorewater.cpp:368
int age_row
Definition GroundPorewater.hpp:21
bool applyContactMassIncrement(int species, std::size_t layer, double increment) noexcept
Apply a signed finite-contact receipt to the physical layer and optional SIGMA view.
Definition GroundPorewater.cpp:324
bool reserveOutgoing(int species, std::size_t layer, double amount) noexcept
Reserve accepted outgoing inventory without subtracting its canonical mass.
Definition GroundPorewater.cpp:261
std::vector< double > generated_age
Definition GroundPorewater.hpp:26
Definition PorousHeat.hpp:148
Definition SigmaPorewaterMap.hpp:20
Species mass in both aquifer zones, and where mass crossed a boundary.
Definition SubsurfaceTransportState.hpp:69