2.0.0b10
catchment modelling framework
Loading...
Searching...
No Matches
cmf::upslope Namespace Reference

Contains the classes to describe the discretization of the soil continuum. More...

Detailed Description

Contains the classes to describe the discretization of the soil continuum.

Todo
: Get Id in constructor for better naming of bounday conditions

Namespaces

namespace  connections
 Contains different kinds of connections between the water storages of a cell.
 
namespace  ET
 Contains different flux_connection classes for the description of evaporation and transpiration.
 

Classes

class  aquifer
 A class to represent large groundwater storages, not bounded to the usual horizontal discretization scheme, the Cell. More...
 
class  aquifer_Darcy
 Lateral darcy flow between aquifer objects. More...
 
class  BrooksCoreyRetentionCurve
 Provides the use of the Brooks-Corey retention curve. More...
 
class  Cell
 This class is the basic landscape object. More...
 
class  cell_vector
 A cell vector holds a bunch of cells. More...
 
class  CellConnector
 A helper class to connect cells with flux_connection objects. This is generated by flux_connection classes, intended to connect cells. More...
 
class  conductable
 An abstract interface for all classes providing a conductivity (e.g. More...
 
class  layer_list
 A vector of layers, with array access to the properties of the layers, for fast data exchange. More...
 
class  LinearRetention
 The linear retention curve provides a simple linear relationship between storage and head. More...
 
class  MacroPore
 An additional water storage for a soil layer to model matrix water and macro pore water seperately. More...
 
class  neighbor_iterator
 A class to iterate through the neighbors of a cell (const). Not needed from the Python side, use the generator cell.neighbors instead. More...
 
class  RetentionCurve
 Abstract base class for different types of retention curves. More...
 
class  SoilLayer
 A representation of a SoilLayer. More...
 
class  subcatchment
 A class to structure cells in a project using their main outlets. More...
 
class  SurfaceWater
 A child class of OpenWaterStorage to model surface water on a cell. More...
 
class  Topology
 represents the connectivity of cells to each other More...
 
class  VanGenuchtenMualem
 Provides the use of the Van Genuchten - Mualem retention curve (Van Genuchten 1980) More...
 

Functions

cmf::math::num_array cell2cellflux (cmf::upslope::Cell &source, cmf::upslope::Cell &target, cmf::math::Time t, bool subsurface_only=false)
 Calculates the flux in m3/day that flows from a source cell to a target cell.
 
void connect_cells_with_flux (cells_ref cells, const cmf::upslope::CellConnector &connect, int start_at_layer=0)
 Connects all adjacent cells with a flux connection, implementing the CellConnector protocol.
 
int fill_sinks (cells_ref cells, double min_difference=0.001)
 Fills the sinks in a network. Unstable! Might create an infinite loop.
 
cmf::upslope::Cellfind_cell (cells_ref, cmf::geometry::point p, double max_dist=1e20)
 Finds the nearest cell for a position.
 
cell_vector get_boundary_cells (cells_ref cells)
 Gets the outer cells of a network. Unstable! Might create an infinite loop.
 
cmf::water::connection_list get_connections (cells_ref cells)
 Gets all connections of a bunch of cells.
 
double pF_to_waterhead (double pF)
 Converts a pF value to a height of a water column in m.
 
double pressure_to_waterhead (double Pressure)
 Converts a pressure in Pa to a length of a water column in m.
 
double waterhead_to_pF (double waterhead)
 Converts a height of a water column to a pF value.
 
double waterhead_to_pressure (double waterhead)
 Converts a height of a water column in m to a pressure in Pa.
 

Function Documentation

◆ cell2cellflux()

cmf::math::num_array cell2cellflux ( cmf::upslope::Cell & source,
cmf::upslope::Cell & target,
cmf::math::Time t,
bool subsurface_only = false )

Calculates the flux in m3/day that flows from a source cell to a target cell.

Parameters
sourcethe cell to investigate
target- the cell where the water is flowing
tTime of query
subsurface_onlyif true, fluxes from the surfacewater to the surfacewater are ignored. Default is false
Returns
A num_array of size source.layer_count() containing all fluxes from the layers of source to the layers of target. If subsurface_only is false the array has the size source.layer_count()+1 and contains the surfacewater flux in position 0