45 std::vector<std::pair<int, SubsurfaceSolver::NodeWaterBudget>>
budgets;
62 const std::vector<RichardsBedBinding>&);
83 std::vector<RichardsBedStep>
steps;
104 double end,
const std::vector<RichardsBedOwner>&);
122 double start,
double end,
123 const std::vector<RichardsBedOwner>&);
133 std::function<std::string(
134 double,
double,
const std::vector<richards::Column>&,
const std::vector<richards::Report>&,
135 std::vector<std::vector<double>>&, std::vector<std::pair<double, double>>&)>
151 double start,
double end,
152 const std::vector<double>& step_ends,
153 const std::vector<RichardsBedOwner>&,
169 double end,
const std::vector<double>& step_ends,
170 const std::vector<RichardsBedOwner>&,
Richards-equation soil column state and numerical integration.
G-steps 3, 6-12, 16 — the two-zone groundwater kernel: saturated FV update, lateral Darcy,...
The two-zone kernel. Owned by SurfaceRouter2D; driven by the marcher's tier hooks.
Definition SubsurfaceSolver.hpp:128
Definition ExchangeLaw.hpp:60
RichardsBedAcceptance acceptRichardsBedsForTierAcrossSteps(SubsurfaceSolver &gw, SurfaceStateData &surface, int tier, double start, double end, const std::vector< double > &step_ends, const std::vector< RichardsBedOwner > &owners, const RichardsBedStepper *stepper)
Atomically replace one due groundwater tier and its Richards owners across private short steps.
Definition LidNodeExchange.cpp:1161
RichardsBedAcceptance acceptRichardsBedsForTier(SubsurfaceSolver &gw, SurfaceStateData &surface, int tier, double start, double end, const std::vector< RichardsBedOwner > &owners)
Atomically replace one due groundwater tier and its Richards owners over one interval.
Definition LidNodeExchange.cpp:1111
RichardsBedAcceptance acceptRichardsBedsAcrossSteps(SubsurfaceSolver &gw, SurfaceStateData &surface, double start, double end, const std::vector< double > &step_ends, const std::vector< RichardsBedOwner > &input, const RichardsBedStepper *stepper)
Accept selected same-horizon Richards owners together with their groundwater cell firing across priva...
Definition LidNodeExchange.cpp:729
RichardsBedAcceptance acceptRichardsBedsAtFiring(SubsurfaceSolver &gw, SurfaceStateData &surface, double start, double end, const std::vector< RichardsBedOwner > &input)
Accept selected same-horizon Richards owners together with their groundwater cell firing over one int...
Definition LidNodeExchange.cpp:683
RichardsBedTrial trialRichardsBeds(const SubsurfaceSolver &gw, double dt, const std::vector< RichardsBedBinding > &input)
Freeze actual aquifer budgets and compute a private one-interval Richards exchange trial.
Definition LidNodeExchange.cpp:647
Definition RichardsColumn.hpp:37
Definition LidNodeExchange.hpp:78
RichardsBedTrial trial
Definition LidNodeExchange.hpp:80
double balance
Definition LidNodeExchange.hpp:81
double routing_volume
Definition LidNodeExchange.hpp:82
std::string error
Definition LidNodeExchange.hpp:79
std::vector< RichardsBedStep > steps
Definition LidNodeExchange.hpp:83
Definition LidNodeExchange.hpp:23
double clogging
Definition LidNodeExchange.hpp:26
double max_bottom_water
Definition LidNodeExchange.hpp:26
const richards::Column * column
Definition LidNodeExchange.hpp:25
double invert
Definition LidNodeExchange.hpp:26
int bed
Definition LidNodeExchange.hpp:24
Definition LidNodeExchange.hpp:68
double invert
Definition LidNodeExchange.hpp:71
int bed
Definition LidNodeExchange.hpp:69
richards::Column * column
Definition LidNodeExchange.hpp:70
double clogging
Definition LidNodeExchange.hpp:71
std::vector< double > max_water
Definition LidNodeExchange.hpp:72
Definition LidNodeExchange.hpp:28
double reserved_down
Definition LidNodeExchange.hpp:31
int cell
Definition LidNodeExchange.hpp:29
int bed
Definition LidNodeExchange.hpp:29
double reserved_up
Definition LidNodeExchange.hpp:31
double accepted_up_j
Definition LidNodeExchange.hpp:36
int node
Definition LidNodeExchange.hpp:29
double accepted_up
Definition LidNodeExchange.hpp:32
double accepted_down
Definition LidNodeExchange.hpp:32
double unused_down
Definition LidNodeExchange.hpp:32
double aquifer_head
Definition LidNodeExchange.hpp:30
double requested_up
Definition LidNodeExchange.hpp:31
double accepted_down_j
Definition LidNodeExchange.hpp:36
double unused_up
Definition LidNodeExchange.hpp:32
double lid_head
Definition LidNodeExchange.hpp:30
double requested_down
Definition LidNodeExchange.hpp:31
Definition LidNodeExchange.hpp:74
std::vector< RichardsBedReceipt > receipts
Definition LidNodeExchange.hpp:76
double start
Definition LidNodeExchange.hpp:75
double end
Definition LidNodeExchange.hpp:75
Definition LidNodeExchange.hpp:132
std::function< std::string(double, double, const std::vector< richards::Column > &, const std::vector< richards::Report > &, std::vector< std::vector< double > > &, std::vector< std::pair< double, double > > &)> route
Definition LidNodeExchange.hpp:136
Definition LidNodeExchange.hpp:38
std::string error
Definition LidNodeExchange.hpp:39
std::vector< RichardsBedReceipt > receipts
Definition LidNodeExchange.hpp:44
std::vector< richards::Report > reports
Definition LidNodeExchange.hpp:43
int rhs
Definition LidNodeExchange.hpp:46
std::vector< richards::Column > columns
Definition LidNodeExchange.hpp:42
int newton
Definition LidNodeExchange.hpp:46
std::vector< std::pair< int, SubsurfaceSolver::NodeWaterBudget > > budgets
Definition LidNodeExchange.hpp:45
Definition SurfaceStateData.hpp:64