|
2.0.0b10
catchment modelling framework
|
A child class of OpenWaterStorage to model surface water on a cell. More...
Inheritance diagram for SurfaceWater:
Collaboration diagram for SurfaceWater:A child class of OpenWaterStorage to model surface water on a cell.
Specially created to connect a SurfaceWater with other nodes, is the flux connection cmf::upslope::connections::KinematicSurfaceRunoff
Public Member Functions | |
| real | conc (cmf::math::Time t, const cmf::water::solute &solute) const |
| Returns the water quality of the flux_node, if it is not overridden this is the mix of the incoming fluxes. | |
| real | conc (const cmf::water::solute &_Solute) const |
| Returns the concentration of the given solute. | |
| void | conc (const cmf::water::solute &_Solute, real NewConcetration) |
| Sets a new concentration. | |
| cmf::water::flux_connection * | connection_to (const cmf::water::flux_node &target) |
| Returns the connection between this and target. | |
| virtual real | dxdt (const cmf::math::Time &time) |
Returns the derivate of the state variable at time time. | |
| real | flux_to (const cmf::water::flux_node &target, cmf::math::Time t) |
| Returns the actual flux between this and target (positive sign means "from this into target") | |
| cmf::geometry::point | get_3d_flux (cmf::math::Time t) |
| Returns the sum of all flux vectors. | |
| Cell & | get_cell () const |
| Get the cell of the surface. | |
| double | get_coverage () const |
| Get surface coverage as a function of the actual volume. | |
| real | get_depth () const |
| Returns the water table depth. | |
| virtual const cmf::river::Prism & | get_height_function () const |
| Gets the height function (a cmf::river::Prism) for further reference. | |
| real | get_nManning () const |
| get Manning roughness (n) of the surface | |
| real | get_potential (cmf::math::Time t=cmf::math::never) const override |
| Returns the water potential of the node in m waterhead. | |
| cmf::project & | get_project () const |
| Returns the project, this node is part of. | |
| real | get_puddledepth () const |
| Get water depth at which runoff starts. | |
| real | get_state () const |
| Returns the current state of the variable. | |
| char | get_state_variable_content () const |
| A character indicating the integrated variable (either 'V' for Volume or 'h' for head) | |
| virtual real | get_volume () const |
| Returns the volume of water in this storage in m3 | |
| virtual bool | is_connected (const cmf::math::StateVariable &other) const |
| Returns True if this waterstorage is effected by another state. | |
| bool | is_storage () const override |
| Returns true, since this is a storage. | |
| real | operator() (cmf::math::Time t) const |
| returns the waterblance | |
| bool | remove_connection (cmf::water::flux_node::ptr To) |
| Remove the connection. | |
| virtual void | set_height_function (const cmf::river::IVolumeHeightFunction &val) |
| Prevents the change of the height function. A SurfaceWater storage has always a Prism height function. | |
| void | set_nManning (real n) |
| set Manning roughness (n) of the surface | |
| void | set_potential (real newpotential) override |
| Sets the potential of this flux node. | |
| void | set_puddledepth (real puddledepth) |
| Set water depth at which runoff starts. | |
| void | set_state (real newState) |
| Gives access to the state variable. | |
| void | set_state_variable_content (char content) |
| A character indicating the integrated variable (either 'V' for Volume or 'h' for head) | |
| virtual void | set_volume (real newwatercontent) |
| Sets the volume of water in this storage in m3 | |
| SoluteStorage & | Solute (const cmf::water::solute _Solute) |
| Returns the water quality of the water storage. | |
| real | waterbalance (cmf::math::Time t, const flux_connection *Without=0) const |
| Returns the sum of all fluxes (positive and negative) at time t. | |
| real | wet_area () const |
| Returns the exposed surface area in m2. | |
Static Public Member Functions | |
| static ptr | create (cmf::project &_project, const cmf::river::IVolumeHeightFunction &base_geo) |
| Creates an open water storage with any type of a volume. | |
| static ptr | create (cmf::project &_project, real Area) |
| Creates an open water storage with a prismatic volume | |
Public Attributes | |
| std::string | Name |
| The Name of this node. | |
| const int | node_id |
| The Id of the node. | |
| cmf::geometry::point | position |
| The spatial position of the node. | |
Protected Member Functions | |
| void | MarkStateChangeHandled () |
| Sets the updated flag (m_StateIsNew) to false. | |
| bool | StateIsChanged () |
| Returns if the state was currently updated. | |
Overrides of flux_node | |
| virtual bool | RecalcFluxes (cmf::math::Time t) |
| Pure flux_nodes do not influence fluxes, therefore no recalculation of fluxes is required by flux_node. | |
| virtual double | is_empty () const |
| Returns true if the node has no water. | |
| real get_nManning | ( | ) | const |
get Manning roughness (n) of the surface
From Python use this as a property:
|
overridevirtualinherited |
Returns the water potential of the node in m waterhead.
The base class water storage always returns the height of the location
Reimplemented from flux_node.
| real get_puddledepth | ( | ) | const |
Get water depth at which runoff starts.
From Python use this as a property:
|
virtualinherited |
Pure flux_nodes do not influence fluxes, therefore no recalculation of fluxes is required by flux_node.
WaterStorage overrides this, since state changes require an update of the fluxes
Reimplemented from flux_node.
| void set_nManning | ( | real | n | ) |
set Manning roughness (n) of the surface
From Python use this as a property:
| void set_puddledepth | ( | real | puddledepth | ) |
Set water depth at which runoff starts.
From Python use this as a property:
|
inherited |
Returns the sum of all fluxes (positive and negative) at time t.
Single fluxes can be excluded from the calculation
| t | Time of the query |
| Without | A flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits) |