|
2.0.0b10
catchment modelling framework
|
A Neumann boundary condition (constant flux boundary condition) More...
Inheritance diagram for NeumannBoundary:
Collaboration diagram for NeumannBoundary:A Neumann boundary condition (constant flux boundary condition)
The flux is a timeseries, but can be used as a scalar. To scale the timeseries to the specific conditions of this boundary condition the linear_scale flux_scale can be used.
Public Member Functions | |
| NeumannBoundary (cmf::project &_project, cmf::math::timeseries _flux, cmf::water::SoluteTimeseries _concentration=cmf::water::SoluteTimeseries(), cmf::geometry::point loc=cmf::geometry::point()) | |
| Ctor of the Neumann boundary. | |
| real | conc (cmf::math::Time t, const cmf::water::solute &_Solute) const |
| Returns the solute concentrations of the flux at a given time. | |
| cmf::water::flux_connection * | connection_to (const cmf::water::flux_node &target) |
| Returns the connection between this and target. | |
| 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. | |
| cmf::math::timeseries | get_flux () |
| The timeseries of the boundary flux. | |
| virtual real | get_potential (cmf::math::Time=cmf::math::never) const |
| Returns the water potential of the node in m waterhead. | |
| cmf::project & | get_project () const |
| Returns the project, this node is part of. | |
| double | is_empty () const |
| Returns true if the node has no water. | |
| virtual bool | is_storage () const |
| true, if this is a waterstorage | |
| real | operator() (cmf::math::Time t) const |
| Returns the flux at a given time. | |
| bool | RecalcFluxes (cmf::math::Time t) |
| Pure flux_nodes do not influence fluxes, therefore no recalculation of fluxes is required by flux_node. | |
| bool | remove_connection (cmf::water::flux_node::ptr To) |
| Remove the connection. | |
| void | set_flux (cmf::math::timeseries new_flux) |
| Set a timeseries as the boundary flux. | |
| void | set_flux (double new_flux) |
| Set a constant as the boundary flux. | |
| virtual void | set_potential (real new_potential) |
| Sets the potential of this flux node. | |
| real | waterbalance (cmf::math::Time t, const flux_connection *Without=0) const |
| Returns the sum of all fluxes (positive and negative) at time t. | |
Static Public Member Functions | |
| static NeumannBoundary::ptr | create (cmf::water::flux_node::ptr target) |
| Creates a Neumann Boundary condition connected with target. | |
Public Attributes | |
| cmf::water::SoluteTimeseries | concentration |
| The concentration timeseries of the flux. | |
| linear_scale | flux_scale |
| The scaling of the flux timeseries. | |
| 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. | |
| NeumannBoundary | ( | cmf::project & | _project, |
| cmf::math::timeseries | _flux, | ||
| cmf::water::SoluteTimeseries | _concentration = cmf::water::SoluteTimeseries(), | ||
| cmf::geometry::point | loc = cmf::geometry::point() ) |
Ctor of the Neumann boundary.
| _project | The project this boundary condition belongs to |
| _flux | The flux timeseries (a scalar is converted to a timeseries automatically) |
| _concentration | The concentration timeseries |
| loc | The location of the boundary condition |
|
virtualinherited |
Returns the water potential of the node in m waterhead.
The base class water storage always returns the height of the location
Reimplemented in MacroPore, SoilLayer, DirichletBoundary, and WaterStorage.
|
virtual |
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.
|
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) |