2.0.0b10
catchment modelling framework
|
Contains generic classes for solute and water transport. More...
Contains generic classes for solute and water transport.
You can use any unit for solute amounts you like, like mol, g, kg, or none at all as long as you stay consistent. But for the concentrations, the nominator of the unit must be \(m^3\), e.g. \(\frac{mol}{m^3},\frac{g}{m^3},\frac{1}{m^3}\). For simplicity, in the following the unit of concentrations are called \(\frac{mol}{m^3}\).
Classes | |
class | Adsorption |
Abstract class to use adsorption process for tracers on surfaces. More... | |
class | connection_list |
A self sorting list of connections. More... | |
class | ConstantFlux |
Produces a constant but changeable flux from a source to a target, if enough water is present in the source. More... | |
class | ConstantStateFlux |
Calculates a flux to or from a water storage to hold it's state at a more or less constant level. More... | |
class | ConstraintLinearStorageFlux |
Calculates flux out of a storage as a linear function of its volume, constraint by the volume stored in the target storage. More... | |
class | DirichletBoundary |
Dirichlet (constant head) boundary condition. More... | |
class | ExponentialDeclineConnection |
A conceptual TOPmodel inspired connection. More... | |
class | ExternallyControlledFlux |
Flux from one node to another, controlled by the user or an external program, by changing the flux constant. More... | |
class | flux_connection |
The connections in cmf hold the processes for the calculation of fluxes between water storages and model boundaries. More... | |
class | flux_node |
Base class for everything that can be connected by fluxes. More... | |
class | LangmuirAdsorption |
This class calculates the adsorption equilibrium between sorbat and sorbent using the Langmuir isotherme. More... | |
class | linear_scale |
A linear scaling functor, with slope and displacement. More... | |
class | LinearAdsorption |
This class calculates the adsorption equilibrium between sorbat and sorbent using the linear (Henry) isotherme. More... | |
class | LinearGradientFlux |
A generic node-to-node gradient based connection. More... | |
class | LinearStorageConnection |
Calculates flux out of a storage as a linear function of its volume. More... | |
class | NeumannBoundary |
A Neumann boundary condition (constant flux boundary condition) More... | |
class | NeumannBoundary_list |
Provides fast access to Neumann boundaries for flux update. More... | |
class | NeumannFlux |
Connection between Neumann-boundary and a flux node. More... | |
class | node_list |
A collection of nodes for fast access of the waterbalance. More... | |
class | NullAdsorption |
A class for tracers without interaction with the storage container. freesolute returns xt. More... | |
class | PartitionFluxRoute |
Routes a fraction of the flux calculated from a master flux_connection between source to target1 directly further to target2 without any timelag. More... | |
class | PowerLawConnection |
Calculates flux out of a storage as a linear function of its volume to a power. More... | |
struct | solute |
A structure to identify a solute. More... | |
class | Solute1stOrderReaction |
A solute reaction of 1st order kinetics (linear decline to product) A->B. More... | |
class | Solute2ndOrderReaction |
A solute reaction of 2nd order kinetics A + B -> C. More... | |
class | solute_vector |
Manages the solutes of the model. More... | |
class | SoluteConstantFluxReaction |
Adds a constant flux to the solute storage. More... | |
class | SoluteDecayReaction |
Adds a linear decay to solute storages. More... | |
class | SoluteDiffusiveTransport |
Calculates a diffusive flux between solute storages. More... | |
class | SoluteEquilibriumReaction |
An equilibrium reaction between two solutes A<->B. More... | |
class | SoluteRateReaction |
A general solute reaction system to describe multi-species kinetics with a power law. More... | |
class | SoluteReaction |
Abstract class for a solute reaction. More... | |
class | SoluteStorage |
A class for the storage of any tracer. More... | |
class | SoluteTimeseries |
A map of concentration time series for solutes. More... | |
class | WaterbalanceFlux |
Routes the sum of all other fluxes to a target. More... | |
class | WaterStorage |
A state variable for the storage of water. More... | |
Functions | |
void | attach_reactions_to_waterstorage (std::shared_ptr< cmf::water::WaterStorage > waterstorage, const SoluteReactionList &reactions) |
Attaches reactions to all solutes of a waterstorage. | |
bool | can_set_flux (flux_node::ptr source, flux_node::ptr target) |
Checks if a constant flux between two nodes can be set. | |
void | clear_reactions_of_waterstorage (std::shared_ptr< cmf::water::WaterStorage > waterstorage) |
Clear all reactions of a water storage. | |
void | set_flux (flux_node::ptr source, flux_node::ptr target, real flux_value) |
Sets a constant flux between two nodes, if an external_control_connection exists. | |