2.0.0b10
catchment modelling framework
|
Produces a constant but changeable flux from a source to a target, if enough water is present in the source. More...
Produces a constant but changeable flux from a source to a target, if enough water is present in the source.
\[ q=\begin{cases}0 & V_{source}\le V_{min}\\ q_0 \frac{V_{source} - V_{min}}{t_{decr} q_{0} - V_{min}} & V_{source} \le t_{decr} q_{0}\\ q_{0} & \end{cases}\]
This is similar to a neumann boundary, however this is not a boundary condition, but water is taken from the source (left) water storage and limited by that water storage.
Public Member Functions | |
ConstantFlux (cmf::water::WaterStorage::ptr source, cmf::water::flux_node::ptr target, real maximum_flux, real minimal_state=0, cmf::math::Time flux_decrease_time=cmf::math::h) | |
Produces a constant but changeable flux from a source to a target, if enough water is present in the source. | |
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 | |
cmf::math::Time | FluxDecreaseTime |
The flux is linearly decreased, if it takes less than FluxDecreaseTime \(t_{decr}\) to reach MinState with MaxFlux. | |
real | MaxFlux |
The requested flux \(q_{0}\left[frac{m^3}{day}\right]\). | |
real | MinState |
The minimal volume of the state \(V_{min}\left[m^3\right]\). | |
const std::string | type |
A string describing the type of the connection. | |
ConstantFlux | ( | cmf::water::WaterStorage::ptr | source, |
cmf::water::flux_node::ptr | target, | ||
real | maximum_flux, | ||
real | minimal_state = 0, | ||
cmf::math::Time | flux_decrease_time = cmf::math::h ) |
Produces a constant but changeable flux from a source to a target, if enough water is present in the source.
source | The source of the water |
target | The target of the water |
maximum_flux | The requested flux \(q_{0} [\frac{m^3}{day}]\) |
minimal_state | Minimal volume of stored water in source in \([m^3]\) |
flux_decrease_time | (cmf::math::Time) |
|
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