2.0.0b10
catchment modelling framework
|
A connection to route water from a SurfaceWater storage to another node following a topographic gradient. More...
A connection to route water from a SurfaceWater storage to another node following a topographic gradient.
\[q_{runoff} = A_{cross} d_{eff}^{2/3} \frac{\sqrt{S}}{n}\]
where:
\[d_{eff} = \begin{cases} V/A-d_{puddle}\ & V/A>d_{puddle} \\ 0.0 & V/A<=d_{puddle} \end{cases}\]
The KinematicSurfaceRunoff can be used as a cell connecting flux as in:
This results in a connection of the surfacewater storage of each cell with the surface water storages of its neighbors see
Public Member Functions | |
KinematicSurfaceRunoff (cmf::upslope::SurfaceWater::ptr left, cmf::water::flux_node::ptr right, real flowwidth, real distance=-1) | |
Creates a KinematicSurfaceRunoff between a SurfaceWater (left) with another (right) node. | |
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. | |
Public Attributes | |
const std::string | type |
A string describing the type of the connection. | |
KinematicSurfaceRunoff | ( | cmf::upslope::SurfaceWater::ptr | left, |
cmf::water::flux_node::ptr | right, | ||
real | flowwidth, | ||
real | distance = -1 ) |
Creates a KinematicSurfaceRunoff between a SurfaceWater (left) with another (right) node.
left | A surfacewater storage |
right | The target node |
flowwidth | the length of the shared boundary between left and right in m |
distance | the distance between left and right in m. If d<=0m, the distance is calculated according to the position of left and right |
|
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