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

A simple first order diffusive water exchange between MacroPore and matrix (SoilLayer) More...

+ Inheritance diagram for DiffusiveMacroMicroExchange:
+ Collaboration diagram for DiffusiveMacroMicroExchange:

Detailed Description

A simple first order diffusive water exchange between MacroPore and matrix (SoilLayer)

\[ q = \omega (W_{ma} - W_{mi,eff}) V_{soil}\]

where:

  • \(\omega\) is the exchange rate in \(day^{-1}\)
  • \(W_{ma}\) is the filled fraction of the macropore system [-]
  • \(W_{mi,eff}\) is the water filled pore space of the micropores above the residual pF value [-], default 4.2
  • \(V_{soil} = A_{cell} d_{layer}\) is the total volume of the soil layer [ \(m^3\)]

The residual micropore pF is used to determine a residual water content of the micropores. Residual in this case means, that above this pF value, water is not draining to the macro pores, even if they are empty. Although the default value is at wilting point, lower pF values are much more sensible, and should be rather lower than field capacity (pF=1.8 - 2.5). However, since this equation is rather conceptual than physical, this value can only be estimated or calibrated.

cf. Simunek et al J. of Hydr. 2003

Public Member Functions

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

real omega
 \(\omega\) is the exchange rate in \(day^{-1}\)
 
const std::string type
 A string describing the type of the connection.
 

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