2.0.0b10
catchment modelling framework
|
Connecting surface water bodies using a diffusive wave. More...
Connecting surface water bodies using a diffusive wave.
This approach might not be numerical stable for deep water with small gradient cmf for experimental reasons
\begin{eqnarray*} q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ R &=& \frac A {P(d)} \\ P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ \Delta_z = \|\frac{h_1 - h_2}{l} \mbox{ Slope of the reach waterlevels} \\ n&=&\mbox{Manning friction number} \end{eqnarray*}
Public Member Functions | |
Manning_Diffusive (cmf::river::OpenWaterStorage::ptr left, cmf::water::flux_node::ptr right, const cmf::river::IChannel &reachtype) | |
Creates a diffusive wave connection between to open water storages. | |
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. | |
Manning_Diffusive | ( | cmf::river::OpenWaterStorage::ptr | left, |
cmf::water::flux_node::ptr | right, | ||
const cmf::river::IChannel & | reachtype ) |
Creates a diffusive wave connection between to open water storages.
left,right | The nodes to be connected by the diffusive wave. Left needs to be an open water storage |
reachtype | The channel geometry |
|
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