2.0.0b10
catchment modelling framework
Loading...
Searching...
No Matches
ConstantStateFlux Class Reference

Calculates a flux to or from a water storage to hold it's state at a more or less constant level. More...

+ Inheritance diagram for ConstantStateFlux:
+ Collaboration diagram for ConstantStateFlux:

Detailed Description

Calculates a flux to or from a water storage to hold it's state at a more or less constant level.

\[ q=\frac{h_1 - h_{target}}{t_c [days]} \]

where:

  • \(q\) the resulting flux in m3/day
  • \(h_1\) the reference state
  • \(h_{target}\) the state of the target (right) node
  • \(t_c\) the time to reach the target state

Public Member Functions

 ConstantStateFlux (cmf::water::WaterStorage::ptr controlled_storage, cmf::water::flux_node::ptr other_end, real target_state, cmf::math::Time reaction_time)
 Creates a flux connection to control the state of a storage.
 
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.
 

Constructor & Destructor Documentation

◆ ConstantStateFlux()

ConstantStateFlux ( cmf::water::WaterStorage::ptr controlled_storage,
cmf::water::flux_node::ptr other_end,
real target_state,
cmf::math::Time reaction_time )

Creates a flux connection to control the state of a storage.

Parameters
controlled_storageWater storage, to be controlled
other_endsource of missing water or target of excessive water
target_stateState the controlled storage should hold ( \(h_{target}\))
reaction_timeTime to reach state ( \(t_c\))

Member Function Documentation

◆ conc()

real conc ( cmf::math::Time t,
const cmf::water::solute & _Solute )
inherited

Returns the concentration of the flux.


If not overridden, it returns the concentration of the source of the flux (direction depending)

◆ get_tracer_filter()

real get_tracer_filter ( )
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

◆ set_tracer_filter()

void set_tracer_filter ( real value)
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