2.0.0b10
catchment modelling framework
|
Connects the surfacewater and the most upper layer using a Green-Ampt equation like infiltration. More...
Connects the surfacewater and the most upper layer using a Green-Ampt equation like infiltration.
The Green-Ampt formula is given as:
\[q(t) = -K_s \frac{dh}{dz} A\]
where:
The gradient in the wetting front is calculated as:
\[\frac{dh}{dz} = \frac{h_f - h_0}{Z_f} = \frac{|\Psi_f| + Z_f}{Z_f}\]
where:
Since \(Z_f\) is unknown, the depth of the wetting front can be approximated by:
\[Z_f = \frac{F}{\theta_s - \theta_i}\]
with:
If the surface water is modeled by a distinct water storage, the actual infiltration is given as the product of the potential infiltration with the coverage of the surface water cmf::upslope::Cell::surface_water_coverage
\[q_{act} = q_{max} \frac{A_{water}}{A_{cell}}\]
If the surface water is no storage on its own, but just a water distribution node, the actual infiltration is the minimum of the potential infiltration and the current inflow (rain, snow melt) to the surface
\[q_{act} = \min\left(q_{max}, \sum{q_{in,surfacewater}}\right)\]
Public Member Functions | |
real | conc (cmf::math::Time t, const cmf::water::solute &_Solute) |
Returns the concentration of the flux. | |
flux_node::ptr | get_target (const flux_node &inquirer) |
Returns the other end of a connection than the asking end. | |
flux_node::ptr | get_target (int index) const |
With index 0, the left node is returned, with index 1 the right node of the connection. | |
real | get_tracer_filter () |
A value ranging from 0 to 1 to filter tracers out of the water flux. | |
real | get_tracer_filter (solute S) |
A value ranging from 0 to 1 to filter tracers out of the water flux. | |
bool | kill_me () |
Deregisters this connection from its nodes. Returns true if only one reference is left. | |
flux_node::ptr | left_node () const |
Returns the left node of this connection. | |
real | q (const flux_node &inquirer, cmf::math::Time t) |
Returns the current flux through a connection. Negative signs mean out of the inquirer, positive are inflows to the inquirer. | |
void | refresh (cmf::math::Time t) |
Performes a new calculation of the flux. | |
flux_node::ptr | right_node () const |
returns the right node of this connection | |
void | set_tracer_filter (real value) |
A value ranging from 0 to 1 to filter tracers out of the water flux. | |
Static Public Member Functions | |
static void | use_for_cell (cmf::upslope::Cell &c) |
Creates the connection between surfacewater and first soil layer. | |
Public Attributes | |
const std::string | type |
A string describing the type of the connection. | |
|
inherited |
Returns the concentration of the flux.
If not overridden, it returns the concentration of the source of the flux (direction depending)
|
inherited |
A value ranging from 0 to 1 to filter tracers out of the water flux.
1.0 is no filter and 0.0 means no solute is crossing this connection
|
inherited |
A value ranging from 0 to 1 to filter tracers out of the water flux.
1.0 is no filter and 0.0 means no solute is crossing this connection