2.0.0b10
catchment modelling framework
Loading...
Searching...
No Matches

A physically based macropore to macropore connection according to Jarvis & Leeds-Harrison 1987, JSS. More...

Inherits BaseMacroFlow.

Detailed Description

A physically based macropore to macropore connection according to Jarvis & Leeds-Harrison 1987, JSS.

\[q_{i->j} [m/s]= \rho \frac G {12\eta} w^2 \frac{e_v-e_r}{1-e_r} S_{c,i}^\beta\ (1-S_{c,j})\]

where:

  • \(q_{i->j}\) the flow from macro pore layer i to macropore layer j
  • \(\rho=10^{-3} kg/m^3\) - the density of water
  • \(G=9.81 m/s^2\) the earth acceleration
  • \(\eta=1.0 kg/(m s)\) the viscosity of water (at 20 degC)
  • \(w [m]\) the crack width, a function of water content and crack distance
  • \(e_v [-]\) the crack porosity
  • \(e_r [-]\) crack por
  • \(S_c [-]\) the crack saturation of layer i resp. j
  • \(\beta [-]\) a conceptional exponent to shape the flow reaction

Public Member Functions

 JarvisMacroFlow (cmf::water::WaterStorage::ptr left, cmf::water::flux_node::ptr right, real beta=1., real porefraction_r=0.0)
 Constructs the connection.
 
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

◆ JarvisMacroFlow()

JarvisMacroFlow ( cmf::water::WaterStorage::ptr left,
cmf::water::flux_node::ptr right,
real beta = 1.,
real porefraction_r = 0.0 )

Constructs the connection.

Parameters
left,rightthe connected macropores
betaUser defined parameter for the swelling reaction
porefraction_rPorefraction at which flow starts. For swelling soils that are closing completely th

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