|
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...
Inheritance diagram for ConstantFlux:
Collaboration diagram for ConstantFlux: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