diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 3f290386..00000000 --- a/.travis.yml +++ /dev/null @@ -1,20 +0,0 @@ -language: python -sudo: false -dist: xenial - -python: - - "3.7" - - "3.5" - -# command to install dependencies -install: - - pip install numpy - # - bash tools/install_solvers.sh - - pip install scipy - - python setup.py build_ext - - python setup.py build_py - - python setup.py install - -# command to run tests -script: - - bash tools/test.sh diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 5f77efe9..00000000 --- a/appveyor.yml +++ /dev/null @@ -1,50 +0,0 @@ -environment: - PYPIPASSWORD: - secure: LmtnXHQhfACj8oOpwYehsFPkdhPHGLq84SIqn+ixfS8= - matrix: - # Windows w/64 bit python 3.7 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - PYTHON: "C:\\Python37-x64" - PYTHON_ARCH: "64" - # Windows w/64 bit python 3.6 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - PYTHON: "C:\\Python36-x64" - PYTHON_ARCH: "64" - # Windows w/64 bit python 3.6 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - PYTHON: "C:\\Python35-x64" - PYTHON_ARCH: "64" - -install: - # We need vcvarsall to build sundials - - cmd: call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" - # We need wheel installed to build wheels - - cmd: "%PYTHON%\\Scripts\\pip install -r requirements.txt" - - -build_script: - - cmd: "%PYTHON%\\python.exe setup.py install" - - -test_script: - # Put your test command here. - # If you don't need to build C extensions on 64-bit Python 3.3 or 3.4, - # you can remove "build.cmd" from the front of the command, as it's - # only needed to support those cases. - # Note that you must use the environment variable %PYTHON% to refer to - # the interpreter you're using - Appveyor does not do anything special - # to put the Python version you want to use on PATH. - - cmd: "%PYTHON%\\python.exe tools\\test.py" - - -after_test: - # This step builds your wheels. - # Again, you only need build.cmd if you're building C extensions for - # 64-bit Python 3.3/3.4. And you need to use %PYTHON% to get the correct - # interpreter - - cmd: "%PYTHON%\\python.exe setup.py bdist_wheel" - -artifacts: - # bdist_wheel puts your built wheel in the dist directory - - path: dist\* - diff --git a/docs/CmfTutSimpleInfiltration.png b/docs/CmfTutSimpleInfiltration.png deleted file mode 100644 index 24a9352e..00000000 Binary files a/docs/CmfTutSimpleInfiltration.png and /dev/null differ diff --git a/docs/annotated.html b/docs/annotated.html index 6eee6a6c..3201f301 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -2,33 +2,37 @@ - - - - -cmf: Class List - - - - + + + + + cmf: Class List + + + + + + + - - + + - - - + + + +
@@ -38,7 +42,7 @@ Logo -
2.0.0b2
+
2.0.0b10
catchment modelling framework
@@ -46,21 +50,22 @@
- + +/* @license-end */ +
@@ -74,8 +79,8 @@
@@ -88,109 +93,113 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
Class List
+
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
-
[detail level 1234]
- - +
[detail level 1234]
 NcmfThe main namespace of the model framework. Contains the other namespaces and the project class
 NatmosphereContains classes to describe interactions with the atmosphere
+ + - - + + - + - + - + - - - - - - - - - - + + + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - - + + + + + - - + + @@ -198,24 +207,21 @@ - + - + - - + + - + @@ -226,7 +232,7 @@ - + @@ -236,9 +242,9 @@ - - - + + + @@ -250,45 +256,50 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 NcmfThe main namespace of the model framework. Contains the other namespaces and the project class
 NatmosphereContains classes to describe interactions with the atmosphere
 Ndraw
 NgeometryContains geometric features like point (=location) and raster datasets
 Ndraw
 NgeometryContains geometric features like point (=location) and raster datasets
 Njacobian
 Nmaps
 Njacobian
 Nmaps
 NmathContains classes for numerical solving of ODE's
 NriverContains storages and connection for the simulation of surface water bodies, like rivers, channels, lakes and dams
 NmathContains classes for numerical solving of ODE's
 NriverContains storages and connection for the simulation of surface water bodies, like rivers, channels, lakes and dams
 Ntimetools
 NupslopeContains the classes to describe the discretization of the soil continuum
 Ntimetools
 NupslopeContains the classes to describe the discretization of the soil continuum
 NwaterContains generic classes for solute and water transport
 CprojectThe study area, holding all cells, outlets and streams
 NwaterContains generic classes for solute and water transport
 C_OptionsHolds global options for specific cmf behaviour, accessbile via cmf.options
 CprojectThe study area, holding all cells, outlets and streams
@@ -299,7 +310,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/annotated_dup.js b/docs/annotated_dup.js index d1fc71f0..1aab92e1 100644 --- a/docs/annotated_dup.js +++ b/docs/annotated_dup.js @@ -1,4 +1,210 @@ var annotated_dup = [ - [ "cmf", "namespacecmf.html", "namespacecmf" ] + [ "cmf", "namespacecmf.html", [ + [ "atmosphere", "namespacecmf_1_1atmosphere.html", [ + [ "aerodynamic_resistance", "classcmf_1_1atmosphere_1_1aerodynamic__resistance.html", "classcmf_1_1atmosphere_1_1aerodynamic__resistance" ], + [ "ConstantMeteorology", "classcmf_1_1atmosphere_1_1_constant_meteorology.html", "classcmf_1_1atmosphere_1_1_constant_meteorology" ], + [ "ConstantRainSource", "classcmf_1_1atmosphere_1_1_constant_rain_source.html", "classcmf_1_1atmosphere_1_1_constant_rain_source" ], + [ "IDW_Meteorology", "classcmf_1_1atmosphere_1_1_i_d_w___meteorology.html", "classcmf_1_1atmosphere_1_1_i_d_w___meteorology" ], + [ "IDWRainfall", "classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html", "classcmf_1_1atmosphere_1_1_i_d_w_rainfall" ], + [ "log_wind_profile", "classcmf_1_1atmosphere_1_1log__wind__profile.html", "classcmf_1_1atmosphere_1_1log__wind__profile" ], + [ "Meteorology", "classcmf_1_1atmosphere_1_1_meteorology.html", "classcmf_1_1atmosphere_1_1_meteorology" ], + [ "MeteoStation", "classcmf_1_1atmosphere_1_1_meteo_station.html", "classcmf_1_1atmosphere_1_1_meteo_station" ], + [ "MeteoStationList", "classcmf_1_1atmosphere_1_1_meteo_station_list.html", "classcmf_1_1atmosphere_1_1_meteo_station_list" ], + [ "MeteoStationReference", "classcmf_1_1atmosphere_1_1_meteo_station_reference.html", "classcmf_1_1atmosphere_1_1_meteo_station_reference" ], + [ "RainfallStation", "classcmf_1_1atmosphere_1_1_rainfall_station.html", "classcmf_1_1atmosphere_1_1_rainfall_station" ], + [ "RainfallStationList", "classcmf_1_1atmosphere_1_1_rainfall_station_list.html", "classcmf_1_1atmosphere_1_1_rainfall_station_list" ], + [ "RainfallStationReference", "classcmf_1_1atmosphere_1_1_rainfall_station_reference.html", "classcmf_1_1atmosphere_1_1_rainfall_station_reference" ], + [ "RainSource", "classcmf_1_1atmosphere_1_1_rain_source.html", "classcmf_1_1atmosphere_1_1_rain_source" ], + [ "TimeseriesRainSource", "classcmf_1_1atmosphere_1_1_timeseries_rain_source.html", "classcmf_1_1atmosphere_1_1_timeseries_rain_source" ], + [ "Weather", "structcmf_1_1atmosphere_1_1_weather.html", "structcmf_1_1atmosphere_1_1_weather" ] + ] ], + [ "draw", null, [ + [ "cellmap", "namespacecmf_1_1draw_1_1cellmap.html", [ + [ "CellMap", "classcmf_1_1draw_1_1cellmap_1_1_cell_map.html", "classcmf_1_1draw_1_1cellmap_1_1_cell_map" ], + [ "FluxMap", "classcmf_1_1draw_1_1cellmap_1_1_flux_map.html", "classcmf_1_1draw_1_1cellmap_1_1_flux_map" ] + ] ], + [ "hillplot", null, [ + [ "HillPlot", "classcmf_1_1draw_1_1hillplot_1_1_hill_plot.html", "classcmf_1_1draw_1_1hillplot_1_1_hill_plot" ] + ] ], + [ "shapemap", null, [ + [ "ShapeMap", "classcmf_1_1draw_1_1shapemap_1_1_shape_map.html", null ] + ] ] + ] ], + [ "geometry", "namespacecmf_1_1geometry.html", [ + [ "qtree", null, [ + [ "Quadtree", "classcmf_1_1geometry_1_1qtree_1_1_quadtree.html", "classcmf_1_1geometry_1_1qtree_1_1_quadtree" ] + ] ], + [ "point", "classcmf_1_1geometry_1_1point.html", "classcmf_1_1geometry_1_1point" ], + [ "point_vector", "classcmf_1_1geometry_1_1point__vector.html", "classcmf_1_1geometry_1_1point__vector" ] + ] ], + [ "jacobian", null, [ + [ "Jacobian", "classcmf_1_1jacobian_1_1_jacobian.html", "classcmf_1_1jacobian_1_1_jacobian" ] + ] ], + [ "maps", null, [ + [ "Map", "classcmf_1_1maps_1_1_map.html", "classcmf_1_1maps_1_1_map" ], + [ "NearestNeighborMap", "classcmf_1_1maps_1_1_nearest_neighbor_map.html", "classcmf_1_1maps_1_1_nearest_neighbor_map" ], + [ "PolygonMap", "classcmf_1_1maps_1_1_polygon_map.html", "classcmf_1_1maps_1_1_polygon_map" ] + ] ], + [ "math", "namespacecmf_1_1math.html", [ + [ "BDF2", "classcmf_1_1math_1_1_b_d_f2.html", "classcmf_1_1math_1_1_b_d_f2" ], + [ "cubicspline", "classcmf_1_1math_1_1cubicspline.html", null ], + [ "CVodeAdams", "classcmf_1_1math_1_1_c_vode_adams.html", "classcmf_1_1math_1_1_c_vode_adams" ], + [ "CVodeBanded", "classcmf_1_1math_1_1_c_vode_banded.html", "classcmf_1_1math_1_1_c_vode_banded" ], + [ "CVodeBase", "classcmf_1_1math_1_1_c_vode_base.html", "classcmf_1_1math_1_1_c_vode_base" ], + [ "CVodeDense", "classcmf_1_1math_1_1_c_vode_dense.html", "classcmf_1_1math_1_1_c_vode_dense" ], + [ "CVodeDiag", "classcmf_1_1math_1_1_c_vode_diag.html", "classcmf_1_1math_1_1_c_vode_diag" ], + [ "CVodeInfo", "structcmf_1_1math_1_1_c_vode_info.html", "structcmf_1_1math_1_1_c_vode_info" ], + [ "CVodeKrylov", "classcmf_1_1math_1_1_c_vode_krylov.html", "classcmf_1_1math_1_1_c_vode_krylov" ], + [ "CVodeOptions", "structcmf_1_1math_1_1_c_vode_options.html", "structcmf_1_1math_1_1_c_vode_options" ], + [ "Date", "structcmf_1_1math_1_1_date.html", "structcmf_1_1math_1_1_date" ], + [ "ExplicitEuler_fixed", "classcmf_1_1math_1_1_explicit_euler__fixed.html", "classcmf_1_1math_1_1_explicit_euler__fixed" ], + [ "HeunIntegrator", "classcmf_1_1math_1_1_heun_integrator.html", "classcmf_1_1math_1_1_heun_integrator" ], + [ "ImplicitEuler", "classcmf_1_1math_1_1_implicit_euler.html", "classcmf_1_1math_1_1_implicit_euler" ], + [ "Integrator", "classcmf_1_1math_1_1_integrator.html", "classcmf_1_1math_1_1_integrator" ], + [ "MultiIntegrator", "classcmf_1_1math_1_1_multi_integrator.html", "classcmf_1_1math_1_1_multi_integrator" ], + [ "num_array", "classcmf_1_1math_1_1num__array.html", "classcmf_1_1math_1_1num__array" ], + [ "RKFIntegrator", "classcmf_1_1math_1_1_r_k_f_integrator.html", "classcmf_1_1math_1_1_r_k_f_integrator" ], + [ "SoluteWaterIntegrator", "classcmf_1_1math_1_1_solute_water_integrator.html", "classcmf_1_1math_1_1_solute_water_integrator" ], + [ "StateVariable", "classcmf_1_1math_1_1_state_variable.html", "classcmf_1_1math_1_1_state_variable" ], + [ "Time", "classcmf_1_1math_1_1_time.html", "classcmf_1_1math_1_1_time" ], + [ "timeseries", "classcmf_1_1math_1_1timeseries.html", "classcmf_1_1math_1_1timeseries" ] + ] ], + [ "river", "namespacecmf_1_1river.html", [ + [ "Channel", "classcmf_1_1river_1_1_channel.html", "classcmf_1_1river_1_1_channel" ], + [ "CrossSectionReach", "classcmf_1_1river_1_1_cross_section_reach.html", "classcmf_1_1river_1_1_cross_section_reach" ], + [ "IChannel", "classcmf_1_1river_1_1_i_channel.html", "classcmf_1_1river_1_1_i_channel" ], + [ "IVolumeHeightFunction", "classcmf_1_1river_1_1_i_volume_height_function.html", "classcmf_1_1river_1_1_i_volume_height_function" ], + [ "Manning", "classcmf_1_1river_1_1_manning.html", "classcmf_1_1river_1_1_manning" ], + [ "Manning_Diffusive", "classcmf_1_1river_1_1_manning___diffusive.html", "classcmf_1_1river_1_1_manning___diffusive" ], + [ "Manning_Kinematic", "classcmf_1_1river_1_1_manning___kinematic.html", "classcmf_1_1river_1_1_manning___kinematic" ], + [ "MeanChannel", "classcmf_1_1river_1_1_mean_channel.html", "classcmf_1_1river_1_1_mean_channel" ], + [ "OpenWaterStorage", "classcmf_1_1river_1_1_open_water_storage.html", "classcmf_1_1river_1_1_open_water_storage" ], + [ "PipeReach", "classcmf_1_1river_1_1_pipe_reach.html", "classcmf_1_1river_1_1_pipe_reach" ], + [ "Prism", "classcmf_1_1river_1_1_prism.html", "classcmf_1_1river_1_1_prism" ], + [ "Reach", "classcmf_1_1river_1_1_reach.html", "classcmf_1_1river_1_1_reach" ], + [ "ReachIterator", "classcmf_1_1river_1_1_reach_iterator.html", "classcmf_1_1river_1_1_reach_iterator" ], + [ "RectangularReach", "classcmf_1_1river_1_1_rectangular_reach.html", "classcmf_1_1river_1_1_rectangular_reach" ], + [ "SWATReachType", "classcmf_1_1river_1_1_s_w_a_t_reach_type.html", "classcmf_1_1river_1_1_s_w_a_t_reach_type" ], + [ "TriangularReach", "classcmf_1_1river_1_1_triangular_reach.html", "classcmf_1_1river_1_1_triangular_reach" ], + [ "volume_height_function", "classcmf_1_1river_1_1volume__height__function.html", "classcmf_1_1river_1_1volume__height__function" ] + ] ], + [ "timetools", null, [ + [ "StopWatch", "classcmf_1_1timetools_1_1_stop_watch.html", "classcmf_1_1timetools_1_1_stop_watch" ], + [ "timerange", "classcmf_1_1timetools_1_1timerange.html", null ] + ] ], + [ "upslope", "namespacecmf_1_1upslope.html", [ + [ "connections", "namespacecmf_1_1upslope_1_1connections.html", [ + [ "CanopyOverflow", "classcmf_1_1upslope_1_1connections_1_1_canopy_overflow.html", "classcmf_1_1upslope_1_1connections_1_1_canopy_overflow" ], + [ "ConceptualInfiltration", "classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html", "classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration" ], + [ "Darcy", "classcmf_1_1upslope_1_1connections_1_1_darcy.html", "classcmf_1_1upslope_1_1connections_1_1_darcy" ], + [ "DarcyKinematic", "classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic.html", "classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic" ], + [ "DiffusiveMacroMicroExchange", "classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange.html", "classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange" ], + [ "DiffusiveSurfaceRunoff", "classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff.html", "classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff" ], + [ "EnergyBudgetSnowMelt", "classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt.html", "classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt" ], + [ "FreeDrainagePercolation", "classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation.html", "classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation" ], + [ "GradientMacroFlow", "classcmf_1_1upslope_1_1connections_1_1_gradient_macro_flow.html", "classcmf_1_1upslope_1_1connections_1_1_gradient_macro_flow" ], + [ "GradientMacroMicroExchange", "classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange.html", "classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange" ], + [ "GreenAmptInfiltration", "classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration.html", "classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration" ], + [ "JarvisMacroFlow", "classcmf_1_1upslope_1_1connections_1_1_jarvis_macro_flow.html", "classcmf_1_1upslope_1_1connections_1_1_jarvis_macro_flow" ], + [ "KinematicMacroFlow", "classcmf_1_1upslope_1_1connections_1_1_kinematic_macro_flow.html", "classcmf_1_1upslope_1_1connections_1_1_kinematic_macro_flow" ], + [ "KinematicSurfaceRunoff", "classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff.html", "classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff" ], + [ "lateral_sub_surface_flux", "classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux.html", "classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux" ], + [ "LayerBypass", "classcmf_1_1upslope_1_1connections_1_1_layer_bypass.html", "classcmf_1_1upslope_1_1connections_1_1_layer_bypass" ], + [ "MACROlikeMacroMicroExchange", "classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange.html", "classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange" ], + [ "MatrixInfiltration", "classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration.html", "classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration" ], + [ "Rainfall", "classcmf_1_1upslope_1_1connections_1_1_rainfall.html", "classcmf_1_1upslope_1_1connections_1_1_rainfall" ], + [ "Richards", "classcmf_1_1upslope_1_1connections_1_1_richards.html", "classcmf_1_1upslope_1_1connections_1_1_richards" ], + [ "Richards_lateral", "classcmf_1_1upslope_1_1connections_1_1_richards__lateral.html", "classcmf_1_1upslope_1_1connections_1_1_richards__lateral" ], + [ "RutterInterception", "classcmf_1_1upslope_1_1connections_1_1_rutter_interception.html", "classcmf_1_1upslope_1_1connections_1_1_rutter_interception" ], + [ "Snowfall", "classcmf_1_1upslope_1_1connections_1_1_snowfall.html", "classcmf_1_1upslope_1_1connections_1_1_snowfall" ], + [ "SWATPercolation", "classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation.html", "classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation" ], + [ "TempIndexSnowMelt", "classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html", "classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt" ], + [ "TOPModelFlow", "classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow.html", "classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow" ], + [ "TopographicGradientDarcy", "classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy.html", "classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy" ] + ] ], + [ "ET", "namespacecmf_1_1upslope_1_1_e_t.html", [ + [ "CanopyStorageEvaporation", "classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation.html", "classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation" ], + [ "constantETpot", "classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot.html", "classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot" ], + [ "ContentStress", "classcmf_1_1upslope_1_1_e_t_1_1_content_stress.html", "classcmf_1_1upslope_1_1_e_t_1_1_content_stress" ], + [ "HargreaveET", "classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t.html", "classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t" ], + [ "OudinET", "classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.html", "classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t" ], + [ "PenmanEvaporation", "classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation.html", "classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation" ], + [ "PenmanMonteithET", "classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t.html", "classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t" ], + [ "PriestleyTaylorET", "classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t.html", "classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t" ], + [ "RootUptakeStressFunction", "classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function.html", "classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function" ], + [ "ShuttleworthWallace", "classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace.html", "classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace" ], + [ "stressedET", "classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t.html", "classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t" ], + [ "SuctionStress", "classcmf_1_1upslope_1_1_e_t_1_1_suction_stress.html", "classcmf_1_1upslope_1_1_e_t_1_1_suction_stress" ], + [ "SW_evap_from_canopy", "classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy.html", "classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy" ], + [ "SW_evap_from_layer", "classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer.html", "classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer" ], + [ "SW_evap_from_snow", "classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow.html", "classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow" ], + [ "SW_evap_from_surfacewater", "classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater.html", "classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater" ], + [ "SW_transpiration", "classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration.html", "classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration" ], + [ "timeseriesETpot", "classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot.html", "classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot" ], + [ "TurcET", "classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t.html", "classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t" ], + [ "VolumeStress", "classcmf_1_1upslope_1_1_e_t_1_1_volume_stress.html", "classcmf_1_1upslope_1_1_e_t_1_1_volume_stress" ] + ] ], + [ "vegetation", null, [ + [ "Vegetation", "classcmf_1_1upslope_1_1vegetation_1_1_vegetation.html", "classcmf_1_1upslope_1_1vegetation_1_1_vegetation" ] + ] ], + [ "aquifer", "classcmf_1_1upslope_1_1aquifer.html", "classcmf_1_1upslope_1_1aquifer" ], + [ "aquifer_Darcy", "classcmf_1_1upslope_1_1aquifer___darcy.html", "classcmf_1_1upslope_1_1aquifer___darcy" ], + [ "BrooksCoreyRetentionCurve", "classcmf_1_1upslope_1_1_brooks_corey_retention_curve.html", "classcmf_1_1upslope_1_1_brooks_corey_retention_curve" ], + [ "Cell", "classcmf_1_1upslope_1_1_cell.html", "classcmf_1_1upslope_1_1_cell" ], + [ "cell_vector", "classcmf_1_1upslope_1_1cell__vector.html", "classcmf_1_1upslope_1_1cell__vector" ], + [ "CellConnector", "classcmf_1_1upslope_1_1_cell_connector.html", null ], + [ "conductable", "classcmf_1_1upslope_1_1conductable.html", null ], + [ "layer_list", "classcmf_1_1upslope_1_1layer__list.html", "classcmf_1_1upslope_1_1layer__list" ], + [ "LinearRetention", "classcmf_1_1upslope_1_1_linear_retention.html", "classcmf_1_1upslope_1_1_linear_retention" ], + [ "MacroPore", "classcmf_1_1upslope_1_1_macro_pore.html", "classcmf_1_1upslope_1_1_macro_pore" ], + [ "neighbor_iterator", "classcmf_1_1upslope_1_1neighbor__iterator.html", "classcmf_1_1upslope_1_1neighbor__iterator" ], + [ "RetentionCurve", "classcmf_1_1upslope_1_1_retention_curve.html", "classcmf_1_1upslope_1_1_retention_curve" ], + [ "SoilLayer", "classcmf_1_1upslope_1_1_soil_layer.html", "classcmf_1_1upslope_1_1_soil_layer" ], + [ "subcatchment", "classcmf_1_1upslope_1_1subcatchment.html", "classcmf_1_1upslope_1_1subcatchment" ], + [ "SurfaceWater", "classcmf_1_1upslope_1_1_surface_water.html", "classcmf_1_1upslope_1_1_surface_water" ], + [ "Topology", "classcmf_1_1upslope_1_1_topology.html", "classcmf_1_1upslope_1_1_topology" ], + [ "VanGenuchtenMualem", "classcmf_1_1upslope_1_1_van_genuchten_mualem.html", "classcmf_1_1upslope_1_1_van_genuchten_mualem" ] + ] ], + [ "water", "namespacecmf_1_1water.html", [ + [ "Adsorption", "classcmf_1_1water_1_1_adsorption.html", "classcmf_1_1water_1_1_adsorption" ], + [ "connection_list", "classcmf_1_1water_1_1connection__list.html", null ], + [ "ConstantFlux", "classcmf_1_1water_1_1_constant_flux.html", "classcmf_1_1water_1_1_constant_flux" ], + [ "ConstantStateFlux", "classcmf_1_1water_1_1_constant_state_flux.html", "classcmf_1_1water_1_1_constant_state_flux" ], + [ "ConstraintLinearStorageFlux", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html", "classcmf_1_1water_1_1_constraint_linear_storage_flux" ], + [ "DirichletBoundary", "classcmf_1_1water_1_1_dirichlet_boundary.html", "classcmf_1_1water_1_1_dirichlet_boundary" ], + [ "ExponentialDeclineConnection", "classcmf_1_1water_1_1_exponential_decline_connection.html", "classcmf_1_1water_1_1_exponential_decline_connection" ], + [ "ExternallyControlledFlux", "classcmf_1_1water_1_1_externally_controlled_flux.html", "classcmf_1_1water_1_1_externally_controlled_flux" ], + [ "flux_connection", "classcmf_1_1water_1_1flux__connection.html", "classcmf_1_1water_1_1flux__connection" ], + [ "flux_node", "classcmf_1_1water_1_1flux__node.html", "classcmf_1_1water_1_1flux__node" ], + [ "LangmuirAdsorption", "classcmf_1_1water_1_1_langmuir_adsorption.html", "classcmf_1_1water_1_1_langmuir_adsorption" ], + [ "linear_scale", "classcmf_1_1water_1_1linear__scale.html", "classcmf_1_1water_1_1linear__scale" ], + [ "LinearAdsorption", "classcmf_1_1water_1_1_linear_adsorption.html", "classcmf_1_1water_1_1_linear_adsorption" ], + [ "LinearGradientFlux", "classcmf_1_1water_1_1_linear_gradient_flux.html", "classcmf_1_1water_1_1_linear_gradient_flux" ], + [ "LinearStorageConnection", "classcmf_1_1water_1_1_linear_storage_connection.html", "classcmf_1_1water_1_1_linear_storage_connection" ], + [ "NeumannBoundary", "classcmf_1_1water_1_1_neumann_boundary.html", "classcmf_1_1water_1_1_neumann_boundary" ], + [ "NeumannBoundary_list", "classcmf_1_1water_1_1_neumann_boundary__list.html", "classcmf_1_1water_1_1_neumann_boundary__list" ], + [ "NeumannFlux", "classcmf_1_1water_1_1_neumann_flux.html", "classcmf_1_1water_1_1_neumann_flux" ], + [ "node_list", "classcmf_1_1water_1_1node__list.html", "classcmf_1_1water_1_1node__list" ], + [ "NullAdsorption", "classcmf_1_1water_1_1_null_adsorption.html", "classcmf_1_1water_1_1_null_adsorption" ], + [ "PartitionFluxRoute", "classcmf_1_1water_1_1_partition_flux_route.html", "classcmf_1_1water_1_1_partition_flux_route" ], + [ "PowerLawConnection", "classcmf_1_1water_1_1_power_law_connection.html", "classcmf_1_1water_1_1_power_law_connection" ], + [ "solute", "structcmf_1_1water_1_1solute.html", "structcmf_1_1water_1_1solute" ], + [ "Solute1stOrderReaction", "classcmf_1_1water_1_1_solute1st_order_reaction.html", "classcmf_1_1water_1_1_solute1st_order_reaction" ], + [ "Solute2ndOrderReaction", "classcmf_1_1water_1_1_solute2nd_order_reaction.html", "classcmf_1_1water_1_1_solute2nd_order_reaction" ], + [ "solute_vector", "classcmf_1_1water_1_1solute__vector.html", "classcmf_1_1water_1_1solute__vector" ], + [ "SoluteConstantFluxReaction", "classcmf_1_1water_1_1_solute_constant_flux_reaction.html", "classcmf_1_1water_1_1_solute_constant_flux_reaction" ], + [ "SoluteDecayReaction", "classcmf_1_1water_1_1_solute_decay_reaction.html", "classcmf_1_1water_1_1_solute_decay_reaction" ], + [ "SoluteDiffusiveTransport", "classcmf_1_1water_1_1_solute_diffusive_transport.html", "classcmf_1_1water_1_1_solute_diffusive_transport" ], + [ "SoluteEquilibriumReaction", "classcmf_1_1water_1_1_solute_equilibrium_reaction.html", "classcmf_1_1water_1_1_solute_equilibrium_reaction" ], + [ "SoluteRateReaction", "classcmf_1_1water_1_1_solute_rate_reaction.html", "classcmf_1_1water_1_1_solute_rate_reaction" ], + [ "SoluteReaction", "classcmf_1_1water_1_1_solute_reaction.html", "classcmf_1_1water_1_1_solute_reaction" ], + [ "SoluteStorage", "classcmf_1_1water_1_1_solute_storage.html", "classcmf_1_1water_1_1_solute_storage" ], + [ "SoluteTimeseries", "classcmf_1_1water_1_1_solute_timeseries.html", "classcmf_1_1water_1_1_solute_timeseries" ], + [ "WaterbalanceFlux", "classcmf_1_1water_1_1_waterbalance_flux.html", "classcmf_1_1water_1_1_waterbalance_flux" ], + [ "WaterStorage", "classcmf_1_1water_1_1_water_storage.html", "classcmf_1_1water_1_1_water_storage" ] + ] ], + [ "_Options", "structcmf_1_1___options.html", "structcmf_1_1___options" ], + [ "project", "classcmf_1_1project.html", "classcmf_1_1project" ] + ] ] ]; \ No newline at end of file diff --git a/docs/atmosphere.html b/docs/atmosphere.html index fa900356..12337659 100644 --- a/docs/atmosphere.html +++ b/docs/atmosphere.html @@ -2,33 +2,37 @@ - - - - -cmf: Hydrological interactions with the atmosphere - - - - + + + + + cmf: Hydrological interactions with the atmosphere + + + + + + + - - + + - - - + + + +
@@ -38,7 +42,7 @@ Logo -
2.0.0b2
+
2.0.0b10
catchment modelling framework
@@ -46,21 +50,22 @@
- + +/* @license-end */ +
@@ -74,8 +79,8 @@
@@ -88,14 +93,20 @@
- +
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
-
-
-
Hydrological interactions with the atmosphere
+
+
Hydrological interactions with the atmosphere

Distribution of rainfall and other meteorological data

@@ -111,6 +122,7 @@

Connecting cells with the atmosphere

  • Using advanced method to seperate soil evaporation and transpiration
  • +
    diff --git a/docs/bc_sd.png b/docs/bc_sd.png new file mode 100644 index 00000000..25a66612 Binary files /dev/null and b/docs/bc_sd.png differ diff --git a/docs/bdwn.png b/docs/bdwn.png deleted file mode 100644 index 3bbe96b3..00000000 Binary files a/docs/bdwn.png and /dev/null differ diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology-members.html b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology-members.html index b5ddcb8b..308800d2 100644 --- a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology-members.html +++ b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,27 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    ConstantMeteorology Member List
    +
    ConstantMeteorology Member List

    This is the complete list of members for ConstantMeteorology, including all inherited members.

    - + - + - + - +
    ConstantMeteorology()ConstantMeteorology
    ConstantMeteorology(const cmf::atmosphere::Weather &w)ConstantMeteorology
    ConstantMeteorology(const cmf::atmosphere::Weather &w)ConstantMeteorology
    ConstantMeteorology(const cmf::atmosphere::ConstantMeteorology &other)ConstantMeteorology
    copy() constConstantMeteorologyvirtual
    copy() constConstantMeteorologyvirtual
    get_instrument_height() constConstantMeteorologyvirtual
    get_weather(cmf::math::Time t) constConstantMeteorologyvirtual
    get_weather(cmf::math::Time t) constConstantMeteorologyvirtual
    operator()(cmf::math::Time t)Meteorology
    weatherConstantMeteorology
    weatherConstantMeteorology
    diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology.html b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology.html index 74fc613c..01fc09eb 100644 --- a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology.html +++ b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology.html @@ -2,33 +2,37 @@ - - - - -cmf: ConstantMeteorology Class Reference - - - - + + + + + cmf: ConstantMeteorology Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -98,73 +110,77 @@ List of all members | Public Member Functions | Public Attributes
    -
    -
    ConstantMeteorology Class Reference
    +
    ConstantMeteorology Class Reference
    -

    A primitive implementation of the Meteorology interface. - More...

    -
    +

    A primitive implementation of the Meteorology interface. + More...

    +
    + Inheritance diagram for ConstantMeteorology:
    -
    +
    + Collaboration diagram for ConstantMeteorology:

    Detailed Description

    -

    A primitive implementation of the Meteorology interface.

    +

    A primitive implementation of the Meteorology interface.

    Holds a Weather record and returns it for any date

    - - - + + - - - - + - - - - + + + + + + + - + - +

    +

    Public Member Functions

    ConstantMeteorology ()
     Creates a ConstantMeteorology with a standard weather.
    ConstantMeteorology ()
     Creates a ConstantMeteorology with a standard weather.
     
    ConstantMeteorology (const cmf::atmosphere::Weather &w)
     Creates a ConstantMeteorology with weather w.
     
    ConstantMeteorology (const cmf::atmosphere::ConstantMeteorology &other)
    ConstantMeteorology (const cmf::atmosphere::ConstantMeteorology &other)
     Copy constructor.
     
    -ConstantMeteorologycopy () const
     Creates a new instannce of the ConstantMeteorology with the same weather.
     
    -virtual real get_instrument_height () const
    ConstantMeteorology (const cmf::atmosphere::Weather &w)
     Creates a ConstantMeteorology with weather w.
     
    +ConstantMeteorologycopy () const
     Creates a new instannce of the ConstantMeteorology with the same weather.
     
    +virtual real get_instrument_height () const
     Returns the height of the instruments above canopy.
     
    -virtual cmf::atmosphere::Weather get_weather (cmf::math::Time t) const
    +virtual cmf::atmosphere::Weather get_weather (cmf::math::Time t) const
     Returns weather, regardless of t.
     
    -cmf::atmosphere::Weather operator() (cmf::math::Time t)
    +cmf::atmosphere::Weather operator() (cmf::math::Time t)
     Returns the Weather at time t.
     
    - - +

    +

    Public Attributes

    -Weather weather
    +Weather weather
     The constant, but changeable Weather record.
     
    @@ -176,7 +192,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:39 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology.js b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology.js index 03d1c4b8..b77f65bc 100644 --- a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology.js +++ b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology.js @@ -3,7 +3,7 @@ var classcmf_1_1atmosphere_1_1_constant_meteorology = [ "ConstantMeteorology", "classcmf_1_1atmosphere_1_1_constant_meteorology.html#aff6a5ce4f0fd12512e8efdd7253c84a4", null ], [ "ConstantMeteorology", "classcmf_1_1atmosphere_1_1_constant_meteorology.html#a6f8e246f89cbd15dcc3067cce93e5ba7", null ], [ "ConstantMeteorology", "classcmf_1_1atmosphere_1_1_constant_meteorology.html#a5765dee781280ea05257647c0245a904", null ], - [ "copy", "classcmf_1_1atmosphere_1_1_constant_meteorology.html#a77f4a708dd0c7e8b05f2afaee23e9a14", null ], + [ "copy", "classcmf_1_1atmosphere_1_1_constant_meteorology.html#a250c68d4605de352a921a683f557a8ad", null ], [ "get_instrument_height", "classcmf_1_1atmosphere_1_1_constant_meteorology.html#a72b96012c287ce06c8f2d76a63cb026e", null ], [ "get_weather", "classcmf_1_1atmosphere_1_1_constant_meteorology.html#a5b75b23bb3d896e2c717c5aefad1ab24", null ], [ "operator()", "classcmf_1_1atmosphere_1_1_constant_meteorology.html#a07a90079de12cec7c7d77d40f2da4823", null ], diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__coll__graph.map b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__coll__graph.map index 438b3b6f..120d3f9b 100644 --- a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__coll__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__coll__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__coll__graph.md5 index 56e4a6e9..1d4013e4 100644 --- a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__coll__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__coll__graph.md5 @@ -1 +1 @@ -44783ae550c20a9b1c49c7b7627d5528 \ No newline at end of file +a999433617265b6c805a15e30252ebb7 \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__coll__graph.png b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__coll__graph.png index ed6d9a5e..08d9f8e5 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__coll__graph.png and b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__coll__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__inherit__graph.map b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__inherit__graph.map index 09118ff5..864715d4 100644 --- a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__inherit__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__inherit__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__inherit__graph.md5 index 2eef1693..2290913a 100644 --- a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__inherit__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__inherit__graph.md5 @@ -1 +1 @@ -a09fa3725cd3a1a54046d140126d705d \ No newline at end of file +e96a883f2b5332e82487579424e37313 \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__inherit__graph.png b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__inherit__graph.png index 5e2e91aa..acdcf55c 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__inherit__graph.png and b/docs/classcmf_1_1atmosphere_1_1_constant_meteorology__inherit__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source-members.html b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source-members.html index f1539068..6a7c5de7 100644 --- a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source-members.html +++ b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,41 +93,47 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    ConstantRainSource Member List
    +
    ConstantRainSource Member List

    This is the complete list of members for ConstantRainSource, including all inherited members.

    - + - + - - - + + + - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &Solute) constConstantRainSourcevirtual
    connection_to(const cmf::water::flux_node &target)flux_node
    connection_to(const cmf::water::flux_node &target)flux_node
    ConstantRainSource(cmf::project &_project, cmf::geometry::point location, real _intensity)ConstantRainSource
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_intensity(cmf::math::Time t) constConstantRainSourcevirtual
    get_potential() constflux_nodevirtual
    get_project() constflux_node
    get_intensity(cmf::math::Time t) constConstantRainSourcevirtual
    get_potential(cmf::math::Time=cmf::math::never) constflux_nodevirtual
    get_project() constflux_node
    intensityConstantRainSource
    is_empty() constRainSourcevirtual
    is_empty() constRainSourcevirtual
    is_storage() constflux_nodevirtual
    Nameflux_node
    Nameflux_node
    node_idflux_node
    operator()(cmf::math::Time t) constRainSource
    operator()(cmf::math::Time t) constRainSource
    positionflux_node
    ptr typedefConstantRainSource
    ptr typedefConstantRainSource
    RainSource(cmf::project &_project, cmf::geometry::point location=cmf::geometry::point())RainSourceprotected
    RecalcFluxes(cmf::math::Time t)RainSourcevirtual
    RecalcFluxes(cmf::math::Time t)RainSourcevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_conc(const cmf::water::solute &Solute, real value)ConstantRainSource
    set_conc(const cmf::water::solute &Solute, real value)ConstantRainSource
    set_potential(real new_potential)flux_nodevirtual
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    ~flux_node()flux_nodevirtual
    @@ -132,7 +143,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:39 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source.html b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source.html index 508dc643..0487e6f5 100644 --- a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source.html +++ b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source.html @@ -2,33 +2,37 @@ - - - - -cmf: ConstantRainSource Class Reference - - - - + + + + + cmf: ConstantRainSource Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    @@ -99,132 +111,138 @@ Public Types | Public Member Functions | Public Attributes
    -
    -
    ConstantRainSource Class Reference
    +
    ConstantRainSource Class Reference
    -

    A simple implementation of RainSource. - More...

    -
    +

    A simple implementation of RainSource. + More...

    +
    + Inheritance diagram for ConstantRainSource:
    -
    +
    + Collaboration diagram for ConstantRainSource:

    Detailed Description

    -

    A simple implementation of RainSource.

    +

    A simple implementation of RainSource.

    Returns intensity for any time step.

    - - +

    +

    Public Types

    -typedef std::shared_ptr< ConstantRainSourceptr
    +typedef std::shared_ptr< ConstantRainSourceptr
     shared pointer
     
    - - - + + - + - - - - + + + + - + - + - - - - - - - + + + + + + + - + - + - - + + - + - + - + - - + +

    +

    Public Member Functions

     ConstantRainSource (cmf::project &_project, cmf::geometry::point location, real _intensity)
     Creates a new ConstantRainSource. More...
     ConstantRainSource (cmf::project &_project, cmf::geometry::point location, real _intensity)
     Creates a new ConstantRainSource.
     
    -virtual real conc (cmf::math::Time t, const cmf::water::solute &Solute) const
    +virtual real conc (cmf::math::Time t, const cmf::water::solute &Solute) const
     Returns the concentration of a solute in the rainfall at time t.
     
    -cmf::water::flux_connectionconnection_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)
    +cmf::water::flux_connectionconnection_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)
    +cmf::geometry::point get_3d_flux (cmf::math::Time t)
     Returns the sum of all flux vectors.
     
    -real get_intensity (cmf::math::Time t) const
    +real get_intensity (cmf::math::Time t) const
     Returns the actual rainfall intensity in mm/day.
     
    virtual real get_potential () const
     Returns the water potential of the node in m waterhead. More...
     
    -cmf::projectget_project () const
     Returns the project, this node is part of.
     
    -virtual double is_empty () const
    virtual real get_potential (cmf::math::Time=cmf::math::never) const
     Returns the water potential of the node in m waterhead.
     
    +cmf::projectget_project () const
     Returns the project, this node is part of.
     
    +virtual double is_empty () const
     Returns false.
     
    -virtual bool is_storage () const
    +virtual bool is_storage () const
     true, if this is a waterstorage
     
    -real operator() (cmf::math::Time t) const
    +real operator() (cmf::math::Time t) const
     Functor declaration RainSource(t) = RainSource.get_intensity(t)
     
    virtual bool RecalcFluxes (cmf::math::Time t)
     Pure flux_nodes do not influence fluxes, therefore no recalculation of fluxes is required by flux_node. More...
    virtual 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)
    +bool remove_connection (cmf::water::flux_node::ptr To)
     Remove the connection.
     
    -void set_conc (const cmf::water::solute &Solute, real value)
    +void set_conc (const cmf::water::solute &Solute, real value)
     Sets the concentration of a solute in the rainfall.
     
    -virtual void set_potential (real new_potential)
    +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. More...
    real waterbalance (cmf::math::Time t, const flux_connection *Without=0) const
     Returns the sum of all fluxes (positive and negative) at time t.
     
    - - + - + - + - +

    +

    Public Attributes

    -real intensity
    +real intensity
     The rain fall intensity in mm/day. This value is returned by.
     
    -std::string Name
    +std::string Name
     The Name of this node.
     
    -const int node_id
    +const int node_id
     The Id of the node.
     
    -cmf::geometry::point position
    +cmf::geometry::point position
     The spatial position of the node.
     

    Constructor & Destructor Documentation

    - -

    ◆ ConstantRainSource()

    + +

    ◆ ConstantRainSource()

    @@ -232,30 +250,22 @@

    ConstantRainSource ( - cmf::project &  - _project, + cmf::project & _project, - cmf::geometry::point  - location, + cmf::geometry::point location, - real  - _intensity  - - - - ) - + real _intensity )

    -

    Creates a new ConstantRainSource.

    +

    Creates a new ConstantRainSource.

    Consider using Cell::set_rainfall for internal creation of a constant rain source, instead of direct use

    Parameters
    @@ -268,8 +278,8 @@

    Member Function Documentation

    - -

    ◆ get_potential()

    + +

    ◆ get_potential()

    @@ -280,7 +290,7 @@

    virtual real get_potential

    - +
    _projectThe project the rain source is belonging to.
    ()cmf::math::Time = cmf::math::never) const
    @@ -294,12 +304,12 @@

    MacroPore, SoilLayer, WaterStorage, DirichletBoundary, and SystemBridge.

    +

    Reimplemented in MacroPore, SoilLayer, DirichletBoundary, and WaterStorage.

    - -

    ◆ RecalcFluxes()

    + +

    ◆ RecalcFluxes()

    @@ -310,8 +320,7 @@

    virtual bool RecalcFluxes ( - cmf::math::Time  - t) + cmf::math::Time t) @@ -329,8 +338,8 @@

    -

    ◆ waterbalance()

    + +

    ◆ waterbalance()

    @@ -341,19 +350,12 @@

    real waterbalance ( - cmf::math::Time  - t, + cmf::math::Time t, - const flux_connection *  - Without = 0  - - - - ) - const + const flux_connection * Without = 0 ) const @@ -364,7 +366,8 @@

    Returns the sum of all fluxes (positive and negative) at time t.

    -

    Single fluxes can be excluded from the calculation

    Parameters
    +


    + Single fluxes can be excluded from the calculation

    Parameters
    @@ -382,7 +385,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    tTime of the query
    WithoutA flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits)
    Generated: Fri Apr 26 2019 12:43:39Generated: Fri Jan 19 2024 16:10:56
    diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source.js b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source.js index 6fc57bcf..f8a296ed 100644 --- a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source.js +++ b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source.js @@ -3,12 +3,12 @@ var classcmf_1_1atmosphere_1_1_constant_rain_source = [ "ptr", "classcmf_1_1atmosphere_1_1_constant_rain_source.html#abd4c4a6e4922350fa1eb29c95c533f76", null ], [ "ConstantRainSource", "classcmf_1_1atmosphere_1_1_constant_rain_source.html#a6ed57bfe4e195e56420521d57baeb6cb", null ], [ "conc", "classcmf_1_1atmosphere_1_1_constant_rain_source.html#ae7781687f7d9720757a9311874686289", null ], - [ "connection_to", "classcmf_1_1atmosphere_1_1_constant_rain_source.html#a5bd6810024edaf9bd5d5747d91ce5f1b", null ], + [ "connection_to", "classcmf_1_1atmosphere_1_1_constant_rain_source.html#abc9aed3e3aae59d1b4c383fb6e6385eb", null ], [ "flux_to", "classcmf_1_1atmosphere_1_1_constant_rain_source.html#a66f1b6a9698be9ffce574833de835bd1", null ], [ "get_3d_flux", "classcmf_1_1atmosphere_1_1_constant_rain_source.html#a8cba494467e1ffc036c47f1bcd60eccb", null ], [ "get_intensity", "classcmf_1_1atmosphere_1_1_constant_rain_source.html#a84a4030e0e2dcef3b5f02d7c41ec03bc", null ], - [ "get_potential", "classcmf_1_1atmosphere_1_1_constant_rain_source.html#a923af9ca71ce3a008d07d88216f1a351", null ], - [ "get_project", "classcmf_1_1atmosphere_1_1_constant_rain_source.html#ae4c3731109c42d8e7f70eb646fb573ec", null ], + [ "get_potential", "classcmf_1_1atmosphere_1_1_constant_rain_source.html#a222a8a63b7dbb2f3cfb8ab33c0c5e590", null ], + [ "get_project", "classcmf_1_1atmosphere_1_1_constant_rain_source.html#aac16760bdca4fd53f80987ee5affa734", null ], [ "is_empty", "classcmf_1_1atmosphere_1_1_constant_rain_source.html#ab3f02f11f233972d7c26cf26a9090613", null ], [ "is_storage", "classcmf_1_1atmosphere_1_1_constant_rain_source.html#ace09b97c37ded843368a00c04e89b55f", null ], [ "operator()", "classcmf_1_1atmosphere_1_1_constant_rain_source.html#a1ac09266985df622ef90ce40783058cb", null ], diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__coll__graph.map b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__coll__graph.map index 75c4db0c..f7945cdf 100644 --- a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__coll__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__coll__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__coll__graph.md5 index 7fd8894b..1ab3cdd7 100644 --- a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__coll__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__coll__graph.md5 @@ -1 +1 @@ -d06cf1cee904be3a776a637cd0d18442 \ No newline at end of file +81fb3c5b9222dadf53ef969a01b88b46 \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__coll__graph.png b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__coll__graph.png index 919585e3..c4749bfd 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__coll__graph.png and b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__coll__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__inherit__graph.map b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__inherit__graph.map index 23e01fd8..bbd012d5 100644 --- a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__inherit__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__inherit__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__inherit__graph.md5 index ce187bed..69d05444 100644 --- a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__inherit__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__inherit__graph.md5 @@ -1 +1 @@ -5868051ab9c07471a2b8814fe3661588 \ No newline at end of file +8b8b5e0b5cbfa1884853fb5ff22734c8 \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__inherit__graph.png b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__inherit__graph.png index 626fabe6..32374792 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__inherit__graph.png and b/docs/classcmf_1_1atmosphere_1_1_constant_rain_source__inherit__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology-members.html b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology-members.html index 46b51752..ea9af866 100644 --- a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology-members.html +++ b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,25 +93,31 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    IDW_Meteorology Member List
    +
    IDW_Meteorology Member List

    This is the complete list of members for IDW_Meteorology, including all inherited members.

    - - + + - + - +
    copy() constIDW_Meteorologyvirtual
    get_instrument_height() constIDW_Meteorologyvirtual
    copy() constIDW_Meteorologyvirtual
    get_instrument_height() constIDW_Meteorologyvirtual
    get_weather(cmf::math::Time t) constIDW_Meteorologyvirtual
    IDW_Meteorology(const cmf::geometry::point &position, const MeteoStationList &stations, double z_weight, double power)IDW_Meteorology
    IDW_Meteorology(const cmf::geometry::point &position, const MeteoStationList &stations, double z_weight, double power)IDW_Meteorology
    IDW_Meteorology(const IDW_Meteorology &copy)IDW_Meteorology
    operator()(cmf::math::Time t)Meteorology
    operator()(cmf::math::Time t)Meteorology

    -Generated: Fri Apr 26 2019 12:43:40 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology.html b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology.html index b4468ed6..eae8f877 100644 --- a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology.html +++ b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology.html @@ -2,33 +2,37 @@ - - - - -cmf: IDW_Meteorology Class Reference - - - - + + + + + cmf: IDW_Meteorology Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,75 +93,85 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    IDW_Meteorology Class Reference
    +
    IDW_Meteorology Class Reference

    Regionalizes meteorological measurements using a simple inverse distance weighted (IDW) method. - More...

    -
    + More...

    +
    + Inheritance diagram for IDW_Meteorology:
    -
    +
    + Collaboration diagram for IDW_Meteorology:

    Detailed Description

    Regionalizes meteorological measurements using a simple inverse distance weighted (IDW) method.

    See also
    IDW
    - - - + + - + - - - - + + + + - + - +

    +

    Public Member Functions

     IDW_Meteorology (const cmf::geometry::point &position, const MeteoStationList &stations, double z_weight, double power)
     Creates an reference to a list of stations and interpolates the weather using IDW. More...
     IDW_Meteorology (const cmf::geometry::point &position, const MeteoStationList &stations, double z_weight, double power)
     Creates an reference to a list of stations and interpolates the weather using IDW.
     
    IDW_Meteorology (const IDW_Meteorology &copy)
    IDW_Meteorology (const IDW_Meteorology &copy)
     Copy c'tor.
     
    -virtual IDW_Meteorologycopy () const
     Returns a copy of the meteorology object. Pure virtual function, needs to be implemented.
     
    -virtual real get_instrument_height () const
    +virtual IDW_Meteorologycopy () const
     Returns a copy of the meteorology object. Pure virtual function, needs to be implemented.
     
    +virtual real get_instrument_height () const
     Returns the height of the instruments above canopy.
     
    -virtual Weather get_weather (cmf::math::Time t) const
    +virtual Weather get_weather (cmf::math::Time t) const
     Returns the Weather at time t. Pure virtual function. Must get implemented by child functions.
     
    -cmf::atmosphere::Weather operator() (cmf::math::Time t)
    +cmf::atmosphere::Weather operator() (cmf::math::Time t)
     Returns the Weather at time t.
     

    Constructor & Destructor Documentation

    - -

    ◆ IDW_Meteorology()

    + +

    ◆ IDW_Meteorology()

    @@ -164,31 +179,22 @@

    IDW_Meteorology ( - const cmf::geometry::point &  - position, + const cmf::geometry::point & position, - const MeteoStationList &  - stations, + const MeteoStationList & stations, - double  - z_weight, + double z_weight, - double  - power  - - - - ) - + double power )

    @@ -214,7 +220,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:40 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology.js b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology.js index f0d150cd..5e2fdce1 100644 --- a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology.js +++ b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology.js @@ -2,7 +2,7 @@ var classcmf_1_1atmosphere_1_1_i_d_w___meteorology = [ [ "IDW_Meteorology", "classcmf_1_1atmosphere_1_1_i_d_w___meteorology.html#a67afd863c2c393718205d4c3f4e072fb", null ], [ "IDW_Meteorology", "classcmf_1_1atmosphere_1_1_i_d_w___meteorology.html#ac917672b9381f798bd3293dda538a07f", null ], - [ "copy", "classcmf_1_1atmosphere_1_1_i_d_w___meteorology.html#aa984455357058c1a9243aa90d694147c", null ], + [ "copy", "classcmf_1_1atmosphere_1_1_i_d_w___meteorology.html#a75b53e45fa14853f9d617dbaab6688b9", null ], [ "get_instrument_height", "classcmf_1_1atmosphere_1_1_i_d_w___meteorology.html#a72b96012c287ce06c8f2d76a63cb026e", null ], [ "get_weather", "classcmf_1_1atmosphere_1_1_i_d_w___meteorology.html#a0248a4aeaaa98a145c34c9cba52e886d", null ], [ "operator()", "classcmf_1_1atmosphere_1_1_i_d_w___meteorology.html#a07a90079de12cec7c7d77d40f2da4823", null ] diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__coll__graph.map b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__coll__graph.map index cdbc551d..a1dbbf2f 100644 --- a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__coll__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__coll__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__coll__graph.md5 index a7a85dc4..56aa337b 100644 --- a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__coll__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__coll__graph.md5 @@ -1 +1 @@ -e3bea3169a349a41ab19817117322325 \ No newline at end of file +38afe7c2f669d07e4d9429941325bd48 \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__coll__graph.png b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__coll__graph.png index 766e8c7f..c02d8a8f 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__coll__graph.png and b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__coll__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__inherit__graph.map b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__inherit__graph.map index cdbc551d..a1dbbf2f 100644 --- a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__inherit__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__inherit__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__inherit__graph.md5 index 6c7d3dc8..56aa337b 100644 --- a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__inherit__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__inherit__graph.md5 @@ -1 +1 @@ -8cd28c11ef1e6a46a7c6beb9da9aec6d \ No newline at end of file +38afe7c2f669d07e4d9429941325bd48 \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__inherit__graph.png b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__inherit__graph.png index 766e8c7f..c02d8a8f 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__inherit__graph.png and b/docs/classcmf_1_1atmosphere_1_1_i_d_w___meteorology__inherit__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall-members.html b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall-members.html index 7ec2a027..dd236e25 100644 --- a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall-members.html +++ b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,39 +93,45 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    IDWRainfall Member List
    +
    IDWRainfall Member List

    This is the complete list of members for IDWRainfall, including all inherited members.

    - + - + - - - + + + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &Solute) constIDWRainfallvirtual
    connection_to(const cmf::water::flux_node &target)flux_node
    connection_to(const cmf::water::flux_node &target)flux_node
    create(cmf::project &project, cmf::geometry::point position, double z_weight, double power)IDWRainfallstatic
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_intensity(cmf::math::Time t) constIDWRainfallvirtual
    get_potential() constflux_nodevirtual
    get_project() constflux_node
    get_intensity(cmf::math::Time t) constIDWRainfallvirtual
    get_potential(cmf::math::Time=cmf::math::never) constflux_nodevirtual
    get_project() constflux_node
    is_empty() constRainSourcevirtual
    is_storage() constflux_nodevirtual
    is_storage() constflux_nodevirtual
    Nameflux_node
    node_idflux_node
    node_idflux_node
    operator()(cmf::math::Time t) constRainSource
    positionflux_node
    positionflux_node
    ptr typedefRainSource
    RainSource(cmf::project &_project, cmf::geometry::point location=cmf::geometry::point())RainSourceprotected
    RainSource(cmf::project &_project, cmf::geometry::point location=cmf::geometry::point())RainSourceprotected
    RecalcFluxes(cmf::math::Time t)RainSourcevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_potential(real new_potential)flux_nodevirtual
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    ~flux_node()flux_nodevirtual
    @@ -130,7 +141,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:40 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html index 9a7b23b5..cb373860 100644 --- a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html +++ b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html @@ -2,33 +2,37 @@ - - - - -cmf: IDWRainfall Class Reference - - - - + + + + + cmf: IDWRainfall Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    IDWRainfall Class Reference
    +
    IDWRainfall Class Reference
    -

    A RainSource using a spatially interpolated rainfall intensity from all stations. - More...

    -
    +

    A RainSource using a spatially interpolated rainfall intensity from all stations. + More...

    +
    + Inheritance diagram for IDWRainfall:
    -
    +
    + Collaboration diagram for IDWRainfall:

    Detailed Description

    -

    A RainSource using a spatially interpolated rainfall intensity from all stations.

    +

    A RainSource using a spatially interpolated rainfall intensity from all stations.

    Interpolation method is inverse distance weighted (IDW)

    - - +

    +

    Public Types

    -typedef std::shared_ptr< RainSourceptr
    +typedef std::shared_ptr< RainSourceptr
     shared pointer
     
    - - + - - - - + + + + - + - + - - - - - - - + + + + + + + - + - + - - + + - + - + - - + +

    +

    Public Member Functions

    -real conc (cmf::math::Time t, const cmf::water::solute &Solute) const
    +real conc (cmf::math::Time t, const cmf::water::solute &Solute) const
     Returns the concentration of a solute in the rainfall at time t.
     
    -cmf::water::flux_connectionconnection_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)
    +cmf::water::flux_connectionconnection_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)
    +cmf::geometry::point get_3d_flux (cmf::math::Time t)
     Returns the sum of all flux vectors.
     
    -real get_intensity (cmf::math::Time t) const
    +real get_intensity (cmf::math::Time t) const
     Returns the actual rainfall intensity in mm/day.
     
    virtual real get_potential () const
     Returns the water potential of the node in m waterhead. More...
     
    -cmf::projectget_project () const
     Returns the project, this node is part of.
     
    -virtual double is_empty () const
    virtual real get_potential (cmf::math::Time=cmf::math::never) const
     Returns the water potential of the node in m waterhead.
     
    +cmf::projectget_project () const
     Returns the project, this node is part of.
     
    +virtual double is_empty () const
     Returns false.
     
    -virtual bool is_storage () const
    +virtual bool is_storage () const
     true, if this is a waterstorage
     
    -real operator() (cmf::math::Time t) const
    +real operator() (cmf::math::Time t) const
     Functor declaration RainSource(t) = RainSource.get_intensity(t)
     
    virtual bool RecalcFluxes (cmf::math::Time t)
     Pure flux_nodes do not influence fluxes, therefore no recalculation of fluxes is required by flux_node. More...
    virtual 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)
    +bool remove_connection (cmf::water::flux_node::ptr To)
     Remove the connection.
     
    -virtual void set_potential (real new_potential)
    +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. More...
    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 ptr create (cmf::project &project, cmf::geometry::point position, double z_weight, double power)
     Creates an IDWRainfall object. More...
    static ptr create (cmf::project &project, cmf::geometry::point position, double z_weight, double power)
     Creates an IDWRainfall object.
     
    - - + - + - +

    +

    Public Attributes

    -std::string Name
    +std::string Name
     The Name of this node.
     
    -const int node_id
    +const int node_id
     The Id of the node.
     
    -cmf::geometry::point position
    +cmf::geometry::point position
     The spatial position of the node.
     

    Member Function Documentation

    - -

    ◆ create()

    + +

    ◆ create()

    @@ -231,31 +249,22 @@

    static ptr create ( - cmf::project &  - project, + cmf::project & project, - cmf::geometry::point  - position, + cmf::geometry::point position, - double  - z_weight, + double z_weight, - double  - power  - - - - ) - + double power ) @@ -265,8 +274,8 @@

    -

    Creates an IDWRainfall object.

    -

    This method is invoked by cmf::project::use_IDW_rainfall.

    See also
    IDW
    +

    Creates an IDWRainfall object.

    +

    This method is invoked by cmf::project::use_IDW_rainfall.

    See also
    IDW
    Returns
    The new object
    Parameters
    @@ -280,8 +289,8 @@

    -

    ◆ get_potential()

    + +

    ◆ get_potential()

    @@ -292,7 +301,7 @@

    virtual real get_potential

    - +
    ()cmf::math::Time = cmf::math::never) const
    @@ -306,12 +315,12 @@

    MacroPore, SoilLayer, WaterStorage, DirichletBoundary, and SystemBridge.

    +

    Reimplemented in MacroPore, SoilLayer, DirichletBoundary, and WaterStorage.

    - -

    ◆ RecalcFluxes()

    + +

    ◆ RecalcFluxes()

    @@ -322,8 +331,7 @@

    virtual bool RecalcFluxes ( - cmf::math::Time  - t) + cmf::math::Time t) @@ -341,8 +349,8 @@

    -

    ◆ waterbalance()

    + +

    ◆ waterbalance()

    @@ -353,19 +361,12 @@

    real waterbalance ( - cmf::math::Time  - t, + cmf::math::Time t, - const flux_connection *  - Without = 0  - - - - ) - const + const flux_connection * Without = 0 ) const @@ -376,7 +377,8 @@

    Returns the sum of all fluxes (positive and negative) at time t.

    -

    Single fluxes can be excluded from the calculation

    Parameters
    +


    + Single fluxes can be excluded from the calculation

    Parameters
    @@ -394,7 +396,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    tTime of the query
    WithoutA flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits)
    Generated: Fri Apr 26 2019 12:43:40Generated: Fri Jan 19 2024 16:10:56
    diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall.js b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall.js index 358847c2..06fe99e0 100644 --- a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall.js +++ b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall.js @@ -2,12 +2,12 @@ var classcmf_1_1atmosphere_1_1_i_d_w_rainfall = [ [ "ptr", "classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html#aec1a0f6dd88fada266c725eb6742e9d7", null ], [ "conc", "classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html#a9cd2fd0f8fdde321ab8b9f8ee4ab83fa", null ], - [ "connection_to", "classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html#a5bd6810024edaf9bd5d5747d91ce5f1b", null ], + [ "connection_to", "classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html#abc9aed3e3aae59d1b4c383fb6e6385eb", null ], [ "flux_to", "classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html#a66f1b6a9698be9ffce574833de835bd1", null ], [ "get_3d_flux", "classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html#a8cba494467e1ffc036c47f1bcd60eccb", null ], [ "get_intensity", "classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html#a84a4030e0e2dcef3b5f02d7c41ec03bc", null ], - [ "get_potential", "classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html#a923af9ca71ce3a008d07d88216f1a351", null ], - [ "get_project", "classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html#ae4c3731109c42d8e7f70eb646fb573ec", null ], + [ "get_potential", "classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html#a222a8a63b7dbb2f3cfb8ab33c0c5e590", null ], + [ "get_project", "classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html#aac16760bdca4fd53f80987ee5affa734", null ], [ "is_empty", "classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html#ab3f02f11f233972d7c26cf26a9090613", null ], [ "is_storage", "classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html#ace09b97c37ded843368a00c04e89b55f", null ], [ "operator()", "classcmf_1_1atmosphere_1_1_i_d_w_rainfall.html#a1ac09266985df622ef90ce40783058cb", null ], diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__coll__graph.map b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__coll__graph.map index 6a6e2e88..ade908a8 100644 --- a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__coll__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__coll__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__coll__graph.md5 index 42dda26f..730dc491 100644 --- a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__coll__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__coll__graph.md5 @@ -1 +1 @@ -f20485b19a8f80744e629bddc9695503 \ No newline at end of file +aa4151d50164def5b4ac0f62009a4654 \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__coll__graph.png b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__coll__graph.png index 0892b103..ba02ddc7 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__coll__graph.png and b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__coll__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__inherit__graph.map b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__inherit__graph.map index 75f9330f..44167235 100644 --- a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__inherit__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__inherit__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__inherit__graph.md5 index c1c584c3..6e9c3b33 100644 --- a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__inherit__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__inherit__graph.md5 @@ -1 +1 @@ -82fee36314df18897b1ade0f5c6977bb \ No newline at end of file +e402373f1aa7a2a9f87002e4ee8e9d0e \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__inherit__graph.png b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__inherit__graph.png index e9c8c366..40c0e1e9 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__inherit__graph.png and b/docs/classcmf_1_1atmosphere_1_1_i_d_w_rainfall__inherit__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station-members.html b/docs/classcmf_1_1atmosphere_1_1_meteo_station-members.html index 5bc8c4e2..ff34f09d 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteo_station-members.html +++ b/docs/classcmf_1_1atmosphere_1_1_meteo_station-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,43 +93,49 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    MeteoStation Member List
    +
    MeteoStation Member List

    -Generated: Fri Apr 26 2019 12:43:40 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station.html b/docs/classcmf_1_1atmosphere_1_1_meteo_station.html index 67aa37aa..96b7cdd1 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteo_station.html +++ b/docs/classcmf_1_1atmosphere_1_1_meteo_station.html @@ -2,33 +2,37 @@ - - - - -cmf: MeteoStation Class Reference - - - - + + + + + cmf: MeteoStation Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,155 +93,157 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    MeteoStation Class Reference

    A meteorological station holding timeseries to create Weather records. - More...

    -
    + More...

    +
    + Collaboration diagram for MeteoStation:

    Detailed Description

    A meteorological station holding timeseries to create Weather records.

    -

    In order to calculate ETpot with cmf a big amount of meteorological data is needed, more data than usually available. The MeteoStation class can estimate missing data from a minimal set. As more data, as one provides, the better the calculation of ETpot becomes. The minimal data needed is Tmin and Tmax (daily) and precipitation. To calculate the global radiation (although measured global radiation could be inserted), the position of meteorological station in geographic coordinates has to be set.

    -

    A meteorological station is created by cmf::atmosphere::MeteoStationList::add_station . Usage from python:

    import cmf
    meteo=p.meteo_stations.add_station(name='<Station name>', position=(0,0,0),
    latitude=51.1, longitude = 8.0, timezone=1,
    daily=False)

    There are two modes for the meteorology: daily=true and daily=false. If daily=true, Radiation is given as a daily mean value. If daily=false, Radiation is given as an hourly mean value, which shows the dial ETpot variation but results in erronous results if the timestep is daily.

    +

    In order to calculate ETpot with cmf a big amount of meteorological data is needed, more data than usually available. The MeteoStation class can estimate missing data from a minimal set. As more data, as one provides, the better the calculation of ETpot becomes. The minimal data needed is Tmin and Tmax (daily) and precipitation. To calculate the global radiation (although measured global radiation could be inserted), the position of meteorological station in geographic coordinates has to be set.

    +

    A meteorological station is created by cmf::atmosphere::MeteoStationList::add_station . Usage from python:

    import cmf
    + +
    meteo=p.meteo_stations.add_station(name='<Station name>', position=(0,0,0),
    +
    latitude=51.1, longitude = 8.0, timezone=1,
    +
    daily=False)
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +

    There are two modes for the meteorology: daily=true and daily=false. If daily=true, Radiation is given as a daily mean value. If daily=false, Radiation is given as an hourly mean value, which shows the dial ETpot variation but results in erronous results if the timestep is daily.

    - - +

    +

    Public Types

    -typedef std::shared_ptr< MeteoStationptr
    +typedef std::shared_ptr< MeteoStationptr
     shared pointer
     
    - - - - - + - + - - + +

    +

    Public Member Functions

    MeteoStation (const cmf::atmosphere::MeteoStation &other)
     Copy c'tor.
     
    Data access methods
    -cmf::atmosphere::Weather get_data (cmf::math::Time t, double height) const
    +cmf::atmosphere::Weather get_data (cmf::math::Time t, double height) const
     Returns the current Atmosphere state. Uses default values for missing timeseries.
     
    -void use_for_cell (cmf::upslope::Cell &c)
    +void use_for_cell (cmf::upslope::Cell &c)
     Connects this meteostation as a meteo data provider with the cell.
     
    void SetSunshineFraction (cmf::math::timeseries sunshine_duration)
     
    -Calculates a timeseries of the sunshine fraction (to put into Sunshine) from a timeseries of absolute sunshine duration More...
    void SetSunshineFraction (cmf::math::timeseries sunshine_duration)
     Calculates a timeseries of the sunshine fraction (to put into Sunshine) from a timeseries of absolute sunshine duration.
     
    - - + - - + + - - + + - + - - + + - + - + - + - + - - + + - - + + - +

    +

    Public Attributes

    Timeseries of meteorological data
    -cmf::math::timeseries T
    +cmf::math::timeseries T
     Timeseries of Temperature \( T\left[^\circ C\right] \) Optional, can be calculated from \( T=\frac{T_{max} + T_{min}} 2 \).
     
    cmf::math::timeseries Tmax
     Timeseries of daily maximum Temperature \( T_{max} \left[^\circ C\right] \) Required, but it can be generated from T More...
    cmf::math::timeseries Tmax
     Timeseries of daily maximum Temperature \( T_{max} \left[^\circ C\right] \) Required, but it can be generated from T
     
    cmf::math::timeseries Tmin
     Timeseries of daily minimum Temperature \( T_{min}\left[^\circ C\right] \) Required, but it can generate from T More...
    cmf::math::timeseries Tmin
     Timeseries of daily minimum Temperature \( T_{min}\left[^\circ C\right] \) Required, but it can generate from T
     
    -cmf::math::timeseries Tground
    +cmf::math::timeseries Tground
     Timeseries of upper soil temperature \( T_{ground}\left[^\circ C\right] \) Optional, if missing \( T_{ground} = T \).
     
    cmf::math::timeseries Windspeed
     Timeseries of windspeed at instrument height (default 2m) in \(m/s\). More...
    cmf::math::timeseries Windspeed
     Timeseries of windspeed at instrument height (default 2m) in \(m/s\).
     
    -cmf::math::timeseries rHmean
    +cmf::math::timeseries rHmean
     Timeseries of relative mean Humidity \( rH_{mean} \left[\%\right] \) Optional, not used if rHmax or Tdew is available
     
    -cmf::math::timeseries rHmin
    +cmf::math::timeseries rHmin
     Timeseries of daily minimum relative Humidity \( rH_{min} \left[\%\right] \) Optional, only used if rHmax is used
     
    -cmf::math::timeseries rHmax
    +cmf::math::timeseries rHmax
     Timeseries of daily maximum relative Humidity \( rH_{max} \left[\%\right] \)Optional, not used if Tdew is available
     
    -cmf::math::timeseries Tdew
    +cmf::math::timeseries Tdew
     Timeseries of dew point temperature \( T_{dew}\left[^\circ C\right]\) Optional, if neither Tdew, rHmax or rHmean is available then Tdew = Tmin
     
    cmf::math::timeseries Sunshine
     Fractional sunshine \(\frac{n}{N}\). More...
    cmf::math::timeseries Sunshine
     Fractional sunshine \(\frac{n}{N}\).
     
    -cmf::math::timeseries Rs
     Global Radiation in \( \frac{MJ}{m^2 day} \) Optional, if not available cmf::atmosphere::global_radiation is used
    +cmf::math::timeseries Rs
     Global Radiation in \( \frac{MJ}{m^2 day} \) Optional, if not available cmf::atmosphere::global_radiation is used
     
    -cmf::math::timeseries T_lapse
    +cmf::math::timeseries T_lapse
     Temperature lapse, the slope of the temperature / height regression. Typical values are \( -0.0004 .. -0.001 \frac{^\circ C}{m} \), default is \( 0\frac{^\circ C}{m} \) (no temperature adjusting)
     
    - - + + - + - + - - - - - + - + - + - - + + - - + + +

    -Location and behaviour properties

    -double Latitude

    Location and behaviour properties

    +double Latitude
     Latitude in dec. deg.
     
    -double Longitude
    +double Longitude
     Longitude in dec. deg.
     
    -double Timezone
    +double Timezone
     Time zone, 1 Germany, 0 UK, -8 Pacific U.S.
     
    -double x
     
    -double y
     
    -double z
    +double z
     position of the station in m
     
    -std::string Name
    +std::string Name
     Name of the Station.
     
    -bool daily
    +bool daily
     If true, the global radiation is calculated for daily averages (no day-night cycle), if false the hourly average is calculated.
     
    real InstrumentHeight
     The height of the meteorological instruments above the surface in m. More...
    real InstrumentHeight
     The height of the meteorological instruments above the surface in m.
     
    -cmf::geometry::point get_position () const
     
    MeteoStation (const cmf::atmosphere::MeteoStation &other)
     Copy c'tor.
     

    Member Function Documentation

    - -

    ◆ SetSunshineFraction()

    + +

    ◆ SetSunshineFraction()

    @@ -244,24 +251,28 @@

    void SetSunshineFraction ( - cmf::math::timeseries  - sunshine_duration) + cmf::math::timeseries sunshine_duration)

    -


    -Calculates a timeseries of the sunshine fraction (to put into Sunshine) from a timeseries of absolute sunshine duration

    -

    see http://www.fao.org/docrep/X0490E/x0490e07.htm#radiation

    -\begin{eqnarray*} \phi &=& \frac{(\mbox{geogr. Latitude})^\circ \pi}{180^\circ} \mbox{ Latitude in }rad \\ \delta &=& 0.409 \sin\left(\frac{2\pi}{365}DOY - 1.39\right) \mbox{ Declination, DOY is day of year}\\ \omega_s &=& \arccos(-\tan\phi\tan\delta) \mbox{ Sunset angle in }rad \\ N &=& \frac{24}{\pi}\omega_s \mbox{ potential duration of sunshine in }h \\ \frac n N &=& n\mbox{ absolute sunshine duration in }h \end{eqnarray*} +

    Calculates a timeseries of the sunshine fraction (to put into Sunshine) from a timeseries of absolute sunshine duration.

    +

    see http://www.fao.org/docrep/X0490E/x0490e07.htm#radiation

    +\begin{eqnarray*} +\phi &=& \frac{(\mbox{geogr. Latitude})^\circ \pi}{180^\circ} \mbox{ Latitude in }rad \\ +\delta &=& 0.409 \sin\left(\frac{2\pi}{365}DOY - 1.39\right) \mbox{ Declination, DOY is day of year}\\ +\omega_s &=& \arccos(-\tan\phi\tan\delta) \mbox{ Sunset angle in }rad \\ +N &=& \frac{24}{\pi}\omega_s \mbox{ potential duration of sunshine in }h \\ +\frac n N &=& n\mbox{ absolute sunshine duration in }h +\end{eqnarray*}

    Member Data Documentation

    - -

    ◆ InstrumentHeight

    + +

    ◆ InstrumentHeight

    @@ -278,8 +289,8 @@

    -

    ◆ Sunshine

    + +

    ◆ Sunshine

    @@ -291,12 +302,12 @@

    Fractional sunshine \(\frac{n}{N}\).

    -

    Sunshine duration per potential sunshine durationOptional, if not present 0.5 If you have the total duration of sunshine, use cmf::atmosphere::MeteoStation::SetSunshineFraction. If you have cloud coverage instead of total sunshine duration you may assume that the fractional sunshine duration equals 1-cloudfraction

    +

    Sunshine duration per potential sunshine durationOptional, if not present 0.5 If you have the total duration of sunshine, use cmf::atmosphere::MeteoStation::SetSunshineFraction. If you have cloud coverage instead of total sunshine duration you may assume that the fractional sunshine duration equals 1-cloudfraction

    - -

    ◆ Tmax

    + +

    ◆ Tmax

    - -

    ◆ Tmin

    + +

    ◆ Tmin

    - -

    ◆ Windspeed

    + +

    ◆ Windspeed

    @@ -352,7 +365,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:40 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station__coll__graph.map b/docs/classcmf_1_1atmosphere_1_1_meteo_station__coll__graph.map index a7868413..93a880a7 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteo_station__coll__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_meteo_station__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station__coll__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_meteo_station__coll__graph.md5 index 3198b02f..4cbfd38b 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteo_station__coll__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_meteo_station__coll__graph.md5 @@ -1 +1 @@ -338bf959c2627c6dc5a3f730a6c6b7d7 \ No newline at end of file +bdab35c6ef7b053f48301f0d7b97d4e6 \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station__coll__graph.png b/docs/classcmf_1_1atmosphere_1_1_meteo_station__coll__graph.png index 653747a0..1147199b 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_meteo_station__coll__graph.png and b/docs/classcmf_1_1atmosphere_1_1_meteo_station__coll__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station_list-members.html b/docs/classcmf_1_1atmosphere_1_1_meteo_station_list-members.html index 00d88c41..8e2a8cc6 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteo_station_list-members.html +++ b/docs/classcmf_1_1atmosphere_1_1_meteo_station_list-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,27 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    MeteoStationList Member List
    +
    MeteoStationList Member List

    This is the complete list of members for MeteoStationList, including all inherited members.

    - + - + - + - +
    add_station(std::string name, cmf::geometry::point position, double latitude=51.0, double longitude=8.0, double tz=1.0, cmf::math::Time startTime=cmf::math::Time(1, 1, 2001), cmf::math::Time timestep=cmf::math::day)MeteoStationList
    calculate_Temp_lapse(cmf::math::Time begin, cmf::math::Time step, cmf::math::Time end)MeteoStationList
    calculate_Temp_lapse(cmf::math::Time begin, cmf::math::Time step, cmf::math::Time end)MeteoStationList
    MeteoStationList()MeteoStationList
    MeteoStationList(const MeteoStationList &copy)MeteoStationList
    MeteoStationList(const MeteoStationList &copy)MeteoStationList
    operator[](ptrdiff_t index) constMeteoStationList
    operator[](const std::string &Name) constMeteoStationList
    operator[](const std::string &Name) constMeteoStationList
    reference_to_nearest(const cmf::geometry::point &position, double z_weight=0) constMeteoStationList
    remove_station(ptrdiff_t index)MeteoStationList
    remove_station(ptrdiff_t index)MeteoStationList
    size() constMeteoStationList
    @@ -118,7 +129,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:40 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station_list.html b/docs/classcmf_1_1atmosphere_1_1_meteo_station_list.html index ae7c4f47..37fbf1d2 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteo_station_list.html +++ b/docs/classcmf_1_1atmosphere_1_1_meteo_station_list.html @@ -2,33 +2,37 @@ - - - - -cmf: MeteoStationList Class Reference - - - - + + + + + cmf: MeteoStationList Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,65 +93,71 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    MeteoStationList Class Reference
    +
    MeteoStationList Class Reference

    A list of meteorological stations. - More...

    + More...

    Detailed Description

    A list of meteorological stations.

    Can find the nearest station for a position and calculate the temperature lapse

    - - + - + - - + + - - + + - - - - + - - + + + + + - + - +

    +

    Public Member Functions

    MeteoStationList ()
    MeteoStationList ()
     Create empty list.
     
    MeteoStationList (const MeteoStationList &copy)
    MeteoStationList (const MeteoStationList &copy)
     Copy c'tor.
     
    MeteoStation::ptr add_station (std::string name, cmf::geometry::point position, double latitude=51.0, double longitude=8.0, double tz=1.0, cmf::math::Time startTime=cmf::math::Time(1, 1, 2001), cmf::math::Time timestep=cmf::math::day)
     Creates a meteorological station at a certain position and adds it to the list. More...
    MeteoStation::ptr add_station (std::string name, cmf::geometry::point position, double latitude=51.0, double longitude=8.0, double tz=1.0, cmf::math::Time startTime=cmf::math::Time(1, 1, 2001), cmf::math::Time timestep=cmf::math::day)
     Creates a meteorological station at a certain position and adds it to the list.
     
    double calculate_Temp_lapse (cmf::math::Time begin, cmf::math::Time step, cmf::math::Time end)
     Calculates the temperature lapse from all stations in the list and sets the T_lapse attribute of each station. More...
    double calculate_Temp_lapse (cmf::math::Time begin, cmf::math::Time step, cmf::math::Time end)
     Calculates the temperature lapse from all stations in the list and sets the T_lapse attribute of each station.
     
    -MeteoStation::ptr operator[] (ptrdiff_t index) const
     Gets the station at index.
     
    -MeteoStation::ptr operator[] (const std::string &Name) const
    +MeteoStation::ptr operator[] (const std::string &Name) const
     gets a station by name
     
    MeteoStationReference reference_to_nearest (const cmf::geometry::point &position, double z_weight=0) const
     Creates a MeteoStationReference from the nearest station to position at position. More...
    +MeteoStation::ptr operator[] (ptrdiff_t index) const
     Gets the station at index.
     
    MeteoStationReference reference_to_nearest (const cmf::geometry::point &position, double z_weight=0) const
     Creates a MeteoStationReference from the nearest station to position at position.
     
    -ptrdiff_t remove_station (ptrdiff_t index)
    +ptrdiff_t remove_station (ptrdiff_t index)
     Removes a station and returns the number of remaining references to the removed station. If the station is deleted, 0 is returned.
     
    -size_t size () const
    +size_t size () const
     Returns the number of stations.
     

    Member Function Documentation

    - -

    ◆ add_station()

    + +

    ◆ add_station()

    @@ -154,49 +165,37 @@

    MeteoStation::ptr add_station ( - std::string  - name, + std::string name, - cmf::geometry::point  - position, + cmf::geometry::point position, - double  - latitude = 51.0, + double latitude = 51.0, - double  - longitude = 8.0, + double longitude = 8.0, - double  - tz = 1.0, + double tz = 1.0, - cmf::math::Time  - startTime = cmf::math::Time(1, 1, 2001), + cmf::math::Time startTime = cmf::math::Time(1, 1, 2001), - cmf::math::Time  - timestep = cmf::math::day  - - - - ) - + cmf::math::Time timestep = cmf::math::day )

    @@ -217,8 +216,8 @@

    -

    ◆ calculate_Temp_lapse()

    + +

    ◆ calculate_Temp_lapse()

    @@ -226,25 +225,17 @@

    double calculate_Temp_lapse ( - cmf::math::Time  - begin, + cmf::math::Time begin, - cmf::math::Time  - step, + cmf::math::Time step, - cmf::math::Time  - end  - - - - ) - + cmf::math::Time end )

    @@ -254,8 +245,8 @@

    -

    ◆ reference_to_nearest()

    + +

    ◆ reference_to_nearest()

    @@ -263,25 +254,18 @@

    MeteoStationReference reference_to_nearest ( - const cmf::geometry::point &  - position, + const cmf::geometry::point & position, - double  - z_weight = 0  - - - - ) - const + double z_weight = 0 ) const

    -

    Creates a MeteoStationReference from the nearest station to position at position.

    -

    The distance is calculated as \( d=\sqrt{(x_{s} - x_{l})^2 + (y_{s} - y_{l})^2} + \lambda_z\|z_{s} - z_{l}\| \) Where \(s\) is the station and \(l\) is the locatable

    Returns
    A Meteorology using the data of the nearest station to position
    +

    Creates a MeteoStationReference from the nearest station to position at position.

    +

    The distance is calculated as \( d=\sqrt{(x_{s} - x_{l})^2 + (y_{s} - y_{l})^2} + \lambda_z\|z_{s} - z_{l}\| \) Where \(s\) is the station and \(l\) is the locatable

    Returns
    A Meteorology using the data of the nearest station to position
    Parameters
    @@ -300,7 +284,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    positionThe position (any locatable, like e.g. Cell possible) to look for the station. The reference should be owned by the locatable
    Generated: Fri Apr 26 2019 12:43:40Generated: Fri Jan 19 2024 16:10:56
    diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station_list.js b/docs/classcmf_1_1atmosphere_1_1_meteo_station_list.js index 81d9ef1d..28baa3da 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteo_station_list.js +++ b/docs/classcmf_1_1atmosphere_1_1_meteo_station_list.js @@ -4,8 +4,8 @@ var classcmf_1_1atmosphere_1_1_meteo_station_list = [ "MeteoStationList", "classcmf_1_1atmosphere_1_1_meteo_station_list.html#adfd329a6905184bf392f6bdf731e6baa", null ], [ "add_station", "classcmf_1_1atmosphere_1_1_meteo_station_list.html#a8010313519d89f8a5cee74aea60702ca", null ], [ "calculate_Temp_lapse", "classcmf_1_1atmosphere_1_1_meteo_station_list.html#ad2792bd8d7eaf988bf6f19b77320626d", null ], - [ "operator[]", "classcmf_1_1atmosphere_1_1_meteo_station_list.html#a5b5a8e04ecf106629a5195ccf341f012", null ], [ "operator[]", "classcmf_1_1atmosphere_1_1_meteo_station_list.html#a3bf0e4b88c0b916f51d871e7ba9c2315", null ], + [ "operator[]", "classcmf_1_1atmosphere_1_1_meteo_station_list.html#a5b5a8e04ecf106629a5195ccf341f012", null ], [ "reference_to_nearest", "classcmf_1_1atmosphere_1_1_meteo_station_list.html#af0b1e9f2a77d4f3d86e6ad49d46d8ffe", null ], [ "remove_station", "classcmf_1_1atmosphere_1_1_meteo_station_list.html#a70780229d5a9e62521e4b94b2a12f700", null ], [ "size", "classcmf_1_1atmosphere_1_1_meteo_station_list.html#a259cb5a711406a8c3e5d937eb9350cca", null ] diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference-members.html b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference-members.html index 4c8c2805..afb6f32f 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference-members.html +++ b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,25 +93,31 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    MeteoStationReference Member List
    +
    MeteoStationReference Member List

    This is the complete list of members for MeteoStationReference, including all inherited members.

    - - + + - + - +
    copy() constMeteoStationReferencevirtual
    get_instrument_height() constMeteoStationReferencevirtual
    copy() constMeteoStationReferencevirtual
    get_instrument_height() constMeteoStationReferencevirtual
    get_position() constMeteoStationReference
    get_station() constMeteoStationReference
    get_station() constMeteoStationReference
    get_weather(cmf::math::Time t) constMeteoStationReferencevirtual
    MeteoStationReference(MeteoStation::ptr station, cmf::geometry::point location)MeteoStationReference
    MeteoStationReference(MeteoStation::ptr station, cmf::geometry::point location)MeteoStationReference
    operator()(cmf::math::Time t)Meteorology
    @@ -116,7 +127,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:40 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference.html b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference.html index 4ac09318..45fa97d4 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference.html +++ b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference.html @@ -2,33 +2,37 @@ - - - - -cmf: MeteoStationReference Class Reference - - - - + + + + + cmf: MeteoStationReference Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,79 +93,89 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    MeteoStationReference Class Reference
    +
    MeteoStationReference Class Reference

    A reference to a meteorological station. - More...

    -
    + More...

    +
    + Inheritance diagram for MeteoStationReference:
    -
    +
    + Collaboration diagram for MeteoStationReference:

    Detailed Description

    A reference to a meteorological station.

    -

    Returns the weather at a given time for its place using MeteoStation::T_lapse

    +

    Returns the weather at a given time for its place using MeteoStation::T_lapse

    - - - + + - - - - - + + + + + - + - + - + - +

    +

    Public Member Functions

     MeteoStationReference (MeteoStation::ptr station, cmf::geometry::point location)
     Create a located reference to a meteo station. More...
     MeteoStationReference (MeteoStation::ptr station, cmf::geometry::point location)
     Create a located reference to a meteo station.
     
    -MeteoStationReferencecopy () const
     Returns a copy of the meteorology object. Pure virtual function, needs to be implemented.
     
    -real get_instrument_height () const
     Creates a reference for a MeteoStation at a location.
    +MeteoStationReferencecopy () const
     Returns a copy of the meteorology object. Pure virtual function, needs to be implemented.
     
    +real get_instrument_height () const
     Creates a reference for a MeteoStation at a location.
     
    -cmf::geometry::point get_position () const
    +cmf::geometry::point get_position () const
     Returns the position of the reference.
     
    -MeteoStation::ptr get_station () const
    +MeteoStation::ptr get_station () const
     Returns the station referenced.
     
    -cmf::atmosphere::Weather get_weather (cmf::math::Time t) const
    +cmf::atmosphere::Weather get_weather (cmf::math::Time t) const
     Returns the weather at the time t.
     
    -cmf::atmosphere::Weather operator() (cmf::math::Time t)
    +cmf::atmosphere::Weather operator() (cmf::math::Time t)
     Returns the Weather at time t.
     

    Constructor & Destructor Documentation

    - -

    ◆ MeteoStationReference()

    + +

    ◆ MeteoStationReference()

    @@ -168,19 +183,12 @@

    MeteoStationReference ( - MeteoStation::ptr  - station, + MeteoStation::ptr station, - cmf::geometry::point  - location  - - - - ) - + cmf::geometry::point location )

    @@ -188,7 +196,7 @@

    Parameters
    - +
    stationMeteoStation
    stationMeteoStation
    locationLocation of the reference
    @@ -204,7 +212,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:40 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference.js b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference.js index 3e1e51a8..c94789f9 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference.js +++ b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference.js @@ -1,7 +1,7 @@ var classcmf_1_1atmosphere_1_1_meteo_station_reference = [ [ "MeteoStationReference", "classcmf_1_1atmosphere_1_1_meteo_station_reference.html#a718dc6fa5a6031e3d2675e5f8ea15ccb", null ], - [ "copy", "classcmf_1_1atmosphere_1_1_meteo_station_reference.html#a549eaa4d4488bb6330badea12bda970f", null ], + [ "copy", "classcmf_1_1atmosphere_1_1_meteo_station_reference.html#ad675345fb592654d200dbc8209edc10e", null ], [ "get_instrument_height", "classcmf_1_1atmosphere_1_1_meteo_station_reference.html#acad8e4d33dcb6cdedd38179ef8672623", null ], [ "get_position", "classcmf_1_1atmosphere_1_1_meteo_station_reference.html#a9abcb40625f101447985020304e2590a", null ], [ "get_station", "classcmf_1_1atmosphere_1_1_meteo_station_reference.html#ab9b29600740653557d7e9bec00e2fb38", null ], diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__coll__graph.map b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__coll__graph.map index bcf3a8bc..d160442c 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__coll__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__coll__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__coll__graph.md5 index 8546124d..675fc6f1 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__coll__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__coll__graph.md5 @@ -1 +1 @@ -660b7995960213e438c22b29bb3c7753 \ No newline at end of file +438425d642d381cb486d6bb3fa8f5e5d \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__coll__graph.png b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__coll__graph.png index cc92c598..10bb577c 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__coll__graph.png and b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__coll__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__inherit__graph.map b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__inherit__graph.map index bcf3a8bc..d160442c 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__inherit__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__inherit__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__inherit__graph.md5 index 9165d71c..675fc6f1 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__inherit__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__inherit__graph.md5 @@ -1 +1 @@ -450a3a5896f71652e042ddd940d0ce54 \ No newline at end of file +438425d642d381cb486d6bb3fa8f5e5d \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__inherit__graph.png b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__inherit__graph.png index cc92c598..10bb577c 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__inherit__graph.png and b/docs/classcmf_1_1atmosphere_1_1_meteo_station_reference__inherit__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_meteorology-members.html b/docs/classcmf_1_1atmosphere_1_1_meteorology-members.html index d1afee46..ad994e15 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteorology-members.html +++ b/docs/classcmf_1_1atmosphere_1_1_meteorology-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,23 +93,29 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Meteorology Member List
    +
    Meteorology Member List

    This is the complete list of members for Meteorology, including all inherited members.

    - - + + - +
    copy() const =0Meteorologypure virtual
    get_instrument_height() const =0Meteorologypure virtual
    copy() const =0Meteorologypure virtual
    get_instrument_height() const =0Meteorologypure virtual
    get_weather(cmf::math::Time t) const =0Meteorologypure virtual
    operator()(cmf::math::Time t)Meteorology
    operator()(cmf::math::Time t)Meteorology

    -Generated: Fri Apr 26 2019 12:43:40 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1_meteorology.html b/docs/classcmf_1_1atmosphere_1_1_meteorology.html index da462103..570b8942 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteorology.html +++ b/docs/classcmf_1_1atmosphere_1_1_meteorology.html @@ -2,33 +2,37 @@ - - - - -cmf: Meteorology Class Reference - - - - + + + + + cmf: Meteorology Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,53 +93,63 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Meteorology Class Referenceabstract
    +
    Meteorology Class Referenceabstract

    An abstract class, for objects generating Weather records at a specific time. - More...

    -
    + More...

    +
    + Inheritance diagram for Meteorology:

    Detailed Description

    An abstract class, for objects generating Weather records at a specific time.

    - - - - - + + + + - + - +

    +

    Public Member Functions

    -virtual Meteorologycopy () const =0
     Returns a copy of the meteorology object. Pure virtual function, needs to be implemented.
     
    -virtual real get_instrument_height () const =0
    +virtual Meteorologycopy () const =0
     Returns a copy of the meteorology object. Pure virtual function, needs to be implemented.
     
    +virtual real get_instrument_height () const =0
     Returns the height of the instruments above canopy.
     
    -virtual cmf::atmosphere::Weather get_weather (cmf::math::Time t) const =0
    +virtual cmf::atmosphere::Weather get_weather (cmf::math::Time t) const =0
     Returns the Weather at time t. Pure virtual function. Must get implemented by child functions.
     
    -cmf::atmosphere::Weather operator() (cmf::math::Time t)
    +cmf::atmosphere::Weather operator() (cmf::math::Time t)
     Returns the Weather at time t.
     
    @@ -146,7 +161,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:40 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1_meteorology.js b/docs/classcmf_1_1atmosphere_1_1_meteorology.js index 8b705ed9..72554deb 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteorology.js +++ b/docs/classcmf_1_1atmosphere_1_1_meteorology.js @@ -1,6 +1,6 @@ var classcmf_1_1atmosphere_1_1_meteorology = [ - [ "copy", "classcmf_1_1atmosphere_1_1_meteorology.html#a8dd72dfaf4b4faf524ddb7ccb5f06e2e", null ], + [ "copy", "classcmf_1_1atmosphere_1_1_meteorology.html#a5e82db3f82a82c6b0847f15de9394166", null ], [ "get_instrument_height", "classcmf_1_1atmosphere_1_1_meteorology.html#a8ded625eab8b02b3b7f4540ad1db70e2", null ], [ "get_weather", "classcmf_1_1atmosphere_1_1_meteorology.html#ad094c3fdb189de443a4f149d689ac856", null ], [ "operator()", "classcmf_1_1atmosphere_1_1_meteorology.html#a07a90079de12cec7c7d77d40f2da4823", null ] diff --git a/docs/classcmf_1_1atmosphere_1_1_meteorology__inherit__graph.map b/docs/classcmf_1_1atmosphere_1_1_meteorology__inherit__graph.map index b2b5253b..292909f7 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteorology__inherit__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_meteorology__inherit__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_meteorology__inherit__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_meteorology__inherit__graph.md5 index a31376c8..dd92ce35 100644 --- a/docs/classcmf_1_1atmosphere_1_1_meteorology__inherit__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_meteorology__inherit__graph.md5 @@ -1 +1 @@ -fc27abd028029be5193657676e6e2301 \ No newline at end of file +022893562f78e410615b76452f2ca221 \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_meteorology__inherit__graph.png b/docs/classcmf_1_1atmosphere_1_1_meteorology__inherit__graph.png index 1e955ff4..b4fb44e7 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_meteorology__inherit__graph.png and b/docs/classcmf_1_1atmosphere_1_1_meteorology__inherit__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_rain_source-members.html b/docs/classcmf_1_1atmosphere_1_1_rain_source-members.html index 692d43e8..4aec2587 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rain_source-members.html +++ b/docs/classcmf_1_1atmosphere_1_1_rain_source-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,39 +93,45 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    RainSource Member List
    +
    RainSource Member List

    This is the complete list of members for RainSource, including all inherited members.

    - + - + - - - + + + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &Solute) const =0RainSourcepure virtual
    connection_to(const cmf::water::flux_node &target)flux_node
    connection_to(const cmf::water::flux_node &target)flux_node
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_intensity(cmf::math::Time t) const =0RainSourcepure virtual
    get_potential() constflux_nodevirtual
    get_project() constflux_node
    is_empty() constRainSourcevirtual
    get_potential(cmf::math::Time=cmf::math::never) constflux_nodevirtual
    get_project() constflux_node
    is_empty() constRainSourcevirtual
    is_storage() constflux_nodevirtual
    Nameflux_node
    Nameflux_node
    node_idflux_node
    operator()(cmf::math::Time t) constRainSource
    operator()(cmf::math::Time t) constRainSource
    positionflux_node
    ptr typedefRainSource
    ptr typedefRainSource
    RainSource(cmf::project &_project, cmf::geometry::point location=cmf::geometry::point())RainSourceprotected
    RecalcFluxes(cmf::math::Time t)RainSourcevirtual
    RecalcFluxes(cmf::math::Time t)RainSourcevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_potential(real new_potential)flux_nodevirtual
    set_potential(real new_potential)flux_nodevirtual
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    ~flux_node()flux_nodevirtual
    ~flux_node()flux_nodevirtual
    diff --git a/docs/classcmf_1_1atmosphere_1_1_rain_source.html b/docs/classcmf_1_1atmosphere_1_1_rain_source.html index 46924b05..403ad572 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rain_source.html +++ b/docs/classcmf_1_1atmosphere_1_1_rain_source.html @@ -2,33 +2,37 @@ - - - - -cmf: RainSource Class Reference - - - - + + + + + cmf: RainSource Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    RainSource Class Referenceabstract
    +
    RainSource Class Referenceabstract

    An abstract class for different types of rainfall sources. - More...

    -
    + More...

    +
    + Inheritance diagram for RainSource:
    -
    +
    + Collaboration diagram for RainSource:

    Detailed Description

    An abstract class for different types of rainfall sources.

    - - +

    +

    Public Types

    -typedef std::shared_ptr< RainSourceptr
    +typedef std::shared_ptr< RainSourceptr
     shared pointer
     
    - - + - - - - + + + + - + - + - - - - - - - + + + + + + + - + - + - - + + - + - + - - + +

    +

    Public Member Functions

    -virtual real conc (cmf::math::Time t, const cmf::water::solute &Solute) const =0
    +virtual real conc (cmf::math::Time t, const cmf::water::solute &Solute) const =0
     Returns the concentration of a solute in the rainfall at time t.
     
    -cmf::water::flux_connectionconnection_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)
    +cmf::water::flux_connectionconnection_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)
    +cmf::geometry::point get_3d_flux (cmf::math::Time t)
     Returns the sum of all flux vectors.
     
    -virtual real get_intensity (cmf::math::Time t) const =0
    +virtual real get_intensity (cmf::math::Time t) const =0
     Returns the actual rainfall intensity in mm/day.
     
    virtual real get_potential () const
     Returns the water potential of the node in m waterhead. More...
     
    -cmf::projectget_project () const
     Returns the project, this node is part of.
     
    -virtual double is_empty () const
    virtual real get_potential (cmf::math::Time=cmf::math::never) const
     Returns the water potential of the node in m waterhead.
     
    +cmf::projectget_project () const
     Returns the project, this node is part of.
     
    +virtual double is_empty () const
     Returns false.
     
    -virtual bool is_storage () const
    +virtual bool is_storage () const
     true, if this is a waterstorage
     
    -real operator() (cmf::math::Time t) const
    +real operator() (cmf::math::Time t) const
     Functor declaration RainSource(t) = RainSource.get_intensity(t)
     
    virtual bool RecalcFluxes (cmf::math::Time t)
     Pure flux_nodes do not influence fluxes, therefore no recalculation of fluxes is required by flux_node. More...
    virtual 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)
    +bool remove_connection (cmf::water::flux_node::ptr To)
     Remove the connection.
     
    -virtual void set_potential (real new_potential)
    +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. More...
    real waterbalance (cmf::math::Time t, const flux_connection *Without=0) const
     Returns the sum of all fluxes (positive and negative) at time t.
     
    - - + - + - +

    +

    Public Attributes

    -std::string Name
    +std::string Name
     The Name of this node.
     
    -const int node_id
    +const int node_id
     The Id of the node.
     
    -cmf::geometry::point position
    +cmf::geometry::point position
     The spatial position of the node.
     
    - - +

    +

    Protected Member Functions

    RainSource (cmf::project &_project, cmf::geometry::point location=cmf::geometry::point())
    RainSource (cmf::project &_project, cmf::geometry::point location=cmf::geometry::point())
     protected c'tor
     

    Member Function Documentation

    - -

    ◆ get_potential()

    + +

    ◆ get_potential()

    - -

    ◆ RecalcFluxes()

    + +

    ◆ RecalcFluxes()

    @@ -263,8 +283,7 @@

    virtual bool RecalcFluxes ( - cmf::math::Time  - t) + cmf::math::Time t) @@ -282,8 +301,8 @@

    -

    ◆ waterbalance()

    + +

    ◆ waterbalance()

    @@ -294,19 +313,12 @@

    real waterbalance ( - cmf::math::Time  - t, + cmf::math::Time t, - const flux_connection *  - Without = 0  - - - - ) - const + const flux_connection * Without = 0 ) const @@ -317,7 +329,8 @@

    Returns the sum of all fluxes (positive and negative) at time t.

    -

    Single fluxes can be excluded from the calculation

    Parameters
    +


    + Single fluxes can be excluded from the calculation

    Parameters
    @@ -335,7 +348,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    tTime of the query
    WithoutA flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits)
    Generated: Fri Apr 26 2019 12:43:40Generated: Fri Jan 19 2024 16:10:56
    diff --git a/docs/classcmf_1_1atmosphere_1_1_rain_source.js b/docs/classcmf_1_1atmosphere_1_1_rain_source.js index 8fa5bf40..1fa1f4f2 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rain_source.js +++ b/docs/classcmf_1_1atmosphere_1_1_rain_source.js @@ -3,12 +3,12 @@ var classcmf_1_1atmosphere_1_1_rain_source = [ "ptr", "classcmf_1_1atmosphere_1_1_rain_source.html#aec1a0f6dd88fada266c725eb6742e9d7", null ], [ "RainSource", "classcmf_1_1atmosphere_1_1_rain_source.html#abdc91f50d2bd379898d1df371bbb6b19", null ], [ "conc", "classcmf_1_1atmosphere_1_1_rain_source.html#a21238738ec7a917e346f4a17f172b3be", null ], - [ "connection_to", "classcmf_1_1atmosphere_1_1_rain_source.html#a5bd6810024edaf9bd5d5747d91ce5f1b", null ], + [ "connection_to", "classcmf_1_1atmosphere_1_1_rain_source.html#abc9aed3e3aae59d1b4c383fb6e6385eb", null ], [ "flux_to", "classcmf_1_1atmosphere_1_1_rain_source.html#a66f1b6a9698be9ffce574833de835bd1", null ], [ "get_3d_flux", "classcmf_1_1atmosphere_1_1_rain_source.html#a8cba494467e1ffc036c47f1bcd60eccb", null ], [ "get_intensity", "classcmf_1_1atmosphere_1_1_rain_source.html#ace7c37a3fcbeabb989c5657a10c5244c", null ], - [ "get_potential", "classcmf_1_1atmosphere_1_1_rain_source.html#a923af9ca71ce3a008d07d88216f1a351", null ], - [ "get_project", "classcmf_1_1atmosphere_1_1_rain_source.html#ae4c3731109c42d8e7f70eb646fb573ec", null ], + [ "get_potential", "classcmf_1_1atmosphere_1_1_rain_source.html#a222a8a63b7dbb2f3cfb8ab33c0c5e590", null ], + [ "get_project", "classcmf_1_1atmosphere_1_1_rain_source.html#aac16760bdca4fd53f80987ee5affa734", null ], [ "is_empty", "classcmf_1_1atmosphere_1_1_rain_source.html#ab3f02f11f233972d7c26cf26a9090613", null ], [ "is_storage", "classcmf_1_1atmosphere_1_1_rain_source.html#ace09b97c37ded843368a00c04e89b55f", null ], [ "operator()", "classcmf_1_1atmosphere_1_1_rain_source.html#a1ac09266985df622ef90ce40783058cb", null ], diff --git a/docs/classcmf_1_1atmosphere_1_1_rain_source__coll__graph.map b/docs/classcmf_1_1atmosphere_1_1_rain_source__coll__graph.map index a4248497..69d4be1b 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rain_source__coll__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_rain_source__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_rain_source__coll__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_rain_source__coll__graph.md5 index 721b519b..94365512 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rain_source__coll__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_rain_source__coll__graph.md5 @@ -1 +1 @@ -993169e7698c9c0842ef60a7856322ff \ No newline at end of file +351fdd3c002c198850aea7349065c836 \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_rain_source__coll__graph.png b/docs/classcmf_1_1atmosphere_1_1_rain_source__coll__graph.png index 4e266210..5691f952 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_rain_source__coll__graph.png and b/docs/classcmf_1_1atmosphere_1_1_rain_source__coll__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_rain_source__inherit__graph.map b/docs/classcmf_1_1atmosphere_1_1_rain_source__inherit__graph.map index 866804d9..aa4898a2 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rain_source__inherit__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_rain_source__inherit__graph.map @@ -1,7 +1,13 @@ - - - - - + + + + + + + + + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_rain_source__inherit__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_rain_source__inherit__graph.md5 index 4ba4032c..6d960e26 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rain_source__inherit__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_rain_source__inherit__graph.md5 @@ -1 +1 @@ -3d58184546d9604593b32d5b52ea3dac \ No newline at end of file +f08271e6c3cb4ad9090bb2d63e1d6fe6 \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_rain_source__inherit__graph.png b/docs/classcmf_1_1atmosphere_1_1_rain_source__inherit__graph.png index 9f78c1f1..d912c7e7 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_rain_source__inherit__graph.png and b/docs/classcmf_1_1atmosphere_1_1_rain_source__inherit__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_rainfall_station-members.html b/docs/classcmf_1_1atmosphere_1_1_rainfall_station-members.html index ed36ab4f..fbfb5eb5 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rainfall_station-members.html +++ b/docs/classcmf_1_1atmosphere_1_1_rainfall_station-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,27 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    RainfallStation Member List
    +
    RainfallStation Member List

    This is the complete list of members for RainfallStation, including all inherited members.

    - + - + - + - +
    concentrationRainfallStation
    create(size_t Id, std::string Name, cmf::math::timeseries Data, cmf::geometry::point position)RainfallStationstatic
    create(size_t Id, std::string Name, cmf::math::timeseries Data, cmf::geometry::point position)RainfallStationstatic
    dataRainfallStation
    idRainfallStation
    idRainfallStation
    LocationRainfallStation
    nameRainfallStation
    nameRainfallStation
    RainfallStation(const RainfallStation &copy)RainfallStation
    tostring() constRainfallStation
    tostring() constRainfallStation
    use_for_cell(cmf::upslope::Cell &c)RainfallStation
    @@ -118,7 +129,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:40 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1_rainfall_station.html b/docs/classcmf_1_1atmosphere_1_1_rainfall_station.html index d459e1c8..192ce783 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rainfall_station.html +++ b/docs/classcmf_1_1atmosphere_1_1_rainfall_station.html @@ -2,33 +2,37 @@ - - - - -cmf: RainfallStation Class Reference - - - - + + + + + cmf: RainfallStation Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    RainfallStation Class Reference
    +
    RainfallStation Class Reference
    -

    RainfallStation describes a rainfall timeseries in mm/day at a certain place. - More...

    -
    +

    RainfallStation describes a rainfall timeseries in mm/day at a certain place. + More...

    +
    + Collaboration diagram for RainfallStation:

    Detailed Description

    -

    RainfallStation describes a rainfall timeseries in mm/day at a certain place.

    -

    Use RainfallStationReference or IDWRainfall to distribute the data into space

    +

    RainfallStation describes a rainfall timeseries in mm/day at a certain place.

    +

    Use RainfallStationReference or IDWRainfall to distribute the data into space

    - - + - + - +

    +

    Public Member Functions

    RainfallStation (const RainfallStation &copy)
    RainfallStation (const RainfallStation &copy)
     copy c'tor
     
    -std::string tostring () const
    +std::string tostring () const
     Returns the name and the mean yearly rainfall.
     
    -void use_for_cell (cmf::upslope::Cell &c)
    +void use_for_cell (cmf::upslope::Cell &c)
     Connects a cell with this rainfall station.
     
    - - - + +

    +

    Static Public Member Functions

    static ptr create (size_t Id, std::string Name, cmf::math::timeseries Data, cmf::geometry::point position)
     Creates a new RainfallStation. More...
    static ptr create (size_t Id, std::string Name, cmf::math::timeseries Data, cmf::geometry::point position)
     Creates a new RainfallStation.
     
    - - + - + - + - + - +

    +

    Public Attributes

    -cmf::water::SoluteTimeseries concentration
    +cmf::water::SoluteTimeseries concentration
     Contains the solute cocentration data.
     
    -cmf::math::timeseries data
    +cmf::math::timeseries data
     The timeseries data.
     
    -const size_t id
    +const size_t id
     A numerical identifier.
     
    -cmf::geometry::point Location
    +cmf::geometry::point Location
     Location of the station.
     
    -const std::string name
    +const std::string name
     The name of the station.
     

    Member Function Documentation

    - -

    ◆ create()

    + +

    ◆ create()

    @@ -179,31 +194,22 @@

    static ptr create ( - size_t  - Id, + size_t Id, - std::string  - Name, + std::string Name, - cmf::math::timeseries  - Data, + cmf::math::timeseries Data, - cmf::geometry::point  - position  - - - - ) - + cmf::geometry::point position ) @@ -213,8 +219,13 @@

    -

    Creates a new RainfallStation.

    -

    Is called by RainfallStationList::add. Using RainfallStationList::add is in most cases the better choice, eg. from Python

    project.rainfall_stations.add("Name", cmf.timeseries.from_file('rainfall.bin'), (65124,78009,187))
    Returns
    A new rainfall station
    +

    Creates a new RainfallStation.

    +

    Is called by RainfallStationList::add. Using RainfallStationList::add is in most cases the better choice, eg. from Python

    project.rainfall_stations.add("Name", cmf.timeseries.from_file('rainfall.bin'), (65124,78009,187))
    +
    RainfallStation::ptr add(std::string Name, cmf::math::timeseries Data, cmf::geometry::point Position)
    Creates a new RainfallStation and adds it to the list.
    Definition precipitation.h:172
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +
    cmf::atmosphere::RainfallStationList rainfall_stations
    The rainfall stations of the project.
    Definition project.h:75
    +
    The main namespace of the model framework. Contains the other namespaces and the project class.
    Definition __init__.py:1
    +
    Returns
    A new rainfall station
    Parameters
    @@ -235,7 +246,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    IdAn identifying number
    Generated: Fri Apr 26 2019 12:43:40Generated: Fri Jan 19 2024 16:10:56
    diff --git a/docs/classcmf_1_1atmosphere_1_1_rainfall_station__coll__graph.map b/docs/classcmf_1_1atmosphere_1_1_rainfall_station__coll__graph.map index 8147db08..d1cb9c06 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rainfall_station__coll__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_rainfall_station__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_rainfall_station__coll__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_rainfall_station__coll__graph.md5 index 6228383c..4262b98f 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rainfall_station__coll__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_rainfall_station__coll__graph.md5 @@ -1 +1 @@ -2fd8de0cfd3fdf736761e89b0b868289 \ No newline at end of file +ce1fc39321d6ab1ce6d0ad76952c99f6 \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_rainfall_station__coll__graph.png b/docs/classcmf_1_1atmosphere_1_1_rainfall_station__coll__graph.png index f05ae3ca..f6387fcd 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_rainfall_station__coll__graph.png and b/docs/classcmf_1_1atmosphere_1_1_rainfall_station__coll__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_list-members.html b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_list-members.html index d5b1a6a0..5f55309d 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_list-members.html +++ b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_list-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,23 +93,29 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    RainfallStationList Member List
    +
    RainfallStationList Member List

    This is the complete list of members for RainfallStationList, including all inherited members.

    - + - +
    add(std::string Name, cmf::math::timeseries Data, cmf::geometry::point Position)RainfallStationList
    operator[](ptrdiff_t index)RainfallStationList
    operator[](ptrdiff_t index)RainfallStationList
    operator[](ptrdiff_t index) constRainfallStationList
    remove(ptrdiff_t index)RainfallStationList
    remove(ptrdiff_t index)RainfallStationList
    size() constRainfallStationList
    @@ -114,7 +125,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:40 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_list.html b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_list.html index 1963cf75..97a33352 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_list.html +++ b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_list.html @@ -2,33 +2,37 @@ - - - - -cmf: RainfallStationList Class Reference - - - - + + + + + cmf: RainfallStationList Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,50 +93,56 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    RainfallStationList Class Reference
    +
    RainfallStationList Class Reference

    A list of rainfall stations. - More...

    + More...

    Detailed Description

    A list of rainfall stations.

    - - - + + - + - + - + - +

    +

    Public Member Functions

    RainfallStation::ptr add (std::string Name, cmf::math::timeseries Data, cmf::geometry::point Position)
     Creates a new RainfallStation and adds it to the list. More...
    RainfallStation::ptr add (std::string Name, cmf::math::timeseries Data, cmf::geometry::point Position)
     Creates a new RainfallStation and adds it to the list.
     
    -RainfallStation::ptr operator[] (ptrdiff_t index)
    +RainfallStation::ptr operator[] (ptrdiff_t index)
     Returns the station at index.
     
    -const RainfallStation::ptr operator[] (ptrdiff_t index) const
    +const RainfallStation::ptr operator[] (ptrdiff_t index) const
     Returns the station at index.
     
    -void remove (ptrdiff_t index)
    +void remove (ptrdiff_t index)
     Removes the station at index from this list.
     
    -size_t size () const
    +size_t size () const
     Returns the number of rainfall stations.
     

    Member Function Documentation

    - -

    ◆ add()

    + +

    ◆ add()

    -

    Creates a new RainfallStation and adds it to the list.

    -

    Usage:

    project.rainfall_stations.add("Station name", cmf.timeseries.from_file('rainfall.bin'), (65124,78009,187))

    The position of the rainfall station will be used as identifier

    Returns
    A new rainfall station
    +

    Creates a new RainfallStation and adds it to the list.

    +

    Usage:

    project.rainfall_stations.add("Station name", cmf.timeseries.from_file('rainfall.bin'), (65124,78009,187))
    +
    RainfallStation::ptr add(std::string Name, cmf::math::timeseries Data, cmf::geometry::point Position)
    Creates a new RainfallStation and adds it to the list.
    Definition precipitation.h:172
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +
    cmf::atmosphere::RainfallStationList rainfall_stations
    The rainfall stations of the project.
    Definition project.h:75
    +
    The main namespace of the model framework. Contains the other namespaces and the project class.
    Definition __init__.py:1
    +

    The position of the rainfall station will be used as identifier

    Returns
    A new rainfall station
    Parameters
    @@ -183,7 +191,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    NameName of the station
    Generated: Fri Apr 26 2019 12:43:40Generated: Fri Jan 19 2024 16:10:56
    diff --git a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference-members.html b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference-members.html index d72d819e..76f206bf 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference-members.html +++ b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,39 +93,45 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    RainfallStationReference Member List
    +
    RainfallStationReference Member List

    This is the complete list of members for RainfallStationReference, including all inherited members.

    - + - + - + - - - + + + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &Solute) constRainfallStationReferencevirtual
    connection_to(const cmf::water::flux_node &target)flux_node
    connection_to(const cmf::water::flux_node &target)flux_node
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    from_nearest_station(cmf::project &project, cmf::geometry::point position, double z_weight)RainfallStationReferencestatic
    from_nearest_station(cmf::project &project, cmf::geometry::point position, double z_weight)RainfallStationReferencestatic
    from_station_id(cmf::project &project, cmf::geometry::point position, size_t id)RainfallStationReferencestatic
    get_3d_flux(cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_intensity(cmf::math::Time t) constRainfallStationReferencevirtual
    get_potential() constflux_nodevirtual
    get_project() constflux_node
    is_empty() constRainSourcevirtual
    get_potential(cmf::math::Time=cmf::math::never) constflux_nodevirtual
    get_project() constflux_node
    is_empty() constRainSourcevirtual
    is_storage() constflux_nodevirtual
    Nameflux_node
    Nameflux_node
    node_idflux_node
    operator()(cmf::math::Time t) constRainSource
    operator()(cmf::math::Time t) constRainSource
    positionflux_node
    RainSource(cmf::project &_project, cmf::geometry::point location=cmf::geometry::point())RainSourceprotected
    RainSource(cmf::project &_project, cmf::geometry::point location=cmf::geometry::point())RainSourceprotected
    RecalcFluxes(cmf::math::Time t)RainSourcevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_potential(real new_potential)flux_nodevirtual
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    ~flux_node()flux_nodevirtual
    @@ -130,7 +141,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:40 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference.html b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference.html index 86905134..196bd9f7 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference.html +++ b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference.html @@ -2,33 +2,37 @@ - - - - -cmf: RainfallStationReference Class Reference - - - - + + + + + cmf: RainfallStationReference Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    RainfallStationReference Class Reference
    +
    RainfallStationReference Class Reference
    -

    References a single RainfallStation to provide rainfall intensity data. - More...

    -
    +

    References a single RainfallStation to provide rainfall intensity data. + More...

    +
    + Inheritance diagram for RainfallStationReference:
    -
    +
    + Collaboration diagram for RainfallStationReference:

    Detailed Description

    -

    References a single RainfallStation to provide rainfall intensity data.

    +

    References a single RainfallStation to provide rainfall intensity data.

    - - + - - - - + + + + - + - + - - - - - - - + + + + + + + - + - + - - + + - + - + - - + +

    +

    Public Member Functions

    -real conc (cmf::math::Time t, const cmf::water::solute &Solute) const
    +real conc (cmf::math::Time t, const cmf::water::solute &Solute) const
     Returns the concentration of a solute in [solute unit]/m3 at time t in rainfall.
     
    -cmf::water::flux_connectionconnection_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)
    +cmf::water::flux_connectionconnection_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)
    +cmf::geometry::point get_3d_flux (cmf::math::Time t)
     Returns the sum of all flux vectors.
     
    -real get_intensity (cmf::math::Time t) const
    +real get_intensity (cmf::math::Time t) const
     Returns the rainfall intensity in mm/day at time t.
     
    virtual real get_potential () const
     Returns the water potential of the node in m waterhead. More...
     
    -cmf::projectget_project () const
     Returns the project, this node is part of.
     
    -virtual double is_empty () const
    virtual real get_potential (cmf::math::Time=cmf::math::never) const
     Returns the water potential of the node in m waterhead.
     
    +cmf::projectget_project () const
     Returns the project, this node is part of.
     
    +virtual double is_empty () const
     Returns false.
     
    -virtual bool is_storage () const
    +virtual bool is_storage () const
     true, if this is a waterstorage
     
    -real operator() (cmf::math::Time t) const
    +real operator() (cmf::math::Time t) const
     Functor declaration RainSource(t) = RainSource.get_intensity(t)
     
    virtual bool RecalcFluxes (cmf::math::Time t)
     Pure flux_nodes do not influence fluxes, therefore no recalculation of fluxes is required by flux_node. More...
    virtual 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)
    +bool remove_connection (cmf::water::flux_node::ptr To)
     Remove the connection.
     
    -virtual void set_potential (real new_potential)
    +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. More...
    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 ptr from_nearest_station (cmf::project &project, cmf::geometry::point position, double z_weight)
     Finds the nearest RainfallStation to position using z_weight for cmf::geometry::point::z_weight_distance This method is used by cmf::project::use_nearest_rainfall. More...
    static ptr from_nearest_station (cmf::project &project, cmf::geometry::point position, double z_weight)
     Finds the nearest RainfallStation to position using z_weight for cmf::geometry::point::z_weight_distance This method is used by cmf::project::use_nearest_rainfall.
     
    -static ptr from_station_id (cmf::project &project, cmf::geometry::point position, size_t id)
     Creates a RainfallStationReference for a certain rainfall station.
    +static ptr from_station_id (cmf::project &project, cmf::geometry::point position, size_t id)
     Creates a RainfallStationReference for a certain rainfall station.
     
    - - + - + - +

    +

    Public Attributes

    -std::string Name
    +std::string Name
     The Name of this node.
     
    -const int node_id
    +const int node_id
     The Id of the node.
     
    -cmf::geometry::point position
    +cmf::geometry::point position
     The spatial position of the node.
     

    Member Function Documentation

    - -

    ◆ from_nearest_station()

    + +

    ◆ from_nearest_station()

    - -

    ◆ RecalcFluxes()

    + +

    ◆ RecalcFluxes()

    @@ -309,8 +319,7 @@

    virtual bool RecalcFluxes ( - cmf::math::Time  - t) + cmf::math::Time t) @@ -328,8 +337,8 @@

    -

    ◆ waterbalance()

    + +

    ◆ waterbalance()

    @@ -340,19 +349,12 @@

    real waterbalance ( - cmf::math::Time  - t, + cmf::math::Time t, - const flux_connection *  - Without = 0  - - - - ) - const + const flux_connection * Without = 0 ) const @@ -363,7 +365,8 @@

    Returns the sum of all fluxes (positive and negative) at time t.

    -

    Single fluxes can be excluded from the calculation

    Parameters
    +


    + Single fluxes can be excluded from the calculation

    Parameters
    @@ -381,7 +384,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    tTime of the query
    WithoutA flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits)
    Generated: Fri Apr 26 2019 12:43:40Generated: Fri Jan 19 2024 16:10:56
    diff --git a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference.js b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference.js index 676f7aa9..53926c48 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference.js +++ b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference.js @@ -1,12 +1,12 @@ var classcmf_1_1atmosphere_1_1_rainfall_station_reference = [ [ "conc", "classcmf_1_1atmosphere_1_1_rainfall_station_reference.html#a9cd2fd0f8fdde321ab8b9f8ee4ab83fa", null ], - [ "connection_to", "classcmf_1_1atmosphere_1_1_rainfall_station_reference.html#a5bd6810024edaf9bd5d5747d91ce5f1b", null ], + [ "connection_to", "classcmf_1_1atmosphere_1_1_rainfall_station_reference.html#abc9aed3e3aae59d1b4c383fb6e6385eb", null ], [ "flux_to", "classcmf_1_1atmosphere_1_1_rainfall_station_reference.html#a66f1b6a9698be9ffce574833de835bd1", null ], [ "get_3d_flux", "classcmf_1_1atmosphere_1_1_rainfall_station_reference.html#a8cba494467e1ffc036c47f1bcd60eccb", null ], [ "get_intensity", "classcmf_1_1atmosphere_1_1_rainfall_station_reference.html#a84a4030e0e2dcef3b5f02d7c41ec03bc", null ], - [ "get_potential", "classcmf_1_1atmosphere_1_1_rainfall_station_reference.html#a923af9ca71ce3a008d07d88216f1a351", null ], - [ "get_project", "classcmf_1_1atmosphere_1_1_rainfall_station_reference.html#ae4c3731109c42d8e7f70eb646fb573ec", null ], + [ "get_potential", "classcmf_1_1atmosphere_1_1_rainfall_station_reference.html#a222a8a63b7dbb2f3cfb8ab33c0c5e590", null ], + [ "get_project", "classcmf_1_1atmosphere_1_1_rainfall_station_reference.html#aac16760bdca4fd53f80987ee5affa734", null ], [ "is_empty", "classcmf_1_1atmosphere_1_1_rainfall_station_reference.html#ab3f02f11f233972d7c26cf26a9090613", null ], [ "is_storage", "classcmf_1_1atmosphere_1_1_rainfall_station_reference.html#ace09b97c37ded843368a00c04e89b55f", null ], [ "operator()", "classcmf_1_1atmosphere_1_1_rainfall_station_reference.html#a1ac09266985df622ef90ce40783058cb", null ], diff --git a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__coll__graph.map b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__coll__graph.map index 719098dc..8af11e6b 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__coll__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__coll__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__coll__graph.md5 index cbf346db..f7cb0b81 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__coll__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__coll__graph.md5 @@ -1 +1 @@ -f6ed0c1d0e914396a1c436fe9337aac6 \ No newline at end of file +c1badda3a21e2ade1b8bc7b1910e1202 \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__coll__graph.png b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__coll__graph.png index 87c00021..5b9853a2 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__coll__graph.png and b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__coll__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__inherit__graph.map b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__inherit__graph.map index 17b81e30..e1daa014 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__inherit__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__inherit__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__inherit__graph.md5 index 7301e955..de9597f7 100644 --- a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__inherit__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__inherit__graph.md5 @@ -1 +1 @@ -9b1c7e59484c4031b6d9299c9a780eeb \ No newline at end of file +5bd4e8f1b78058755277241e079f3c62 \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__inherit__graph.png b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__inherit__graph.png index 3796a632..265db043 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__inherit__graph.png and b/docs/classcmf_1_1atmosphere_1_1_rainfall_station_reference__inherit__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source-members.html b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source-members.html index 997cd535..8bd10deb 100644 --- a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source-members.html +++ b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,41 +93,47 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    TimeseriesRainSource Member List
    +
    TimeseriesRainSource Member List

    This is the complete list of members for TimeseriesRainSource, including all inherited members.

    - - - + + + - + - - - + + + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &Solute) constTimeseriesRainSourcevirtual
    concentrationsTimeseriesRainSource
    connection_to(const cmf::water::flux_node &target)flux_node
    dataTimeseriesRainSource
    concentrationsTimeseriesRainSource
    connection_to(const cmf::water::flux_node &target)flux_node
    dataTimeseriesRainSource
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_intensity(cmf::math::Time t) constTimeseriesRainSourcevirtual
    get_potential() constflux_nodevirtual
    get_project() constflux_node
    is_empty() constRainSourcevirtual
    get_potential(cmf::math::Time=cmf::math::never) constflux_nodevirtual
    get_project() constflux_node
    is_empty() constRainSourcevirtual
    is_storage() constflux_nodevirtual
    Nameflux_node
    Nameflux_node
    node_idflux_node
    operator()(cmf::math::Time t) constRainSource
    operator()(cmf::math::Time t) constRainSource
    positionflux_node
    ptr typedefTimeseriesRainSource
    ptr typedefTimeseriesRainSource
    RainSource(cmf::project &_project, cmf::geometry::point location=cmf::geometry::point())RainSourceprotected
    RecalcFluxes(cmf::math::Time t)RainSourcevirtual
    RecalcFluxes(cmf::math::Time t)RainSourcevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_potential(real new_potential)flux_nodevirtual
    set_potential(real new_potential)flux_nodevirtual
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    ~flux_node()flux_nodevirtual
    ~flux_node()flux_nodevirtual

    -Generated: Fri Apr 26 2019 12:43:40 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source.html b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source.html index 08b89293..83d0e1d3 100644 --- a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source.html +++ b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source.html @@ -2,33 +2,37 @@ - - - - -cmf: TimeseriesRainSource Class Reference - - - - + + + + + cmf: TimeseriesRainSource Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    TimeseriesRainSource Class Reference
    +
    TimeseriesRainSource Class Reference

    A rainsource with a timeseries. - More...

    -
    + More...

    +
    + Inheritance diagram for TimeseriesRainSource:
    -
    +
    + Collaboration diagram for TimeseriesRainSource:

    Detailed Description

    A rainsource with a timeseries.

    Simpler to use than a rainfall station if there are only few cells in the project

    - - +

    +

    Public Types

    -typedef std::shared_ptr< TimeseriesRainSourceptr
    +typedef std::shared_ptr< TimeseriesRainSourceptr
     shared pointer
     
    - - + - - - - + + + + - + - + - - - - - - - + + + + + + + - + - + - - + + - + - + - - + +

    +

    Public Member Functions

    -virtual real conc (cmf::math::Time t, const cmf::water::solute &Solute) const
    +virtual real conc (cmf::math::Time t, const cmf::water::solute &Solute) const
     Returns the concentration of a solute in the rainfall at time t.
     
    -cmf::water::flux_connectionconnection_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)
    +cmf::water::flux_connectionconnection_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)
    +cmf::geometry::point get_3d_flux (cmf::math::Time t)
     Returns the sum of all flux vectors.
     
    -real get_intensity (cmf::math::Time t) const
    +real get_intensity (cmf::math::Time t) const
     Returns the actual rainfall intensity in mm/day.
     
    virtual real get_potential () const
     Returns the water potential of the node in m waterhead. More...
     
    -cmf::projectget_project () const
     Returns the project, this node is part of.
     
    -virtual double is_empty () const
    virtual real get_potential (cmf::math::Time=cmf::math::never) const
     Returns the water potential of the node in m waterhead.
     
    +cmf::projectget_project () const
     Returns the project, this node is part of.
     
    +virtual double is_empty () const
     Returns false.
     
    -virtual bool is_storage () const
    +virtual bool is_storage () const
     true, if this is a waterstorage
     
    -real operator() (cmf::math::Time t) const
    +real operator() (cmf::math::Time t) const
     Functor declaration RainSource(t) = RainSource.get_intensity(t)
     
    virtual bool RecalcFluxes (cmf::math::Time t)
     Pure flux_nodes do not influence fluxes, therefore no recalculation of fluxes is required by flux_node. More...
    virtual 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)
    +bool remove_connection (cmf::water::flux_node::ptr To)
     Remove the connection.
     
    -virtual void set_potential (real new_potential)
    +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. More...
    real waterbalance (cmf::math::Time t, const flux_connection *Without=0) const
     Returns the sum of all fluxes (positive and negative) at time t.
     
    - - + - + - + - + - +

    +

    Public Attributes

    -cmf::water::SoluteTimeseries concentrations
    +cmf::water::SoluteTimeseries concentrations
     The concentration timeseries.
     
    -cmf::math::timeseries data
    +cmf::math::timeseries data
     The rainfall intensity in mm/day.
     
    -std::string Name
    +std::string Name
     The Name of this node.
     
    -const int node_id
    +const int node_id
     The Id of the node.
     
    -cmf::geometry::point position
    +cmf::geometry::point position
     The spatial position of the node.
     

    Member Function Documentation

    - -

    ◆ get_potential()

    + +

    ◆ get_potential()

    - -

    ◆ RecalcFluxes()

    + +

    ◆ RecalcFluxes()

    @@ -264,8 +284,7 @@

    virtual bool RecalcFluxes ( - cmf::math::Time  - t) + cmf::math::Time t) @@ -283,8 +302,8 @@

    -

    ◆ waterbalance()

    + +

    ◆ waterbalance()

    @@ -295,19 +314,12 @@

    real waterbalance ( - cmf::math::Time  - t, + cmf::math::Time t, - const flux_connection *  - Without = 0  - - - - ) - const + const flux_connection * Without = 0 ) const @@ -318,7 +330,8 @@

    Returns the sum of all fluxes (positive and negative) at time t.

    -

    Single fluxes can be excluded from the calculation

    Parameters
    +


    + Single fluxes can be excluded from the calculation

    Parameters
    @@ -336,7 +349,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    tTime of the query
    WithoutA flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits)
    Generated: Fri Apr 26 2019 12:43:40Generated: Fri Jan 19 2024 16:10:56
    diff --git a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source.js b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source.js index 8b3838df..28d38893 100644 --- a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source.js +++ b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source.js @@ -2,12 +2,12 @@ var classcmf_1_1atmosphere_1_1_timeseries_rain_source = [ [ "ptr", "classcmf_1_1atmosphere_1_1_timeseries_rain_source.html#a3aaa67646ed71a7372bfa949fabd9d99", null ], [ "conc", "classcmf_1_1atmosphere_1_1_timeseries_rain_source.html#ae7781687f7d9720757a9311874686289", null ], - [ "connection_to", "classcmf_1_1atmosphere_1_1_timeseries_rain_source.html#a5bd6810024edaf9bd5d5747d91ce5f1b", null ], + [ "connection_to", "classcmf_1_1atmosphere_1_1_timeseries_rain_source.html#abc9aed3e3aae59d1b4c383fb6e6385eb", null ], [ "flux_to", "classcmf_1_1atmosphere_1_1_timeseries_rain_source.html#a66f1b6a9698be9ffce574833de835bd1", null ], [ "get_3d_flux", "classcmf_1_1atmosphere_1_1_timeseries_rain_source.html#a8cba494467e1ffc036c47f1bcd60eccb", null ], [ "get_intensity", "classcmf_1_1atmosphere_1_1_timeseries_rain_source.html#a84a4030e0e2dcef3b5f02d7c41ec03bc", null ], - [ "get_potential", "classcmf_1_1atmosphere_1_1_timeseries_rain_source.html#a923af9ca71ce3a008d07d88216f1a351", null ], - [ "get_project", "classcmf_1_1atmosphere_1_1_timeseries_rain_source.html#ae4c3731109c42d8e7f70eb646fb573ec", null ], + [ "get_potential", "classcmf_1_1atmosphere_1_1_timeseries_rain_source.html#a222a8a63b7dbb2f3cfb8ab33c0c5e590", null ], + [ "get_project", "classcmf_1_1atmosphere_1_1_timeseries_rain_source.html#aac16760bdca4fd53f80987ee5affa734", null ], [ "is_empty", "classcmf_1_1atmosphere_1_1_timeseries_rain_source.html#ab3f02f11f233972d7c26cf26a9090613", null ], [ "is_storage", "classcmf_1_1atmosphere_1_1_timeseries_rain_source.html#ace09b97c37ded843368a00c04e89b55f", null ], [ "operator()", "classcmf_1_1atmosphere_1_1_timeseries_rain_source.html#a1ac09266985df622ef90ce40783058cb", null ], diff --git a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__coll__graph.map b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__coll__graph.map index 3273b2b4..e172d2de 100644 --- a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__coll__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__coll__graph.map @@ -1,7 +1,13 @@ - - - - - + + + + + + + + + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__coll__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__coll__graph.md5 index ad2b3aa6..ba975788 100644 --- a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__coll__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__coll__graph.md5 @@ -1 +1 @@ -e8440220f62d6f5a9ba3d911b5e5b908 \ No newline at end of file +150b111a51f74da889d54662e418dc7e \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__coll__graph.png b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__coll__graph.png index d37b2599..58f7cde4 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__coll__graph.png and b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__coll__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__inherit__graph.map b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__inherit__graph.map index 3026a379..add8f22b 100644 --- a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__inherit__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__inherit__graph.md5 b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__inherit__graph.md5 index fe63a060..c6bc5672 100644 --- a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__inherit__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__inherit__graph.md5 @@ -1 +1 @@ -d8e8b9aa9b49b6ecaa95df9577317ed6 \ No newline at end of file +e1f477af9efc5c3d018bd3e06d5dd15a \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__inherit__graph.png b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__inherit__graph.png index e619f93f..cfcf27af 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__inherit__graph.png and b/docs/classcmf_1_1atmosphere_1_1_timeseries_rain_source__inherit__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance-members.html b/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance-members.html index c31b20ba..fb0e7c7f 100644 --- a/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance-members.html +++ b/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,21 +93,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    aerodynamic_resistance Member List
    +
    aerodynamic_resistance Member List

    This is the complete list of members for aerodynamic_resistance, including all inherited members.

    - +
    get_aerodynamic_resistance(double &r_ag, double &r_ac, cmf::math::Time t) const =0aerodynamic_resistancepure virtual
    ptr typedefaerodynamic_resistance
    ptr typedefaerodynamic_resistance

    -Generated: Fri Apr 26 2019 12:43:39 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance.html b/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance.html index 59704748..2b6c9b02 100644 --- a/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance.html +++ b/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance.html @@ -2,33 +2,37 @@ - - - - -cmf: aerodynamic_resistance Class Reference - - - - + + + + + cmf: aerodynamic_resistance Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    aerodynamic_resistance Class Referenceabstract
    +
    aerodynamic_resistance Class Referenceabstract

    Abstract class. Child classes can be used to calculate aerodynamic resistances against turbulent heat fluxes. - More...

    -
    + More...

    +
    + Inheritance diagram for aerodynamic_resistance:

    Detailed Description

    Abstract class. Child classes can be used to calculate aerodynamic resistances against turbulent heat fluxes.

    - - +

    +

    Public Types

    -typedef std::shared_ptr< aerodynamic_resistanceptr
    +typedef std::shared_ptr< aerodynamic_resistanceptr
     shared pointer
     
    - - +

    +

    Public Member Functions

    -virtual void get_aerodynamic_resistance (double &r_ag, double &r_ac, cmf::math::Time t) const =0
    +virtual void get_aerodynamic_resistance (double &r_ag, double &r_ac, cmf::math::Time t) const =0
     aerodynamic resistance from ground to atmosphere (r_ag) and from canopy to atmosphere (r_ac)
     
    @@ -141,7 +155,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:39 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance__inherit__graph.map b/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance__inherit__graph.map index 5b8e098a..c8937fda 100644 --- a/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance__inherit__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance__inherit__graph.md5 b/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance__inherit__graph.md5 index ac2562fe..57417245 100644 --- a/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance__inherit__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance__inherit__graph.md5 @@ -1 +1 @@ -98e95d96a94d3bd064b28175001061c5 \ No newline at end of file +4b52a23d7be0d2f04144e034d8fc29eb \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance__inherit__graph.png b/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance__inherit__graph.png index d68318c4..1043e0fb 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance__inherit__graph.png and b/docs/classcmf_1_1atmosphere_1_1aerodynamic__resistance__inherit__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1log__wind__profile-members.html b/docs/classcmf_1_1atmosphere_1_1log__wind__profile-members.html index 66f3b4ae..9f2ff534 100644 --- a/docs/classcmf_1_1atmosphere_1_1log__wind__profile-members.html +++ b/docs/classcmf_1_1atmosphere_1_1log__wind__profile-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,21 +93,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    log_wind_profile Member List
    +
    log_wind_profile Member List

    This is the complete list of members for log_wind_profile, including all inherited members.

    - +
    get_aerodynamic_resistance(double &r_ag, double &r_ac, cmf::math::Time t) const finallog_wind_profilevirtual
    ptr typedefaerodynamic_resistance
    ptr typedefaerodynamic_resistance
    diff --git a/docs/classcmf_1_1atmosphere_1_1log__wind__profile.html b/docs/classcmf_1_1atmosphere_1_1log__wind__profile.html index 4d383ae5..cb84d0cd 100644 --- a/docs/classcmf_1_1atmosphere_1_1log__wind__profile.html +++ b/docs/classcmf_1_1atmosphere_1_1log__wind__profile.html @@ -2,33 +2,37 @@ - - - - -cmf: log_wind_profile Class Reference - - - - + + + + + cmf: log_wind_profile Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    log_wind_profile Class Reference
    +
    log_wind_profile Class Reference

    , A logarithmic wind profile - More...

    -
    + More...

    +
    + Inheritance diagram for log_wind_profile:
    -
    +
    + Collaboration diagram for log_wind_profile:

    Detailed Description

    , A logarithmic wind profile

    -
    Todo:
    Cite literature for this windprofile and insert equation
    +
    Todo
    Cite literature for this windprofile and insert equation
    - - +

    +

    Public Types

    -typedef std::shared_ptr< aerodynamic_resistanceptr
    +typedef std::shared_ptr< aerodynamic_resistanceptr
     shared pointer
     
    - - +

    +

    Public Member Functions

    -void get_aerodynamic_resistance (double &r_ag, double &r_ac, cmf::math::Time t) const final
    +void get_aerodynamic_resistance (double &r_ag, double &r_ac, cmf::math::Time t) const final
     aerodynamic resistance from ground to atmosphere (r_ag) and from canopy to atmosphere (r_ac)
     
    @@ -151,7 +166,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:40 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1atmosphere_1_1log__wind__profile__coll__graph.map b/docs/classcmf_1_1atmosphere_1_1log__wind__profile__coll__graph.map index c48b0bed..bec718f6 100644 --- a/docs/classcmf_1_1atmosphere_1_1log__wind__profile__coll__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1log__wind__profile__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1atmosphere_1_1log__wind__profile__coll__graph.md5 b/docs/classcmf_1_1atmosphere_1_1log__wind__profile__coll__graph.md5 index 83e87125..b8de27d0 100644 --- a/docs/classcmf_1_1atmosphere_1_1log__wind__profile__coll__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1log__wind__profile__coll__graph.md5 @@ -1 +1 @@ -0bcf6780885d49ef6e357ef05e265d48 \ No newline at end of file +d51ad2cee25baa19b224f118cadb2090 \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1log__wind__profile__coll__graph.png b/docs/classcmf_1_1atmosphere_1_1log__wind__profile__coll__graph.png index 408ae408..2a024fbb 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1log__wind__profile__coll__graph.png and b/docs/classcmf_1_1atmosphere_1_1log__wind__profile__coll__graph.png differ diff --git a/docs/classcmf_1_1atmosphere_1_1log__wind__profile__inherit__graph.map b/docs/classcmf_1_1atmosphere_1_1log__wind__profile__inherit__graph.map index c48b0bed..bec718f6 100644 --- a/docs/classcmf_1_1atmosphere_1_1log__wind__profile__inherit__graph.map +++ b/docs/classcmf_1_1atmosphere_1_1log__wind__profile__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1atmosphere_1_1log__wind__profile__inherit__graph.md5 b/docs/classcmf_1_1atmosphere_1_1log__wind__profile__inherit__graph.md5 index 4510d167..b8de27d0 100644 --- a/docs/classcmf_1_1atmosphere_1_1log__wind__profile__inherit__graph.md5 +++ b/docs/classcmf_1_1atmosphere_1_1log__wind__profile__inherit__graph.md5 @@ -1 +1 @@ -fa8a37d5bb073d912a94820776c6eb1a \ No newline at end of file +d51ad2cee25baa19b224f118cadb2090 \ No newline at end of file diff --git a/docs/classcmf_1_1atmosphere_1_1log__wind__profile__inherit__graph.png b/docs/classcmf_1_1atmosphere_1_1log__wind__profile__inherit__graph.png index 408ae408..2a024fbb 100644 Binary files a/docs/classcmf_1_1atmosphere_1_1log__wind__profile__inherit__graph.png and b/docs/classcmf_1_1atmosphere_1_1log__wind__profile__inherit__graph.png differ diff --git a/docs/classcmf_1_1draw_1_1cellmap_1_1_cell_map-members.html b/docs/classcmf_1_1draw_1_1cellmap_1_1_cell_map-members.html index 76e0ea7f..b65318d2 100644 --- a/docs/classcmf_1_1draw_1_1cellmap_1_1_cell_map-members.html +++ b/docs/classcmf_1_1draw_1_1cellmap_1_1_cell_map-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,23 +93,29 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    CellMap Member List
    +
    CellMap Member List

    This is the complete list of members for CellMap, including all inherited members.

    - - - - + + + +
    __init__(self, cells, value_function, cmap=default_colormap, hold=True, vmin=None, vmax=None, kwargs)CellMap
    autoscale(self)CellMap
    autoscale_None(self)CellMap
    get_artists(self)CellMap
    __init__(self, cells, value_function, cmap=default_colormap, hold=True, vmin=None, vmax=None, **kwargs)CellMap
    autoscale(self)CellMap
    autoscale_None(self)CellMap
    get_artists(self)CellMap
    diff --git a/docs/classcmf_1_1draw_1_1cellmap_1_1_cell_map.html b/docs/classcmf_1_1draw_1_1cellmap_1_1_cell_map.html index 31e2410e..51080070 100644 --- a/docs/classcmf_1_1draw_1_1cellmap_1_1_cell_map.html +++ b/docs/classcmf_1_1draw_1_1cellmap_1_1_cell_map.html @@ -2,33 +2,37 @@ - - - - -cmf: CellMap Class Reference - - - - + + + + + cmf: CellMap Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,17 +93,23 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    CellMap Class Reference
    +
    CellMap Class Reference
    @@ -115,76 +126,63 @@ ... return c.saturated_depth >>>cm = CellMap(p, saturated_depth)
    - - - - - - - - - + + + + + + + +

    +

    Public Member Functions

    def __init__ (self, cells, value_function, cmap=default_colormap, hold=True, vmin=None, vmax=None, kwargs)
     
    def autoscale (self)
     
    def autoscale_None (self)
     
    def get_artists (self)
     
     __init__ (self, cells, value_function, cmap=default_colormap, hold=True, vmin=None, vmax=None, **kwargs)
     
     autoscale (self)
     
     autoscale_None (self)
     
     get_artists (self)
     

    Constructor & Destructor Documentation

    - -

    ◆ __init__()

    + +

    ◆ __init__()

    - + - - + - - + - - + - - + - - + - - + - - + - - - - - - - +
    def __init__ __init__ ( self, self,
     cells, cells,
     value_function, value_function,
     cmap = default_colormap, cmap = default_colormap,
     hold = True, hold = True,
     vmin = None, vmin = None,
     vmax = None, vmax = None,
     kwargs 
    )** kwargs )
    @@ -201,17 +199,16 @@

    Member Function Documentation

    - -

    ◆ autoscale()

    + +

    ◆ autoscale()

    - + - - +
    def autoscale autoscale ( self) self)
    @@ -220,17 +217,16 @@

    -

    ◆ autoscale_None()

    + +

    ◆ autoscale_None()

    - + - - +
    def autoscale_None autoscale_None ( self) self)
    @@ -239,17 +235,16 @@

    -

    ◆ get_artists()

    + +

    ◆ get_artists()

    - + - - +
    def get_artists get_artists ( self) self)
    @@ -270,7 +265,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:41 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1draw_1_1cellmap_1_1_cell_map.js b/docs/classcmf_1_1draw_1_1cellmap_1_1_cell_map.js index 6cd724f6..6708af6d 100644 --- a/docs/classcmf_1_1draw_1_1cellmap_1_1_cell_map.js +++ b/docs/classcmf_1_1draw_1_1cellmap_1_1_cell_map.js @@ -1,7 +1,7 @@ var classcmf_1_1draw_1_1cellmap_1_1_cell_map = [ - [ "__init__", "classcmf_1_1draw_1_1cellmap_1_1_cell_map.html#a1facd6845d8fee071d90a1ad092e098e", null ], - [ "autoscale", "classcmf_1_1draw_1_1cellmap_1_1_cell_map.html#a872a95cb3d2f383cbce1565018a1d06a", null ], - [ "autoscale_None", "classcmf_1_1draw_1_1cellmap_1_1_cell_map.html#a54d1ed4101c1982a3d73c188c28ab59f", null ], - [ "get_artists", "classcmf_1_1draw_1_1cellmap_1_1_cell_map.html#add9018adc6290eb160b6b4028e791161", null ] + [ "__init__", "classcmf_1_1draw_1_1cellmap_1_1_cell_map.html#a59049f7fb9937e402e7fb5fae17b5599", null ], + [ "autoscale", "classcmf_1_1draw_1_1cellmap_1_1_cell_map.html#adcbbbcdf70430b1365dab72811417964", null ], + [ "autoscale_None", "classcmf_1_1draw_1_1cellmap_1_1_cell_map.html#a367c84c168edd4a1eb9a1ca82b78ee5c", null ], + [ "get_artists", "classcmf_1_1draw_1_1cellmap_1_1_cell_map.html#a1d9e324f4f0ecb198e4322a5d1ceed77", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1draw_1_1cellmap_1_1_flux_map-members.html b/docs/classcmf_1_1draw_1_1cellmap_1_1_flux_map-members.html index 0648e514..4292809f 100644 --- a/docs/classcmf_1_1draw_1_1cellmap_1_1_flux_map-members.html +++ b/docs/classcmf_1_1draw_1_1cellmap_1_1_flux_map-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,20 +93,26 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    FluxMap Member List
    +
    FluxMap Member List

    This is the complete list of members for FluxMap, including all inherited members.

    - +
    __init__(self, cells, t, kwargs)FluxMap
    __init__(self, cells, t, **kwargs)FluxMap

    -Generated: Fri Apr 26 2019 12:43:41 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1draw_1_1cellmap_1_1_flux_map.html b/docs/classcmf_1_1draw_1_1cellmap_1_1_flux_map.html index a7a26739..a1dded98 100644 --- a/docs/classcmf_1_1draw_1_1cellmap_1_1_flux_map.html +++ b/docs/classcmf_1_1draw_1_1cellmap_1_1_flux_map.html @@ -2,33 +2,37 @@ - - - - -cmf: FluxMap Class Reference - - - - + + + + + cmf: FluxMap Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,17 +93,23 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    FluxMap Class Reference
    +
    FluxMap Class Reference
    @@ -117,46 +128,37 @@ >>> for t in solver.run(solver.t, solver.t + cmf.day * 30, cmf.h): ... fm(t)
    - - - + +

    +

    Public Member Functions

    def __init__ (self, cells, t, kwargs)
     
     __init__ (self, cells, t, **kwargs)
     

    Constructor & Destructor Documentation

    - -

    ◆ __init__()

    + +

    ◆ __init__()

    - + - - + - - + - - + - - - - - - - +
    def __init__ __init__ ( self, self,
     cells, cells,
     t, t,
     kwargs 
    )** kwargs )
    @@ -175,7 +177,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:41 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1draw_1_1cellmap_1_1_flux_map.js b/docs/classcmf_1_1draw_1_1cellmap_1_1_flux_map.js index 533c4eed..63ed9c49 100644 --- a/docs/classcmf_1_1draw_1_1cellmap_1_1_flux_map.js +++ b/docs/classcmf_1_1draw_1_1cellmap_1_1_flux_map.js @@ -1,4 +1,4 @@ var classcmf_1_1draw_1_1cellmap_1_1_flux_map = [ - [ "__init__", "classcmf_1_1draw_1_1cellmap_1_1_flux_map.html#ac660420a91d2bbd0908761b12c4d0655", null ] + [ "__init__", "classcmf_1_1draw_1_1cellmap_1_1_flux_map.html#a400b9420e77959f82220aef2d651fc2a", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1draw_1_1hillplot_1_1_hill_plot-members.html b/docs/classcmf_1_1draw_1_1hillplot_1_1_hill_plot-members.html index 6175061e..a1161835 100644 --- a/docs/classcmf_1_1draw_1_1hillplot_1_1_hill_plot-members.html +++ b/docs/classcmf_1_1draw_1_1hillplot_1_1_hill_plot-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,22 +93,28 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    HillPlot Member List
    +
    HillPlot Member List

    This is the complete list of members for HillPlot, including all inherited members.

    - - - + + +
    __call__(self, t, text='')HillPlot
    __init__(self, cells, t, solute=None, cmap=default_color_map)HillPlot
    get_animator(self, integration)HillPlot
    __call__(self, t, text='')HillPlot
    __init__(self, cells, t, solute=None, cmap=default_color_map)HillPlot
    get_animator(self, integration)HillPlot

    -Generated: Fri Apr 26 2019 12:43:41 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1draw_1_1hillplot_1_1_hill_plot.html b/docs/classcmf_1_1draw_1_1hillplot_1_1_hill_plot.html index c058b579..1d8176bd 100644 --- a/docs/classcmf_1_1draw_1_1hillplot_1_1_hill_plot.html +++ b/docs/classcmf_1_1draw_1_1hillplot_1_1_hill_plot.html @@ -2,33 +2,37 @@ - - - - -cmf: HillPlot Class Reference - - - - + + + + + cmf: HillPlot Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,17 +93,23 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    HillPlot Class Reference
    +
    HillPlot Class Reference
    @@ -116,98 +127,80 @@ - q_surf: The matplotlib.Quiver object for subsurface fluxes - title: Title of the plot - scale: The scale of q_sub and q_surf
    - - - - - - - + + + + + +

    +

    Public Member Functions

    def __init__ (self, cells, t, solute=None, cmap=default_color_map)
     
    def __call__ (self, t, text='')
     
    def get_animator (self, integration)
     
     __init__ (self, cells, t, solute=None, cmap=default_color_map)
     
     __call__ (self, t, text='')
     
     get_animator (self, integration)
     

    Constructor & Destructor Documentation

    - -

    ◆ __init__()

    + +

    ◆ __init__()

    - + - - + - - + - - + - - + - - - - - - - +
    def __init__ __init__ ( self, self,
     cells, cells,
     t, t,
     solute = None, solute = None,
     cmap = default_color_map 
    ) cmap = default_color_map )
    Creates a new HillPlot on the active figure, showing the state of each layer
      - cells: The a sequence of cmf cells to use in this hill_plot. You can
    -  use the whole project if you like
    +          use the whole project if you like
      - t:     Current time step. Needed to retrieve the fluxes
      - solute:The solute concentration to show. If None, the wetness of the 
    -  layer will be shown
    +          layer will be shown
      - cmap:  a matplotlib colormap (see module cm) for coloring
     

    Member Function Documentation

    - -

    ◆ __call__()

    + +

    ◆ __call__()

    - + - - + - - + - - - - - - - +
    def __call__ __call__ ( self, self,
     t, t,
     text = '' 
    ) text = '' )
    @@ -216,28 +209,21 @@

    -

    ◆ get_animator()

    + +

    ◆ get_animator()

    - + - - + - - - - - - - +
    def get_animator get_animator ( self, self,
     integration 
    ) integration )
    @@ -264,7 +250,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:41 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1draw_1_1hillplot_1_1_hill_plot.js b/docs/classcmf_1_1draw_1_1hillplot_1_1_hill_plot.js index bec7fbec..0013286f 100644 --- a/docs/classcmf_1_1draw_1_1hillplot_1_1_hill_plot.js +++ b/docs/classcmf_1_1draw_1_1hillplot_1_1_hill_plot.js @@ -1,6 +1,6 @@ var classcmf_1_1draw_1_1hillplot_1_1_hill_plot = [ - [ "__init__", "classcmf_1_1draw_1_1hillplot_1_1_hill_plot.html#aaa995a0ade5f7158017da65f8fb2dc80", null ], - [ "__call__", "classcmf_1_1draw_1_1hillplot_1_1_hill_plot.html#a419525138250fbc7d8fb62482c7c9492", null ], - [ "get_animator", "classcmf_1_1draw_1_1hillplot_1_1_hill_plot.html#ae230bd9f808cfded21e618bd78d4739d", null ] + [ "__init__", "classcmf_1_1draw_1_1hillplot_1_1_hill_plot.html#a3c8548c146d0217f1f7a459cbf381b74", null ], + [ "__call__", "classcmf_1_1draw_1_1hillplot_1_1_hill_plot.html#a5d6f3af0a5de40c8ac26ea8595f83b7a", null ], + [ "get_animator", "classcmf_1_1draw_1_1hillplot_1_1_hill_plot.html#ab794c59645926d97ea7d5406a8557338", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1draw_1_1shapemap_1_1_shape_map-members.html b/docs/classcmf_1_1draw_1_1shapemap_1_1_shape_map-members.html index c25e53f3..cfd7b360 100644 --- a/docs/classcmf_1_1draw_1_1shapemap_1_1_shape_map-members.html +++ b/docs/classcmf_1_1draw_1_1shapemap_1_1_shape_map-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,20 +93,25 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    ShapeMap Member List
    +
    ShapeMap Member List

    This is the complete list of members for ShapeMap, including all inherited members.

    - -
    +

    diff --git a/docs/classcmf_1_1draw_1_1shapemap_1_1_shape_map.html b/docs/classcmf_1_1draw_1_1shapemap_1_1_shape_map.html index 7172a007..409098a5 100644 --- a/docs/classcmf_1_1draw_1_1shapemap_1_1_shape_map.html +++ b/docs/classcmf_1_1draw_1_1shapemap_1_1_shape_map.html @@ -2,33 +2,37 @@ - - - - -cmf: ShapeMap Class Reference - - - - + + + + + cmf: ShapeMap Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,22 +93,28 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    ShapeMap Class Reference
    +
    ShapeMap Class Reference

    Inherits object.

    Detailed Description

    -
    self.fc_function: A callable taking a feature and returning a color (fillcolor)
    +
     self.fc_function: A callable taking a feature and returning a color (fillcolor)
     self.lw_function: A callable taking a feature and returning a scalar (line width)
     
    @@ -113,7 +124,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:41 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1geometry_1_1point-members.html b/docs/classcmf_1_1geometry_1_1point-members.html index 1733891f..ac51c351 100644 --- a/docs/classcmf_1_1geometry_1_1point-members.html +++ b/docs/classcmf_1_1geometry_1_1point-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    point Member List
    +
    point Member List

    This is the complete list of members for point, including all inherited members.

    - + - + - + - + - + - + - +
    angleToXAxis(point p) constpoint
    azimuth(point p) constpoint
    azimuth(point p) constpoint
    distance(point p1, point p2)pointstatic
    distance3DTo(point p) constpoint
    distance3DTo(point p) constpoint
    distance_max(point p) constpoint
    distanceTo(point p) constpoint
    distanceTo(point p) constpoint
    point()point
    point(const point &p)point
    point(const point &p)point
    point(double x_, double y_, double z_=0.0)point
    sum() constpoint
    sum() constpoint
    xpoint
    ypoint
    ypoint
    zpoint
    z_weight_distance(point p, double z_weight) constpoint
    z_weight_distance(point p, double z_weight) constpoint
    diff --git a/docs/classcmf_1_1geometry_1_1point.html b/docs/classcmf_1_1geometry_1_1point.html index 393482cd..216c69d8 100644 --- a/docs/classcmf_1_1geometry_1_1point.html +++ b/docs/classcmf_1_1geometry_1_1point.html @@ -2,33 +2,37 @@ - - - - -cmf: point Class Reference - - - - + + + + + cmf: point Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    point Class Reference
    +
    point Class Reference

    2D-Point Class. - More...

    + More...

    Detailed Description

    2D-Point Class.

    Used as location property anywhere in the text

      @@ -113,71 +124,72 @@
    • +,-,-=,*= Operators overloaded
    - - + - + - + - + - + - + - + - - + + - + - - + +

    +

    Public Member Functions

    point ()
    point ()
     Empty Constructor. Creates an (0 0) location.
     
    point (const point &p)
    point (const point &p)
     Copy Constructor.
     
    point (double x_, double y_, double z_=0.0)
    point (double x_, double y_, double z_=0.0)
     Creates a point from two doubles.
     
    -double angleToXAxis (point p) const
    +double angleToXAxis (point p) const
     Returns the angle between the line \( \overline{this,p} \) to the x-Axis in degrees.
     
    -double azimuth (point p) const
    +double azimuth (point p) const
     Returns the azimuth angle of the line \( \overline{this,p} \) to the Azimuth in degrees.
     
    -double distance3DTo (point p) const
    +double distance3DTo (point p) const
     Returns the euclidian distance in space to another point p.
     
    -double distance_max (point p) const
    +double distance_max (point p) const
     Returns the distance by the maximum orthogonal offset.
     
    double distanceTo (point p) const
     Returns the horizontal euclidian distance to another point p. More...
    double distanceTo (point p) const
     Returns the horizontal euclidian distance to another point p.
     
    -double sum () const
    +double sum () const
     Returns x+y+z.
     
    double z_weight_distance (point p, double z_weight) const
     Returns the horizontal euclidian distance plus the absolute of the height difference times a factor. More...
    double z_weight_distance (point p, double z_weight) const
     Returns the horizontal euclidian distance plus the absolute of the height difference times a factor.
     
    - - +

    +

    Static Public Member Functions

    -static double distance (point p1, point p2)
    +static double distance (point p1, point p2)
     Returns the horizontal euclidian distance between p1 and p2.
     
    - - + - + - - + +

    +

    Public Attributes

    -double x
    +double x
     East-value of the location in m.
     
    -double y
    +double y
     North-value of the location in m.
     
    double z
     Height of the location in m.a.s.l. More...
    +double z
     Height of the location in m.a.s.l.
     

    Member Function Documentation

    - -

    ◆ distanceTo()

    + +

    ◆ distanceTo()

    @@ -185,8 +197,7 @@

    double distanceTo ( - point  - p) + point p) const @@ -197,8 +208,8 @@

    -

    ◆ z_weight_distance()

    + +

    ◆ z_weight_distance()

    @@ -206,19 +217,12 @@

    double z_weight_distance ( - point  - p, + point p, - double  - z_weight  - - - - ) - const + double z_weight ) const

    @@ -226,23 +230,6 @@

    Member Data Documentation

    - -

    ◆ z

    - -
    -
    - - - - -
    double z
    -
    - -

    Height of the location in m.a.s.l.

    -
    @@ -253,7 +240,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:41 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1geometry_1_1point__vector-members.html b/docs/classcmf_1_1geometry_1_1point__vector-members.html index 8cc4741e..4b66f05e 100644 --- a/docs/classcmf_1_1geometry_1_1point__vector-members.html +++ b/docs/classcmf_1_1geometry_1_1point__vector-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@

    @@ -88,27 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    point_vector Member List
    +
    point_vector Member List

    This is the complete list of members for point_vector, including all inherited members.

    - + - + - + - +
    get(ptrdiff_t index) constpoint_vector
    operator[](ptrdiff_t index) constpoint_vector
    operator[](ptrdiff_t index) constpoint_vector
    point_vector(ptrdiff_t size)point_vector
    set(ptrdiff_t index, cmf::geometry::point p)point_vector
    set(ptrdiff_t index, cmf::geometry::point p)point_vector
    size() constpoint_vector
    Xpoint_vector
    Xpoint_vector
    Ypoint_vector
    Zpoint_vector
    Zpoint_vector
    diff --git a/docs/classcmf_1_1geometry_1_1point__vector.html b/docs/classcmf_1_1geometry_1_1point__vector.html index b8c943f2..b10ff2d9 100644 --- a/docs/classcmf_1_1geometry_1_1point__vector.html +++ b/docs/classcmf_1_1geometry_1_1point__vector.html @@ -2,33 +2,37 @@ - - - - -cmf: point_vector Class Reference - - - - + + + + + cmf: point_vector Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    point_vector Class Reference
    +
    point_vector Class Reference

    Holds three arrays x,y and z for fast access of point coordinates. - More...

    -
    + More...

    +
    + Collaboration diagram for point_vector:

    Detailed Description

    Holds three arrays x,y and z for fast access of point coordinates.

    - - + - + - + - + - - + +

    +

    Public Member Functions

    point_vector (ptrdiff_t size)
    point_vector (ptrdiff_t size)
     Create a point vector of a specific size.
     
    -point get (ptrdiff_t index) const
    +point get (ptrdiff_t index) const
     Return a point at index.
     
    -point operator[] (ptrdiff_t index) const
    +point operator[] (ptrdiff_t index) const
     Return point at index.
     
    -void set (ptrdiff_t index, cmf::geometry::point p)
    +void set (ptrdiff_t index, cmf::geometry::point p)
     Change the point at index.
     
    -size_t size () const
     Return the number of points in the point_vector.
    +size_t size () const
     Return the number of points in the point_vector.
     
    - - + - + - +

    +

    Public Attributes

    -cmf::math::num_array X
    +cmf::math::num_array X
     x coordinates
     
    -cmf::math::num_array Y
    +cmf::math::num_array Y
     y coordinates
     
    -cmf::math::num_array Z
    +cmf::math::num_array Z
     z coordinates
     
    @@ -164,7 +177,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:41 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1geometry_1_1point__vector__coll__graph.map b/docs/classcmf_1_1geometry_1_1point__vector__coll__graph.map index fa4ebc30..266be1a9 100644 --- a/docs/classcmf_1_1geometry_1_1point__vector__coll__graph.map +++ b/docs/classcmf_1_1geometry_1_1point__vector__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1geometry_1_1point__vector__coll__graph.md5 b/docs/classcmf_1_1geometry_1_1point__vector__coll__graph.md5 index 9dec221e..6e69e35d 100644 --- a/docs/classcmf_1_1geometry_1_1point__vector__coll__graph.md5 +++ b/docs/classcmf_1_1geometry_1_1point__vector__coll__graph.md5 @@ -1 +1 @@ -10e22ccb78c46a3cc36807daadeabfef \ No newline at end of file +3be6196199be35283ba340ec13f19ea7 \ No newline at end of file diff --git a/docs/classcmf_1_1geometry_1_1point__vector__coll__graph.png b/docs/classcmf_1_1geometry_1_1point__vector__coll__graph.png index 37b66d9f..72c4b1e0 100644 Binary files a/docs/classcmf_1_1geometry_1_1point__vector__coll__graph.png and b/docs/classcmf_1_1geometry_1_1point__vector__coll__graph.png differ diff --git a/docs/classcmf_1_1geometry_1_1qtree_1_1_quadtree-members.html b/docs/classcmf_1_1geometry_1_1qtree_1_1_quadtree-members.html index a15a67e1..a4ffd499 100644 --- a/docs/classcmf_1_1geometry_1_1qtree_1_1_quadtree-members.html +++ b/docs/classcmf_1_1geometry_1_1qtree_1_1_quadtree-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,24 +93,30 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Quadtree Member List
    +
    Quadtree Member List

    This is the complete list of members for Quadtree, including all inherited members.

    - - - - - + + + + +
    __call__(self, bounds)Quadtree
    __init__(self, area, divisions=50)Quadtree
    append(self, obj, bounds)Quadtree
    extend(self, objects_with_boundaries)Quadtree
    iterbounds(self, bounds)Quadtree
    __call__(self, bounds)Quadtree
    __init__(self, area, divisions=50)Quadtree
    append(self, obj, bounds)Quadtree
    extend(self, objects_with_boundaries)Quadtree
    iterbounds(self, bounds)Quadtree
    diff --git a/docs/classcmf_1_1geometry_1_1qtree_1_1_quadtree.html b/docs/classcmf_1_1geometry_1_1qtree_1_1_quadtree.html index ccddbc8c..ee298581 100644 --- a/docs/classcmf_1_1geometry_1_1qtree_1_1_quadtree.html +++ b/docs/classcmf_1_1geometry_1_1qtree_1_1_quadtree.html @@ -2,33 +2,37 @@ - - - - -cmf: Quadtree Class Reference - - - - + + + + + cmf: Quadtree Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,64 +93,62 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Quadtree Class Reference
    +
    Quadtree Class Reference

    Detailed Description

    A simple quad tree to check if the boundaries of geometries overlap or not
     
    - - - - - - - - - - - + + + + + + + + + +

    +

    Public Member Functions

    def __init__ (self, area, divisions=50)
     
    def __call__ (self, bounds)
     
    def append (self, obj, bounds)
     
    def extend (self, objects_with_boundaries)
     
    def iterbounds (self, bounds)
     
     __init__ (self, area, divisions=50)
     
     __call__ (self, bounds)
     
     append (self, obj, bounds)
     
     extend (self, objects_with_boundaries)
     
     iterbounds (self, bounds)
     

    Constructor & Destructor Documentation

    - -

    ◆ __init__()

    + +

    ◆ __init__()

    - + - - + - - + - - - - - - - +
    def __init__ __init__ ( self, self,
     area, area,
     divisions = 50 
    ) divisions = 50 )
    @@ -155,28 +158,21 @@

    Member Function Documentation

    - -

    ◆ __call__()

    + +

    ◆ __call__()

    - + - - + - - - - - - - +
    def __call__ __call__ ( self, self,
     bounds 
    ) bounds )
    @@ -186,34 +182,26 @@

    -

    ◆ append()

    + +

    ◆ append()

    - + - - + - - + - - - - - - - +
    def append append ( self, self,
     obj, obj,
     bounds 
    ) bounds )
    @@ -223,28 +211,21 @@

    -

    ◆ extend()

    + +

    ◆ extend()

    - + - - + - - - - - - - +
    def extend extend ( self, self,
     objects_with_boundaries 
    ) objects_with_boundaries )
    @@ -254,28 +235,21 @@

    -

    ◆ iterbounds()

    + +

    ◆ iterbounds()

    - + - - + - - - - - - - +
    def iterbounds iterbounds ( self, self,
     bounds 
    ) bounds )
    @@ -293,7 +267,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:41 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1geometry_1_1qtree_1_1_quadtree.js b/docs/classcmf_1_1geometry_1_1qtree_1_1_quadtree.js index 6fbf1def..ae4cd3ac 100644 --- a/docs/classcmf_1_1geometry_1_1qtree_1_1_quadtree.js +++ b/docs/classcmf_1_1geometry_1_1qtree_1_1_quadtree.js @@ -1,8 +1,8 @@ var classcmf_1_1geometry_1_1qtree_1_1_quadtree = [ - [ "__init__", "classcmf_1_1geometry_1_1qtree_1_1_quadtree.html#a610307316f5885ba0d3f180fef123874", null ], - [ "__call__", "classcmf_1_1geometry_1_1qtree_1_1_quadtree.html#aadd4283b7a215bc9f6dbaa228da6ed4e", null ], - [ "append", "classcmf_1_1geometry_1_1qtree_1_1_quadtree.html#a8edcae8b949585ea3fa5ad043e9c89e1", null ], - [ "extend", "classcmf_1_1geometry_1_1qtree_1_1_quadtree.html#ac2392f9ea3c1ddd5696e554a283a9659", null ], - [ "iterbounds", "classcmf_1_1geometry_1_1qtree_1_1_quadtree.html#abf31fd296bc19da6ba41c336eabfe7b7", null ] + [ "__init__", "classcmf_1_1geometry_1_1qtree_1_1_quadtree.html#ae753e69ce01f6730f307c9dc26425ac3", null ], + [ "__call__", "classcmf_1_1geometry_1_1qtree_1_1_quadtree.html#af6e45d38d1963585ddcac763176f40fd", null ], + [ "append", "classcmf_1_1geometry_1_1qtree_1_1_quadtree.html#a71d3264305c5e9ee1593d1576606145d", null ], + [ "extend", "classcmf_1_1geometry_1_1qtree_1_1_quadtree.html#a22abdc3155128737e174cd6e4bda4d22", null ], + [ "iterbounds", "classcmf_1_1geometry_1_1qtree_1_1_quadtree.html#a952debcdbe17399601a93428f1ad2a93", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1geos__shapereader_1_1_shapefile-members.html b/docs/classcmf_1_1geos__shapereader_1_1_shapefile-members.html deleted file mode 100644 index b20873fd..00000000 --- a/docs/classcmf_1_1geos__shapereader_1_1_shapefile-members.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    Shapefile Member List
    -
    -
    - -

    This is the complete list of members for Shapefile, including all inherited members.

    - - - - - -
    __init__(self, filename, coordinatedigits=12)Shapefile
    readheader(self, f)Shapefile
    readrecord(self, f, coordinatedigits)Shapefile
    shapes(self)Shapefile
    -
    -

    -Generated: Tue Mar 12 2019 14:35:50 - - - - diff --git a/docs/classcmf_1_1geos__shapereader_1_1_shapefile.html b/docs/classcmf_1_1geos__shapereader_1_1_shapefile.html deleted file mode 100644 index acc1352a..00000000 --- a/docs/classcmf_1_1geos__shapereader_1_1_shapefile.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - - - - - -cmf: Shapefile Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    Shapefile Class Reference
    -
    -
    -

    Detailed Description

    -
    The shapefile class, create it from a .shp file
    -
    -The shapefile class implements most of the sequence protocol
    -Usage:
    -shp=Shapefile('theshapes.shp') # Load the shape file
    -print(shp[0].shape.area)        # Print area of shape
    -print(shp[0].Name)              # Prints the name of the shape, assuming theshapes.dbf has a field 'Name'
    -
    - - - - - - - - - -

    -Public Member Functions

    def __init__ (self, filename, coordinatedigits=12)
     
    def readheader (self, f)
     
    def readrecord (self, f, coordinatedigits)
     
    def shapes (self)
     
    -

    Constructor & Destructor Documentation

    - -

    ◆ __init__()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def __init__ ( self,
     filename,
     coordinatedigits = 12 
    )
    -
    -
    Loads a shapefile from a filename
    -
    -
    -

    Member Function Documentation

    - -

    ◆ readheader()

    - -
    -
    - - - - - - - - - - - - - - - - - - -
    def readheader ( self,
     f 
    )
    -
    -
    reads the header of a shape file (see ESRI Shapefile Whitepaper
    -http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf)
    -
    -
    - -

    ◆ readrecord()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    def readrecord ( self,
     f,
     coordinatedigits 
    )
    -
    -
    Reads a record from the shapefile see: http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf 
    -
    -
    - -

    ◆ shapes()

    - -
    -
    - - - - - - - - -
    def shapes ( self)
    -
    -
    Returns a list of shapes 
    -
    -
    -
    -
    -

    -Generated: Tue Mar 12 2019 14:35:50 - - - - diff --git a/docs/classcmf_1_1geos__shapereader_1_1_shapefile.js b/docs/classcmf_1_1geos__shapereader_1_1_shapefile.js deleted file mode 100644 index f9d53742..00000000 --- a/docs/classcmf_1_1geos__shapereader_1_1_shapefile.js +++ /dev/null @@ -1,7 +0,0 @@ -var classcmf_1_1geos__shapereader_1_1_shapefile = -[ - [ "__init__", "classcmf_1_1geos__shapereader_1_1_shapefile.html#a8671a58390d658cca27d19bc88d1e4cc", null ], - [ "readheader", "classcmf_1_1geos__shapereader_1_1_shapefile.html#a5e772bfced2ac839e07befcc40203f3e", null ], - [ "readrecord", "classcmf_1_1geos__shapereader_1_1_shapefile.html#aacd6cc8de3ac728f6e9bd655a1b0bc7c", null ], - [ "shapes", "classcmf_1_1geos__shapereader_1_1_shapefile.html#a2339a14f47737a7c41d4ff59410fd035", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1jacobian_1_1_jacobian-members.html b/docs/classcmf_1_1jacobian_1_1_jacobian-members.html index 948d1742..8a193231 100644 --- a/docs/classcmf_1_1jacobian_1_1_jacobian-members.html +++ b/docs/classcmf_1_1jacobian_1_1_jacobian-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,21 +93,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Jacobian Member List
    +
    Jacobian Member List

    This is the complete list of members for Jacobian, including all inherited members.

    - - + +
    __init__(self, solver, delta=1e-6)Jacobian
    dxdt(self)Jacobian
    __init__(self, solver, delta=1e-6)Jacobian
    dxdt(self)Jacobian

    -Generated: Fri Apr 26 2019 12:43:41 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1jacobian_1_1_jacobian.html b/docs/classcmf_1_1jacobian_1_1_jacobian.html index d517d67f..4a5523cc 100644 --- a/docs/classcmf_1_1jacobian_1_1_jacobian.html +++ b/docs/classcmf_1_1jacobian_1_1_jacobian.html @@ -2,33 +2,37 @@ - - - - -cmf: Jacobian Class Reference - - - - + + + + + cmf: Jacobian Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,17 +93,23 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Jacobian Class Reference
    +
    Jacobian Class Reference
    @@ -120,42 +131,34 @@ # Show the Jacobian imshow(jac(),interpolation='nearest')
    - - - - - + + + +

    +

    Public Member Functions

    def __init__ (self, solver, delta=1e-6)
     
    def dxdt (self)
     
     __init__ (self, solver, delta=1e-6)
     
     dxdt (self)
     

    Constructor & Destructor Documentation

    - -

    ◆ __init__()

    + +

    ◆ __init__()

    - + - - + - - + - - - - - - - +
    def __init__ __init__ ( self, self,
     solver, solver,
     delta = 1e-6 
    ) delta = 1e-6 )
    @@ -164,17 +167,16 @@

    Member Function Documentation

    - -

    ◆ dxdt()

    + +

    ◆ dxdt()

    - + - - +
    def dxdt dxdt ( self) self)
    @@ -191,7 +193,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:41 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1jacobian_1_1_jacobian.js b/docs/classcmf_1_1jacobian_1_1_jacobian.js index f892f692..2f037bb1 100644 --- a/docs/classcmf_1_1jacobian_1_1_jacobian.js +++ b/docs/classcmf_1_1jacobian_1_1_jacobian.js @@ -1,5 +1,5 @@ var classcmf_1_1jacobian_1_1_jacobian = [ - [ "__init__", "classcmf_1_1jacobian_1_1_jacobian.html#a773c47fd3e125ce4931767ba5912648b", null ], - [ "dxdt", "classcmf_1_1jacobian_1_1_jacobian.html#ae713a21d048578550f273cf36c83e6f8", null ] + [ "__init__", "classcmf_1_1jacobian_1_1_jacobian.html#a2ba5ccdc3f675f8a24b31b291100dfbe", null ], + [ "dxdt", "classcmf_1_1jacobian_1_1_jacobian.html#a414e23a779bf230b6300b16c56eb7c73", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1maps_1_1_map-members.html b/docs/classcmf_1_1maps_1_1_map-members.html index c47be378..7aaf6026 100644 --- a/docs/classcmf_1_1maps_1_1_map-members.html +++ b/docs/classcmf_1_1maps_1_1_map-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,20 +93,26 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Map Member List
    +
    Map Member List

    This is the complete list of members for Map, including all inherited members.

    - +
    __call__(self, x, y, z=0)Map
    __call__(self, x, y, z=0)Map
    diff --git a/docs/classcmf_1_1maps_1_1_map.html b/docs/classcmf_1_1maps_1_1_map.html index e9346b6e..8f2e1c5b 100644 --- a/docs/classcmf_1_1maps_1_1_map.html +++ b/docs/classcmf_1_1maps_1_1_map.html @@ -2,33 +2,37 @@ - - - - -cmf: Map Class Reference - - - - + + + + + cmf: Map Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,28 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Map Class Reference
    +
    Map Class Reference
    -
    +
    + Inheritance diagram for Map:

    Detailed Description

    @@ -121,50 +135,43 @@ values(), returns an iterator over the different objects of a map __call__(x,y,z), returns the object belonging to the position x,y,z
    - - - + +

    +

    Public Member Functions

    def __call__ (self, x, y, z=0)
     
     __call__ (self, x, y, z=0)
     

    Member Function Documentation

    - -

    ◆ __call__()

    + +

    ◆ __call__()

    - + - - + - - + - - + - - - - - - - +
    def __call__ __call__ ( self, self,
     x, x,
     y, y,
     z = 0 
    ) z = 0 )
    -
    returns default, regardless of the position given 
    +
     returns default, regardless of the position given 
    +

    Reimplemented in NearestNeighborMap, and PolygonMap.

    +
    @@ -175,7 +182,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:41 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1maps_1_1_map.js b/docs/classcmf_1_1maps_1_1_map.js index 3ba0eefd..53c7b67d 100644 --- a/docs/classcmf_1_1maps_1_1_map.js +++ b/docs/classcmf_1_1maps_1_1_map.js @@ -1,4 +1,4 @@ var classcmf_1_1maps_1_1_map = [ - [ "__call__", "classcmf_1_1maps_1_1_map.html#a19fae1284e97a4207d9336cc055a3048", null ] + [ "__call__", "classcmf_1_1maps_1_1_map.html#a1cdda799ebe4f6be038667b6f9df84b3", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1maps_1_1_map__inherit__graph.map b/docs/classcmf_1_1maps_1_1_map__inherit__graph.map index 87538402..94859162 100644 --- a/docs/classcmf_1_1maps_1_1_map__inherit__graph.map +++ b/docs/classcmf_1_1maps_1_1_map__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1maps_1_1_map__inherit__graph.md5 b/docs/classcmf_1_1maps_1_1_map__inherit__graph.md5 index dbdee76c..9ab521d2 100644 --- a/docs/classcmf_1_1maps_1_1_map__inherit__graph.md5 +++ b/docs/classcmf_1_1maps_1_1_map__inherit__graph.md5 @@ -1 +1 @@ -1d8df8f7f13e194cb99ac259157600ad \ No newline at end of file +34bd7b1bc728a8c7247cc925192df473 \ No newline at end of file diff --git a/docs/classcmf_1_1maps_1_1_map__inherit__graph.png b/docs/classcmf_1_1maps_1_1_map__inherit__graph.png index b2ac4810..2da0b028 100644 Binary files a/docs/classcmf_1_1maps_1_1_map__inherit__graph.png and b/docs/classcmf_1_1maps_1_1_map__inherit__graph.png differ diff --git a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map-members.html b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map-members.html index 52785225..a4c7fef1 100644 --- a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map-members.html +++ b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,20 +93,26 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    NearestNeighborMap Member List
    +
    NearestNeighborMap Member List

    This is the complete list of members for NearestNeighborMap, including all inherited members.

    - +
    __call__(self, x, y, z=0)NearestNeighborMap
    __call__(self, x, y, z=0)NearestNeighborMap
    diff --git a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map.html b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map.html index d67bbded..316e3895 100644 --- a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map.html +++ b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map.html @@ -2,33 +2,37 @@ - - - - -cmf: NearestNeighborMap Class Reference - - - - + + + + + cmf: NearestNeighborMap Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,37 +93,47 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    NearestNeighborMap Class Reference
    +
    NearestNeighborMap Class Reference
    -
    +
    + Inheritance diagram for NearestNeighborMap:
    -
    +
    + Collaboration diagram for NearestNeighborMap:

    Detailed Description

    @@ -129,52 +144,45 @@ 0 means only horizontal distance and a high value only uses the height as a distance measure. The distance to be minimized is calculated as: sqrt((x1-x2)**2+(y1-y2)**2)+abs(z1-z2)*z_weight
    - - - + +

    +

    Public Member Functions

    def __call__ (self, x, y, z=0)
     
     __call__ (self, x, y, z=0)
     

    Member Function Documentation

    - -

    ◆ __call__()

    + +

    ◆ __call__()

    - + - - + - - + - - + - - - - - - - +
    def __call__ __call__ ( self, self,
     x, x,
     y, y,
     z = 0 
    ) z = 0 )
    -
    returns the nearest neighbor object to the given position
    +
     returns the nearest neighbor object to the given position
         The distance to be minimized is calculated as: sqrt((x1-x2)**2+(y1-y2)**2)+abs(z1-z2)*z_weight 
     
    +

    Reimplemented from Map.

    +
    @@ -185,7 +193,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:41 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map.js b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map.js index 813d19a2..f1064763 100644 --- a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map.js +++ b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map.js @@ -1,4 +1,4 @@ var classcmf_1_1maps_1_1_nearest_neighbor_map = [ - [ "__call__", "classcmf_1_1maps_1_1_nearest_neighbor_map.html#a19fae1284e97a4207d9336cc055a3048", null ] + [ "__call__", "classcmf_1_1maps_1_1_nearest_neighbor_map.html#a1cdda799ebe4f6be038667b6f9df84b3", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__coll__graph.map b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__coll__graph.map index 998f7c3d..9950fc4e 100644 --- a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__coll__graph.map +++ b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__coll__graph.md5 b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__coll__graph.md5 index ce9e90f4..a981503f 100644 --- a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__coll__graph.md5 +++ b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__coll__graph.md5 @@ -1 +1 @@ -571197983765963b9079d9760614eef1 \ No newline at end of file +7de0074f96c164f4cb30a45633bc1fe5 \ No newline at end of file diff --git a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__coll__graph.png b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__coll__graph.png index 3975b7ef..f76bbc61 100644 Binary files a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__coll__graph.png and b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__coll__graph.png differ diff --git a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__inherit__graph.map b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__inherit__graph.map index 998f7c3d..9950fc4e 100644 --- a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__inherit__graph.map +++ b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__inherit__graph.md5 b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__inherit__graph.md5 index d4090ca7..a981503f 100644 --- a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__inherit__graph.md5 +++ b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__inherit__graph.md5 @@ -1 +1 @@ -9a517c17ad539d706d5fea8b0d930f46 \ No newline at end of file +7de0074f96c164f4cb30a45633bc1fe5 \ No newline at end of file diff --git a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__inherit__graph.png b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__inherit__graph.png index 3975b7ef..f76bbc61 100644 Binary files a/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__inherit__graph.png and b/docs/classcmf_1_1maps_1_1_nearest_neighbor_map__inherit__graph.png differ diff --git a/docs/classcmf_1_1maps_1_1_polygon_map-members.html b/docs/classcmf_1_1maps_1_1_polygon_map-members.html index 7d80ad19..207c7e01 100644 --- a/docs/classcmf_1_1maps_1_1_polygon_map-members.html +++ b/docs/classcmf_1_1maps_1_1_polygon_map-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,19 +93,26 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    PolygonMap Member List
    +
    PolygonMap Member List

    This is the complete list of members for PolygonMap, including all inherited members.

    +
    __call__(self, x, y, z=0)PolygonMap
    diff --git a/docs/classcmf_1_1maps_1_1_polygon_map.html b/docs/classcmf_1_1maps_1_1_polygon_map.html index b92b46a2..b670c0d8 100644 --- a/docs/classcmf_1_1maps_1_1_polygon_map.html +++ b/docs/classcmf_1_1maps_1_1_polygon_map.html @@ -2,33 +2,37 @@ - - - - -cmf: PolygonMap Class Reference - - - - + + + + + cmf: PolygonMap Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,42 +93,93 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    PolygonMap Class Reference
    -
    +
    + Inheritance diagram for PolygonMap:
    -
    +
    + Collaboration diagram for PolygonMap:

    Detailed Description

    A map of polygons. Each object is referenced with a shapely polygon. 
     Returns the object of the first polygon, within the query position lays. 
    -
    +
    + + + +

    +Public Member Functions

     __call__ (self, x, y, z=0)
     
    +

    Member Function Documentation

    + +

    ◆ __call__()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    __call__ ( self,
    x,
    y,
    z = 0 )
    +
    +
     returns default, regardless of the position given 
    +

    Reimplemented from Map.

    + +
    +
    +
    diff --git a/docs/classcmf_1_1maps_1_1_polygon_map.js b/docs/classcmf_1_1maps_1_1_polygon_map.js new file mode 100644 index 00000000..ac41e76e --- /dev/null +++ b/docs/classcmf_1_1maps_1_1_polygon_map.js @@ -0,0 +1,4 @@ +var classcmf_1_1maps_1_1_polygon_map = +[ + [ "__call__", "classcmf_1_1maps_1_1_polygon_map.html#a1cdda799ebe4f6be038667b6f9df84b3", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1maps_1_1_polygon_map__coll__graph.map b/docs/classcmf_1_1maps_1_1_polygon_map__coll__graph.map index 1a04c92b..5b308bcd 100644 --- a/docs/classcmf_1_1maps_1_1_polygon_map__coll__graph.map +++ b/docs/classcmf_1_1maps_1_1_polygon_map__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1maps_1_1_polygon_map__coll__graph.md5 b/docs/classcmf_1_1maps_1_1_polygon_map__coll__graph.md5 index b5f4cfb1..f356ad81 100644 --- a/docs/classcmf_1_1maps_1_1_polygon_map__coll__graph.md5 +++ b/docs/classcmf_1_1maps_1_1_polygon_map__coll__graph.md5 @@ -1 +1 @@ -374b05fdd88c9bd8a2a063e0eb3921bb \ No newline at end of file +ec23bcf206855b32cb59a1ea7a39d153 \ No newline at end of file diff --git a/docs/classcmf_1_1maps_1_1_polygon_map__coll__graph.png b/docs/classcmf_1_1maps_1_1_polygon_map__coll__graph.png index f182c921..36f6f451 100644 Binary files a/docs/classcmf_1_1maps_1_1_polygon_map__coll__graph.png and b/docs/classcmf_1_1maps_1_1_polygon_map__coll__graph.png differ diff --git a/docs/classcmf_1_1maps_1_1_polygon_map__inherit__graph.map b/docs/classcmf_1_1maps_1_1_polygon_map__inherit__graph.map index 1a04c92b..5b308bcd 100644 --- a/docs/classcmf_1_1maps_1_1_polygon_map__inherit__graph.map +++ b/docs/classcmf_1_1maps_1_1_polygon_map__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1maps_1_1_polygon_map__inherit__graph.md5 b/docs/classcmf_1_1maps_1_1_polygon_map__inherit__graph.md5 index 314f2e8f..f356ad81 100644 --- a/docs/classcmf_1_1maps_1_1_polygon_map__inherit__graph.md5 +++ b/docs/classcmf_1_1maps_1_1_polygon_map__inherit__graph.md5 @@ -1 +1 @@ -2f91e16187e91d92ae3067639c1d8e86 \ No newline at end of file +ec23bcf206855b32cb59a1ea7a39d153 \ No newline at end of file diff --git a/docs/classcmf_1_1maps_1_1_polygon_map__inherit__graph.png b/docs/classcmf_1_1maps_1_1_polygon_map__inherit__graph.png index f182c921..36f6f451 100644 Binary files a/docs/classcmf_1_1maps_1_1_polygon_map__inherit__graph.png and b/docs/classcmf_1_1maps_1_1_polygon_map__inherit__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_b_d_f2-members.html b/docs/classcmf_1_1math_1_1_b_d_f2-members.html index 0d3be780..35c36dc6 100644 --- a/docs/classcmf_1_1math_1_1_b_d_f2-members.html +++ b/docs/classcmf_1_1math_1_1_b_d_f2-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,37 +93,41 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    BDF2 Member List
    +
    BDF2 Member List

    This is the complete list of members for BDF2, including all inherited members.

    - + - + - + - - - - - - - - - - - + + + + + + + + +
    BDF2(real epsilon=1e-9, cmf::math::Time tStepMin=cmf::math::timespan(10))BDF2explicit
    BDF2(const cmf::math::state_list &states, real epsilon=1e-9, cmf::math::Time tStepMin=cmf::math::timespan(10))BDF2explicit
    BDF2(const cmf::math::state_list &states, real epsilon=1e-9, cmf::math::Time tStepMin=cmf::math::timespan(10))BDF2explicit
    BDF2(const Integrator &templ)BDF2explicit
    copy() const overrideBDF2virtual
    copy() const overrideBDF2virtual
    EpsilonIntegratorprotected
    get_dt() constIntegrator
    get_dt() constIntegrator
    get_error_position() constBDF2
    get_t() constIntegrator
    integratablesIntegrator
    integrate(cmf::math::Time MaxTime, cmf::math::Time TimeStep) overrideBDF2virtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    max_orderBDF2
    reset() overrideBDF2virtual
    reset_integratablesIntegrator
    set_t(cmf::math::Time val)Integrator
    get_t() constIntegrator
    integrate(cmf::math::Time MaxTime, cmf::math::Time TimeStep) overrideBDF2virtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    max_orderBDF2
    reset() overrideBDF2virtual
    set_t(cmf::math::Time val)Integrator
    to_string() const overrideBDF2virtual
    @@ -128,7 +137,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:41 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_b_d_f2.html b/docs/classcmf_1_1math_1_1_b_d_f2.html index 1acf92ed..7261253c 100644 --- a/docs/classcmf_1_1math_1_1_b_d_f2.html +++ b/docs/classcmf_1_1math_1_1_b_d_f2.html @@ -2,33 +2,37 @@ - - - - -cmf: BDF2 Class Reference - - - - + + + + + cmf: BDF2 Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,43 +93,51 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    BDF2 Class Reference

    An order 2 BDF-Method with fixed-point iteration and variable step size. - More...

    -
    + More...

    +
    + Inheritance diagram for BDF2:
    -
    +
    + Collaboration diagram for BDF2:

    Detailed Description

    @@ -135,93 +148,80 @@

    Most important function: Integrate

    - - - - - - - - - - - - - - - - - - - - - - - - - - - + +

    +

    Public Member Functions

     BDF2 (real epsilon=1e-9, cmf::math::Time tStepMin=cmf::math::timespan(10))
     Constructs a new BDF2 integrator. More...
     
     BDF2 (const cmf::math::state_list &states, real epsilon=1e-9, cmf::math::Time tStepMin=cmf::math::timespan(10))
     Constructs a new Gears_var_Step. More...
     
     BDF2 (const Integrator &templ)
     Constructs a new BDF2 integrator. More...
     
    -Integratorcopy () const override
     Polymorphic copy constructor.
     
    -ptrdiff_t get_error_position () const
     Returns the position of the biggest error.
     
    int integrate (cmf::math::Time MaxTime, cmf::math::Time TimeStep) override
     Integrates the vector of state variables. More...
     
    -void reset () override
     Resets any saved history (for multistep methods)
     
    -std::string to_string () const override
     Desrcibes the iterator.
     
    Integrate
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max. More...
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max.
     
    - - - - - - - - - - -

    -Public Attributes

    -integratable_list integratables
     Public access to integratables.
     
    -int max_order
     Maximum order, can be 1 (implicit euler) or 2 (BDF2)
     
    -bool reset_integratables =false
     If true, the integratables of this solver are reset.
     
    - - +

    +

    Protected Attributes

    Accuracy parameters
    -const real Epsilon =1e-9
    +const real Epsilon =1e-9
     Tolerable error.
     
    - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    -model time

    -cmf::math::Time get_t () const

    Gear functions: The following functions evaluate the Gear formulas of specified order, loading the results into compareStates.

    +int max_order
     Maximum order, can be 1 (implicit euler) or 2 (BDF2)
     
    +ptrdiff_t get_error_position () const
     Returns the position of the biggest error.
     
    +void reset () override
     Resets any saved history (for multistep methods)
     
     BDF2 (real epsilon=1e-9, cmf::math::Time tStepMin=cmf::math::timespan(10))
     Constructs a new BDF2 integrator.
     
     BDF2 (const cmf::math::state_list &states, real epsilon=1e-9, cmf::math::Time tStepMin=cmf::math::timespan(10))
     Constructs a new Gears_var_Step.
     
     BDF2 (const Integrator &templ)
     Constructs a new BDF2 integrator.
     
    +Integratorcopy () const override
     Polymorphic copy constructor.
     
    +std::string to_string () const override
     Desrcibes the iterator.
     
    int integrate (cmf::math::Time MaxTime, cmf::math::Time TimeStep) override
     Integrates the vector of state variables.
     
    + + - + - + - + - + - -

    model time

    +cmf::math::Time get_t () const
     Returns the current model time.
     
    -void set_t (cmf::math::Time val)
    +void set_t (cmf::math::Time val)
     Sets the current model time.
     
    -cmf::math::Time get_dt () const
    +cmf::math::Time get_dt () const
     Returns the last time step.
     
    -cmf::math::Time m_t
    +cmf::math::Time m_t
     Actual time of the solver.
     
    -cmf::math::Time m_dt
    +cmf::math::Time m_dt
     last time step of the solver
     
    -int m_Iterations =0
     

    Constructor & Destructor Documentation

    - -

    ◆ BDF2() [1/3]

    + +

    ◆ BDF2() [1/3]

    @@ -232,19 +232,12 @@

    BDF2 ( - real  - epsilon = 1e-9, + real epsilon = 1e-9, - cmf::math::Time  - tStepMin = cmf::math::timespan(10)  - - - - ) - + cmf::math::Time tStepMin = cmf::math::timespan(10) ) @@ -254,7 +247,7 @@

    -

    Constructs a new BDF2 integrator.

    +

    Constructs a new BDF2 integrator.

    Parameters
    @@ -265,8 +258,8 @@

    -

    ◆ BDF2() [2/3]

    + +

    ◆ BDF2() [2/3]

    @@ -277,25 +270,17 @@

    BDF2

    - - + - - + - - - - - - - +
    epsilonrelative error tolerance per time step (default=1e-9)
    (const cmf::math::state_list & states, const cmf::math::state_list & states,
    real epsilon = 1e-9, real epsilon = 1e-9,
    cmf::math::Time tStepMin = cmf::math::timespan(10) 
    )cmf::math::Time tStepMin = cmf::math::timespan(10) )
    @@ -317,8 +302,8 @@

    -

    ◆ BDF2() [3/3]

    + +

    ◆ BDF2() [3/3]

    @@ -329,8 +314,7 @@

    BDF2 ( - const Integrator &  - templ) + const Integrator & templ) @@ -341,10 +325,10 @@

    -

    Constructs a new BDF2 integrator.

    +

    Constructs a new BDF2 integrator.

    Parameters
    - +
    templTemplate to be used to construct a BDF2 method
    templTemplate to be used to construct a BDF2 method
    @@ -352,8 +336,8 @@

    Member Function Documentation

    - -

    ◆ integrate()

    + +

    ◆ integrate()

    @@ -364,19 +348,12 @@

    int integrate ( - cmf::math::Time  - MaxTime, + cmf::math::Time MaxTime, - cmf::math::Time  - TimeStep  - - - - ) - + cmf::math::Time TimeStep ) @@ -409,8 +386,8 @@

    -

    ◆ integrate_until()

    + +

    ◆ integrate_until()

    @@ -421,25 +398,17 @@

    void integrate_until ( - cmf::math::Time  - t_max, + cmf::math::Time t_max, - cmf::math::Time  - dt = Time(), + cmf::math::Time dt = Time(), - bool  - reset = false  - - - - ) - + bool reset = false ) @@ -452,8 +421,8 @@

    Parameters
    - - + +
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    resetIf true, solver is reseted before integration starts
    @@ -469,7 +438,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:41 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_b_d_f2.js b/docs/classcmf_1_1math_1_1_b_d_f2.js index b6df24ab..173c5a78 100644 --- a/docs/classcmf_1_1math_1_1_b_d_f2.js +++ b/docs/classcmf_1_1math_1_1_b_d_f2.js @@ -3,7 +3,7 @@ var classcmf_1_1math_1_1_b_d_f2 = [ "BDF2", "classcmf_1_1math_1_1_b_d_f2.html#a08559a425c8f400f531822c663cd8c67", null ], [ "BDF2", "classcmf_1_1math_1_1_b_d_f2.html#a34b4d40194eba9f6ba7c8281b7ab4676", null ], [ "BDF2", "classcmf_1_1math_1_1_b_d_f2.html#aeb1846e93aaed7c36eb79d2a8c1d7c07", null ], - [ "copy", "classcmf_1_1math_1_1_b_d_f2.html#a0520980e5eeba55e976079a75ec21fd3", null ], + [ "copy", "classcmf_1_1math_1_1_b_d_f2.html#a6d7047f82c6b940bbaa18c5392028706", null ], [ "get_dt", "classcmf_1_1math_1_1_b_d_f2.html#a72c9cc274dd9fe96b60f2ce8ac1db6cb", null ], [ "get_error_position", "classcmf_1_1math_1_1_b_d_f2.html#ae11c0671fe1c16172f076e39e88a76f6", null ], [ "get_t", "classcmf_1_1math_1_1_b_d_f2.html#a7e6d80d4b9053268f7321b1568921c28", null ], @@ -13,9 +13,7 @@ var classcmf_1_1math_1_1_b_d_f2 = [ "set_t", "classcmf_1_1math_1_1_b_d_f2.html#abbcac7828b36acc5978238f8d3248edf", null ], [ "to_string", "classcmf_1_1math_1_1_b_d_f2.html#a6ecf47ffd83a4d4f542b276c9aba3b28", null ], [ "Epsilon", "classcmf_1_1math_1_1_b_d_f2.html#a36eb0b53d4ca676a0015a9eac169de72", null ], - [ "integratables", "classcmf_1_1math_1_1_b_d_f2.html#a8226a814fb8ffcfdc8c8275adf3f9e63", null ], [ "m_dt", "classcmf_1_1math_1_1_b_d_f2.html#a2555e45d78dda4746f757a85d788c521", null ], [ "m_t", "classcmf_1_1math_1_1_b_d_f2.html#a8b8450957199e4ab5e30676dac06be64", null ], - [ "max_order", "classcmf_1_1math_1_1_b_d_f2.html#a95bb4761cf64592c323550c08a70ea10", null ], - [ "reset_integratables", "classcmf_1_1math_1_1_b_d_f2.html#a7ab8efb4a7e6f347412e300bc9e2d3ea", null ] + [ "max_order", "classcmf_1_1math_1_1_b_d_f2.html#a95bb4761cf64592c323550c08a70ea10", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_b_d_f2__coll__graph.map b/docs/classcmf_1_1math_1_1_b_d_f2__coll__graph.map index df1d510c..5da8607d 100644 --- a/docs/classcmf_1_1math_1_1_b_d_f2__coll__graph.map +++ b/docs/classcmf_1_1math_1_1_b_d_f2__coll__graph.map @@ -1,5 +1,7 @@ - - - + + + + + diff --git a/docs/classcmf_1_1math_1_1_b_d_f2__coll__graph.md5 b/docs/classcmf_1_1math_1_1_b_d_f2__coll__graph.md5 index 3cb16a29..77e3ee5b 100644 --- a/docs/classcmf_1_1math_1_1_b_d_f2__coll__graph.md5 +++ b/docs/classcmf_1_1math_1_1_b_d_f2__coll__graph.md5 @@ -1 +1 @@ -f53b1f705a5499a597cad2b5902d552d \ No newline at end of file +cc2e8d66a59bdef7cf80c649d9fbac5e \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_b_d_f2__coll__graph.png b/docs/classcmf_1_1math_1_1_b_d_f2__coll__graph.png index f1f6a2bf..49c2b4bd 100644 Binary files a/docs/classcmf_1_1math_1_1_b_d_f2__coll__graph.png and b/docs/classcmf_1_1math_1_1_b_d_f2__coll__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_b_d_f2__inherit__graph.map b/docs/classcmf_1_1math_1_1_b_d_f2__inherit__graph.map index 513383dc..c9ddade6 100644 --- a/docs/classcmf_1_1math_1_1_b_d_f2__inherit__graph.map +++ b/docs/classcmf_1_1math_1_1_b_d_f2__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1math_1_1_b_d_f2__inherit__graph.md5 b/docs/classcmf_1_1math_1_1_b_d_f2__inherit__graph.md5 index 9ea5f5aa..018a2d74 100644 --- a/docs/classcmf_1_1math_1_1_b_d_f2__inherit__graph.md5 +++ b/docs/classcmf_1_1math_1_1_b_d_f2__inherit__graph.md5 @@ -1 +1 @@ -716645442b805f264278735abb70da95 \ No newline at end of file +c13bbc1ecdb9f8567a3277b5dd4a01b2 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_b_d_f2__inherit__graph.png b/docs/classcmf_1_1math_1_1_b_d_f2__inherit__graph.png index e4f9f12d..f67b5723 100644 Binary files a/docs/classcmf_1_1math_1_1_b_d_f2__inherit__graph.png and b/docs/classcmf_1_1math_1_1_b_d_f2__inherit__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_c_vode_adams-members.html b/docs/classcmf_1_1math_1_1_c_vode_adams-members.html new file mode 100644 index 00000000..0a0d2da9 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_adams-members.html @@ -0,0 +1,145 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    CVodeAdams Member List
    +
    +
    + +

    This is the complete list of members for CVodeAdams, including all inherited members.

    + + + + + + + + + + + + + + + + + + + +
    _get_jacobian() constCVodeBasevirtual
    copy() const overrideCVodeAdamsvirtual
    EpsilonIntegratorprotected
    get_dt() constIntegrator
    get_error() constCVodeBase
    get_info() constCVodeBase
    get_t() constIntegrator
    initialize()CVodeBase
    integrate(cmf::math::Time t_max, cmf::math::Time dt)CVodeBasevirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    optionsCVodeBase
    reset()CVodeBasevirtual
    set_error_msg(std::string error)CVodeBase
    set_t(cmf::math::Time val)Integrator
    to_string() const overrideCVodeAdamsvirtual
    +
    +

    +Generated: Fri Jan 19 2024 16:10:56 + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_adams.html b/docs/classcmf_1_1math_1_1_c_vode_adams.html new file mode 100644 index 00000000..90666165 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_adams.html @@ -0,0 +1,386 @@ + + + + + + + + + cmf: CVodeAdams Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    CVodeAdams Class Reference
    +
    +
    + +

    Explizit multistep solver using CVode. + More...

    +
    + + Inheritance diagram for CVodeAdams:
    +
    +
    + +
    + + Collaboration diagram for CVodeAdams:
    +
    +
    + +

    Detailed Description

    +

    Explizit multistep solver using CVode.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    virtual cmf::math::num_array _get_jacobian () const
     Returns a continuous 1D array representing the Jacobian columns concatenated.
     
    +cmf::math::CVodeAdamscopy () const override
     Returns a copy of the solver.
     
    +cmf::math::num_array get_error () const
     Error vector of the integrator.
     
    +CVodeInfo get_info () const
     Returns the current solver statistics.
     
    int initialize ()
     Initialize the internal memory.
     
    virtual int integrate (cmf::math::Time t_max, cmf::math::Time dt)
     Integrates the vector of state variables.
     
    +virtual void reset ()
     Resets the history of the multispte solver and overwrites the internal state cache.
     
    +void set_error_msg (std::string error)
     Sets an error message.
     
    +std::string to_string () const override
     Returns a string representation of the solver.
     
    Integrate
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max.
     
    + + + + +

    +Public Attributes

    +CVodeOptions options
     the limits for the CVode solver, see CVodeOptions
     
    + + + + + +

    +Protected Attributes

    Accuracy parameters
    +const real Epsilon =1e-9
     Tolerable error.
     
    + + + + + + + + + + + + + + + + +

    model time

    +cmf::math::Time get_t () const
     Returns the current model time.
     
    +void set_t (cmf::math::Time val)
     Sets the current model time.
     
    +cmf::math::Time get_dt () const
     Returns the last time step.
     
    +cmf::math::Time m_t
     Actual time of the solver.
     
    +cmf::math::Time m_dt
     last time step of the solver
     
    +

    Member Function Documentation

    + +

    ◆ _get_jacobian()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual cmf::math::num_array _get_jacobian () const
    +
    +virtualinherited
    +
    + +

    Returns a continuous 1D array representing the Jacobian columns concatenated.

    +

    In Python, get_jacobian returns the Jacobian as a 2D array

    + +

    Reimplemented in CVodeDense.

    + +
    +
    + +

    ◆ initialize()

    + +
    +
    + + + + + +
    + + + + + + + +
    int initialize ()
    +
    +inherited
    +
    + +

    Initialize the internal memory.

    +

    Automatically called, when one starts to integrate

    + +
    +
    + +

    ◆ integrate()

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    virtual int integrate (cmf::math::Time t_max,
    cmf::math::Time dt )
    +
    +virtualinherited
    +
    + +

    Integrates the vector of state variables.

    +
    Parameters
    + + + +
    t_maxTo stop the model (if running in a model framework) at time steps of value exchange e.g. full hours, the next value exchange time can be given
    dtTakes the proposed time step, and changes it into the effectively used time step according to the local stiffness of the problem and MaxTime
    +
    +
    + +

    Implements Integrator.

    + +
    +
    + +

    ◆ integrate_until()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void integrate_until (cmf::math::Time t_max,
    cmf::math::Time dt = Time(),
    bool reset = false )
    +
    +inherited
    +
    + +

    Integrates the vector of state variables until t_max.

    +
    Parameters
    + + + + +
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    resetIf true, solver is reseted before integration starts
    +
    +
    + +
    +
    +
    +
    +

    +Generated: Fri Jan 19 2024 16:10:56 + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_adams.js b/docs/classcmf_1_1math_1_1_c_vode_adams.js new file mode 100644 index 00000000..f9241c1d --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_adams.js @@ -0,0 +1,20 @@ +var classcmf_1_1math_1_1_c_vode_adams = +[ + [ "_get_jacobian", "classcmf_1_1math_1_1_c_vode_adams.html#a329c6c34f9bef9aaac6b75d1fea4b619", null ], + [ "copy", "classcmf_1_1math_1_1_c_vode_adams.html#a68bf2eef073162e153cfea095e8bcf25", null ], + [ "get_dt", "classcmf_1_1math_1_1_c_vode_adams.html#a72c9cc274dd9fe96b60f2ce8ac1db6cb", null ], + [ "get_error", "classcmf_1_1math_1_1_c_vode_adams.html#aa27c9e2abdc2bad33560d1efec23c554", null ], + [ "get_info", "classcmf_1_1math_1_1_c_vode_adams.html#adb8030931242fb21735a64323701fb5e", null ], + [ "get_t", "classcmf_1_1math_1_1_c_vode_adams.html#a7e6d80d4b9053268f7321b1568921c28", null ], + [ "initialize", "classcmf_1_1math_1_1_c_vode_adams.html#a03aede8ff91764482bb5e9accfae9b4f", null ], + [ "integrate", "classcmf_1_1math_1_1_c_vode_adams.html#a8ba7a0eb814d5de6e422ea85f3771415", null ], + [ "integrate_until", "classcmf_1_1math_1_1_c_vode_adams.html#ab3370f291032a47667e76aeb44573875", null ], + [ "reset", "classcmf_1_1math_1_1_c_vode_adams.html#a7b0e029102ad38f4b814c6523aedb53d", null ], + [ "set_error_msg", "classcmf_1_1math_1_1_c_vode_adams.html#acb9eebaa656608e0dea051921142db64", null ], + [ "set_t", "classcmf_1_1math_1_1_c_vode_adams.html#abbcac7828b36acc5978238f8d3248edf", null ], + [ "to_string", "classcmf_1_1math_1_1_c_vode_adams.html#a6ecf47ffd83a4d4f542b276c9aba3b28", null ], + [ "Epsilon", "classcmf_1_1math_1_1_c_vode_adams.html#a36eb0b53d4ca676a0015a9eac169de72", null ], + [ "m_dt", "classcmf_1_1math_1_1_c_vode_adams.html#a2555e45d78dda4746f757a85d788c521", null ], + [ "m_t", "classcmf_1_1math_1_1_c_vode_adams.html#a8b8450957199e4ab5e30676dac06be64", null ], + [ "options", "classcmf_1_1math_1_1_c_vode_adams.html#ae7e59001d0dfc8fa9760ec26b8e83661", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_adams__coll__graph.map b/docs/classcmf_1_1math_1_1_c_vode_adams__coll__graph.map new file mode 100644 index 00000000..4ee31205 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_adams__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_adams__coll__graph.md5 b/docs/classcmf_1_1math_1_1_c_vode_adams__coll__graph.md5 new file mode 100644 index 00000000..9b475c7a --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_adams__coll__graph.md5 @@ -0,0 +1 @@ +819055d21e3721f80ba05c6d0707c10f \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_adams__coll__graph.png b/docs/classcmf_1_1math_1_1_c_vode_adams__coll__graph.png new file mode 100644 index 00000000..a327572f Binary files /dev/null and b/docs/classcmf_1_1math_1_1_c_vode_adams__coll__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_c_vode_adams__inherit__graph.map b/docs/classcmf_1_1math_1_1_c_vode_adams__inherit__graph.map new file mode 100644 index 00000000..09e5a6b0 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_adams__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_adams__inherit__graph.md5 b/docs/classcmf_1_1math_1_1_c_vode_adams__inherit__graph.md5 new file mode 100644 index 00000000..a794b5bd --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_adams__inherit__graph.md5 @@ -0,0 +1 @@ +597584a547e8a6cdefb8fa375ead5342 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_adams__inherit__graph.png b/docs/classcmf_1_1math_1_1_c_vode_adams__inherit__graph.png new file mode 100644 index 00000000..72720792 Binary files /dev/null and b/docs/classcmf_1_1math_1_1_c_vode_adams__inherit__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_c_vode_banded-members.html b/docs/classcmf_1_1math_1_1_c_vode_banded-members.html new file mode 100644 index 00000000..185ccd12 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_banded-members.html @@ -0,0 +1,146 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    CVodeBanded Member List
    +
    +
    + +

    This is the complete list of members for CVodeBanded, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + +
    _get_jacobian() constCVodeBasevirtual
    bandwidthCVodeBanded
    copy() const overrideCVodeBandedvirtual
    EpsilonIntegratorprotected
    get_dt() constIntegrator
    get_error() constCVodeBase
    get_info() constCVodeBase
    get_t() constIntegrator
    initialize()CVodeBase
    integrate(cmf::math::Time t_max, cmf::math::Time dt)CVodeBasevirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    optionsCVodeBase
    reset()CVodeBasevirtual
    set_error_msg(std::string error)CVodeBase
    set_t(cmf::math::Time val)Integrator
    to_string() const overrideCVodeBandedvirtual
    +
    +

    +Generated: Fri Jan 19 2024 16:10:56 + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_banded.html b/docs/classcmf_1_1math_1_1_c_vode_banded.html new file mode 100644 index 00000000..f9c86bb9 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_banded.html @@ -0,0 +1,390 @@ + + + + + + + + + cmf: CVodeBanded Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    CVodeBanded Class Reference
    +
    +
    + +

    implicit BDF CVode solver with a banded Jacobian approximation + More...

    +
    + + Inheritance diagram for CVodeBanded:
    +
    +
    + +
    + + Collaboration diagram for CVodeBanded:
    +
    +
    + +

    Detailed Description

    +

    implicit BDF CVode solver with a banded Jacobian approximation

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    virtual cmf::math::num_array _get_jacobian () const
     Returns a continuous 1D array representing the Jacobian columns concatenated.
     
    +cmf::math::CVodeBandedcopy () const override
     Returns a copy of the solver.
     
    +cmf::math::num_array get_error () const
     Error vector of the integrator.
     
    +CVodeInfo get_info () const
     Returns the current solver statistics.
     
    int initialize ()
     Initialize the internal memory.
     
    virtual int integrate (cmf::math::Time t_max, cmf::math::Time dt)
     Integrates the vector of state variables.
     
    +virtual void reset ()
     Resets the history of the multispte solver and overwrites the internal state cache.
     
    +void set_error_msg (std::string error)
     Sets an error message.
     
    +std::string to_string () const override
     Returns a string representation of the solver.
     
    Integrate
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max.
     
    + + + + + + + +

    +Public Attributes

    +int bandwidth
     Width of the band to both sides of the diagonal.
     
    +CVodeOptions options
     the limits for the CVode solver, see CVodeOptions
     
    + + + + + +

    +Protected Attributes

    Accuracy parameters
    +const real Epsilon =1e-9
     Tolerable error.
     
    + + + + + + + + + + + + + + + + +

    model time

    +cmf::math::Time get_t () const
     Returns the current model time.
     
    +void set_t (cmf::math::Time val)
     Sets the current model time.
     
    +cmf::math::Time get_dt () const
     Returns the last time step.
     
    +cmf::math::Time m_t
     Actual time of the solver.
     
    +cmf::math::Time m_dt
     last time step of the solver
     
    +

    Member Function Documentation

    + +

    ◆ _get_jacobian()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual cmf::math::num_array _get_jacobian () const
    +
    +virtualinherited
    +
    + +

    Returns a continuous 1D array representing the Jacobian columns concatenated.

    +

    In Python, get_jacobian returns the Jacobian as a 2D array

    + +

    Reimplemented in CVodeDense.

    + +
    +
    + +

    ◆ initialize()

    + +
    +
    + + + + + +
    + + + + + + + +
    int initialize ()
    +
    +inherited
    +
    + +

    Initialize the internal memory.

    +

    Automatically called, when one starts to integrate

    + +
    +
    + +

    ◆ integrate()

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    virtual int integrate (cmf::math::Time t_max,
    cmf::math::Time dt )
    +
    +virtualinherited
    +
    + +

    Integrates the vector of state variables.

    +
    Parameters
    + + + +
    t_maxTo stop the model (if running in a model framework) at time steps of value exchange e.g. full hours, the next value exchange time can be given
    dtTakes the proposed time step, and changes it into the effectively used time step according to the local stiffness of the problem and MaxTime
    +
    +
    + +

    Implements Integrator.

    + +
    +
    + +

    ◆ integrate_until()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void integrate_until (cmf::math::Time t_max,
    cmf::math::Time dt = Time(),
    bool reset = false )
    +
    +inherited
    +
    + +

    Integrates the vector of state variables until t_max.

    +
    Parameters
    + + + + +
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    resetIf true, solver is reseted before integration starts
    +
    +
    + +
    +
    +
    +
    +

    +Generated: Fri Jan 19 2024 16:10:56 + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_banded.js b/docs/classcmf_1_1math_1_1_c_vode_banded.js new file mode 100644 index 00000000..d03e7ac5 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_banded.js @@ -0,0 +1,21 @@ +var classcmf_1_1math_1_1_c_vode_banded = +[ + [ "_get_jacobian", "classcmf_1_1math_1_1_c_vode_banded.html#a329c6c34f9bef9aaac6b75d1fea4b619", null ], + [ "copy", "classcmf_1_1math_1_1_c_vode_banded.html#a23bdd3e4662e18d0ac6748f4d152277d", null ], + [ "get_dt", "classcmf_1_1math_1_1_c_vode_banded.html#a72c9cc274dd9fe96b60f2ce8ac1db6cb", null ], + [ "get_error", "classcmf_1_1math_1_1_c_vode_banded.html#aa27c9e2abdc2bad33560d1efec23c554", null ], + [ "get_info", "classcmf_1_1math_1_1_c_vode_banded.html#adb8030931242fb21735a64323701fb5e", null ], + [ "get_t", "classcmf_1_1math_1_1_c_vode_banded.html#a7e6d80d4b9053268f7321b1568921c28", null ], + [ "initialize", "classcmf_1_1math_1_1_c_vode_banded.html#a03aede8ff91764482bb5e9accfae9b4f", null ], + [ "integrate", "classcmf_1_1math_1_1_c_vode_banded.html#a8ba7a0eb814d5de6e422ea85f3771415", null ], + [ "integrate_until", "classcmf_1_1math_1_1_c_vode_banded.html#ab3370f291032a47667e76aeb44573875", null ], + [ "reset", "classcmf_1_1math_1_1_c_vode_banded.html#a7b0e029102ad38f4b814c6523aedb53d", null ], + [ "set_error_msg", "classcmf_1_1math_1_1_c_vode_banded.html#acb9eebaa656608e0dea051921142db64", null ], + [ "set_t", "classcmf_1_1math_1_1_c_vode_banded.html#abbcac7828b36acc5978238f8d3248edf", null ], + [ "to_string", "classcmf_1_1math_1_1_c_vode_banded.html#a6ecf47ffd83a4d4f542b276c9aba3b28", null ], + [ "bandwidth", "classcmf_1_1math_1_1_c_vode_banded.html#a71b420b9a271ff67fe17d3f93d6a81b1", null ], + [ "Epsilon", "classcmf_1_1math_1_1_c_vode_banded.html#a36eb0b53d4ca676a0015a9eac169de72", null ], + [ "m_dt", "classcmf_1_1math_1_1_c_vode_banded.html#a2555e45d78dda4746f757a85d788c521", null ], + [ "m_t", "classcmf_1_1math_1_1_c_vode_banded.html#a8b8450957199e4ab5e30676dac06be64", null ], + [ "options", "classcmf_1_1math_1_1_c_vode_banded.html#ae7e59001d0dfc8fa9760ec26b8e83661", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_banded__coll__graph.map b/docs/classcmf_1_1math_1_1_c_vode_banded__coll__graph.map new file mode 100644 index 00000000..9ec04ef8 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_banded__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_banded__coll__graph.md5 b/docs/classcmf_1_1math_1_1_c_vode_banded__coll__graph.md5 new file mode 100644 index 00000000..ec684010 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_banded__coll__graph.md5 @@ -0,0 +1 @@ +a8b48c1a8dc4c4ce179d5aab8ad613d2 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_banded__coll__graph.png b/docs/classcmf_1_1math_1_1_c_vode_banded__coll__graph.png new file mode 100644 index 00000000..a7162622 Binary files /dev/null and b/docs/classcmf_1_1math_1_1_c_vode_banded__coll__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_c_vode_banded__inherit__graph.map b/docs/classcmf_1_1math_1_1_c_vode_banded__inherit__graph.map new file mode 100644 index 00000000..6671573c --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_banded__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_banded__inherit__graph.md5 b/docs/classcmf_1_1math_1_1_c_vode_banded__inherit__graph.md5 new file mode 100644 index 00000000..5a102dab --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_banded__inherit__graph.md5 @@ -0,0 +1 @@ +290e21d5fac067fba24a766b679b5e3a \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_banded__inherit__graph.png b/docs/classcmf_1_1math_1_1_c_vode_banded__inherit__graph.png new file mode 100644 index 00000000..bfba5bc7 Binary files /dev/null and b/docs/classcmf_1_1math_1_1_c_vode_banded__inherit__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_c_vode_base-members.html b/docs/classcmf_1_1math_1_1_c_vode_base-members.html new file mode 100644 index 00000000..93e99f91 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_base-members.html @@ -0,0 +1,145 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    CVodeBase Member List
    +
    +
    + +

    This is the complete list of members for CVodeBase, including all inherited members.

    + + + + + + + + + + + + + + + + + + + +
    _get_jacobian() constCVodeBasevirtual
    copy() const override=0CVodeBasepure virtual
    EpsilonIntegratorprotected
    get_dt() constIntegrator
    get_error() constCVodeBase
    get_info() constCVodeBase
    get_t() constIntegrator
    initialize()CVodeBase
    integrate(cmf::math::Time t_max, cmf::math::Time dt)CVodeBasevirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    optionsCVodeBase
    reset()CVodeBasevirtual
    set_error_msg(std::string error)CVodeBase
    set_t(cmf::math::Time val)Integrator
    to_string() const override=0CVodeBasepure virtual
    +
    +

    +Generated: Fri Jan 19 2024 16:10:56 + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_base.html b/docs/classcmf_1_1math_1_1_c_vode_base.html new file mode 100644 index 00000000..57ba60b7 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_base.html @@ -0,0 +1,385 @@ + + + + + + + + + cmf: CVodeBase Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    CVodeBase Class Referenceabstract
    +
    +
    + +

    Abstract base class for different modes of the CVode solver. + More...

    +
    + + Inheritance diagram for CVodeBase:
    +
    +
    + +
    + + Collaboration diagram for CVodeBase:
    +
    +
    + +

    Detailed Description

    +

    Abstract base class for different modes of the CVode solver.

    +

    Initantiate one of the child classes to gain different modes of the CVode solver

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    virtual cmf::math::num_array _get_jacobian () const
     Returns a continuous 1D array representing the Jacobian columns concatenated.
     
    +CVodeBasecopy () const override=0
     Returns a copy of the solver.
     
    +cmf::math::num_array get_error () const
     Error vector of the integrator.
     
    +CVodeInfo get_info () const
     Returns the current solver statistics.
     
    int initialize ()
     Initialize the internal memory.
     
    virtual int integrate (cmf::math::Time t_max, cmf::math::Time dt)
     Integrates the vector of state variables.
     
    +virtual void reset ()
     Resets the history of the multispte solver and overwrites the internal state cache.
     
    +void set_error_msg (std::string error)
     Sets an error message.
     
    +std::string to_string () const override=0
     Returns a string representation of the solver.
     
    Integrate
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max.
     
    + + + + +

    +Public Attributes

    +CVodeOptions options
     the limits for the CVode solver, see CVodeOptions
     
    + + + + + +

    +Protected Attributes

    Accuracy parameters
    +const real Epsilon =1e-9
     Tolerable error.
     
    + + + + + + + + + + + + + + + + +

    model time

    +cmf::math::Time m_t
     Actual time of the solver.
     
    +cmf::math::Time m_dt
     last time step of the solver
     
    +cmf::math::Time get_t () const
     Returns the current model time.
     
    +void set_t (cmf::math::Time val)
     Sets the current model time.
     
    +cmf::math::Time get_dt () const
     Returns the last time step.
     
    +

    Member Function Documentation

    + +

    ◆ _get_jacobian()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual cmf::math::num_array _get_jacobian () const
    +
    +virtual
    +
    + +

    Returns a continuous 1D array representing the Jacobian columns concatenated.

    +

    In Python, get_jacobian returns the Jacobian as a 2D array

    + +

    Reimplemented in CVodeDense.

    + +
    +
    + +

    ◆ initialize()

    + +
    +
    + + + + + + + +
    int initialize ()
    +
    + +

    Initialize the internal memory.

    +

    Automatically called, when one starts to integrate

    + +
    +
    + +

    ◆ integrate()

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    virtual int integrate (cmf::math::Time t_max,
    cmf::math::Time dt )
    +
    +virtual
    +
    + +

    Integrates the vector of state variables.

    +
    Parameters
    + + + +
    t_maxTo stop the model (if running in a model framework) at time steps of value exchange e.g. full hours, the next value exchange time can be given
    dtTakes the proposed time step, and changes it into the effectively used time step according to the local stiffness of the problem and MaxTime
    +
    +
    + +

    Implements Integrator.

    + +
    +
    + +

    ◆ integrate_until()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void integrate_until (cmf::math::Time t_max,
    cmf::math::Time dt = Time(),
    bool reset = false )
    +
    +inherited
    +
    + +

    Integrates the vector of state variables until t_max.

    +
    Parameters
    + + + + +
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    resetIf true, solver is reseted before integration starts
    +
    +
    + +
    +
    +
    +
    +

    +Generated: Fri Jan 19 2024 16:10:56 + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_base.js b/docs/classcmf_1_1math_1_1_c_vode_base.js new file mode 100644 index 00000000..5475af54 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_base.js @@ -0,0 +1,20 @@ +var classcmf_1_1math_1_1_c_vode_base = +[ + [ "_get_jacobian", "classcmf_1_1math_1_1_c_vode_base.html#a329c6c34f9bef9aaac6b75d1fea4b619", null ], + [ "copy", "classcmf_1_1math_1_1_c_vode_base.html#ae9f3ddd0b7b9955e02451b36e0d321d0", null ], + [ "get_dt", "classcmf_1_1math_1_1_c_vode_base.html#a72c9cc274dd9fe96b60f2ce8ac1db6cb", null ], + [ "get_error", "classcmf_1_1math_1_1_c_vode_base.html#aa27c9e2abdc2bad33560d1efec23c554", null ], + [ "get_info", "classcmf_1_1math_1_1_c_vode_base.html#adb8030931242fb21735a64323701fb5e", null ], + [ "get_t", "classcmf_1_1math_1_1_c_vode_base.html#a7e6d80d4b9053268f7321b1568921c28", null ], + [ "initialize", "classcmf_1_1math_1_1_c_vode_base.html#a03aede8ff91764482bb5e9accfae9b4f", null ], + [ "integrate", "classcmf_1_1math_1_1_c_vode_base.html#a8ba7a0eb814d5de6e422ea85f3771415", null ], + [ "integrate_until", "classcmf_1_1math_1_1_c_vode_base.html#ab3370f291032a47667e76aeb44573875", null ], + [ "reset", "classcmf_1_1math_1_1_c_vode_base.html#a7b0e029102ad38f4b814c6523aedb53d", null ], + [ "set_error_msg", "classcmf_1_1math_1_1_c_vode_base.html#acb9eebaa656608e0dea051921142db64", null ], + [ "set_t", "classcmf_1_1math_1_1_c_vode_base.html#abbcac7828b36acc5978238f8d3248edf", null ], + [ "to_string", "classcmf_1_1math_1_1_c_vode_base.html#abc6804bf225d51113cb5c544b871bd83", null ], + [ "Epsilon", "classcmf_1_1math_1_1_c_vode_base.html#a36eb0b53d4ca676a0015a9eac169de72", null ], + [ "m_dt", "classcmf_1_1math_1_1_c_vode_base.html#a2555e45d78dda4746f757a85d788c521", null ], + [ "m_t", "classcmf_1_1math_1_1_c_vode_base.html#a8b8450957199e4ab5e30676dac06be64", null ], + [ "options", "classcmf_1_1math_1_1_c_vode_base.html#ae7e59001d0dfc8fa9760ec26b8e83661", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_base__coll__graph.map b/docs/classcmf_1_1math_1_1_c_vode_base__coll__graph.map new file mode 100644 index 00000000..ff4eecef --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_base__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_base__coll__graph.md5 b/docs/classcmf_1_1math_1_1_c_vode_base__coll__graph.md5 new file mode 100644 index 00000000..b8386f7b --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_base__coll__graph.md5 @@ -0,0 +1 @@ +631ea10ec214f7023fefd2e5f6c71c8e \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_base__coll__graph.png b/docs/classcmf_1_1math_1_1_c_vode_base__coll__graph.png new file mode 100644 index 00000000..a86424c2 Binary files /dev/null and b/docs/classcmf_1_1math_1_1_c_vode_base__coll__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_c_vode_base__inherit__graph.map b/docs/classcmf_1_1math_1_1_c_vode_base__inherit__graph.map new file mode 100644 index 00000000..f4a20575 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_base__inherit__graph.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_base__inherit__graph.md5 b/docs/classcmf_1_1math_1_1_c_vode_base__inherit__graph.md5 new file mode 100644 index 00000000..2afb066e --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_base__inherit__graph.md5 @@ -0,0 +1 @@ +4fc7a5b731b576e860903c70f3023c49 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_base__inherit__graph.png b/docs/classcmf_1_1math_1_1_c_vode_base__inherit__graph.png new file mode 100644 index 00000000..9cbd08f0 Binary files /dev/null and b/docs/classcmf_1_1math_1_1_c_vode_base__inherit__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_c_vode_dense-members.html b/docs/classcmf_1_1math_1_1_c_vode_dense-members.html new file mode 100644 index 00000000..b3fd6dac --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_dense-members.html @@ -0,0 +1,146 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    CVodeDense Member List
    +
    +
    + +

    This is the complete list of members for CVodeDense, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + +
    _get_jacobian() const overrideCVodeDensevirtual
    copy() const overrideCVodeDensevirtual
    CVodeDense(const cmf::math::state_list &states, real epsilon=1e-9)CVodeDenseexplicit
    EpsilonIntegratorprotected
    get_dt() constIntegrator
    get_error() constCVodeBase
    get_info() constCVodeBase
    get_t() constIntegrator
    initialize()CVodeBase
    integrate(cmf::math::Time t_max, cmf::math::Time dt)CVodeBasevirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    optionsCVodeBase
    reset()CVodeBasevirtual
    set_error_msg(std::string error)CVodeBase
    set_t(cmf::math::Time val)Integrator
    to_string() const overrideCVodeDensevirtual
    +
    +

    +Generated: Fri Jan 19 2024 16:10:56 + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_dense.html b/docs/classcmf_1_1math_1_1_c_vode_dense.html new file mode 100644 index 00000000..09d49e18 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_dense.html @@ -0,0 +1,392 @@ + + + + + + + + + cmf: CVodeDense Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    CVodeDense Class Reference
    +
    +
    + +

    implicit BDF CVode solver with full Jacobian approximation + More...

    +
    + + Inheritance diagram for CVodeDense:
    +
    +
    + +
    + + Collaboration diagram for CVodeDense:
    +
    +
    + +

    Detailed Description

    +

    implicit BDF CVode solver with full Jacobian approximation

    +

    Use this solver for small but stiff systems (<20 state variables)

    +

    The solver calculates for each step the full Jacobian matrix of the system using a difference quotient approximation of the real Jacobian

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    CVodeDense (const cmf::math::state_list &states, real epsilon=1e-9)
     Creates a new implicit dense CVode solver.
     
    cmf::math::num_array _get_jacobian () const override
     Returns a continuous 1D array representing the Jacobian columns concatenated.
     
    +cmf::math::CVodeDensecopy () const override
     Returns a copy of the solver.
     
    +cmf::math::num_array get_error () const
     Error vector of the integrator.
     
    +CVodeInfo get_info () const
     Returns the current solver statistics.
     
    int initialize ()
     Initialize the internal memory.
     
    virtual int integrate (cmf::math::Time t_max, cmf::math::Time dt)
     Integrates the vector of state variables.
     
    +virtual void reset ()
     Resets the history of the multispte solver and overwrites the internal state cache.
     
    +void set_error_msg (std::string error)
     Sets an error message.
     
    +std::string to_string () const override
     Returns a string representation of the solver.
     
    Integrate
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max.
     
    + + + + +

    +Public Attributes

    +CVodeOptions options
     the limits for the CVode solver, see CVodeOptions
     
    + + + + + +

    +Protected Attributes

    Accuracy parameters
    +const real Epsilon =1e-9
     Tolerable error.
     
    + + + + + + + + + + + + + + + + +

    model time

    +cmf::math::Time get_t () const
     Returns the current model time.
     
    +void set_t (cmf::math::Time val)
     Sets the current model time.
     
    +cmf::math::Time get_dt () const
     Returns the last time step.
     
    +cmf::math::Time m_t
     Actual time of the solver.
     
    +cmf::math::Time m_dt
     last time step of the solver
     
    +

    Member Function Documentation

    + +

    ◆ _get_jacobian()

    + +
    +
    + + + + + +
    + + + + + + + +
    cmf::math::num_array _get_jacobian () const
    +
    +overridevirtual
    +
    + +

    Returns a continuous 1D array representing the Jacobian columns concatenated.

    +

    In Python, get_jacobian returns the Jacobian as a 2D array

    + +

    Reimplemented from CVodeBase.

    + +
    +
    + +

    ◆ initialize()

    + +
    +
    + + + + + +
    + + + + + + + +
    int initialize ()
    +
    +inherited
    +
    + +

    Initialize the internal memory.

    +

    Automatically called, when one starts to integrate

    + +
    +
    + +

    ◆ integrate()

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    virtual int integrate (cmf::math::Time t_max,
    cmf::math::Time dt )
    +
    +virtualinherited
    +
    + +

    Integrates the vector of state variables.

    +
    Parameters
    + + + +
    t_maxTo stop the model (if running in a model framework) at time steps of value exchange e.g. full hours, the next value exchange time can be given
    dtTakes the proposed time step, and changes it into the effectively used time step according to the local stiffness of the problem and MaxTime
    +
    +
    + +

    Implements Integrator.

    + +
    +
    + +

    ◆ integrate_until()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void integrate_until (cmf::math::Time t_max,
    cmf::math::Time dt = Time(),
    bool reset = false )
    +
    +inherited
    +
    + +

    Integrates the vector of state variables until t_max.

    +
    Parameters
    + + + + +
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    resetIf true, solver is reseted before integration starts
    +
    +
    + +
    +
    +
    +
    +

    +Generated: Fri Jan 19 2024 16:10:56 + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_dense.js b/docs/classcmf_1_1math_1_1_c_vode_dense.js new file mode 100644 index 00000000..c4d51ca6 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_dense.js @@ -0,0 +1,21 @@ +var classcmf_1_1math_1_1_c_vode_dense = +[ + [ "CVodeDense", "classcmf_1_1math_1_1_c_vode_dense.html#ad886a090d5321aa09af1278e17726fd2", null ], + [ "_get_jacobian", "classcmf_1_1math_1_1_c_vode_dense.html#ae1b37935b0fd45c5bbca4b8b463a958c", null ], + [ "copy", "classcmf_1_1math_1_1_c_vode_dense.html#a6de02de72d39aac68ff5a2d27c322789", null ], + [ "get_dt", "classcmf_1_1math_1_1_c_vode_dense.html#a72c9cc274dd9fe96b60f2ce8ac1db6cb", null ], + [ "get_error", "classcmf_1_1math_1_1_c_vode_dense.html#aa27c9e2abdc2bad33560d1efec23c554", null ], + [ "get_info", "classcmf_1_1math_1_1_c_vode_dense.html#adb8030931242fb21735a64323701fb5e", null ], + [ "get_t", "classcmf_1_1math_1_1_c_vode_dense.html#a7e6d80d4b9053268f7321b1568921c28", null ], + [ "initialize", "classcmf_1_1math_1_1_c_vode_dense.html#a03aede8ff91764482bb5e9accfae9b4f", null ], + [ "integrate", "classcmf_1_1math_1_1_c_vode_dense.html#a8ba7a0eb814d5de6e422ea85f3771415", null ], + [ "integrate_until", "classcmf_1_1math_1_1_c_vode_dense.html#ab3370f291032a47667e76aeb44573875", null ], + [ "reset", "classcmf_1_1math_1_1_c_vode_dense.html#a7b0e029102ad38f4b814c6523aedb53d", null ], + [ "set_error_msg", "classcmf_1_1math_1_1_c_vode_dense.html#acb9eebaa656608e0dea051921142db64", null ], + [ "set_t", "classcmf_1_1math_1_1_c_vode_dense.html#abbcac7828b36acc5978238f8d3248edf", null ], + [ "to_string", "classcmf_1_1math_1_1_c_vode_dense.html#a6ecf47ffd83a4d4f542b276c9aba3b28", null ], + [ "Epsilon", "classcmf_1_1math_1_1_c_vode_dense.html#a36eb0b53d4ca676a0015a9eac169de72", null ], + [ "m_dt", "classcmf_1_1math_1_1_c_vode_dense.html#a2555e45d78dda4746f757a85d788c521", null ], + [ "m_t", "classcmf_1_1math_1_1_c_vode_dense.html#a8b8450957199e4ab5e30676dac06be64", null ], + [ "options", "classcmf_1_1math_1_1_c_vode_dense.html#ae7e59001d0dfc8fa9760ec26b8e83661", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_dense__coll__graph.map b/docs/classcmf_1_1math_1_1_c_vode_dense__coll__graph.map new file mode 100644 index 00000000..beba1c12 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_dense__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_dense__coll__graph.md5 b/docs/classcmf_1_1math_1_1_c_vode_dense__coll__graph.md5 new file mode 100644 index 00000000..96e8cd87 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_dense__coll__graph.md5 @@ -0,0 +1 @@ +b8f42ee0e84f5c9599cb6b96342fde78 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_dense__coll__graph.png b/docs/classcmf_1_1math_1_1_c_vode_dense__coll__graph.png new file mode 100644 index 00000000..48114349 Binary files /dev/null and b/docs/classcmf_1_1math_1_1_c_vode_dense__coll__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_c_vode_dense__inherit__graph.map b/docs/classcmf_1_1math_1_1_c_vode_dense__inherit__graph.map new file mode 100644 index 00000000..8ff81838 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_dense__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_dense__inherit__graph.md5 b/docs/classcmf_1_1math_1_1_c_vode_dense__inherit__graph.md5 new file mode 100644 index 00000000..614e3488 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_dense__inherit__graph.md5 @@ -0,0 +1 @@ +46b760a3d0a7b1b83ab20d7e77c95243 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_dense__inherit__graph.png b/docs/classcmf_1_1math_1_1_c_vode_dense__inherit__graph.png new file mode 100644 index 00000000..d538771b Binary files /dev/null and b/docs/classcmf_1_1math_1_1_c_vode_dense__inherit__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_c_vode_diag-members.html b/docs/classcmf_1_1math_1_1_c_vode_diag-members.html new file mode 100644 index 00000000..83b72f15 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_diag-members.html @@ -0,0 +1,145 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    CVodeDiag Member List
    +
    +
    + +

    This is the complete list of members for CVodeDiag, including all inherited members.

    + + + + + + + + + + + + + + + + + + + +
    _get_jacobian() constCVodeBasevirtual
    copy() constCVodeDiagvirtual
    EpsilonIntegratorprotected
    get_dt() constIntegrator
    get_error() constCVodeBase
    get_info() constCVodeBase
    get_t() constIntegrator
    initialize()CVodeBase
    integrate(cmf::math::Time t_max, cmf::math::Time dt)CVodeBasevirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    optionsCVodeBase
    reset()CVodeBasevirtual
    set_error_msg(std::string error)CVodeBase
    set_t(cmf::math::Time val)Integrator
    to_string() constCVodeDiagvirtual
    +
    +

    +Generated: Fri Jan 19 2024 16:10:56 + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_diag.html b/docs/classcmf_1_1math_1_1_c_vode_diag.html new file mode 100644 index 00000000..1647a432 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_diag.html @@ -0,0 +1,386 @@ + + + + + + + + + cmf: CVodeDiag Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    CVodeDiag Class Reference
    +
    +
    + +

    implicit BDF CVode solver with a one line diagonal Jacobian approximation + More...

    +
    + + Inheritance diagram for CVodeDiag:
    +
    +
    + +
    + + Collaboration diagram for CVodeDiag:
    +
    +
    + +

    Detailed Description

    +

    implicit BDF CVode solver with a one line diagonal Jacobian approximation

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    virtual cmf::math::num_array _get_jacobian () const
     Returns a continuous 1D array representing the Jacobian columns concatenated.
     
    +cmf::math::CVodeDiagcopy () const
     Returns a copy of the solver.
     
    +cmf::math::num_array get_error () const
     Error vector of the integrator.
     
    +CVodeInfo get_info () const
     Returns the current solver statistics.
     
    int initialize ()
     Initialize the internal memory.
     
    virtual int integrate (cmf::math::Time t_max, cmf::math::Time dt)
     Integrates the vector of state variables.
     
    +virtual void reset ()
     Resets the history of the multispte solver and overwrites the internal state cache.
     
    +void set_error_msg (std::string error)
     Sets an error message.
     
    +std::string to_string () const
     Returns a string representation of the solver.
     
    Integrate
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max.
     
    + + + + +

    +Public Attributes

    +CVodeOptions options
     the limits for the CVode solver, see CVodeOptions
     
    + + + + + +

    +Protected Attributes

    Accuracy parameters
    +const real Epsilon =1e-9
     Tolerable error.
     
    + + + + + + + + + + + + + + + + +

    model time

    +cmf::math::Time get_t () const
     Returns the current model time.
     
    +void set_t (cmf::math::Time val)
     Sets the current model time.
     
    +cmf::math::Time get_dt () const
     Returns the last time step.
     
    +cmf::math::Time m_t
     Actual time of the solver.
     
    +cmf::math::Time m_dt
     last time step of the solver
     
    +

    Member Function Documentation

    + +

    ◆ _get_jacobian()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual cmf::math::num_array _get_jacobian () const
    +
    +virtualinherited
    +
    + +

    Returns a continuous 1D array representing the Jacobian columns concatenated.

    +

    In Python, get_jacobian returns the Jacobian as a 2D array

    + +

    Reimplemented in CVodeDense.

    + +
    +
    + +

    ◆ initialize()

    + +
    +
    + + + + + +
    + + + + + + + +
    int initialize ()
    +
    +inherited
    +
    + +

    Initialize the internal memory.

    +

    Automatically called, when one starts to integrate

    + +
    +
    + +

    ◆ integrate()

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    virtual int integrate (cmf::math::Time t_max,
    cmf::math::Time dt )
    +
    +virtualinherited
    +
    + +

    Integrates the vector of state variables.

    +
    Parameters
    + + + +
    t_maxTo stop the model (if running in a model framework) at time steps of value exchange e.g. full hours, the next value exchange time can be given
    dtTakes the proposed time step, and changes it into the effectively used time step according to the local stiffness of the problem and MaxTime
    +
    +
    + +

    Implements Integrator.

    + +
    +
    + +

    ◆ integrate_until()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void integrate_until (cmf::math::Time t_max,
    cmf::math::Time dt = Time(),
    bool reset = false )
    +
    +inherited
    +
    + +

    Integrates the vector of state variables until t_max.

    +
    Parameters
    + + + + +
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    resetIf true, solver is reseted before integration starts
    +
    +
    + +
    +
    +
    +
    + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_diag.js b/docs/classcmf_1_1math_1_1_c_vode_diag.js new file mode 100644 index 00000000..1294d37f --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_diag.js @@ -0,0 +1,20 @@ +var classcmf_1_1math_1_1_c_vode_diag = +[ + [ "_get_jacobian", "classcmf_1_1math_1_1_c_vode_diag.html#a329c6c34f9bef9aaac6b75d1fea4b619", null ], + [ "copy", "classcmf_1_1math_1_1_c_vode_diag.html#af8ad6b7bbd6f90b84741b077ddd657b1", null ], + [ "get_dt", "classcmf_1_1math_1_1_c_vode_diag.html#a72c9cc274dd9fe96b60f2ce8ac1db6cb", null ], + [ "get_error", "classcmf_1_1math_1_1_c_vode_diag.html#aa27c9e2abdc2bad33560d1efec23c554", null ], + [ "get_info", "classcmf_1_1math_1_1_c_vode_diag.html#adb8030931242fb21735a64323701fb5e", null ], + [ "get_t", "classcmf_1_1math_1_1_c_vode_diag.html#a7e6d80d4b9053268f7321b1568921c28", null ], + [ "initialize", "classcmf_1_1math_1_1_c_vode_diag.html#a03aede8ff91764482bb5e9accfae9b4f", null ], + [ "integrate", "classcmf_1_1math_1_1_c_vode_diag.html#a8ba7a0eb814d5de6e422ea85f3771415", null ], + [ "integrate_until", "classcmf_1_1math_1_1_c_vode_diag.html#ab3370f291032a47667e76aeb44573875", null ], + [ "reset", "classcmf_1_1math_1_1_c_vode_diag.html#a7b0e029102ad38f4b814c6523aedb53d", null ], + [ "set_error_msg", "classcmf_1_1math_1_1_c_vode_diag.html#acb9eebaa656608e0dea051921142db64", null ], + [ "set_t", "classcmf_1_1math_1_1_c_vode_diag.html#abbcac7828b36acc5978238f8d3248edf", null ], + [ "to_string", "classcmf_1_1math_1_1_c_vode_diag.html#aac993ecccd3d88aafefb6b8e3caa1dee", null ], + [ "Epsilon", "classcmf_1_1math_1_1_c_vode_diag.html#a36eb0b53d4ca676a0015a9eac169de72", null ], + [ "m_dt", "classcmf_1_1math_1_1_c_vode_diag.html#a2555e45d78dda4746f757a85d788c521", null ], + [ "m_t", "classcmf_1_1math_1_1_c_vode_diag.html#a8b8450957199e4ab5e30676dac06be64", null ], + [ "options", "classcmf_1_1math_1_1_c_vode_diag.html#ae7e59001d0dfc8fa9760ec26b8e83661", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_diag__coll__graph.map b/docs/classcmf_1_1math_1_1_c_vode_diag__coll__graph.map new file mode 100644 index 00000000..51c56d2f --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_diag__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_diag__coll__graph.md5 b/docs/classcmf_1_1math_1_1_c_vode_diag__coll__graph.md5 new file mode 100644 index 00000000..e592efce --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_diag__coll__graph.md5 @@ -0,0 +1 @@ +3865120518f9e3aa79cb54ca5aee58ab \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_diag__coll__graph.png b/docs/classcmf_1_1math_1_1_c_vode_diag__coll__graph.png new file mode 100644 index 00000000..c5203802 Binary files /dev/null and b/docs/classcmf_1_1math_1_1_c_vode_diag__coll__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_c_vode_diag__inherit__graph.map b/docs/classcmf_1_1math_1_1_c_vode_diag__inherit__graph.map new file mode 100644 index 00000000..9c4a7796 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_diag__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_diag__inherit__graph.md5 b/docs/classcmf_1_1math_1_1_c_vode_diag__inherit__graph.md5 new file mode 100644 index 00000000..a3cdd9c3 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_diag__inherit__graph.md5 @@ -0,0 +1 @@ +b62fdf568ff2ce7b45859ebf04e16052 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_diag__inherit__graph.png b/docs/classcmf_1_1math_1_1_c_vode_diag__inherit__graph.png new file mode 100644 index 00000000..8c4bf380 Binary files /dev/null and b/docs/classcmf_1_1math_1_1_c_vode_diag__inherit__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_c_vode_krylov-members.html b/docs/classcmf_1_1math_1_1_c_vode_krylov-members.html new file mode 100644 index 00000000..dda235a4 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_krylov-members.html @@ -0,0 +1,147 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    CVodeKrylov Member List
    +
    +
    + +

    This is the complete list of members for CVodeKrylov, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + +
    _get_jacobian() constCVodeBasevirtual
    bandwidthCVodeKrylov
    copy() constCVodeKrylovvirtual
    EpsilonIntegratorprotected
    get_dt() constIntegrator
    get_error() constCVodeBase
    get_info() constCVodeBase
    get_t() constIntegrator
    initialize()CVodeBase
    integrate(cmf::math::Time t_max, cmf::math::Time dt)CVodeBasevirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    optionsCVodeBase
    preconditionerCVodeKrylov
    reset()CVodeBasevirtual
    set_error_msg(std::string error)CVodeBase
    set_t(cmf::math::Time val)Integrator
    to_string() constCVodeKrylovvirtual
    +
    + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_krylov.html b/docs/classcmf_1_1math_1_1_c_vode_krylov.html new file mode 100644 index 00000000..98232035 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_krylov.html @@ -0,0 +1,394 @@ + + + + + + + + + cmf: CVodeKrylov Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    CVodeKrylov Class Reference
    +
    +
    + +

    implicit BDF CVode solver with a Krylov preconditioner + More...

    +
    + + Inheritance diagram for CVodeKrylov:
    +
    +
    + +
    + + Collaboration diagram for CVodeKrylov:
    +
    +
    + +

    Detailed Description

    +

    implicit BDF CVode solver with a Krylov preconditioner

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    virtual cmf::math::num_array _get_jacobian () const
     Returns a continuous 1D array representing the Jacobian columns concatenated.
     
    +cmf::math::CVodeKrylovcopy () const
     Returns a copy of the solver.
     
    +cmf::math::num_array get_error () const
     Error vector of the integrator.
     
    +CVodeInfo get_info () const
     Returns the current solver statistics.
     
    int initialize ()
     Initialize the internal memory.
     
    virtual int integrate (cmf::math::Time t_max, cmf::math::Time dt)
     Integrates the vector of state variables.
     
    +virtual void reset ()
     Resets the history of the multispte solver and overwrites the internal state cache.
     
    +void set_error_msg (std::string error)
     Sets an error message.
     
    +std::string to_string () const
     Returns a string representation of the solver.
     
    Integrate
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max.
     
    + + + + + + + + + + +

    +Public Attributes

    +int bandwidth
     Band width of the preconditioner (both sides of the diagonal)
     
    +CVodeOptions options
     the limits for the CVode solver, see CVodeOptions
     
    +char preconditioner
     Type of the preconditioner 'L'->left, 'R'->right, 'B'->both, 'N'->None, default 'L'.
     
    + + + + + +

    +Protected Attributes

    Accuracy parameters
    +const real Epsilon =1e-9
     Tolerable error.
     
    + + + + + + + + + + + + + + + + +

    model time

    +cmf::math::Time get_t () const
     Returns the current model time.
     
    +void set_t (cmf::math::Time val)
     Sets the current model time.
     
    +cmf::math::Time get_dt () const
     Returns the last time step.
     
    +cmf::math::Time m_t
     Actual time of the solver.
     
    +cmf::math::Time m_dt
     last time step of the solver
     
    +

    Member Function Documentation

    + +

    ◆ _get_jacobian()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual cmf::math::num_array _get_jacobian () const
    +
    +virtualinherited
    +
    + +

    Returns a continuous 1D array representing the Jacobian columns concatenated.

    +

    In Python, get_jacobian returns the Jacobian as a 2D array

    + +

    Reimplemented in CVodeDense.

    + +
    +
    + +

    ◆ initialize()

    + +
    +
    + + + + + +
    + + + + + + + +
    int initialize ()
    +
    +inherited
    +
    + +

    Initialize the internal memory.

    +

    Automatically called, when one starts to integrate

    + +
    +
    + +

    ◆ integrate()

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    virtual int integrate (cmf::math::Time t_max,
    cmf::math::Time dt )
    +
    +virtualinherited
    +
    + +

    Integrates the vector of state variables.

    +
    Parameters
    + + + +
    t_maxTo stop the model (if running in a model framework) at time steps of value exchange e.g. full hours, the next value exchange time can be given
    dtTakes the proposed time step, and changes it into the effectively used time step according to the local stiffness of the problem and MaxTime
    +
    +
    + +

    Implements Integrator.

    + +
    +
    + +

    ◆ integrate_until()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void integrate_until (cmf::math::Time t_max,
    cmf::math::Time dt = Time(),
    bool reset = false )
    +
    +inherited
    +
    + +

    Integrates the vector of state variables until t_max.

    +
    Parameters
    + + + + +
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    resetIf true, solver is reseted before integration starts
    +
    +
    + +
    +
    +
    +
    + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_krylov.js b/docs/classcmf_1_1math_1_1_c_vode_krylov.js new file mode 100644 index 00000000..6033a5e2 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_krylov.js @@ -0,0 +1,22 @@ +var classcmf_1_1math_1_1_c_vode_krylov = +[ + [ "_get_jacobian", "classcmf_1_1math_1_1_c_vode_krylov.html#a329c6c34f9bef9aaac6b75d1fea4b619", null ], + [ "copy", "classcmf_1_1math_1_1_c_vode_krylov.html#a0fc71fcd0760ff3c69dfa81725131a08", null ], + [ "get_dt", "classcmf_1_1math_1_1_c_vode_krylov.html#a72c9cc274dd9fe96b60f2ce8ac1db6cb", null ], + [ "get_error", "classcmf_1_1math_1_1_c_vode_krylov.html#aa27c9e2abdc2bad33560d1efec23c554", null ], + [ "get_info", "classcmf_1_1math_1_1_c_vode_krylov.html#adb8030931242fb21735a64323701fb5e", null ], + [ "get_t", "classcmf_1_1math_1_1_c_vode_krylov.html#a7e6d80d4b9053268f7321b1568921c28", null ], + [ "initialize", "classcmf_1_1math_1_1_c_vode_krylov.html#a03aede8ff91764482bb5e9accfae9b4f", null ], + [ "integrate", "classcmf_1_1math_1_1_c_vode_krylov.html#a8ba7a0eb814d5de6e422ea85f3771415", null ], + [ "integrate_until", "classcmf_1_1math_1_1_c_vode_krylov.html#ab3370f291032a47667e76aeb44573875", null ], + [ "reset", "classcmf_1_1math_1_1_c_vode_krylov.html#a7b0e029102ad38f4b814c6523aedb53d", null ], + [ "set_error_msg", "classcmf_1_1math_1_1_c_vode_krylov.html#acb9eebaa656608e0dea051921142db64", null ], + [ "set_t", "classcmf_1_1math_1_1_c_vode_krylov.html#abbcac7828b36acc5978238f8d3248edf", null ], + [ "to_string", "classcmf_1_1math_1_1_c_vode_krylov.html#aac993ecccd3d88aafefb6b8e3caa1dee", null ], + [ "bandwidth", "classcmf_1_1math_1_1_c_vode_krylov.html#a71b420b9a271ff67fe17d3f93d6a81b1", null ], + [ "Epsilon", "classcmf_1_1math_1_1_c_vode_krylov.html#a36eb0b53d4ca676a0015a9eac169de72", null ], + [ "m_dt", "classcmf_1_1math_1_1_c_vode_krylov.html#a2555e45d78dda4746f757a85d788c521", null ], + [ "m_t", "classcmf_1_1math_1_1_c_vode_krylov.html#a8b8450957199e4ab5e30676dac06be64", null ], + [ "options", "classcmf_1_1math_1_1_c_vode_krylov.html#ae7e59001d0dfc8fa9760ec26b8e83661", null ], + [ "preconditioner", "classcmf_1_1math_1_1_c_vode_krylov.html#a21b7579afa70c9b4e4d30454cfc864ae", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_krylov__coll__graph.map b/docs/classcmf_1_1math_1_1_c_vode_krylov__coll__graph.map new file mode 100644 index 00000000..bbc9fc50 --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_krylov__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_krylov__coll__graph.md5 b/docs/classcmf_1_1math_1_1_c_vode_krylov__coll__graph.md5 new file mode 100644 index 00000000..ac2b714e --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_krylov__coll__graph.md5 @@ -0,0 +1 @@ +15eab079a9da9d99c1d430178a1902e8 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_krylov__coll__graph.png b/docs/classcmf_1_1math_1_1_c_vode_krylov__coll__graph.png new file mode 100644 index 00000000..f3deb1a2 Binary files /dev/null and b/docs/classcmf_1_1math_1_1_c_vode_krylov__coll__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_c_vode_krylov__inherit__graph.map b/docs/classcmf_1_1math_1_1_c_vode_krylov__inherit__graph.map new file mode 100644 index 00000000..d21defda --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_krylov__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/classcmf_1_1math_1_1_c_vode_krylov__inherit__graph.md5 b/docs/classcmf_1_1math_1_1_c_vode_krylov__inherit__graph.md5 new file mode 100644 index 00000000..e8fa42aa --- /dev/null +++ b/docs/classcmf_1_1math_1_1_c_vode_krylov__inherit__graph.md5 @@ -0,0 +1 @@ +44311f161b6c11db1b4e788ba95dffb0 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_c_vode_krylov__inherit__graph.png b/docs/classcmf_1_1math_1_1_c_vode_krylov__inherit__graph.png new file mode 100644 index 00000000..e4e44bd2 Binary files /dev/null and b/docs/classcmf_1_1math_1_1_c_vode_krylov__inherit__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_explicit_euler__fixed-members.html b/docs/classcmf_1_1math_1_1_explicit_euler__fixed-members.html index 41f24cab..b1b62e0c 100644 --- a/docs/classcmf_1_1math_1_1_explicit_euler__fixed-members.html +++ b/docs/classcmf_1_1math_1_1_explicit_euler__fixed-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,35 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    ExplicitEuler_fixed Member List
    +
    ExplicitEuler_fixed Member List

    This is the complete list of members for ExplicitEuler_fixed, including all inherited members.

    - - + + - + - + - - - - - - - - - + + + + + + +
    copy() constExplicitEuler_fixedvirtual
    EpsilonIntegratorprotected
    copy() constExplicitEuler_fixedvirtual
    EpsilonIntegratorprotected
    ExplicitEuler_fixed(const cmf::math::state_list &states)ExplicitEuler_fixedexplicit
    ExplicitEuler_fixed()ExplicitEuler_fixed
    ExplicitEuler_fixed()ExplicitEuler_fixed
    ExplicitEuler_fixed(const Integrator &copy)ExplicitEuler_fixed
    get_dt() constIntegrator
    get_dt() constIntegrator
    get_t() constIntegrator
    integratablesIntegrator
    integrate(cmf::math::Time MaxTime, cmf::math::Time TimeStep)ExplicitEuler_fixedvirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    reset()Integratorvirtual
    reset_integratablesIntegrator
    set_t(cmf::math::Time val)Integrator
    integrate(cmf::math::Time MaxTime, cmf::math::Time TimeStep)ExplicitEuler_fixedvirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    reset()Integratorvirtual
    set_t(cmf::math::Time val)Integrator
    to_string() const overrideExplicitEuler_fixedvirtual
    @@ -126,7 +135,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:42 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_explicit_euler__fixed.html b/docs/classcmf_1_1math_1_1_explicit_euler__fixed.html index b5791c21..1d4d2866 100644 --- a/docs/classcmf_1_1math_1_1_explicit_euler__fixed.html +++ b/docs/classcmf_1_1math_1_1_explicit_euler__fixed.html @@ -2,33 +2,37 @@ - - - - -cmf: ExplicitEuler_fixed Class Reference - - - - + + + + + cmf: ExplicitEuler_fixed Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,129 +93,123 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    ExplicitEuler_fixed Class Reference

    An explicit Euler integrator, with a fixed time step. - More...

    -
    + More...

    +
    + Inheritance diagram for ExplicitEuler_fixed:
    -
    +
    + Collaboration diagram for ExplicitEuler_fixed:

    Detailed Description

    An explicit Euler integrator, with a fixed time step.

    - - - - - - + + - + + + + - - - - - + + + + + - + - - + +

    +

    Public Member Functions

     ExplicitEuler_fixed (const cmf::math::state_list &states)
     Constructs a new ExplicitEuler_fixed from a pointer to a vector of state variables. More...
     
    ExplicitEuler_fixed ()
     Constructs a new ExplicitEuler_fixed.
    ExplicitEuler_fixed ()
     Constructs a new ExplicitEuler_fixed.
     
    ExplicitEuler_fixed (const Integrator &copy)
     ExplicitEuler_fixed (const cmf::math::state_list &states)
     Constructs a new ExplicitEuler_fixed from a pointer to a vector of state variables.
     
    ExplicitEuler_fixed (const Integrator &copy)
     copy constructor
     
    -virtual Integratorcopy () const
     Polymorphic copy constructor.
     
    int integrate (cmf::math::Time MaxTime, cmf::math::Time TimeStep)
     Integrates the vector of state variables. More...
    +virtual Integratorcopy () const
     Polymorphic copy constructor.
     
    int integrate (cmf::math::Time MaxTime, cmf::math::Time TimeStep)
     Integrates the vector of state variables.
     
    -std::string to_string () const override
    +std::string to_string () const override
     Desrcibes the iterator.
     
    Integrate
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max. More...
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max.
     
    - - - - - - - -

    -Public Attributes

    -integratable_list integratables
     Public access to integratables.
     
    -bool reset_integratables =false
     If true, the integratables of this solver are reset.
     
    - - +

    +

    Protected Attributes

    Accuracy parameters
    -const real Epsilon =1e-9
    +const real Epsilon =1e-9
     Tolerable error.
     
    - - + + - + - + - + - + - + - -

    -model time

    -cmf::math::Time get_t () const

    model time

    +cmf::math::Time get_t () const
     Returns the current model time.
     
    -void set_t (cmf::math::Time val)
    +void set_t (cmf::math::Time val)
     Sets the current model time.
     
    -cmf::math::Time get_dt () const
    +cmf::math::Time get_dt () const
     Returns the last time step.
     
    -virtual void reset ()
    +virtual void reset ()
     Resets any saved history (for multistep methods)
     
    -cmf::math::Time m_t
    +cmf::math::Time m_t
     Actual time of the solver.
     
    -cmf::math::Time m_dt
    +cmf::math::Time m_dt
     last time step of the solver
     
    -int m_Iterations =0
     

    Constructor & Destructor Documentation

    - -

    ◆ ExplicitEuler_fixed()

    + +

    ◆ ExplicitEuler_fixed()

    @@ -221,8 +220,7 @@

    ExplicitEuler_fixed ( - const cmf::math::state_list &  - states) + const cmf::math::state_list & states) @@ -233,8 +231,8 @@

    -

    Constructs a new ExplicitEuler_fixed from a pointer to a vector of state variables.

    -
    Note
    The Integrator becomes the owner of states
    +

    Constructs a new ExplicitEuler_fixed from a pointer to a vector of state variables.

    +
    Note
    The Integrator becomes the owner of states
    Parameters
    @@ -245,8 +243,8 @@

    Member Function Documentation

    - -

    ◆ integrate()

    + +

    ◆ integrate()

    @@ -257,19 +255,12 @@

    int integrate

    - - + - - - - - - - +
    statesStatevariables of the system
    (cmf::math::Time MaxTime, cmf::math::Time MaxTime,
    cmf::math::Time TimeStep 
    )cmf::math::Time TimeStep )
    @@ -292,8 +283,8 @@

    -

    ◆ integrate_until()

    + +

    ◆ integrate_until()

    @@ -304,25 +295,17 @@

    void integrate_until ( - cmf::math::Time  - t_max, + cmf::math::Time t_max, - cmf::math::Time  - dt = Time(), + cmf::math::Time dt = Time(), - bool  - reset = false  - - - - ) - + bool reset = false ) @@ -335,8 +318,8 @@

    Parameters
    - - + +
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    resetIf true, solver is reseted before integration starts
    @@ -352,7 +335,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:42 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_explicit_euler__fixed.js b/docs/classcmf_1_1math_1_1_explicit_euler__fixed.js index 6f2aae6a..08b45b44 100644 --- a/docs/classcmf_1_1math_1_1_explicit_euler__fixed.js +++ b/docs/classcmf_1_1math_1_1_explicit_euler__fixed.js @@ -3,7 +3,7 @@ var classcmf_1_1math_1_1_explicit_euler__fixed = [ "ExplicitEuler_fixed", "classcmf_1_1math_1_1_explicit_euler__fixed.html#a51666d927c062a25108fb5fd50180532", null ], [ "ExplicitEuler_fixed", "classcmf_1_1math_1_1_explicit_euler__fixed.html#a1c29b37769ed1eb18a54badc9260176b", null ], [ "ExplicitEuler_fixed", "classcmf_1_1math_1_1_explicit_euler__fixed.html#aa39a1e1d881e8732e1f44b696f347e8e", null ], - [ "copy", "classcmf_1_1math_1_1_explicit_euler__fixed.html#a1c5aae0d613e54d4150b04f5930d05e5", null ], + [ "copy", "classcmf_1_1math_1_1_explicit_euler__fixed.html#ae2c6458e91bcb97f5d66e387e8dba034", null ], [ "get_dt", "classcmf_1_1math_1_1_explicit_euler__fixed.html#a72c9cc274dd9fe96b60f2ce8ac1db6cb", null ], [ "get_t", "classcmf_1_1math_1_1_explicit_euler__fixed.html#a7e6d80d4b9053268f7321b1568921c28", null ], [ "integrate", "classcmf_1_1math_1_1_explicit_euler__fixed.html#a7054d3d8526f1c619d93c58b8f95c6fe", null ], @@ -12,8 +12,6 @@ var classcmf_1_1math_1_1_explicit_euler__fixed = [ "set_t", "classcmf_1_1math_1_1_explicit_euler__fixed.html#abbcac7828b36acc5978238f8d3248edf", null ], [ "to_string", "classcmf_1_1math_1_1_explicit_euler__fixed.html#a6ecf47ffd83a4d4f542b276c9aba3b28", null ], [ "Epsilon", "classcmf_1_1math_1_1_explicit_euler__fixed.html#a36eb0b53d4ca676a0015a9eac169de72", null ], - [ "integratables", "classcmf_1_1math_1_1_explicit_euler__fixed.html#a8226a814fb8ffcfdc8c8275adf3f9e63", null ], [ "m_dt", "classcmf_1_1math_1_1_explicit_euler__fixed.html#a2555e45d78dda4746f757a85d788c521", null ], - [ "m_t", "classcmf_1_1math_1_1_explicit_euler__fixed.html#a8b8450957199e4ab5e30676dac06be64", null ], - [ "reset_integratables", "classcmf_1_1math_1_1_explicit_euler__fixed.html#a7ab8efb4a7e6f347412e300bc9e2d3ea", null ] + [ "m_t", "classcmf_1_1math_1_1_explicit_euler__fixed.html#a8b8450957199e4ab5e30676dac06be64", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_explicit_euler__fixed__coll__graph.map b/docs/classcmf_1_1math_1_1_explicit_euler__fixed__coll__graph.map index af586175..6cbaaf78 100644 --- a/docs/classcmf_1_1math_1_1_explicit_euler__fixed__coll__graph.map +++ b/docs/classcmf_1_1math_1_1_explicit_euler__fixed__coll__graph.map @@ -1,5 +1,7 @@ - - - + + + + + diff --git a/docs/classcmf_1_1math_1_1_explicit_euler__fixed__coll__graph.md5 b/docs/classcmf_1_1math_1_1_explicit_euler__fixed__coll__graph.md5 index 0e090c71..115139cb 100644 --- a/docs/classcmf_1_1math_1_1_explicit_euler__fixed__coll__graph.md5 +++ b/docs/classcmf_1_1math_1_1_explicit_euler__fixed__coll__graph.md5 @@ -1 +1 @@ -2c3c2ff07d49d5d12372f2dfd20ca212 \ No newline at end of file +8524ca4d7f3eaabde931ac902dfebb89 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_explicit_euler__fixed__coll__graph.png b/docs/classcmf_1_1math_1_1_explicit_euler__fixed__coll__graph.png index 90e0d4f7..7126e0e7 100644 Binary files a/docs/classcmf_1_1math_1_1_explicit_euler__fixed__coll__graph.png and b/docs/classcmf_1_1math_1_1_explicit_euler__fixed__coll__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_explicit_euler__fixed__inherit__graph.map b/docs/classcmf_1_1math_1_1_explicit_euler__fixed__inherit__graph.map index 14404a8c..33a7b78c 100644 --- a/docs/classcmf_1_1math_1_1_explicit_euler__fixed__inherit__graph.map +++ b/docs/classcmf_1_1math_1_1_explicit_euler__fixed__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1math_1_1_explicit_euler__fixed__inherit__graph.md5 b/docs/classcmf_1_1math_1_1_explicit_euler__fixed__inherit__graph.md5 index 8eaf8f42..122d9b7d 100644 --- a/docs/classcmf_1_1math_1_1_explicit_euler__fixed__inherit__graph.md5 +++ b/docs/classcmf_1_1math_1_1_explicit_euler__fixed__inherit__graph.md5 @@ -1 +1 @@ -afb2efdb728a960ce258aaac1f645f6a \ No newline at end of file +2c4f0f94fefb52f628189ed587847634 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_explicit_euler__fixed__inherit__graph.png b/docs/classcmf_1_1math_1_1_explicit_euler__fixed__inherit__graph.png index e4907452..c99f9d79 100644 Binary files a/docs/classcmf_1_1math_1_1_explicit_euler__fixed__inherit__graph.png and b/docs/classcmf_1_1math_1_1_explicit_euler__fixed__inherit__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_heun_integrator-members.html b/docs/classcmf_1_1math_1_1_heun_integrator-members.html index b1da8aa7..e8cb4d43 100644 --- a/docs/classcmf_1_1math_1_1_heun_integrator-members.html +++ b/docs/classcmf_1_1math_1_1_heun_integrator-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,37 +93,41 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    HeunIntegrator Member List
    +
    HeunIntegrator Member List

    This is the complete list of members for HeunIntegrator, including all inherited members.

    - + - + - + - - - - - - - - - + + + + + + + - +
    alphaHeunIntegrator
    copy() constHeunIntegratorvirtual
    copy() constHeunIntegratorvirtual
    EpsilonIntegratorprotected
    get_dt() constIntegrator
    get_dt() constIntegrator
    get_t() constIntegrator
    HeunIntegrator(const cmf::math::state_list &states, real Alpha=0.5)HeunIntegratorexplicit
    HeunIntegrator(const cmf::math::state_list &states, real Alpha=0.5)HeunIntegratorexplicit
    HeunIntegrator(real Alpha=0.5)HeunIntegrator
    HeunIntegrator(const Integrator &copy)HeunIntegrator
    integratablesIntegrator
    integrate(cmf::math::Time MaxTime, cmf::math::Time TimeStep)HeunIntegratorvirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    reset() overrideHeunIntegratorvirtual
    reset_integratablesIntegrator
    HeunIntegrator(const Integrator &copy)HeunIntegrator
    integrate(cmf::math::Time MaxTime, cmf::math::Time TimeStep)HeunIntegratorvirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    reset() overrideHeunIntegratorvirtual
    set_t(cmf::math::Time val)Integrator
    to_string() const overrideHeunIntegratorvirtual
    to_string() const overrideHeunIntegratorvirtual

    -Generated: Fri Apr 26 2019 12:43:42 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_heun_integrator.html b/docs/classcmf_1_1math_1_1_heun_integrator.html index ee26e250..bb6e3c2e 100644 --- a/docs/classcmf_1_1math_1_1_heun_integrator.html +++ b/docs/classcmf_1_1math_1_1_heun_integrator.html @@ -2,33 +2,37 @@ - - - - -cmf: HeunIntegrator Class Reference - - - - + + + + + cmf: HeunIntegrator Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    HeunIntegrator Class Reference
    +
    HeunIntegrator Class Reference

    A simple predictor - corrector solver. - More...

    -
    + More...

    +
    + Inheritance diagram for HeunIntegrator:
    -
    +
    + Collaboration diagram for HeunIntegrator:

    Detailed Description

    A simple predictor - corrector solver.

    Not tested and very experimentally \( y^{n+1} = y^n + \alpha f(y^n + f(y^n)dt)dt + (1-\alpha)f(y^n)dt \)

    - - - + + - - - - + - - - - - + + + + + + + + - + - + - - + +

    +

    Public Member Functions

     HeunIntegrator (const cmf::math::state_list &states, real Alpha=0.5)
     Constructs a new PredictCorrectSimple from a pointer to a vector of state variables. More...
     HeunIntegrator (const cmf::math::state_list &states, real Alpha=0.5)
     Constructs a new PredictCorrectSimple from a pointer to a vector of state variables.
     
     HeunIntegrator (real Alpha=0.5)
     Constructs a new Heun integrator. More...
     
    HeunIntegrator (const Integrator &copy)
    HeunIntegrator (const Integrator &copy)
     copy constructor
     
    -virtual Integratorcopy () const
     Polymorphic copy constructor.
     
    int integrate (cmf::math::Time MaxTime, cmf::math::Time TimeStep)
     Integrates the vector of state variables. More...
     HeunIntegrator (real Alpha=0.5)
     Constructs a new Heun integrator.
     
    +virtual Integratorcopy () const
     Polymorphic copy constructor.
     
    int integrate (cmf::math::Time MaxTime, cmf::math::Time TimeStep)
     Integrates the vector of state variables.
     
    -void reset () override
    +void reset () override
     Resets any saved history (for multistep methods)
     
    -std::string to_string () const override
    +std::string to_string () const override
     Desrcibes the iterator.
     
    Integrate
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max. More...
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max.
     
    - - + - - - - - -

    +

    Public Attributes

    -real alpha
    +real alpha
     Alpha Weight factor \(\alpha\) to weight \(f(y^n)\) and \(f(y^{n+1})\).
     
    -integratable_list integratables
     Public access to integratables.
     
    -bool reset_integratables =false
     If true, the integratables of this solver are reset.
     
    - - +

    +

    Protected Attributes

    Accuracy parameters
    -const real Epsilon =1e-9
    +const real Epsilon =1e-9
     Tolerable error.
     
    - - + + - + - + - + - + - -

    -model time

    -cmf::math::Time get_t () const

    model time

    +cmf::math::Time get_t () const
     Returns the current model time.
     
    -void set_t (cmf::math::Time val)
    +void set_t (cmf::math::Time val)
     Sets the current model time.
     
    -cmf::math::Time get_dt () const
    +cmf::math::Time get_dt () const
     Returns the last time step.
     
    -cmf::math::Time m_t
    +cmf::math::Time m_t
     Actual time of the solver.
     
    -cmf::math::Time m_dt
    +cmf::math::Time m_dt
     last time step of the solver
     
    -int m_Iterations =0
     

    Constructor & Destructor Documentation

    - -

    ◆ HeunIntegrator() [1/2]

    + +

    ◆ HeunIntegrator() [1/2]

    @@ -225,19 +228,12 @@

    HeunIntegrator ( - const cmf::math::state_list &  - states, + const cmf::math::state_list & states, - real  - Alpha = 0.5  - - - - ) - + real Alpha = 0.5 ) @@ -248,7 +244,7 @@

    Constructs a new PredictCorrectSimple from a pointer to a vector of state variables.

    -
    Note
    The Integrator becomes the owner of states
    +
    Note
    The Integrator becomes the owner of states
    Parameters
    @@ -259,8 +255,8 @@

    -

    ◆ HeunIntegrator() [2/2]

    + +

    ◆ HeunIntegrator() [2/2]

    @@ -268,8 +264,7 @@

    HeunIntegrator

    - - +
    statesStatevariable owner of the system
    (real Alpha = 0.5)real Alpha = 0.5)
    @@ -286,8 +281,8 @@

    Member Function Documentation

    - -

    ◆ integrate()

    + +

    ◆ integrate()

    @@ -298,19 +293,12 @@

    int integrate ( - cmf::math::Time  - MaxTime, + cmf::math::Time MaxTime, - cmf::math::Time  - TimeStep  - - - - ) - + cmf::math::Time TimeStep ) @@ -333,8 +321,8 @@

    -

    ◆ integrate_until()

    + +

    ◆ integrate_until()

    @@ -345,25 +333,17 @@

    void integrate_until ( - cmf::math::Time  - t_max, + cmf::math::Time t_max, - cmf::math::Time  - dt = Time(), + cmf::math::Time dt = Time(), - bool  - reset = false  - - - - ) - + bool reset = false ) @@ -376,8 +356,8 @@

    Parameters
    - - + +
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    resetIf true, solver is reseted before integration starts
    @@ -393,7 +373,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:42 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_heun_integrator.js b/docs/classcmf_1_1math_1_1_heun_integrator.js index fceaa7fd..3d155055 100644 --- a/docs/classcmf_1_1math_1_1_heun_integrator.js +++ b/docs/classcmf_1_1math_1_1_heun_integrator.js @@ -3,7 +3,7 @@ var classcmf_1_1math_1_1_heun_integrator = [ "HeunIntegrator", "classcmf_1_1math_1_1_heun_integrator.html#a251e7c15a3bef552fcf6daabfe7b4065", null ], [ "HeunIntegrator", "classcmf_1_1math_1_1_heun_integrator.html#a7377e79aad1c7d3ad51f04c67b3b55bd", null ], [ "HeunIntegrator", "classcmf_1_1math_1_1_heun_integrator.html#a9cab032a6f623742ee9c5b5d6e92ec38", null ], - [ "copy", "classcmf_1_1math_1_1_heun_integrator.html#a1c5aae0d613e54d4150b04f5930d05e5", null ], + [ "copy", "classcmf_1_1math_1_1_heun_integrator.html#ae2c6458e91bcb97f5d66e387e8dba034", null ], [ "get_dt", "classcmf_1_1math_1_1_heun_integrator.html#a72c9cc274dd9fe96b60f2ce8ac1db6cb", null ], [ "get_t", "classcmf_1_1math_1_1_heun_integrator.html#a7e6d80d4b9053268f7321b1568921c28", null ], [ "integrate", "classcmf_1_1math_1_1_heun_integrator.html#a7054d3d8526f1c619d93c58b8f95c6fe", null ], @@ -13,8 +13,6 @@ var classcmf_1_1math_1_1_heun_integrator = [ "to_string", "classcmf_1_1math_1_1_heun_integrator.html#a6ecf47ffd83a4d4f542b276c9aba3b28", null ], [ "alpha", "classcmf_1_1math_1_1_heun_integrator.html#a31930e3dee5d8184c0b9825800594a0a", null ], [ "Epsilon", "classcmf_1_1math_1_1_heun_integrator.html#a36eb0b53d4ca676a0015a9eac169de72", null ], - [ "integratables", "classcmf_1_1math_1_1_heun_integrator.html#a8226a814fb8ffcfdc8c8275adf3f9e63", null ], [ "m_dt", "classcmf_1_1math_1_1_heun_integrator.html#a2555e45d78dda4746f757a85d788c521", null ], - [ "m_t", "classcmf_1_1math_1_1_heun_integrator.html#a8b8450957199e4ab5e30676dac06be64", null ], - [ "reset_integratables", "classcmf_1_1math_1_1_heun_integrator.html#a7ab8efb4a7e6f347412e300bc9e2d3ea", null ] + [ "m_t", "classcmf_1_1math_1_1_heun_integrator.html#a8b8450957199e4ab5e30676dac06be64", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_heun_integrator__coll__graph.map b/docs/classcmf_1_1math_1_1_heun_integrator__coll__graph.map index d185a362..799f9b39 100644 --- a/docs/classcmf_1_1math_1_1_heun_integrator__coll__graph.map +++ b/docs/classcmf_1_1math_1_1_heun_integrator__coll__graph.map @@ -1,5 +1,7 @@ - - - + + + + + diff --git a/docs/classcmf_1_1math_1_1_heun_integrator__coll__graph.md5 b/docs/classcmf_1_1math_1_1_heun_integrator__coll__graph.md5 index c363f297..acae8580 100644 --- a/docs/classcmf_1_1math_1_1_heun_integrator__coll__graph.md5 +++ b/docs/classcmf_1_1math_1_1_heun_integrator__coll__graph.md5 @@ -1 +1 @@ -3142419b2fd91cdd797a7b272c476c74 \ No newline at end of file +147a1a4262e3655c5a6024da63e62212 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_heun_integrator__coll__graph.png b/docs/classcmf_1_1math_1_1_heun_integrator__coll__graph.png index 53a40e08..714dd624 100644 Binary files a/docs/classcmf_1_1math_1_1_heun_integrator__coll__graph.png and b/docs/classcmf_1_1math_1_1_heun_integrator__coll__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_heun_integrator__inherit__graph.map b/docs/classcmf_1_1math_1_1_heun_integrator__inherit__graph.map index 827a7b7a..e31faad0 100644 --- a/docs/classcmf_1_1math_1_1_heun_integrator__inherit__graph.map +++ b/docs/classcmf_1_1math_1_1_heun_integrator__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1math_1_1_heun_integrator__inherit__graph.md5 b/docs/classcmf_1_1math_1_1_heun_integrator__inherit__graph.md5 index 2df864be..715e138c 100644 --- a/docs/classcmf_1_1math_1_1_heun_integrator__inherit__graph.md5 +++ b/docs/classcmf_1_1math_1_1_heun_integrator__inherit__graph.md5 @@ -1 +1 @@ -5e1c5d016a4ed463924c93d2ae36aff6 \ No newline at end of file +3b4f40dadd1fca3e0990a89aea4c3ff9 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_heun_integrator__inherit__graph.png b/docs/classcmf_1_1math_1_1_heun_integrator__inherit__graph.png index f44b18d8..e2b68ebd 100644 Binary files a/docs/classcmf_1_1math_1_1_heun_integrator__inherit__graph.png and b/docs/classcmf_1_1math_1_1_heun_integrator__inherit__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_implicit_euler-members.html b/docs/classcmf_1_1math_1_1_implicit_euler-members.html index 75f379d2..22bbca9b 100644 --- a/docs/classcmf_1_1math_1_1_implicit_euler-members.html +++ b/docs/classcmf_1_1math_1_1_implicit_euler-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,37 +93,41 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    ImplicitEuler Member List
    +
    ImplicitEuler Member List

    This is the complete list of members for ImplicitEuler, including all inherited members.

    - - + + - + - + - - - - - - - - - + + + + + + + - +
    copy() constImplicitEulervirtual
    dt_minImplicitEuler
    copy() constImplicitEulervirtual
    dt_minImplicitEuler
    EpsilonIntegratorprotected
    get_dt() constIntegrator
    get_dt() constIntegrator
    get_t() constIntegrator
    ImplicitEuler(const cmf::math::state_list &states, real epsilon=1e-9, cmf::math::Time tStepMin=cmf::math::timespan(10))ImplicitEuler
    ImplicitEuler(const cmf::math::state_list &states, real epsilon=1e-9, cmf::math::Time tStepMin=cmf::math::timespan(10))ImplicitEuler
    ImplicitEuler(real epsilon=1e-9, cmf::math::Time tStepMin=cmf::math::timespan(10))ImplicitEuler
    ImplicitEuler(const Integrator &)ImplicitEuler
    integratablesIntegrator
    integrate(cmf::math::Time MaxTime, cmf::math::Time TimeStep)ImplicitEulervirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    reset() overrideImplicitEulervirtual
    reset_integratablesIntegrator
    ImplicitEuler(const Integrator &)ImplicitEuler
    integrate(cmf::math::Time MaxTime, cmf::math::Time TimeStep)ImplicitEulervirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    reset() overrideImplicitEulervirtual
    set_t(cmf::math::Time val)Integrator
    to_string() const overrideImplicitEulervirtual
    to_string() const overrideImplicitEulervirtual

    -Generated: Fri Apr 26 2019 12:43:42 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_implicit_euler.html b/docs/classcmf_1_1math_1_1_implicit_euler.html index 829a22d4..0aa8f129 100644 --- a/docs/classcmf_1_1math_1_1_implicit_euler.html +++ b/docs/classcmf_1_1math_1_1_implicit_euler.html @@ -2,33 +2,37 @@ - - - - -cmf: ImplicitEuler Class Reference - - - - + + + + + cmf: ImplicitEuler Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,132 +93,128 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    ImplicitEuler Class Reference

    An implicit (backward) Euler integrator using fixpoint iteration. - More...

    -
    + More...

    +
    + Inheritance diagram for ImplicitEuler:
    -
    +
    + Collaboration diagram for ImplicitEuler:

    Detailed Description

    An implicit (backward) Euler integrator using fixpoint iteration.

    - - - - - - - - - - - - - - - - - - - - - - - - + +

    +

    Public Member Functions

     ImplicitEuler (const cmf::math::state_list &states, real epsilon=1e-9, cmf::math::Time tStepMin=cmf::math::timespan(10))
     Constructs a new FixPointImplicitEuler from a pointer to a vector of state variables. More...
     
     ImplicitEuler (real epsilon=1e-9, cmf::math::Time tStepMin=cmf::math::timespan(10))
     Constructs a new FixPointImplicitEuler. More...
     
    ImplicitEuler (const Integrator &)
     copy constructor
     
    -virtual Integratorcopy () const
     Polymorphic copy constructor.
     
    int integrate (cmf::math::Time MaxTime, cmf::math::Time TimeStep)
     Integrates the vector of state variables. More...
     
    -void reset () override
     Resets any saved history (for multistep methods)
     
    -std::string to_string () const override
     Desrcibes the iterator.
     
    Integrate
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max. More...
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max.
     
    - - - - - - - - - - -

    -Public Attributes

    -Time dt_min
     The shortest allowed timestep.
     
    -integratable_list integratables
     Public access to integratables.
     
    -bool reset_integratables =false
     If true, the integratables of this solver are reset.
     
    - - +

    +

    Protected Attributes

    Accuracy parameters
    -const real Epsilon =1e-9
    +const real Epsilon =1e-9
     Tolerable error.
     
    - - + + + + + + + + + + + + + + + + + + + + + + + + + +

    -model time

    -cmf::math::Time get_t () const

    Internal data storages

    +Time dt_min
     The shortest allowed timestep.
     
     ImplicitEuler (const cmf::math::state_list &states, real epsilon=1e-9, cmf::math::Time tStepMin=cmf::math::timespan(10))
     Constructs a new FixPointImplicitEuler from a pointer to a vector of state variables.
     
     ImplicitEuler (real epsilon=1e-9, cmf::math::Time tStepMin=cmf::math::timespan(10))
     Constructs a new FixPointImplicitEuler.
     
    ImplicitEuler (const Integrator &)
     copy constructor
     
    +virtual Integratorcopy () const
     Polymorphic copy constructor.
     
    +std::string to_string () const override
     Desrcibes the iterator.
     
    int integrate (cmf::math::Time MaxTime, cmf::math::Time TimeStep)
     Integrates the vector of state variables.
     
    +void reset () override
     Resets any saved history (for multistep methods)
     
    + + - + - + - + - + - -

    model time

    +cmf::math::Time get_t () const
     Returns the current model time.
     
    -void set_t (cmf::math::Time val)
    +void set_t (cmf::math::Time val)
     Sets the current model time.
     
    -cmf::math::Time get_dt () const
    +cmf::math::Time get_dt () const
     Returns the last time step.
     
    -cmf::math::Time m_t
    +cmf::math::Time m_t
     Actual time of the solver.
     
    -cmf::math::Time m_dt
    +cmf::math::Time m_dt
     last time step of the solver
     
    -int m_Iterations =0
     

    Constructor & Destructor Documentation

    - -

    ◆ ImplicitEuler() [1/2]

    + +

    ◆ ImplicitEuler() [1/2]

    @@ -221,31 +222,23 @@

    ImplicitEuler ( - const cmf::math::state_list &  - states, + const cmf::math::state_list & states, - real  - epsilon = 1e-9, + real epsilon = 1e-9, - cmf::math::Time  - tStepMin = cmf::math::timespan(10)  - - - - ) - + cmf::math::Time tStepMin = cmf::math::timespan(10) )

    Constructs a new FixPointImplicitEuler from a pointer to a vector of state variables.

    -
    Note
    The Integrator becomes the owner of states
    +
    Note
    The Integrator becomes the owner of states
    Parameters
    @@ -257,8 +250,8 @@

    -

    ◆ ImplicitEuler() [2/2]

    + +

    ◆ ImplicitEuler() [2/2]

    @@ -266,19 +259,12 @@

    ImplicitEuler

    - - + - - - - - - - +
    statesStatevariables of the system
    (real epsilon = 1e-9, real epsilon = 1e-9,
    cmf::math::Time tStepMin = cmf::math::timespan(10) 
    )cmf::math::Time tStepMin = cmf::math::timespan(10) )
    @@ -295,8 +281,8 @@

    Member Function Documentation

    - -

    ◆ integrate()

    + +

    ◆ integrate()

    @@ -307,19 +293,12 @@

    int integrate ( - cmf::math::Time  - MaxTime, + cmf::math::Time MaxTime, - cmf::math::Time  - TimeStep  - - - - ) - + cmf::math::Time TimeStep ) @@ -342,8 +321,8 @@

    -

    ◆ integrate_until()

    + +

    ◆ integrate_until()

    @@ -354,25 +333,17 @@

    void integrate_until ( - cmf::math::Time  - t_max, + cmf::math::Time t_max, - cmf::math::Time  - dt = Time(), + cmf::math::Time dt = Time(), - bool  - reset = false  - - - - ) - + bool reset = false ) @@ -385,8 +356,8 @@

    Parameters
    - - + +
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    resetIf true, solver is reseted before integration starts
    @@ -402,7 +373,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:42 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_implicit_euler.js b/docs/classcmf_1_1math_1_1_implicit_euler.js index 86f0adba..ca134775 100644 --- a/docs/classcmf_1_1math_1_1_implicit_euler.js +++ b/docs/classcmf_1_1math_1_1_implicit_euler.js @@ -3,7 +3,7 @@ var classcmf_1_1math_1_1_implicit_euler = [ "ImplicitEuler", "classcmf_1_1math_1_1_implicit_euler.html#a88889f61ac91af114c2d1e3123c0438a", null ], [ "ImplicitEuler", "classcmf_1_1math_1_1_implicit_euler.html#a840de5a9a9c2d003fcc51f301f597004", null ], [ "ImplicitEuler", "classcmf_1_1math_1_1_implicit_euler.html#aad12503f932f3bd168f3dde15b0c444d", null ], - [ "copy", "classcmf_1_1math_1_1_implicit_euler.html#a1c5aae0d613e54d4150b04f5930d05e5", null ], + [ "copy", "classcmf_1_1math_1_1_implicit_euler.html#ae2c6458e91bcb97f5d66e387e8dba034", null ], [ "get_dt", "classcmf_1_1math_1_1_implicit_euler.html#a72c9cc274dd9fe96b60f2ce8ac1db6cb", null ], [ "get_t", "classcmf_1_1math_1_1_implicit_euler.html#a7e6d80d4b9053268f7321b1568921c28", null ], [ "integrate", "classcmf_1_1math_1_1_implicit_euler.html#a7054d3d8526f1c619d93c58b8f95c6fe", null ], @@ -13,8 +13,6 @@ var classcmf_1_1math_1_1_implicit_euler = [ "to_string", "classcmf_1_1math_1_1_implicit_euler.html#a6ecf47ffd83a4d4f542b276c9aba3b28", null ], [ "dt_min", "classcmf_1_1math_1_1_implicit_euler.html#abf762d416b930154f35ccc0d2a00150a", null ], [ "Epsilon", "classcmf_1_1math_1_1_implicit_euler.html#a36eb0b53d4ca676a0015a9eac169de72", null ], - [ "integratables", "classcmf_1_1math_1_1_implicit_euler.html#a8226a814fb8ffcfdc8c8275adf3f9e63", null ], [ "m_dt", "classcmf_1_1math_1_1_implicit_euler.html#a2555e45d78dda4746f757a85d788c521", null ], - [ "m_t", "classcmf_1_1math_1_1_implicit_euler.html#a8b8450957199e4ab5e30676dac06be64", null ], - [ "reset_integratables", "classcmf_1_1math_1_1_implicit_euler.html#a7ab8efb4a7e6f347412e300bc9e2d3ea", null ] + [ "m_t", "classcmf_1_1math_1_1_implicit_euler.html#a8b8450957199e4ab5e30676dac06be64", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_implicit_euler__coll__graph.map b/docs/classcmf_1_1math_1_1_implicit_euler__coll__graph.map index 4e1940d6..fd3c214a 100644 --- a/docs/classcmf_1_1math_1_1_implicit_euler__coll__graph.map +++ b/docs/classcmf_1_1math_1_1_implicit_euler__coll__graph.map @@ -1,5 +1,8 @@ - - - + + + + + + diff --git a/docs/classcmf_1_1math_1_1_implicit_euler__coll__graph.md5 b/docs/classcmf_1_1math_1_1_implicit_euler__coll__graph.md5 index f09e6a74..16269ab9 100644 --- a/docs/classcmf_1_1math_1_1_implicit_euler__coll__graph.md5 +++ b/docs/classcmf_1_1math_1_1_implicit_euler__coll__graph.md5 @@ -1 +1 @@ -701c016b41886ecedfa4972a411395b7 \ No newline at end of file +d3f8e66fa59eab414b3035340fbb84a9 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_implicit_euler__coll__graph.png b/docs/classcmf_1_1math_1_1_implicit_euler__coll__graph.png index 3f35ee8f..317210be 100644 Binary files a/docs/classcmf_1_1math_1_1_implicit_euler__coll__graph.png and b/docs/classcmf_1_1math_1_1_implicit_euler__coll__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_implicit_euler__inherit__graph.map b/docs/classcmf_1_1math_1_1_implicit_euler__inherit__graph.map index 610eced5..af40b499 100644 --- a/docs/classcmf_1_1math_1_1_implicit_euler__inherit__graph.map +++ b/docs/classcmf_1_1math_1_1_implicit_euler__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1math_1_1_implicit_euler__inherit__graph.md5 b/docs/classcmf_1_1math_1_1_implicit_euler__inherit__graph.md5 index e630338e..5426b284 100644 --- a/docs/classcmf_1_1math_1_1_implicit_euler__inherit__graph.md5 +++ b/docs/classcmf_1_1math_1_1_implicit_euler__inherit__graph.md5 @@ -1 +1 @@ -3292b053fcbe4b8740f936ff3520463e \ No newline at end of file +08f29a58d46aa3232b12bf54367ca5ed \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_implicit_euler__inherit__graph.png b/docs/classcmf_1_1math_1_1_implicit_euler__inherit__graph.png index e7e23aa0..4478b03f 100644 Binary files a/docs/classcmf_1_1math_1_1_implicit_euler__inherit__graph.png and b/docs/classcmf_1_1math_1_1_implicit_euler__inherit__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_integrator-members.html b/docs/classcmf_1_1math_1_1_integrator-members.html index 223df034..d7baf63b 100644 --- a/docs/classcmf_1_1math_1_1_integrator-members.html +++ b/docs/classcmf_1_1math_1_1_integrator-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Integrator Member List
    +
    Integrator Member List

    This is the complete list of members for Integrator, including all inherited members.

    - - + + - - - - - - - - - + + + + + + + - +
    copy() const =0Integratorpure virtual
    EpsilonIntegratorprotected
    copy() const =0Integratorpure virtual
    EpsilonIntegratorprotected
    get_dt() constIntegrator
    get_t() constIntegrator
    integratablesIntegrator
    integrate(cmf::math::Time t_max, cmf::math::Time dt)=0Integratorpure virtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    reset()Integratorvirtual
    reset_integratablesIntegrator
    get_t() constIntegrator
    integrate(cmf::math::Time t_max, cmf::math::Time dt)=0Integratorpure virtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    reset()Integratorvirtual
    set_t(cmf::math::Time val)Integrator
    to_string() const =0Integratorpure virtual
    to_string() const =0Integratorpure virtual

    -Generated: Fri Apr 26 2019 12:43:42 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_integrator.html b/docs/classcmf_1_1math_1_1_integrator.html index 95a9c31e..0c0c34de 100644 --- a/docs/classcmf_1_1math_1_1_integrator.html +++ b/docs/classcmf_1_1math_1_1_integrator.html @@ -2,33 +2,37 @@ - - - - -cmf: Integrator Class Reference - - - - + + + + + cmf: Integrator Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,54 +93,74 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    Integrator Class Referenceabstract

    Base class for any kind of integrator. - More...

    -
    + More...

    +
    + Inheritance diagram for Integrator:
    -
    +
    + Collaboration diagram for Integrator:

    Detailed Description

    @@ -145,86 +170,65 @@
  • copy Please provide a custom copy constructor
  • - - + - - + + - - - - - - - + + + - - + + - - + +

    +

    Public Member Functions

    -virtual std::string to_string () const =0
    +virtual std::string to_string () const =0
     Desrcibes the iterator.
     
    Constructors and Destructors
     Integrator (real epsilon=1e-9)
     Constructs a new Integrator with a new own state vector. More...
     Integrator (real epsilon=1e-9)
     Constructs a new Integrator with a new own state vector.
     
    Integrator (const state_list &states, real epsilon=1e-9)
     
    Integrator (const cmf::math::Integrator &other)
     
    -virtual Integratorcopy () const =0
     Polymorphic copy constructor.
     
    +virtual Integratorcopy () const =0
     Polymorphic copy constructor.
     
    Integrate
    virtual int integrate (cmf::math::Time t_max, cmf::math::Time dt)=0
     Integrates the vector of state variables. More...
    virtual int integrate (cmf::math::Time t_max, cmf::math::Time dt)=0
     Integrates the vector of state variables.
     
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max. More...
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max.
     
    - - - - - - - -

    -Public Attributes

    -integratable_list integratables
     Public access to integratables.
     
    -bool reset_integratables =false
     If true, the integratables of this solver are reset.
     
    - - +

    +

    Protected Attributes

    Accuracy parameters
    -const real Epsilon =1e-9
    +const real Epsilon =1e-9
     Tolerable error.
     
    - - + + - + - - - + - + - + - +

    -model time

    -cmf::math::Time m_t

    model time

    +cmf::math::Time m_t
     Actual time of the solver.
     
    -cmf::math::Time m_dt
    +cmf::math::Time m_dt
     last time step of the solver
     
    -int m_Iterations =0
     
    -cmf::math::Time get_t () const
    +cmf::math::Time get_t () const
     Returns the current model time.
     
    -void set_t (cmf::math::Time val)
    +void set_t (cmf::math::Time val)
     Sets the current model time.
     
    -cmf::math::Time get_dt () const
    +cmf::math::Time get_dt () const
     Returns the last time step.
     
    -virtual void reset ()
    +virtual void reset ()
     Resets any saved history (for multistep methods)
     

    Constructor & Destructor Documentation

    - -

    ◆ Integrator()

    + +

    ◆ Integrator()

    @@ -235,8 +239,7 @@

    Integrator ( - real  - epsilon = 1e-9) + real epsilon = 1e-9) @@ -247,7 +250,7 @@

    -

    Constructs a new Integrator with a new own state vector.

    +

    Constructs a new Integrator with a new own state vector.

    Parameters
    @@ -258,8 +261,8 @@

    Member Function Documentation

    - -

    ◆ integrate()

    + +

    ◆ integrate()

    @@ -270,19 +273,12 @@

    virtual int integrate

    - - + - - - - - - - +
    epsilonrelative error tolerance per time step (default=1e-9)
    (cmf::math::Time t_max, cmf::math::Time t_max,
    cmf::math::Time dt 
    )cmf::math::Time dt )
    @@ -301,12 +297,12 @@

    BDF2, CVodeBase, HeunIntegrator, RKFIntegrator, ImplicitEuler, ExplicitEuler_fixed, SoluteWaterIntegrator, and MultiIntegrator.

    +

    Implemented in ExplicitEuler_fixed, HeunIntegrator, ImplicitEuler, RKFIntegrator, BDF2, CVodeBase, MultiIntegrator, and SoluteWaterIntegrator.

    - -

    ◆ integrate_until()

    + +

    ◆ integrate_until()

    @@ -314,25 +310,17 @@

    void integrate_until ( - cmf::math::Time  - t_max, + cmf::math::Time t_max, - cmf::math::Time  - dt = Time(), + cmf::math::Time dt = Time(), - bool  - reset = false  - - - - ) - + bool reset = false )

    @@ -340,8 +328,8 @@

    Parameters
    - - + +
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    resetIf true, solver is reseted before integration starts
    @@ -357,7 +345,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:42 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_integrator.js b/docs/classcmf_1_1math_1_1_integrator.js index c3bdd5d3..9d0e9128 100644 --- a/docs/classcmf_1_1math_1_1_integrator.js +++ b/docs/classcmf_1_1math_1_1_integrator.js @@ -1,7 +1,7 @@ var classcmf_1_1math_1_1_integrator = [ [ "Integrator", "classcmf_1_1math_1_1_integrator.html#a251bfda857b86b560cfc0246bc92f9d6", null ], - [ "copy", "classcmf_1_1math_1_1_integrator.html#a0c00d687726d5fddf65caea140ca203b", null ], + [ "copy", "classcmf_1_1math_1_1_integrator.html#a149a9a3edd2678424f79719e633b22ba", null ], [ "get_dt", "classcmf_1_1math_1_1_integrator.html#a72c9cc274dd9fe96b60f2ce8ac1db6cb", null ], [ "get_t", "classcmf_1_1math_1_1_integrator.html#a7e6d80d4b9053268f7321b1568921c28", null ], [ "integrate", "classcmf_1_1math_1_1_integrator.html#ab7082dc91769b656e3c36c8889d3cf7e", null ], @@ -10,8 +10,6 @@ var classcmf_1_1math_1_1_integrator = [ "set_t", "classcmf_1_1math_1_1_integrator.html#abbcac7828b36acc5978238f8d3248edf", null ], [ "to_string", "classcmf_1_1math_1_1_integrator.html#a630c29d66f94446c4292172285d61492", null ], [ "Epsilon", "classcmf_1_1math_1_1_integrator.html#a36eb0b53d4ca676a0015a9eac169de72", null ], - [ "integratables", "classcmf_1_1math_1_1_integrator.html#a8226a814fb8ffcfdc8c8275adf3f9e63", null ], [ "m_dt", "classcmf_1_1math_1_1_integrator.html#a2555e45d78dda4746f757a85d788c521", null ], - [ "m_t", "classcmf_1_1math_1_1_integrator.html#a8b8450957199e4ab5e30676dac06be64", null ], - [ "reset_integratables", "classcmf_1_1math_1_1_integrator.html#a7ab8efb4a7e6f347412e300bc9e2d3ea", null ] + [ "m_t", "classcmf_1_1math_1_1_integrator.html#a8b8450957199e4ab5e30676dac06be64", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_integrator__coll__graph.map b/docs/classcmf_1_1math_1_1_integrator__coll__graph.map index e9d2403d..4ab99db4 100644 --- a/docs/classcmf_1_1math_1_1_integrator__coll__graph.map +++ b/docs/classcmf_1_1math_1_1_integrator__coll__graph.map @@ -1,4 +1,5 @@ - - + + + diff --git a/docs/classcmf_1_1math_1_1_integrator__coll__graph.md5 b/docs/classcmf_1_1math_1_1_integrator__coll__graph.md5 index 22607f5f..b9606f11 100644 --- a/docs/classcmf_1_1math_1_1_integrator__coll__graph.md5 +++ b/docs/classcmf_1_1math_1_1_integrator__coll__graph.md5 @@ -1 +1 @@ -96fbce78e8c48a7e32259b29d662d29d \ No newline at end of file +2d8815042e6f8312d7ff9804a9c77b31 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_integrator__coll__graph.png b/docs/classcmf_1_1math_1_1_integrator__coll__graph.png index f5a25a9c..715fb791 100644 Binary files a/docs/classcmf_1_1math_1_1_integrator__coll__graph.png and b/docs/classcmf_1_1math_1_1_integrator__coll__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_integrator__inherit__graph.map b/docs/classcmf_1_1math_1_1_integrator__inherit__graph.map index d42e8929..d9a5b3fd 100644 --- a/docs/classcmf_1_1math_1_1_integrator__inherit__graph.map +++ b/docs/classcmf_1_1math_1_1_integrator__inherit__graph.map @@ -1,15 +1,29 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/classcmf_1_1math_1_1_integrator__inherit__graph.md5 b/docs/classcmf_1_1math_1_1_integrator__inherit__graph.md5 index 09119b1f..95f02b52 100644 --- a/docs/classcmf_1_1math_1_1_integrator__inherit__graph.md5 +++ b/docs/classcmf_1_1math_1_1_integrator__inherit__graph.md5 @@ -1 +1 @@ -4417b065efec72228e058369e9ab8cda \ No newline at end of file +25c69af1750d766e11fc28e17a6e5444 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_integrator__inherit__graph.png b/docs/classcmf_1_1math_1_1_integrator__inherit__graph.png index 567df884..ac8af4fe 100644 Binary files a/docs/classcmf_1_1math_1_1_integrator__inherit__graph.png and b/docs/classcmf_1_1math_1_1_integrator__inherit__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_multi_integrator-members.html b/docs/classcmf_1_1math_1_1_multi_integrator-members.html index ca532e07..fecc6547 100644 --- a/docs/classcmf_1_1math_1_1_multi_integrator-members.html +++ b/docs/classcmf_1_1math_1_1_multi_integrator-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    MultiIntegrator Member List
    +
    MultiIntegrator Member List

    This is the complete list of members for MultiIntegrator, including all inherited members.

    - - + + - - - - - - - - - - - + + + + + + + + +
    copy() constMultiIntegratorvirtual
    EpsilonIntegratorprotected
    copy() constMultiIntegratorvirtual
    EpsilonIntegratorprotected
    get_dt() constIntegrator
    get_t() constIntegrator
    integratablesIntegrator
    integrate(cmf::math::Time t_max, cmf::math::Time dt)MultiIntegratorvirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    MultiIntegrator(const cmf::math::Integrator &template_integrator, int count)MultiIntegrator
    reset()MultiIntegratorvirtual
    reset_integratablesIntegrator
    set_t(cmf::math::Time val)Integrator
    get_t() constIntegrator
    integrate(cmf::math::Time t_max, cmf::math::Time dt)MultiIntegratorvirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    MultiIntegrator(const cmf::math::Integrator &template_integrator, int count)MultiIntegrator
    reset()MultiIntegratorvirtual
    set_t(cmf::math::Time val)Integrator
    to_string() const overrideMultiIntegratorvirtual
    @@ -124,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:42 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_multi_integrator.html b/docs/classcmf_1_1math_1_1_multi_integrator.html index b5bfc64f..2595e986 100644 --- a/docs/classcmf_1_1math_1_1_multi_integrator.html +++ b/docs/classcmf_1_1math_1_1_multi_integrator.html @@ -2,33 +2,37 @@ - - - - -cmf: MultiIntegrator Class Reference - - - - + + + + + cmf: MultiIntegrator Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,121 +93,115 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    MultiIntegrator Class Reference

    The MultiIntegrator is a wrapper for a bunch integrators. The states of the integrators should not have direct connections over integrator boundaries. - More...

    -
    + More...

    +
    + Inheritance diagram for MultiIntegrator:
    -
    +
    + Collaboration diagram for MultiIntegrator:

    Detailed Description

    The MultiIntegrator is a wrapper for a bunch integrators. The states of the integrators should not have direct connections over integrator boundaries.

    - - - + + - - - - - + + + + + - + - + - - + +

    +

    Public Member Functions

     MultiIntegrator (const cmf::math::Integrator &template_integrator, int count)
     Creates a new MultiIntegrator. More...
     MultiIntegrator (const cmf::math::Integrator &template_integrator, int count)
     Creates a new MultiIntegrator.
     
    -virtual cmf::math::MultiIntegratorcopy () const
     Polymorphic copy constructor.
     
    int integrate (cmf::math::Time t_max, cmf::math::Time dt)
     Integrates the vector of state variables. More...
    +virtual cmf::math::MultiIntegratorcopy () const
     Polymorphic copy constructor.
     
    int integrate (cmf::math::Time t_max, cmf::math::Time dt)
     Integrates the vector of state variables.
     
    -virtual void reset ()
    +virtual void reset ()
     Resets the integrator.
     
    -std::string to_string () const override
    +std::string to_string () const override
     Desrcibes the iterator.
     
    Integrate
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max. More...
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max.
     
    - - - - - - - -

    -Public Attributes

    -integratable_list integratables
     Public access to integratables.
     
    -bool reset_integratables =false
     If true, the integratables of this solver are reset.
     
    - - +

    +

    Protected Attributes

    Accuracy parameters
    -const real Epsilon =1e-9
    +const real Epsilon =1e-9
     Tolerable error.
     
    - - + + - + - + - + - + - -

    -model time

    -cmf::math::Time get_t () const

    model time

    +cmf::math::Time get_t () const
     Returns the current model time.
     
    -void set_t (cmf::math::Time val)
    +void set_t (cmf::math::Time val)
     Sets the current model time.
     
    -cmf::math::Time get_dt () const
    +cmf::math::Time get_dt () const
     Returns the last time step.
     
    -cmf::math::Time m_t
    +cmf::math::Time m_t
     Actual time of the solver.
     
    -cmf::math::Time m_dt
    +cmf::math::Time m_dt
     last time step of the solver
     
    -int m_Iterations =0
     

    Constructor & Destructor Documentation

    - -

    ◆ MultiIntegrator()

    + +

    ◆ MultiIntegrator()

    @@ -210,19 +209,12 @@

    MultiIntegrator ( - const cmf::math::Integrator &  - template_integrator, + const cmf::math::Integrator & template_integrator, - int  - count  - - - - ) - + int count )

    @@ -239,8 +231,8 @@

    Member Function Documentation

    - -

    ◆ integrate()

    + +

    ◆ integrate()

    @@ -251,19 +243,12 @@

    int integrate ( - cmf::math::Time  - t_max, + cmf::math::Time t_max, - cmf::math::Time  - dt  - - - - ) - + cmf::math::Time dt ) @@ -286,8 +271,8 @@

    -

    ◆ integrate_until()

    + +

    ◆ integrate_until()

    @@ -298,25 +283,17 @@

    void integrate_until ( - cmf::math::Time  - t_max, + cmf::math::Time t_max, - cmf::math::Time  - dt = Time(), + cmf::math::Time dt = Time(), - bool  - reset = false  - - - - ) - + bool reset = false ) @@ -329,8 +306,8 @@

    Parameters
    - - + +
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    resetIf true, solver is reseted before integration starts
    @@ -346,7 +323,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:42 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_multi_integrator.js b/docs/classcmf_1_1math_1_1_multi_integrator.js index a6a8fe0a..7186cf4b 100644 --- a/docs/classcmf_1_1math_1_1_multi_integrator.js +++ b/docs/classcmf_1_1math_1_1_multi_integrator.js @@ -1,7 +1,7 @@ var classcmf_1_1math_1_1_multi_integrator = [ [ "MultiIntegrator", "classcmf_1_1math_1_1_multi_integrator.html#a673c040c81d620957f55adc1910e5392", null ], - [ "copy", "classcmf_1_1math_1_1_multi_integrator.html#ad6cc08e4784c32d26a205d75668558c2", null ], + [ "copy", "classcmf_1_1math_1_1_multi_integrator.html#ab08ef675db32c9498841240eb2a7e193", null ], [ "get_dt", "classcmf_1_1math_1_1_multi_integrator.html#a72c9cc274dd9fe96b60f2ce8ac1db6cb", null ], [ "get_t", "classcmf_1_1math_1_1_multi_integrator.html#a7e6d80d4b9053268f7321b1568921c28", null ], [ "integrate", "classcmf_1_1math_1_1_multi_integrator.html#a38d561458f263540c1087ce9caf31731", null ], @@ -10,8 +10,6 @@ var classcmf_1_1math_1_1_multi_integrator = [ "set_t", "classcmf_1_1math_1_1_multi_integrator.html#abbcac7828b36acc5978238f8d3248edf", null ], [ "to_string", "classcmf_1_1math_1_1_multi_integrator.html#a6ecf47ffd83a4d4f542b276c9aba3b28", null ], [ "Epsilon", "classcmf_1_1math_1_1_multi_integrator.html#a36eb0b53d4ca676a0015a9eac169de72", null ], - [ "integratables", "classcmf_1_1math_1_1_multi_integrator.html#a8226a814fb8ffcfdc8c8275adf3f9e63", null ], [ "m_dt", "classcmf_1_1math_1_1_multi_integrator.html#a2555e45d78dda4746f757a85d788c521", null ], - [ "m_t", "classcmf_1_1math_1_1_multi_integrator.html#a8b8450957199e4ab5e30676dac06be64", null ], - [ "reset_integratables", "classcmf_1_1math_1_1_multi_integrator.html#a7ab8efb4a7e6f347412e300bc9e2d3ea", null ] + [ "m_t", "classcmf_1_1math_1_1_multi_integrator.html#a8b8450957199e4ab5e30676dac06be64", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_multi_integrator__coll__graph.map b/docs/classcmf_1_1math_1_1_multi_integrator__coll__graph.map index 3b714247..a469cdb6 100644 --- a/docs/classcmf_1_1math_1_1_multi_integrator__coll__graph.map +++ b/docs/classcmf_1_1math_1_1_multi_integrator__coll__graph.map @@ -1,5 +1,7 @@ - - - + + + + + diff --git a/docs/classcmf_1_1math_1_1_multi_integrator__coll__graph.md5 b/docs/classcmf_1_1math_1_1_multi_integrator__coll__graph.md5 index 8ecac679..4e7e436b 100644 --- a/docs/classcmf_1_1math_1_1_multi_integrator__coll__graph.md5 +++ b/docs/classcmf_1_1math_1_1_multi_integrator__coll__graph.md5 @@ -1 +1 @@ -3b856e285e9a0d6018fd6f77b1784d27 \ No newline at end of file +2ff09f016ee303f7565770264aeae837 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_multi_integrator__coll__graph.png b/docs/classcmf_1_1math_1_1_multi_integrator__coll__graph.png index 4ae0ed36..67f1d7d4 100644 Binary files a/docs/classcmf_1_1math_1_1_multi_integrator__coll__graph.png and b/docs/classcmf_1_1math_1_1_multi_integrator__coll__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_multi_integrator__inherit__graph.map b/docs/classcmf_1_1math_1_1_multi_integrator__inherit__graph.map index 8d85a540..5515eedb 100644 --- a/docs/classcmf_1_1math_1_1_multi_integrator__inherit__graph.map +++ b/docs/classcmf_1_1math_1_1_multi_integrator__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1math_1_1_multi_integrator__inherit__graph.md5 b/docs/classcmf_1_1math_1_1_multi_integrator__inherit__graph.md5 index 4557a853..736b1013 100644 --- a/docs/classcmf_1_1math_1_1_multi_integrator__inherit__graph.md5 +++ b/docs/classcmf_1_1math_1_1_multi_integrator__inherit__graph.md5 @@ -1 +1 @@ -5777bb8e992f69aad32686cf21a1f724 \ No newline at end of file +614a97eaba1b275653ae067d3b22d701 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_multi_integrator__inherit__graph.png b/docs/classcmf_1_1math_1_1_multi_integrator__inherit__graph.png index 8224496a..195b4315 100644 Binary files a/docs/classcmf_1_1math_1_1_multi_integrator__inherit__graph.png and b/docs/classcmf_1_1math_1_1_multi_integrator__inherit__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_r_k_f_integrator-members.html b/docs/classcmf_1_1math_1_1_r_k_f_integrator-members.html index 62eccb30..2f6d4102 100644 --- a/docs/classcmf_1_1math_1_1_r_k_f_integrator-members.html +++ b/docs/classcmf_1_1math_1_1_r_k_f_integrator-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,35 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    RKFIntegrator Member List
    +
    RKFIntegrator Member List

    This is the complete list of members for RKFIntegrator, including all inherited members.

    - + - + - - - - - - - - - + + + + + + + - +
    AdjustTimestep(Time &TimeStep, Time MaxTime)RKFIntegratorprotected
    copy() constRKFIntegratorvirtual
    copy() constRKFIntegratorvirtual
    EpsilonIntegratorprotected
    get_dt() constIntegrator
    get_dt() constIntegrator
    get_t() constIntegrator
    integratablesIntegrator
    integrate(cmf::math::Time MaxTime, cmf::math::Time TimeStep)RKFIntegratorvirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    reset() overrideRKFIntegratorvirtual
    reset_integratablesIntegrator
    RKFIntegrator(const cmf::math::state_list &states, real epsilon=1e-9, cmf::math::Time dt_min=cmf::math::timespan(1000))RKFIntegrator
    integrate(cmf::math::Time MaxTime, cmf::math::Time TimeStep)RKFIntegratorvirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    reset() overrideRKFIntegratorvirtual
    RKFIntegrator(const cmf::math::state_list &states, real epsilon=1e-9, cmf::math::Time dt_min=cmf::math::timespan(1000))RKFIntegrator
    RKFIntegrator(real epsilon=1e-9, cmf::math::Time dt_min=cmf::math::timespan(1000))RKFIntegrator
    set_t(cmf::math::Time val)Integrator
    set_t(cmf::math::Time val)Integrator
    to_string() const overrideRKFIntegratorvirtual
    @@ -126,7 +135,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:42 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_r_k_f_integrator.html b/docs/classcmf_1_1math_1_1_r_k_f_integrator.html index d9bfaafd..57ee4dd8 100644 --- a/docs/classcmf_1_1math_1_1_r_k_f_integrator.html +++ b/docs/classcmf_1_1math_1_1_r_k_f_integrator.html @@ -2,33 +2,37 @@ - - - - -cmf: RKFIntegrator Class Reference - - - - + + + + + cmf: RKFIntegrator Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,132 +93,126 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    RKFIntegrator Class Reference
    +
    RKFIntegrator Class Reference
    -

    Integrates a vector of cmf::math::StateVariable with the Runge-Kutta-Fehlberg (RKF54) method. - More...

    -
    +

    Integrates a vector of cmf::math::StateVariable with the Runge-Kutta-Fehlberg (RKF54) method. + More...

    +
    + Inheritance diagram for RKFIntegrator:
    -
    +
    + Collaboration diagram for RKFIntegrator:

    Detailed Description

    -

    Integrates a vector of cmf::math::StateVariable with the Runge-Kutta-Fehlberg (RKF54) method.

    +

    Integrates a vector of cmf::math::StateVariable with the Runge-Kutta-Fehlberg (RKF54) method.

    - - - + + - - + + - - - - - + + + + + - + - + - - + +

    +

    Public Member Functions

     RKFIntegrator (const cmf::math::state_list &states, real epsilon=1e-9, cmf::math::Time dt_min=cmf::math::timespan(1000))
     Constructs a new RKFIntegrator from a pointer to a vector of state variables. More...
     RKFIntegrator (const cmf::math::state_list &states, real epsilon=1e-9, cmf::math::Time dt_min=cmf::math::timespan(1000))
     Constructs a new RKFIntegrator from a pointer to a vector of state variables.
     
     RKFIntegrator (real epsilon=1e-9, cmf::math::Time dt_min=cmf::math::timespan(1000))
     Constructs a new RKFIntegrator. More...
     RKFIntegrator (real epsilon=1e-9, cmf::math::Time dt_min=cmf::math::timespan(1000))
     Constructs a new RKFIntegrator.
     
    -virtual Integratorcopy () const
     Polymorphic copy constructor.
     
    int integrate (cmf::math::Time MaxTime, cmf::math::Time TimeStep)
     Integrates the vector of state variables. More...
    +virtual Integratorcopy () const
     Polymorphic copy constructor.
     
    int integrate (cmf::math::Time MaxTime, cmf::math::Time TimeStep)
     Integrates the vector of state variables.
     
    -void reset () override
    +void reset () override
     Resets any saved history (for multistep methods)
     
    -std::string to_string () const override
    +std::string to_string () const override
     Desrcibes the iterator.
     
    Integrate
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max. More...
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max.
     
    - - - - - - - -

    -Public Attributes

    -integratable_list integratables
     Public access to integratables.
     
    -bool reset_integratables =false
     If true, the integratables of this solver are reset.
     
    - - +

    +

    Protected Member Functions

    -void AdjustTimestep (Time &TimeStep, Time MaxTime)
    +void AdjustTimestep (Time &TimeStep, Time MaxTime)
     Protected function to adjust the step width for stability reasons.
     
    - - +

    +

    Protected Attributes

    Accuracy parameters
    -const real Epsilon =1e-9
    +const real Epsilon =1e-9
     Tolerable error.
     
    - - + + - + - + - + - + - -

    -model time

    -cmf::math::Time get_t () const

    model time

    +cmf::math::Time get_t () const
     Returns the current model time.
     
    -void set_t (cmf::math::Time val)
    +void set_t (cmf::math::Time val)
     Sets the current model time.
     
    -cmf::math::Time get_dt () const
    +cmf::math::Time get_dt () const
     Returns the last time step.
     
    -cmf::math::Time m_t
    +cmf::math::Time m_t
     Actual time of the solver.
     
    -cmf::math::Time m_dt
    +cmf::math::Time m_dt
     last time step of the solver
     
    -int m_Iterations =0
     

    Constructor & Destructor Documentation

    - -

    ◆ RKFIntegrator() [1/2]

    + +

    ◆ RKFIntegrator() [1/2]

    @@ -221,31 +220,23 @@

    RKFIntegrator ( - const cmf::math::state_list &  - states, + const cmf::math::state_list & states, - real  - epsilon = 1e-9, + real epsilon = 1e-9, - cmf::math::Time  - dt_min = cmf::math::timespan(1000)  - - - - ) - + cmf::math::Time dt_min = cmf::math::timespan(1000) )

    -

    Constructs a new RKFIntegrator from a pointer to a vector of state variables.

    -
    Note
    The RKF Integrator becomes the owner of states
    +

    Constructs a new RKFIntegrator from a pointer to a vector of state variables.

    +
    Note
    The RKF Integrator becomes the owner of states
    Parameters
    @@ -257,8 +248,8 @@

    -

    ◆ RKFIntegrator() [2/2]

    + +

    ◆ RKFIntegrator() [2/2]

    @@ -266,24 +257,17 @@

    RKFIntegrator

    - - + - - - - - - - +
    statesStatevariables of the system
    (real epsilon = 1e-9, real epsilon = 1e-9,
    cmf::math::Time dt_min = cmf::math::timespan(1000) 
    )cmf::math::Time dt_min = cmf::math::timespan(1000) )
    -

    Constructs a new RKFIntegrator.

    +

    Constructs a new RKFIntegrator.

    Parameters
    @@ -295,8 +279,8 @@

    Member Function Documentation

    - -

    ◆ integrate()

    + +

    ◆ integrate()

    @@ -307,19 +291,12 @@

    int integrate

    - - + - - - - - - - +
    epsilonrelative error tolerance per time step (default=1e-9)
    (cmf::math::Time MaxTime, cmf::math::Time MaxTime,
    cmf::math::Time TimeStep 
    )cmf::math::Time TimeStep )
    @@ -342,8 +319,8 @@

    -

    ◆ integrate_until()

    + +

    ◆ integrate_until()

    @@ -354,25 +331,17 @@

    void integrate_until ( - cmf::math::Time  - t_max, + cmf::math::Time t_max, - cmf::math::Time  - dt = Time(), + cmf::math::Time dt = Time(), - bool  - reset = false  - - - - ) - + bool reset = false ) @@ -385,8 +354,8 @@

    Parameters
    - - + +
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    resetIf true, solver is reseted before integration starts
    @@ -402,7 +371,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:42 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_r_k_f_integrator.js b/docs/classcmf_1_1math_1_1_r_k_f_integrator.js index f247fa35..773d9fcd 100644 --- a/docs/classcmf_1_1math_1_1_r_k_f_integrator.js +++ b/docs/classcmf_1_1math_1_1_r_k_f_integrator.js @@ -3,7 +3,7 @@ var classcmf_1_1math_1_1_r_k_f_integrator = [ "RKFIntegrator", "classcmf_1_1math_1_1_r_k_f_integrator.html#a60272cee279e2ee5a469885e08955c09", null ], [ "RKFIntegrator", "classcmf_1_1math_1_1_r_k_f_integrator.html#a4fe3f9a0c0d28cdb33cf1b91f8d5ded4", null ], [ "AdjustTimestep", "classcmf_1_1math_1_1_r_k_f_integrator.html#a28eab1806087839e33436540d3439937", null ], - [ "copy", "classcmf_1_1math_1_1_r_k_f_integrator.html#a1c5aae0d613e54d4150b04f5930d05e5", null ], + [ "copy", "classcmf_1_1math_1_1_r_k_f_integrator.html#ae2c6458e91bcb97f5d66e387e8dba034", null ], [ "get_dt", "classcmf_1_1math_1_1_r_k_f_integrator.html#a72c9cc274dd9fe96b60f2ce8ac1db6cb", null ], [ "get_t", "classcmf_1_1math_1_1_r_k_f_integrator.html#a7e6d80d4b9053268f7321b1568921c28", null ], [ "integrate", "classcmf_1_1math_1_1_r_k_f_integrator.html#a7054d3d8526f1c619d93c58b8f95c6fe", null ], @@ -12,8 +12,6 @@ var classcmf_1_1math_1_1_r_k_f_integrator = [ "set_t", "classcmf_1_1math_1_1_r_k_f_integrator.html#abbcac7828b36acc5978238f8d3248edf", null ], [ "to_string", "classcmf_1_1math_1_1_r_k_f_integrator.html#a6ecf47ffd83a4d4f542b276c9aba3b28", null ], [ "Epsilon", "classcmf_1_1math_1_1_r_k_f_integrator.html#a36eb0b53d4ca676a0015a9eac169de72", null ], - [ "integratables", "classcmf_1_1math_1_1_r_k_f_integrator.html#a8226a814fb8ffcfdc8c8275adf3f9e63", null ], [ "m_dt", "classcmf_1_1math_1_1_r_k_f_integrator.html#a2555e45d78dda4746f757a85d788c521", null ], - [ "m_t", "classcmf_1_1math_1_1_r_k_f_integrator.html#a8b8450957199e4ab5e30676dac06be64", null ], - [ "reset_integratables", "classcmf_1_1math_1_1_r_k_f_integrator.html#a7ab8efb4a7e6f347412e300bc9e2d3ea", null ] + [ "m_t", "classcmf_1_1math_1_1_r_k_f_integrator.html#a8b8450957199e4ab5e30676dac06be64", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_r_k_f_integrator__coll__graph.map b/docs/classcmf_1_1math_1_1_r_k_f_integrator__coll__graph.map index a0a07cd3..b2107161 100644 --- a/docs/classcmf_1_1math_1_1_r_k_f_integrator__coll__graph.map +++ b/docs/classcmf_1_1math_1_1_r_k_f_integrator__coll__graph.map @@ -1,5 +1,7 @@ - - - + + + + + diff --git a/docs/classcmf_1_1math_1_1_r_k_f_integrator__coll__graph.md5 b/docs/classcmf_1_1math_1_1_r_k_f_integrator__coll__graph.md5 index 329954f7..3d901de3 100644 --- a/docs/classcmf_1_1math_1_1_r_k_f_integrator__coll__graph.md5 +++ b/docs/classcmf_1_1math_1_1_r_k_f_integrator__coll__graph.md5 @@ -1 +1 @@ -52861ed5ee83ad9a60fb5610632dc859 \ No newline at end of file +014d8ab30e485699819d31bffe8ffeee \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_r_k_f_integrator__coll__graph.png b/docs/classcmf_1_1math_1_1_r_k_f_integrator__coll__graph.png index 82ec2df5..8f7a2e44 100644 Binary files a/docs/classcmf_1_1math_1_1_r_k_f_integrator__coll__graph.png and b/docs/classcmf_1_1math_1_1_r_k_f_integrator__coll__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_r_k_f_integrator__inherit__graph.map b/docs/classcmf_1_1math_1_1_r_k_f_integrator__inherit__graph.map index bac610ce..5392183d 100644 --- a/docs/classcmf_1_1math_1_1_r_k_f_integrator__inherit__graph.map +++ b/docs/classcmf_1_1math_1_1_r_k_f_integrator__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1math_1_1_r_k_f_integrator__inherit__graph.md5 b/docs/classcmf_1_1math_1_1_r_k_f_integrator__inherit__graph.md5 index 67e3b240..90fa06ee 100644 --- a/docs/classcmf_1_1math_1_1_r_k_f_integrator__inherit__graph.md5 +++ b/docs/classcmf_1_1math_1_1_r_k_f_integrator__inherit__graph.md5 @@ -1 +1 @@ -34d1ee475a9c3faf79e79df43ef8580f \ No newline at end of file +c34817e513433bd365b3924de055fe7e \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_r_k_f_integrator__inherit__graph.png b/docs/classcmf_1_1math_1_1_r_k_f_integrator__inherit__graph.png index 84b916e1..28c8353a 100644 Binary files a/docs/classcmf_1_1math_1_1_r_k_f_integrator__inherit__graph.png and b/docs/classcmf_1_1math_1_1_r_k_f_integrator__inherit__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_solute_water_integrator-members.html b/docs/classcmf_1_1math_1_1_solute_water_integrator-members.html index 133edaa1..01b30111 100644 --- a/docs/classcmf_1_1math_1_1_solute_water_integrator-members.html +++ b/docs/classcmf_1_1math_1_1_solute_water_integrator-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,35 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SoluteWaterIntegrator Member List
    +
    SoluteWaterIntegrator Member List

    This is the complete list of members for SoluteWaterIntegrator, including all inherited members.

    - - + + - - - - - - - - - + + + + + + + - - - + + +
    copy() constSoluteWaterIntegratorvirtual
    EpsilonIntegratorprotected
    copy() const overrideSoluteWaterIntegratorvirtual
    EpsilonIntegratorprotected
    get_dt() constIntegrator
    get_t() constIntegrator
    integratablesIntegrator
    integrate(cmf::math::Time t_max, cmf::math::Time dt)SoluteWaterIntegratorvirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    reset()SoluteWaterIntegratorvirtual
    reset_integratablesIntegrator
    get_t() constIntegrator
    integrate(cmf::math::Time t_max, cmf::math::Time dt) overrideSoluteWaterIntegratorvirtual
    integrate_until(cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)Integrator
    Integrator(real epsilon=1e-9)Integratorexplicit
    m_dtIntegratorprotected
    m_tIntegratorprotected
    reset() overrideSoluteWaterIntegratorvirtual
    set_t(cmf::math::Time val)Integrator
    SoluteWaterIntegrator(const cmf::water::solute_vector &solutes, const cmf::math::Integrator &water_integrator, const cmf::math::Integrator &solute_integrator)SoluteWaterIntegrator
    SoluteWaterIntegrator(cmf::water::solute_vector solutes, const cmf::math::Integrator &water_integrator, const cmf::math::Integrator &solute_integrator, const cmf::math::state_list &states)SoluteWaterIntegrator
    to_string() const overrideSoluteWaterIntegratorvirtual
    SoluteWaterIntegrator(const cmf::water::solute_vector &solutes, const cmf::math::Integrator &water_integrator, const cmf::math::Integrator &solute_integrator)SoluteWaterIntegrator
    SoluteWaterIntegrator(const cmf::water::solute_vector &solutes, const cmf::math::Integrator &water_integrator, const cmf::math::Integrator &solute_integrator, const cmf::math::state_list &states)SoluteWaterIntegrator
    to_string() const overrideSoluteWaterIntegratorvirtual
    diff --git a/docs/classcmf_1_1math_1_1_solute_water_integrator.html b/docs/classcmf_1_1math_1_1_solute_water_integrator.html index b2f75425..84e581ca 100644 --- a/docs/classcmf_1_1math_1_1_solute_water_integrator.html +++ b/docs/classcmf_1_1math_1_1_solute_water_integrator.html @@ -2,33 +2,37 @@ - - - - -cmf: SoluteWaterIntegrator Class Reference - - - - + + + + + cmf: SoluteWaterIntegrator Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,127 +93,122 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    SoluteWaterIntegrator Class Reference
    -

    A SoluteWaterIntegrator implements the cmf::math::Integrator interface, but consists of two independent ODE-solvers. - More...

    -
    +

    A SoluteWaterIntegrator implements the cmf::math::Integrator interface, but consists of two independent ODE-solvers. + More...

    +
    + Inheritance diagram for SoluteWaterIntegrator:
    -
    +
    + Collaboration diagram for SoluteWaterIntegrator:

    Detailed Description

    -

    A SoluteWaterIntegrator implements the cmf::math::Integrator interface, but consists of two independent ODE-solvers.

    +

    A SoluteWaterIntegrator implements the cmf::math::Integrator interface, but consists of two independent ODE-solvers.

    Added statevariables are sorted by waterstorages and solute storages and assigned to the correct solver.

    - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - + +

    +

    Public Member Functions

     SoluteWaterIntegrator (const cmf::water::solute_vector &solutes, const cmf::math::Integrator &water_integrator, const cmf::math::Integrator &solute_integrator)
     Creates a new SoluteWaterIntegrator. More...
     SoluteWaterIntegrator (const cmf::water::solute_vector &solutes, const cmf::math::Integrator &water_integrator, const cmf::math::Integrator &solute_integrator)
     Creates a new SoluteWaterIntegrator.
     
     SoluteWaterIntegrator (cmf::water::solute_vector solutes, const cmf::math::Integrator &water_integrator, const cmf::math::Integrator &solute_integrator, const cmf::math::state_list &states)
     Creates a new SoluteWaterIntegrator. More...
     
    -virtual cmf::math::SoluteWaterIntegratorcopy () const
     Polymorphic copy constructor.
     
    -int integrate (cmf::math::Time t_max, cmf::math::Time dt)
     Add state variables from a cmf::math::state_list.
     
    -virtual void reset ()
     Resets the integrators (only needed for multistep methods)
     
    -std::string to_string () const override
     SoluteWaterIntegrator (const cmf::water::solute_vector &solutes, const cmf::math::Integrator &water_integrator, const cmf::math::Integrator &solute_integrator, const cmf::math::state_list &states)
     Creates a new SoluteWaterIntegrator.
     
    +cmf::math::SoluteWaterIntegratorcopy () const override
     Polymorphic copy constructor.
     
    +int integrate (cmf::math::Time t_max, cmf::math::Time dt) override
     Add state variables from a cmf::math::state_list.
     
    +void reset () override
     Resets the integrators (only needed for multistep methods)
     
    +std::string to_string () const override
     Desrcibes the iterator.
     
    Integrate
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max. More...
    void integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false)
     Integrates the vector of state variables until t_max.
     
    - - - - - - - -

    -Public Attributes

    -integratable_list integratables
     Public access to integratables.
     
    -bool reset_integratables =false
     If true, the integratables of this solver are reset.
     
    - - +

    +

    Protected Attributes

    Accuracy parameters
    -const real Epsilon =1e-9
    +const real Epsilon =1e-9
     Tolerable error.
     
    - - + + - + - - - + - + - +

    -model time

    -cmf::math::Time m_t

    model time

    +cmf::math::Time m_t
     Actual time of the solver.
     
    -cmf::math::Time m_dt
    +cmf::math::Time m_dt
     last time step of the solver
     
    -int m_Iterations =0
     
    -cmf::math::Time get_t () const
    +cmf::math::Time get_t () const
     Returns the current model time.
     
    -void set_t (cmf::math::Time val)
    +void set_t (cmf::math::Time val)
     Sets the current model time.
     
    -cmf::math::Time get_dt () const
    +cmf::math::Time get_dt () const
     Returns the last time step.
     

    Constructor & Destructor Documentation

    - -

    ◆ SoluteWaterIntegrator() [1/2]

    + +

    ◆ SoluteWaterIntegrator() [1/2]

    @@ -216,25 +216,17 @@

    SoluteWaterIntegrator ( - const cmf::water::solute_vector &  - solutes, + const cmf::water::solute_vector & solutes, - const cmf::math::Integrator &  - water_integrator, + const cmf::math::Integrator & water_integrator, - const cmf::math::Integrator &  - solute_integrator  - - - - ) - + const cmf::math::Integrator & solute_integrator )

    @@ -251,8 +243,8 @@

    -

    ◆ SoluteWaterIntegrator() [2/2]

    + +

    ◆ SoluteWaterIntegrator() [2/2]

    @@ -260,31 +252,22 @@

    SoluteWaterIntegrator ( - cmf::water::solute_vector  - solutes, + const cmf::water::solute_vector & solutes, - const cmf::math::Integrator &  - water_integrator, + const cmf::math::Integrator & water_integrator, - const cmf::math::Integrator &  - solute_integrator, + const cmf::math::Integrator & solute_integrator, - const cmf::math::state_list &  - states  - - - - ) - + const cmf::math::state_list & states )

    @@ -303,8 +286,8 @@

    Member Function Documentation

    - -

    ◆ integrate_until()

    + +

    ◆ integrate_until()

    @@ -315,25 +298,17 @@

    void integrate_until ( - cmf::math::Time  - t_max, + cmf::math::Time t_max, - cmf::math::Time  - dt = Time(), + cmf::math::Time dt = Time(), - bool  - reset = false  - - - - ) - + bool reset = false ) @@ -346,8 +321,8 @@

    Parameters
    - - + +
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    t_maxTime, the solver should run to
    dtTime step (may be omitted)
    resetIf true, solver is reseted before integration starts
    @@ -363,7 +338,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:42 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_solute_water_integrator.js b/docs/classcmf_1_1math_1_1_solute_water_integrator.js index 6a3d4036..2b52791c 100644 --- a/docs/classcmf_1_1math_1_1_solute_water_integrator.js +++ b/docs/classcmf_1_1math_1_1_solute_water_integrator.js @@ -1,18 +1,16 @@ var classcmf_1_1math_1_1_solute_water_integrator = [ [ "SoluteWaterIntegrator", "classcmf_1_1math_1_1_solute_water_integrator.html#a6246501e7dc1f210273226946dd2452a", null ], - [ "SoluteWaterIntegrator", "classcmf_1_1math_1_1_solute_water_integrator.html#ab96d0a02eec44612affacfcd1173fffa", null ], - [ "copy", "classcmf_1_1math_1_1_solute_water_integrator.html#aa6cc58c7e0c715f917d206db9582db02", null ], + [ "SoluteWaterIntegrator", "classcmf_1_1math_1_1_solute_water_integrator.html#aa6d711254eda9f48bcb8c2f093acd2d0", null ], + [ "copy", "classcmf_1_1math_1_1_solute_water_integrator.html#a9214a2e83bd07423402f6b780397017e", null ], [ "get_dt", "classcmf_1_1math_1_1_solute_water_integrator.html#a72c9cc274dd9fe96b60f2ce8ac1db6cb", null ], [ "get_t", "classcmf_1_1math_1_1_solute_water_integrator.html#a7e6d80d4b9053268f7321b1568921c28", null ], - [ "integrate", "classcmf_1_1math_1_1_solute_water_integrator.html#a38d561458f263540c1087ce9caf31731", null ], + [ "integrate", "classcmf_1_1math_1_1_solute_water_integrator.html#a08a15ee514d9c207176cf74131fea4d0", null ], [ "integrate_until", "classcmf_1_1math_1_1_solute_water_integrator.html#ab3370f291032a47667e76aeb44573875", null ], - [ "reset", "classcmf_1_1math_1_1_solute_water_integrator.html#a7b0e029102ad38f4b814c6523aedb53d", null ], + [ "reset", "classcmf_1_1math_1_1_solute_water_integrator.html#aebfcdbbd0fe4efbff10b180be50ca6bc", null ], [ "set_t", "classcmf_1_1math_1_1_solute_water_integrator.html#abbcac7828b36acc5978238f8d3248edf", null ], [ "to_string", "classcmf_1_1math_1_1_solute_water_integrator.html#a6ecf47ffd83a4d4f542b276c9aba3b28", null ], [ "Epsilon", "classcmf_1_1math_1_1_solute_water_integrator.html#a36eb0b53d4ca676a0015a9eac169de72", null ], - [ "integratables", "classcmf_1_1math_1_1_solute_water_integrator.html#a8226a814fb8ffcfdc8c8275adf3f9e63", null ], [ "m_dt", "classcmf_1_1math_1_1_solute_water_integrator.html#a2555e45d78dda4746f757a85d788c521", null ], - [ "m_t", "classcmf_1_1math_1_1_solute_water_integrator.html#a8b8450957199e4ab5e30676dac06be64", null ], - [ "reset_integratables", "classcmf_1_1math_1_1_solute_water_integrator.html#a7ab8efb4a7e6f347412e300bc9e2d3ea", null ] + [ "m_t", "classcmf_1_1math_1_1_solute_water_integrator.html#a8b8450957199e4ab5e30676dac06be64", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_solute_water_integrator__coll__graph.map b/docs/classcmf_1_1math_1_1_solute_water_integrator__coll__graph.map index 1f764272..58827279 100644 --- a/docs/classcmf_1_1math_1_1_solute_water_integrator__coll__graph.map +++ b/docs/classcmf_1_1math_1_1_solute_water_integrator__coll__graph.map @@ -1,6 +1,9 @@ - - - - + + + + + + + diff --git a/docs/classcmf_1_1math_1_1_solute_water_integrator__coll__graph.md5 b/docs/classcmf_1_1math_1_1_solute_water_integrator__coll__graph.md5 index ce8f4cb1..4e436f68 100644 --- a/docs/classcmf_1_1math_1_1_solute_water_integrator__coll__graph.md5 +++ b/docs/classcmf_1_1math_1_1_solute_water_integrator__coll__graph.md5 @@ -1 +1 @@ -3cf269dfdaa311e9d56a4d3a575db5ad \ No newline at end of file +2a4f3869c222338179e15e02db876e3c \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_solute_water_integrator__coll__graph.png b/docs/classcmf_1_1math_1_1_solute_water_integrator__coll__graph.png index ac12afb2..44c2165e 100644 Binary files a/docs/classcmf_1_1math_1_1_solute_water_integrator__coll__graph.png and b/docs/classcmf_1_1math_1_1_solute_water_integrator__coll__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_solute_water_integrator__inherit__graph.map b/docs/classcmf_1_1math_1_1_solute_water_integrator__inherit__graph.map index 7e18ad8e..31998d6f 100644 --- a/docs/classcmf_1_1math_1_1_solute_water_integrator__inherit__graph.map +++ b/docs/classcmf_1_1math_1_1_solute_water_integrator__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1math_1_1_solute_water_integrator__inherit__graph.md5 b/docs/classcmf_1_1math_1_1_solute_water_integrator__inherit__graph.md5 index 88e061cd..b0130077 100644 --- a/docs/classcmf_1_1math_1_1_solute_water_integrator__inherit__graph.md5 +++ b/docs/classcmf_1_1math_1_1_solute_water_integrator__inherit__graph.md5 @@ -1 +1 @@ -e0bc9cfed6d7ff2b5a1f8345c564aa40 \ No newline at end of file +452f29613a6d188f66700a635ecd046b \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_solute_water_integrator__inherit__graph.png b/docs/classcmf_1_1math_1_1_solute_water_integrator__inherit__graph.png index 57c37eb0..75b59807 100644 Binary files a/docs/classcmf_1_1math_1_1_solute_water_integrator__inherit__graph.png and b/docs/classcmf_1_1math_1_1_solute_water_integrator__inherit__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_state_variable-members.html b/docs/classcmf_1_1math_1_1_state_variable-members.html index 60c7012b..3d3cae68 100644 --- a/docs/classcmf_1_1math_1_1_state_variable-members.html +++ b/docs/classcmf_1_1math_1_1_state_variable-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,26 +93,31 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    StateVariable Member List
    +
    StateVariable Member List

    This is the complete list of members for StateVariable, including all inherited members.

    - - - - - - + + + + +
    dxdt(const cmf::math::Time &time)=0StateVariablepure virtual
    get_state() constStateVariable
    list typedefStateVariable
    MarkStateChangeHandled()StateVariableprotected
    set_state(real newState)StateVariable
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    get_state() constStateVariable
    MarkStateChangeHandled()StateVariableprotected
    set_state(real newState)StateVariable
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable

    -Generated: Fri Apr 26 2019 12:43:43 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_state_variable.html b/docs/classcmf_1_1math_1_1_state_variable.html index 1caf2547..6b9a8ad0 100644 --- a/docs/classcmf_1_1math_1_1_state_variable.html +++ b/docs/classcmf_1_1math_1_1_state_variable.html @@ -2,33 +2,37 @@ - - - - -cmf: StateVariable Class Reference - - - - + + + + + cmf: StateVariable Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,78 +93,94 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    StateVariable Class Referenceabstract
    +
    StateVariable Class Referenceabstract

    Abstract class state variable. - More...

    -
    + More...

    +
    + Inheritance diagram for StateVariable:

    Detailed Description

    Abstract class state variable.

    -

    Simple exponential system class header implementing a state variable:

    class RateGrowth
    {
    public:
    real rate;
    virtual real Derivate(const cmf::math::Time& time) {return rate*get_state();}
    };
    - - - - -

    -Public Types

    -typedef std::vector< StateVariable * > list
     Not part of the API, used to create sparse structure.
     
    - - +

    +
       Simple exponential system class header implementing a state variable:
    +   @code
    +   class RateGrowth
    +   {
    +   public:
    +       real rate;
    +       virtual real Derivate(const cmf::math::Time& time) {return rate*get_state();}
    +   };
    +   @endcode
    +
    + - + - + - + - +

    Public Member Functions

    StateVariable (real InitialState=0, real scale=1)
    StateVariable (real InitialState=0, real scale=1)
     ctor
     
    -virtual real dxdt (const cmf::math::Time &time)=0
    +virtual real dxdt (const cmf::math::Time &time)=0
     Returns the derivate of the state variable at time time.
     
    -real get_state () const
    +real get_state () const
     Returns the current state of the variable.
     
    -void set_state (real newState)
    +void set_state (real newState)
     Gives access to the state variable.
     
    - - + - +

    +

    Protected Member Functions

    -void MarkStateChangeHandled ()
    +void MarkStateChangeHandled ()
     Sets the updated flag (m_StateIsNew) to false.
     
    -bool StateIsChanged ()
    +bool StateIsChanged ()
     Returns if the state was currently updated.
     
    @@ -171,7 +192,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    Generated: Fri Apr 26 2019 12:43:43Generated: Fri Jan 19 2024 16:10:56
    diff --git a/docs/classcmf_1_1math_1_1_state_variable.js b/docs/classcmf_1_1math_1_1_state_variable.js index fb3531cc..3ee32d77 100644 --- a/docs/classcmf_1_1math_1_1_state_variable.js +++ b/docs/classcmf_1_1math_1_1_state_variable.js @@ -1,6 +1,5 @@ var classcmf_1_1math_1_1_state_variable = [ - [ "list", "classcmf_1_1math_1_1_state_variable.html#a65038c02ffb04ca17a7479ad20b0b63c", null ], [ "StateVariable", "classcmf_1_1math_1_1_state_variable.html#a09457664ddfda50e59692fb90f0fbf30", null ], [ "dxdt", "classcmf_1_1math_1_1_state_variable.html#a16b8a96d3af57038ac1190b88d4c00e8", null ], [ "get_state", "classcmf_1_1math_1_1_state_variable.html#a5b794a3d74e0b878ff0a4200015e7cc2", null ], diff --git a/docs/classcmf_1_1math_1_1_state_variable__inherit__graph.map b/docs/classcmf_1_1math_1_1_state_variable__inherit__graph.map index 53778a4f..4719756c 100644 --- a/docs/classcmf_1_1math_1_1_state_variable__inherit__graph.map +++ b/docs/classcmf_1_1math_1_1_state_variable__inherit__graph.map @@ -1,10 +1,19 @@ - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/docs/classcmf_1_1math_1_1_state_variable__inherit__graph.md5 b/docs/classcmf_1_1math_1_1_state_variable__inherit__graph.md5 index bf744571..a79d1386 100644 --- a/docs/classcmf_1_1math_1_1_state_variable__inherit__graph.md5 +++ b/docs/classcmf_1_1math_1_1_state_variable__inherit__graph.md5 @@ -1 +1 @@ -05212708a20fbf6c84d64d78c88ed6cd \ No newline at end of file +067d90f1224f077938c4a86424cc2aae \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_state_variable__inherit__graph.png b/docs/classcmf_1_1math_1_1_state_variable__inherit__graph.png index 7aebc0db..3f9b6e63 100644 Binary files a/docs/classcmf_1_1math_1_1_state_variable__inherit__graph.png and b/docs/classcmf_1_1math_1_1_state_variable__inherit__graph.png differ diff --git a/docs/classcmf_1_1math_1_1_state_variable_owner-members.html b/docs/classcmf_1_1math_1_1_state_variable_owner-members.html deleted file mode 100644 index e6b3a802..00000000 --- a/docs/classcmf_1_1math_1_1_state_variable_owner-members.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    StateVariableOwner Member List
    -
    -
    - -

    This is the complete list of members for StateVariableOwner, including all inherited members.

    - - -
    get_states()=0StateVariableOwnerpure virtual
    -
    - - - diff --git a/docs/classcmf_1_1math_1_1_state_variable_owner.html b/docs/classcmf_1_1math_1_1_state_variable_owner.html deleted file mode 100644 index d0bbee94..00000000 --- a/docs/classcmf_1_1math_1_1_state_variable_owner.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - -cmf: StateVariableOwner Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    StateVariableOwner Class Referenceabstract
    -
    -
    - -

    An abstract class, that owns one or more state variables, that can add them to a vector of state variables in a certain order. - More...

    -
    - + Inheritance diagram for StateVariableOwner:
    -
    -
    - -

    Detailed Description

    -

    An abstract class, that owns one or more state variables, that can add them to a vector of state variables in a certain order.

    -
    - - - - -

    -Public Member Functions

    -virtual StateVariableList get_states ()=0
     Add the state variables, owned by an object derived from StateVariableOwner, to the given vector.
     
    -
    -
    - - - diff --git a/docs/classcmf_1_1math_1_1_state_variable_owner.js b/docs/classcmf_1_1math_1_1_state_variable_owner.js deleted file mode 100644 index 3c026f21..00000000 --- a/docs/classcmf_1_1math_1_1_state_variable_owner.js +++ /dev/null @@ -1,4 +0,0 @@ -var classcmf_1_1math_1_1_state_variable_owner = -[ - [ "get_states", "classcmf_1_1math_1_1_state_variable_owner.html#adca786c4f3c7528186e78f9aaf13f488", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_state_variable_owner__inherit__graph.map b/docs/classcmf_1_1math_1_1_state_variable_owner__inherit__graph.map deleted file mode 100644 index e2e4c221..00000000 --- a/docs/classcmf_1_1math_1_1_state_variable_owner__inherit__graph.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/docs/classcmf_1_1math_1_1_state_variable_owner__inherit__graph.md5 b/docs/classcmf_1_1math_1_1_state_variable_owner__inherit__graph.md5 deleted file mode 100644 index be158ebc..00000000 --- a/docs/classcmf_1_1math_1_1_state_variable_owner__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -cf86bb30f98c4cf0c6f08a887ca2e486 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1_state_variable_owner__inherit__graph.png b/docs/classcmf_1_1math_1_1_state_variable_owner__inherit__graph.png deleted file mode 100644 index 44c2c9d0..00000000 Binary files a/docs/classcmf_1_1math_1_1_state_variable_owner__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1math_1_1_time-members.html b/docs/classcmf_1_1math_1_1_time-members.html index d8d197f1..155a17cc 100644 --- a/docs/classcmf_1_1math_1_1_time-members.html +++ b/docs/classcmf_1_1math_1_1_time-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,53 +93,59 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Time Member List
    +
    Time Member List

    This is the complete list of members for Time, including all inherited members.

    - + - + - + - + - + - - - + + + - + - + - + - - - - - + + + + + - + - + - + - +
    AsDays() constTime
    AsHours() constTime
    AsHours() constTime
    AsMilliseconds() constTime
    AsMinutes() constTime
    AsMinutes() constTime
    AsSeconds() constTime
    operator!=(const Time &t1) constTime
    operator!=(const Time &t1) constTime
    operator%(const Time &t1) constTime
    operator%=(const Time &t1)Time
    operator%=(const Time &t1)Time
    operator*(double x) constTime
    operator*(long long x) constTime
    operator*(long long x) constTime
    operator*(int x) constTime
    operator*=(double x)Time
    operator*=(long long x)Time
    operator*=(int x)Time
    operator*=(double x)Time
    operator*=(long long x)Time
    operator*=(int x)Time
    operator+(const Time &t1) constTime
    operator+=(const Time &t1)Time
    operator+=(const Time &t1)Time
    operator-(const Time &t1) constTime
    operator-=(const Time &t1)Time
    operator-=(const Time &t1)Time
    operator/(double x) constTime
    operator/(long long x) constTime
    operator/(long long x) constTime
    operator/(int x) constTime
    operator/(const Time &t1) constTime
    operator/=(double x)Time
    operator/=(long long x)Time
    operator/=(int x)Time
    operator<(const Time &t1) constTime
    operator/(const Time &t1) constTime
    operator/=(double x)Time
    operator/=(long long x)Time
    operator/=(int x)Time
    operator<(const Time &t1) constTime
    operator<=(const Time &t1) constTime
    operator==(const Time &t1) constTime
    operator==(const Time &t1) constTime
    operator>(const Time &t1) constTime
    operator>=(const Time &t1) constTime
    operator>=(const Time &t1) constTime
    Time(int day, int month, int year, int hour=0, int minute=0, int second=0, int ms=0)Time
    Time(Date date)Time
    Time(Date date)Time
    Time(const Time &t)Time
    Time()Time
    Time()Time
    times_in(const Time &t1) constTime
    @@ -144,7 +155,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:43 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1_time.html b/docs/classcmf_1_1math_1_1_time.html index 4d885918..65b9d7aa 100644 --- a/docs/classcmf_1_1math_1_1_time.html +++ b/docs/classcmf_1_1math_1_1_time.html @@ -2,33 +2,37 @@ - - - - -cmf: Time Class Reference - - - - + + + + + cmf: Time Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,35 +93,54 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Time Class Reference
    +
    Time Class Reference

    A time class, used to pass around current modelling times. - More...

    + More...

    Detailed Description

    A time class, used to pass around current modelling times.

    -

    Timespans and dates in cmf are used with a special object, called Time. An extra class has the advantage, that the user does not have to remember, which unit of time he or she uses or what time unit is accepted by a specific function of the model. Arithmetic and boolean operators are supported by Time. Internally the time classes stores the time as integer milliseconds, therefore rounding issues will only appear at very small time ranges. Absolute time (like dates) are represented as milliseconds gone by from Dec, 31st 1899. Microsoft Excel dates are represented as days from that time, using floating point numbers, therefore it is very simple to convert Excel time representations to cmf time.

    -

    Another object is Date, which is doesn't provide the operators, but has a nice printed version and some special date functions, like day of year (DOY) and provides access to the current hour of day and so on, which only applyto dates and not to time spans. You can convert Time to Date an vice versa. The printing is not culture aware and uses the European representation. If you use the Python standard library datetime, conversion between Python time and cmf time is possible

    -

    Creating absolute time values (dates)

    import cmf
    Create the time: Jan, 5th 2001, 2:30 pm, 20s, 412 ms
    t=cmf.Time(5,1,2001,14,30,20,412)
    print t # Prints: '36896d:14:30:20.412h'
    print t.AsDate() # Prints: '05.01.2001 14:30:20.412'

    Creating time spans

    +

    Timespans and dates in cmf are used with a special object, called Time. An extra class has the advantage, that the user does not have to remember, which unit of time he or she uses or what time unit is accepted by a specific function of the model. Arithmetic and boolean operators are supported by Time. Internally the time classes stores the time as integer milliseconds, therefore rounding issues will only appear at very small time ranges. Absolute time (like dates) are represented as milliseconds gone by from Dec, 31st 1899. Microsoft Excel dates are represented as days from that time, using floating point numbers, therefore it is very simple to convert Excel time representations to cmf time.

    +

    Another object is Date, which is doesn't provide the operators, but has a nice printed version and some special date functions, like day of year (DOY) and provides access to the current hour of day and so on, which only applyto dates and not to time spans. You can convert Time to Date an vice versa. The printing is not culture aware and uses the European representation. If you use the Python standard library datetime, conversion between Python time and cmf time is possible

    +

    Creating absolute time values (dates)

    import cmf
    +
    Create the time: Jan, 5th 2001, 2:30 pm, 20s, 412 ms
    +
    t=cmf.Time(5,1,2001,14,30,20,412)
    +
    print t # Prints: '36896d:14:30:20.412h'
    +
    print t.AsDate() # Prints: '05.01.2001 14:30:20.412'
    +

    Creating time spans

    In principle, there are three ways to create time spans. One is to use one of the static functions, another is to multiply an existing time span (like one of the build in constants) or to substrate two absolute times.

    Available constants

      -
    • cmf.sec * 4.1
      : 4.1 seconds
    • -
    • cmf.min * 138
      : 2.3 hours (138 min)
    • -
    • cmf.h * 2.3
      : 2.3 hours (138 min)
    • -
    • cmf.day * 2.5
      : 60 hours (2.5 days)
    • -
    • cmf.week
      : 7 days
    • -
    • cmf.month
      : 365/12 days (30.4167 days)
    • -
    • cmf.year
      : 365 days
    • +
    • cmf.sec * 4.1
      +
      The main namespace of the model framework. Contains the other namespaces and the project class.
      Definition __init__.py:1
      +
      : 4.1 seconds
    • +
    • cmf.min * 138
      +
      : 2.3 hours (138 min)
    • +
    • cmf.h * 2.3
      +
      : 2.3 hours (138 min)
    • +
    • cmf.day * 2.5
      +
      : 60 hours (2.5 days)
    • +
    • cmf.week
      +
      : 7 days
    • +
    • cmf.month
      +
      : 365/12 days (30.4167 days)
    • +
    • cmf.year
      +
      : 365 days

    Available operators:

      @@ -126,7 +150,12 @@
    • >, <, ==, !=

    Conversions

    -

    Converting to python datetime

    import cmf
    pythontime = cmf.year.AsPython()
    cmftime=cmf.AsCMFTime(pythontime)
    print type(pythontime) # type 'datetime.datetime'
    print type(cmftime) # '<class 'cmf.Time'>

    Converting to numbers

    +

    Converting to python datetime

    import cmf
    +
    pythontime = cmf.year.AsPython()
    +
    cmftime=cmf.AsCMFTime(pythontime)
    +
    print type(pythontime) # type 'datetime.datetime'
    +
    print type(cmftime) # '<class 'cmf.Time'>
    +

    Converting to numbers

    • t.AsMilliseconds()
    • t.AsSeconds()
    • @@ -135,167 +164,163 @@
    • t.AsDays()
    • t.AsYears()
    -

    Creating time ranges

    import cmf
    start=cmf.Time(5,1,2001)
    end=cmf.Time(6,1,2001)
    step=cmf.h * 6
    for t in cmf.timerange(start,end,step):
    print t.AsDate()
    # Prints:
    # 05.01.2001
    # 05.01.2001 06:00
    # 05.01.2001 12:00
    # 05.01.2001 18:00
    - - +

    +

    Creating time ranges

    import cmf
    +
    start=cmf.Time(5,1,2001)
    +
    end=cmf.Time(6,1,2001)
    +
    step=cmf.h * 6
    +
    for t in cmf.timerange(start,end,step):
    +
    print t.AsDate()
    +
    # Prints:
    +
    # 05.01.2001
    +
    # 05.01.2001 06:00
    +
    # 05.01.2001 12:00
    +
    # 05.01.2001 18:00
    +
    + - + - + - + - + - - - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - + + + + + + + + - - + + - - - - - - - - + + + + + + + + - - + + - - - - - - - - - - - + + + + + + + + + + + - + - - + + - - + + - - + + - - + + - - + + - - + +

    Public Member Functions

    Constructors
    Time (int day, int month, int year, int hour=0, int minute=0, int second=0, int ms=0)
    Time (int day, int month, int year, int hour=0, int minute=0, int second=0, int ms=0)
     Construction from date and stores the time as Excel-Time (0 = 31.12.1899 0:00:00)
     
    Time (Date date)
    Time (Date date)
     Conversion constructor.
     
    Time (const Time &t)
    Time (const Time &t)
     Copy constructor.
     
    Time ()
    Time ()
     Standard constructor.
     
    Time (long long milliseconds)
     
    Time unit conversion
    -double AsDays () const
     Time in days.
    +double AsDays () const
     Time in days.
     
    -double AsHours () const
     Time in hours.
    +double AsHours () const
     Time in hours.
     
    -double AsMinutes () const
     Time in minutes.
    +double AsMinutes () const
     Time in minutes.
     
    -double AsSeconds () const
     Time in seconds.
    +double AsSeconds () const
     Time in seconds.
     
    -long long AsMilliseconds () const
     Time in milliseconds.
    +long long AsMilliseconds () const
     Time in milliseconds.
     
    -Date AsDate () const
     
    -std::string to_string (char seperator=':')
     
    -bool is_not_0 () const
     
    -double DOY () const
     
    Arithmetic operators
    -Time operator+ (const Time &t1) const
     Time = Time + Time.
    +Time operator+ (const Time &t1) const
     Time = Time + Time.
     
    -Time operator- (const Time &t1) const
     Time = Time - Time.
    +Time operator- (const Time &t1) const
     Time = Time - Time.
     
    -Time operator+= (const Time &t1)
     Time += Time.
    +Time operator+= (const Time &t1)
     Time += Time.
     
    -Time operator-= (const Time &t1)
     Time -= Time.
    +Time operator-= (const Time &t1)
     Time -= Time.
     
    -Time operator* (double x) const
     Time = Time * double.
    +Time operator* (double x) const
     Time = Time * double.
     
    -Time operator/ (double x) const
     Time = Time / double.
    +Time operator/ (double x) const
     Time = Time / double.
     
    -Time operator% (const Time &t1) const
     Time = Time % Time.
    +Time operator% (const Time &t1) const
     Time = Time % Time.
     
    -Timeoperator*= (double x)
     Time *= double.
     
    -Timeoperator/= (double x)
     Time /= double.
     
    -Time operator* (long long x) const
     Time = Time * int.
    +Timeoperator*= (double x)
     Time *= double.
     
    +Timeoperator/= (double x)
     Time /= double.
     
    +Time operator* (long long x) const
     Time = Time * int.
     
    -Time operator/ (long long x) const
     Time = Time / int.
    +Time operator/ (long long x) const
     Time = Time / int.
     
    -Timeoperator*= (long long x)
     Time *= int.
     
    -Timeoperator/= (long long x)
     Time /= int.
     
    -Time operator* (int x) const
     Time = Time * int.
    +Timeoperator*= (long long x)
     Time *= int.
     
    +Timeoperator/= (long long x)
     Time /= int.
     
    +Time operator* (int x) const
     Time = Time * int.
     
    -Time operator/ (int x) const
     Time = Time / int.
    +Time operator/ (int x) const
     Time = Time / int.
     
    -Timeoperator*= (int x)
     Time *= int.
     
    -Timeoperator/= (int x)
     Time /= int.
     
    -Timeoperator%= (const Time &t1)
     Time %= Time.
     
    -double operator/ (const Time &t1) const
     double = Time / Time
    +Timeoperator*= (int x)
     Time *= int.
     
    +Timeoperator/= (int x)
     Time /= int.
     
    +Timeoperator%= (const Time &t1)
     Time %= Time.
     
    +double operator/ (const Time &t1) const
     double = Time / Time
     
    -long long times_in (const Time &t1) const
    +long long times_in (const Time &t1) const
     Returns the number of times this is included in t1.
     
    Boolean Operators
    -bool operator< (const Time &t1) const
     bool = Time < Time
    +bool operator< (const Time &t1) const
     bool = Time < Time
     
    -bool operator> (const Time &t1) const
     bool = Time > Time
    +bool operator> (const Time &t1) const
     bool = Time > Time
     
    -bool operator<= (const Time &t1) const
     bool = Time <= Time
    +bool operator<= (const Time &t1) const
     bool = Time <= Time
     
    -bool operator>= (const Time &t1) const
     bool = Time >= Time
    +bool operator>= (const Time &t1) const
     bool = Time >= Time
     
    -bool operator== (const Time &t1) const
     bool = Time == Time
    +bool operator== (const Time &t1) const
     bool = Time == Time
     
    -bool operator!= (const Time &t1) const
     bool = Time != Time
    +bool operator!= (const Time &t1) const
     bool = Time != Time
     
    @@ -306,7 +331,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    Generated: Fri Apr 26 2019 12:43:43Generated: Fri Jan 19 2024 16:10:56
    diff --git a/docs/classcmf_1_1math_1_1_time.js b/docs/classcmf_1_1math_1_1_time.js index 53012956..705c1391 100644 --- a/docs/classcmf_1_1math_1_1_time.js +++ b/docs/classcmf_1_1math_1_1_time.js @@ -11,24 +11,24 @@ var classcmf_1_1math_1_1_time = [ "AsSeconds", "classcmf_1_1math_1_1_time.html#a93e9768a20c2e287972589524f0be6e9", null ], [ "operator!=", "classcmf_1_1math_1_1_time.html#a280f8d7a270781021d88132be395910b", null ], [ "operator%", "classcmf_1_1math_1_1_time.html#a64b5d2040035e0e6da61712f42065292", null ], - [ "operator%=", "classcmf_1_1math_1_1_time.html#acd8cc59fcbfc63acb3c2030777b1242f", null ], + [ "operator%=", "classcmf_1_1math_1_1_time.html#af1a913f10b1ebfd225f6de50eb39e476", null ], [ "operator*", "classcmf_1_1math_1_1_time.html#a539d6c95a9d48b0176276cbdb4c4aba4", null ], - [ "operator*", "classcmf_1_1math_1_1_time.html#a2fb988039abb183dd6e57c7619e498ec", null ], [ "operator*", "classcmf_1_1math_1_1_time.html#a65456ebd77c3aa9910221fc00de77174", null ], - [ "operator*=", "classcmf_1_1math_1_1_time.html#adf3ea2c776180d9560a8fa57a48ac607", null ], - [ "operator*=", "classcmf_1_1math_1_1_time.html#a70f2526d01c0015f9c7fbda62bfbd211", null ], - [ "operator*=", "classcmf_1_1math_1_1_time.html#a4a2a63f89ea84c80de8f015161eb066b", null ], + [ "operator*", "classcmf_1_1math_1_1_time.html#a2fb988039abb183dd6e57c7619e498ec", null ], + [ "operator*=", "classcmf_1_1math_1_1_time.html#ad3aff1c8c85ab2665c08a135c5b4f23e", null ], + [ "operator*=", "classcmf_1_1math_1_1_time.html#a37b61af68833bc99b3bdad0714aa3d81", null ], + [ "operator*=", "classcmf_1_1math_1_1_time.html#a0653437d62afb160ebe724848ab34657", null ], [ "operator+", "classcmf_1_1math_1_1_time.html#a463476541d12ce1c08c6db07780d9594", null ], [ "operator+=", "classcmf_1_1math_1_1_time.html#a49873a690e81dcc9710a0a84b25b5804", null ], [ "operator-", "classcmf_1_1math_1_1_time.html#a239e1ac2c99cb26dfd599ddc410c9b86", null ], [ "operator-=", "classcmf_1_1math_1_1_time.html#aa710b71ed0645fec1f1cfc18ea3c1838", null ], + [ "operator/", "classcmf_1_1math_1_1_time.html#ad7e558ef725e877318656d461d02b696", null ], [ "operator/", "classcmf_1_1math_1_1_time.html#a8d51d41610ad622e229fc1dcaad073fd", null ], - [ "operator/", "classcmf_1_1math_1_1_time.html#afc735a86d26fc3d361bf1fd160350b3c", null ], [ "operator/", "classcmf_1_1math_1_1_time.html#a74ea2b0d5d6647226802394e0998ba2a", null ], - [ "operator/", "classcmf_1_1math_1_1_time.html#ad7e558ef725e877318656d461d02b696", null ], - [ "operator/=", "classcmf_1_1math_1_1_time.html#a056c8572f3aa874d5eba9235c2406a84", null ], - [ "operator/=", "classcmf_1_1math_1_1_time.html#a3ce9e6b57c01f7b759d260fdb44778d2", null ], - [ "operator/=", "classcmf_1_1math_1_1_time.html#a1202df4543285739ef1e2e22b0df2325", null ], + [ "operator/", "classcmf_1_1math_1_1_time.html#afc735a86d26fc3d361bf1fd160350b3c", null ], + [ "operator/=", "classcmf_1_1math_1_1_time.html#afb202f7376ed8f0be861571bae72d705", null ], + [ "operator/=", "classcmf_1_1math_1_1_time.html#aff8e0bfa4eee40929a13010657e147f0", null ], + [ "operator/=", "classcmf_1_1math_1_1_time.html#aa6f803461ac257994e0fa3abeabb5f3e", null ], [ "operator<", "classcmf_1_1math_1_1_time.html#ab47cc1bf0af79d15f59680479443e606", null ], [ "operator<=", "classcmf_1_1math_1_1_time.html#aeebd404fa244b9def098e1c37fdf0330", null ], [ "operator==", "classcmf_1_1math_1_1_time.html#a66835a61b4ad05e6195e7158fa41b002", null ], diff --git a/docs/classcmf_1_1math_1_1cubicspline-members.html b/docs/classcmf_1_1math_1_1cubicspline-members.html index 01e9687c..591838dd 100644 --- a/docs/classcmf_1_1math_1_1cubicspline-members.html +++ b/docs/classcmf_1_1math_1_1cubicspline-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,20 +93,25 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    cubicspline Member List
    +
    cubicspline Member List

    This is the complete list of members for cubicspline, including all inherited members.

    - -
    +
    diff --git a/docs/classcmf_1_1math_1_1cubicspline.html b/docs/classcmf_1_1math_1_1cubicspline.html index 9e5c83c2..e5fc5bc3 100644 --- a/docs/classcmf_1_1math_1_1cubicspline.html +++ b/docs/classcmf_1_1math_1_1cubicspline.html @@ -2,33 +2,37 @@ - - - - -cmf: cubicspline Class Reference - - - - + + + + + cmf: cubicspline Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,21 +93,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    cubicspline Class Reference
    +
    cubicspline Class Reference

    Interpolates points with a cubic spline interpolation. - More...

    + More...

    Detailed Description

    Interpolates points with a cubic spline interpolation.

    Code is modified after: http://ganeshtiwaridotcomdotnp.blogspot.de/2009/12/c-c-code-cubic-spline-interpolation.html

    @@ -114,7 +125,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:41 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1integratable-members.html b/docs/classcmf_1_1math_1_1integratable-members.html deleted file mode 100644 index 7a94015d..00000000 --- a/docs/classcmf_1_1math_1_1integratable-members.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0b2
    -
    catchment modelling framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    integratable Member List
    -
    -
    - -

    This is the complete list of members for integratable, including all inherited members.

    - - - - - -
    avg() const =0integratablepure virtual
    integrate(Time t)=0integratablepure virtual
    reset(Time t)=0integratablepure virtual
    sum() const =0integratablepure virtual
    -
    - - - diff --git a/docs/classcmf_1_1math_1_1integratable.html b/docs/classcmf_1_1math_1_1integratable.html deleted file mode 100644 index e86528db..00000000 --- a/docs/classcmf_1_1math_1_1integratable.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - -cmf: integratable Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0b2
    -
    catchment modelling framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    integratable Class Referenceabstract
    -
    -
    - -

    integratable is a functionality for different classes for integrating values over time. - More...

    -
    - + Inheritance diagram for integratable:
    -
    -
    - -

    Detailed Description

    -

    integratable is a functionality for different classes for integrating values over time.

    -

    Main usage of an integratable is the calculation of average fluxes over time e.g.

    -\[ \int_{t_0}^{t_{end}}q\left(t,V_i,V_j\right)dt \] -

    -
    - - - - - - - - - - - - - -

    -Public Member Functions

    -virtual double avg () const =0
     Returns average of the integrated variable (eg. flux) from the last reset until the last call of integrate.
     
    -virtual void integrate (Time t)=0
     Integrates the variable until time t.
     
    -virtual void reset (Time t)=0
     Sets the start time of the integral.
     
    -virtual double sum () const =0
     Get the integral from the last reset until the last call of integrate.
     
    -
    -
    - - - diff --git a/docs/classcmf_1_1math_1_1integratable.js b/docs/classcmf_1_1math_1_1integratable.js deleted file mode 100644 index 8954335d..00000000 --- a/docs/classcmf_1_1math_1_1integratable.js +++ /dev/null @@ -1,7 +0,0 @@ -var classcmf_1_1math_1_1integratable = -[ - [ "avg", "classcmf_1_1math_1_1integratable.html#ab0dd17999c81d031c3ef5b7251ce03b9", null ], - [ "integrate", "classcmf_1_1math_1_1integratable.html#ae55c30f6c00750c6bcdccf63e75b274b", null ], - [ "reset", "classcmf_1_1math_1_1integratable.html#a612ebc711d807c7c2e179397a94a22eb", null ], - [ "sum", "classcmf_1_1math_1_1integratable.html#ad21e17a4db5da39c07c9fe122179b039", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1integratable__inherit__graph.map b/docs/classcmf_1_1math_1_1integratable__inherit__graph.map deleted file mode 100644 index 317eb5ef..00000000 --- a/docs/classcmf_1_1math_1_1integratable__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classcmf_1_1math_1_1integratable__inherit__graph.md5 b/docs/classcmf_1_1math_1_1integratable__inherit__graph.md5 deleted file mode 100644 index 525d0500..00000000 --- a/docs/classcmf_1_1math_1_1integratable__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d99587f1fad9d2182f9859104db8a676 \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1integratable__inherit__graph.png b/docs/classcmf_1_1math_1_1integratable__inherit__graph.png deleted file mode 100644 index 73d5710e..00000000 Binary files a/docs/classcmf_1_1math_1_1integratable__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1math_1_1integratable__list-members.html b/docs/classcmf_1_1math_1_1integratable__list-members.html deleted file mode 100644 index 3b81c2ce..00000000 --- a/docs/classcmf_1_1math_1_1integratable__list-members.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0b2
    -
    catchment modelling framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    integratable_list Member List
    -
    -
    - -

    This is the complete list of members for integratable_list, including all inherited members.

    - - - - -
    append(cmf::math::integratable::ptr add)integratable_list
    remove(cmf::math::integratable::ptr rm)integratable_list
    size() constintegratable_list
    -
    - - - diff --git a/docs/classcmf_1_1math_1_1integratable__list.html b/docs/classcmf_1_1math_1_1integratable__list.html deleted file mode 100644 index 4c53856a..00000000 --- a/docs/classcmf_1_1math_1_1integratable__list.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - -cmf: integratable_list Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0b2
    -
    catchment modelling framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    integratable_list Class Reference
    -
    -
    - -

    A list of cmf::math::integratable objects. - More...

    -

    Detailed Description

    -

    A list of cmf::math::integratable objects.

    -
    Todo:
    TODO: Complete collection interface (getitem with slicing etc.)
    -
    - - - - - - - - - - -

    -Public Member Functions

    -void append (cmf::math::integratable::ptr add)
     Adds an integratable to the list.
     
    -void remove (cmf::math::integratable::ptr rm)
     Removes an integratable from the list.
     
    -size_t size () const
     Number of integratables in the list.
     
    -
    -
    - - - diff --git a/docs/classcmf_1_1math_1_1integratable__list.js b/docs/classcmf_1_1math_1_1integratable__list.js deleted file mode 100644 index 927bfaba..00000000 --- a/docs/classcmf_1_1math_1_1integratable__list.js +++ /dev/null @@ -1,6 +0,0 @@ -var classcmf_1_1math_1_1integratable__list = -[ - [ "append", "classcmf_1_1math_1_1integratable__list.html#a11ad1cde61cb304878c156cc03ec1e25", null ], - [ "remove", "classcmf_1_1math_1_1integratable__list.html#ae0187102ef9dc1e88342426159feee9c", null ], - [ "size", "classcmf_1_1math_1_1integratable__list.html#a259cb5a711406a8c3e5d937eb9350cca", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1math_1_1num__array-members.html b/docs/classcmf_1_1math_1_1num__array-members.html index d8bf3322..9f055941 100644 --- a/docs/classcmf_1_1math_1_1num__array-members.html +++ b/docs/classcmf_1_1math_1_1num__array-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,21 +93,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    num_array Member List
    +
    num_array Member List

    This is the complete list of members for num_array, including all inherited members.

    - +
    num_array()num_array
    set(const num_array &other)num_array
    set(const num_array &other)num_array
    ~num_array()num_array
    @@ -112,7 +123,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:42 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1num__array.html b/docs/classcmf_1_1math_1_1num__array.html index bc5e156a..5a6f344e 100644 --- a/docs/classcmf_1_1math_1_1num__array.html +++ b/docs/classcmf_1_1math_1_1num__array.html @@ -2,33 +2,37 @@ - - - - -cmf: num_array Class Reference - - - - + + + + + cmf: num_array Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,42 +93,48 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    num_array Class Reference
    +
    num_array Class Reference

    A valarray kind of vector implementation with OpenMP capabilities. - More...

    + More...

    Detailed Description

    A valarray kind of vector implementation with OpenMP capabilities.

    - - + - + - - + +

    +

    Public Member Functions

    num_array ()
    num_array ()
     constructors
     
    ~num_array ()
    ~num_array ()
     destructor
     
    void set (const num_array &other)
     Prevents deletion of the stored data. More...
    void set (const num_array &other)
     Prevents deletion of the stored data.
     

    Member Function Documentation

    - -

    ◆ set()

    + +

    ◆ set()

    @@ -131,8 +142,7 @@

    void set ( - const num_array &  - other) + const num_array & other) @@ -151,7 +161,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:42 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1timeseries-members.html b/docs/classcmf_1_1math_1_1timeseries-members.html index 57c91976..a4277b69 100644 --- a/docs/classcmf_1_1math_1_1timeseries-members.html +++ b/docs/classcmf_1_1math_1_1timeseries-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,41 +93,47 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    timeseries Member List
    +
    timeseries Member List

    This is the complete list of members for timeseries, including all inherited members.

    - + - + - - - - - - - - - + + + + + + + + + - + - + - + - +
    add(double Value)timeseries
    begin() consttimeseries
    begin() consttimeseries
    count_values() consttimeseries
    end() consttimeseries
    end() consttimeseries
    interpolationpower() consttimeseries
    is_empty() consttimeseries
    operator*=(cmf::math::timeseries)timeseries
    operator*=(double)timeseries
    operator+=(cmf::math::timeseries)timeseries
    operator+=(double)timeseries
    operator-=(cmf::math::timeseries)timeseries
    operator-=(double)timeseries
    operator/=(cmf::math::timeseries)timeseries
    operator/=(double)timeseries
    is_empty() consttimeseries
    operator*=(cmf::math::timeseries)timeseries
    operator*=(double)timeseries
    operator+=(cmf::math::timeseries)timeseries
    operator+=(double)timeseries
    operator-=(cmf::math::timeseries)timeseries
    operator-=(double)timeseries
    operator/=(cmf::math::timeseries)timeseries
    operator/=(double)timeseries
    operator[](cmf::math::Time t) consttimeseries
    operator[](ptrdiff_t i)timeseries
    operator[](ptrdiff_t i)timeseries
    reduce_avg(cmf::math::Time begin, cmf::math::Time step) consttimeseries
    reduce_max(cmf::math::Time begin, cmf::math::Time step) consttimeseries
    reduce_max(cmf::math::Time begin, cmf::math::Time step) consttimeseries
    reduce_min(cmf::math::Time begin, cmf::math::Time step) consttimeseries
    reduce_sum(cmf::math::Time begin, cmf::math::Time step) consttimeseries
    reduce_sum(cmf::math::Time begin, cmf::math::Time step) consttimeseries
    size() consttimeseries
    step() consttimeseries
    step() consttimeseries
    timeseries(cmf::math::Time begin=cmf::math::Time(), cmf::math::Time step=cmf::math::day, int interpolationmethod=1, size_t count=0)timeseries
    @@ -132,7 +143,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:43 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1timeseries.html b/docs/classcmf_1_1math_1_1timeseries.html index 4f3e4521..8f4fe198 100644 --- a/docs/classcmf_1_1math_1_1timeseries.html +++ b/docs/classcmf_1_1math_1_1timeseries.html @@ -2,33 +2,37 @@ - - - - -cmf: timeseries Class Reference - - - - + + + + + cmf: timeseries Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,71 +93,101 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    timeseries Class Reference
    +
    timeseries Class Reference

    A timeseries is a list of values, equally distributed over time. - More...

    + More...

    Detailed Description

    A timeseries is a list of values, equally distributed over time.

    To create one, one have to provide as start date and a step size. The end time is calculated from the number of values. Values queried for times before the start time are returned as the first item, values after the end time equal the last item. A timeseries with only one item reacts like a scalar value.

    -

    Creating a time series

    import cmf
    # Start date is the January 5th 2001 at 2:30 pm
    start=cmf.Time(5,1,2001,14,30)
    # time step of the timeseries is 20 minutes
    step=cmf.min*20
    # Type of interpolation between values
    # 0 - Nearest neighbor,
    # 1 - Linear,
    # 2 - Squared,
    # 3 - Cubic, etc.
    interpolation=1
    # Create timeseries
    timeseries=cmf.timeseries(begin=start,step=step,interpolation=interpolation)
    # add data
    timeseries.add(0.1) # Value at 2001/5/1 2:30pm is 0.1
    timeseries.add(0.2) # Value at 2001/5/1 2:50pm is 0.2
    timeseries.add(0.1) # Value at 2001/5/1 3:10pm is 0.1

    With this technique it is simple to read files or databases to fill timeseries.

    <b> Using a timeseries</b>
    -
    Query every minute between 2:15 and 3:14 pm
    for t in cmf.timerange(start,start+cmf.h,cmf.min):
    print "Time:",t.AsDate(),"Value:",timeseries[t]
    Query a specific position of the timeseries
    print timeseries[2]
    - - - + - - + - - + - - - - - - - +

    +

    Creating a time series

    import cmf
    +
    # Start date is the January 5th 2001 at 2:30 pm
    +
    start=cmf.Time(5,1,2001,14,30)
    +
    # time step of the timeseries is 20 minutes
    +
    step=cmf.min*20
    +
    # Type of interpolation between values
    +
    # 0 - Nearest neighbor,
    +
    # 1 - Linear,
    +
    # 2 - Squared,
    +
    # 3 - Cubic, etc.
    +
    interpolation=1
    +
    # Create timeseries
    +
    timeseries=cmf.timeseries(begin=start,step=step,interpolation=interpolation)
    +
    # add data
    +
    timeseries.add(0.1) # Value at 2001/5/1 2:30pm is 0.1
    +
    timeseries.add(0.2) # Value at 2001/5/1 2:50pm is 0.2
    +
    timeseries.add(0.1) # Value at 2001/5/1 3:10pm is 0.1
    +

    With this technique it is simple to read files or databases to fill timeseries.

    <b> Using a timeseries</b>
    +
    Query every minute between 2:15 and 3:14 pm
    +
    for t in cmf.timerange(start,start+cmf.h,cmf.min):
    +
    print "Time:",t.AsDate(),"Value:",timeseries[t]
    +
    Query a specific position of the timeseries
    +
    print timeseries[2]
    +
    A timeseries is a list of values, equally distributed over time.
    Definition timeseries.h:66
    +
    The main namespace of the model framework. Contains the other namespaces and the project class.
    Definition __init__.py:1
    +
    + - - + + - + - + - + - + - + - + - + - - - - + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - - - - - - - - - - - - - - - - - - - - -

    Public Member Functions

     timeseries (cmf::math::Time begin=cmf::math::Time(), cmf::math::Time step=cmf::math::day, int interpolationmethod=1, size_t count=0)
     Constructor of a time series. More...
     timeseries (cmf::math::Time begin=cmf::math::Time(), cmf::math::Time step=cmf::math::day, int interpolationmethod=1, size_t count=0)
     Constructor of a time series.
     
    -void add (double Value)
    +void add (double Value)
     Appends a measurement.
     
    -cmf::math::Time begin () const
    +cmf::math::Time begin () const
     First date of measurement.
     
    -size_t count_values () const
    +size_t count_values () const
     Number of valid values (=size - # of NaN's)
     
    -cmf::math::Time end () const
    +cmf::math::Time end () const
     Last date of measurements.
     
    -int interpolationpower () const
    +int interpolationpower () const
     Method for the interpolation (0 - Nearest neighbor, 1- linear, 2 - cubic spline (not implemented yet)
     
    -bool is_empty () const
    +bool is_empty () const
     returns true if no values are added to the timeseries
     
    -double operator[] (cmf::math::Time t) const
    +double operator[] (cmf::math::Time t) const
     Returns an interpolated value at time t.
     
    -double & operator[] (ptrdiff_t i)
     Returns a reference to the value at position i.
     
    -size_t size () const
    +double & operator[] (ptrdiff_t i)
     Returns a reference to the value at position i.
     
    +size_t size () const
     Number of items in the timeseries.
     
    -cmf::math::Time step () const
     Time between the measurements.
    +cmf::math::Time step () const
     Time between the measurements.
     
    Operators

    Binary operators defined as free operators:

    @@ -163,121 +198,58 @@
  • timeseries = timeseries x double
  • -timeseriesoperator+= (cmf::math::timeseries)
     add timeseries to this
     
    -timeseriesoperator+= (double)
     add scalar to this
     
    -timeseriesoperator-= (cmf::math::timeseries)
     Subtract timeseries from this.
     
    -timeseriesoperator-= (double)
     Subtract scalar from this.
     
    -timeseriesoperator*= (cmf::math::timeseries)
     Multiply each element of timeseries with each element of this.
     
    -timeseriesoperator*= (double)
     Multiply each element of timeseries with scalar.
     
    -timeseriesoperator/= (cmf::math::timeseries)
     Divide each element of this by each element of timeseries.
     
    -timeseriesoperator/= (double)
     Divide each element of this by scalar.
     
    -timeseries operator+ (cmf::math::timeseries) const
     
    -timeseries operator- (cmf::math::timeseries) const
     
    -timeseries operator* (cmf::math::timeseries) const
     
    -timeseries operator/ (cmf::math::timeseries) const
     
    -timeseries operator+ (double) const
     
    -timeseries operator- (double) const
     
    -timeseries operator* (double) const
     
    -timeseries operator/ (double) const
     
    -timeseries operator- () const
     
    -timeseries inv () const
     
    -timeseries reduce_min (cmf::math::Time begin, cmf::math::Time step) const
    +timeseriesoperator+= (cmf::math::timeseries)
     add timeseries to this
     
    +timeseriesoperator+= (double)
     add scalar to this
     
    +timeseriesoperator-= (cmf::math::timeseries)
     Subtract timeseries from this.
     
    +timeseriesoperator-= (double)
     Subtract scalar from this.
     
    +timeseriesoperator*= (cmf::math::timeseries)
     Multiply each element of timeseries with each element of this.
     
    +timeseriesoperator*= (double)
     Multiply each element of timeseries with scalar.
     
    +timeseriesoperator/= (cmf::math::timeseries)
     Divide each element of this by each element of timeseries.
     
    +timeseriesoperator/= (double)
     Divide each element of this by scalar.
     
    +timeseries reduce_min (cmf::math::Time begin, cmf::math::Time step) const
     Creates a timeseries with a bigger timestep, containing the minimum.
     
    -timeseries reduce_max (cmf::math::Time begin, cmf::math::Time step) const
    +timeseries reduce_max (cmf::math::Time begin, cmf::math::Time step) const
     Creates a timeseries with a bigger timestep, containing the maximum.
     
    -timeseries reduce_sum (cmf::math::Time begin, cmf::math::Time step) const
    +timeseries reduce_sum (cmf::math::Time begin, cmf::math::Time step) const
     Creates a timeseries with a bigger timestep, containing the sum.
     
    -timeseries reduce_avg (cmf::math::Time begin, cmf::math::Time step) const
    +timeseries reduce_avg (cmf::math::Time begin, cmf::math::Time step) const
     Creates a timeseries with a bigger timestep, containing the average.
     
    -timeseries floating_avg (cmf::math::Time window_width) const
     
    -timeseries floating_avg (size_t window_size) const
     
    -timeseries floating_max (cmf::math::Time window_width) const
     
    -timeseries floating_min (cmf::math::Time window_width) const
     
    -double mean () const
     
    -double min () const
     
    -double max () const
     
    -timeseries log () const
     
    -timeseries log10 () const
     
    -timeseries power (double exponent) const
     
    -timeseries exp () const
     

    Constructor & Destructor Documentation

    - -

    ◆ timeseries()

    + +

    ◆ timeseries()

    @@ -285,31 +257,22 @@

    timeseries

    (cmf::math::Time begin = cmf::math::Time(), cmf::math::Time begin = cmf::math::Time(),
    cmf::math::Time step = cmf::math::day, cmf::math::Time step = cmf::math::day,
    int interpolationmethod = 1, int interpolationmethod = 1,
    size_t count = 0 
    )size_t count = 0 )
    @@ -318,7 +281,7 @@

    Parameters
    - +
    beginFirst date of measurement
    stepTime between measurements
    stepTime between measurements
    interpolationmethodMethod for the interpolation (0 - Nearest neighbor, 1- linear, 2 - cubic spline (not implemented yet)
    countInitial number of items. Items are filled with 0.0
    @@ -335,7 +298,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:43 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1math_1_1timeseries.js b/docs/classcmf_1_1math_1_1timeseries.js index 0063848e..f13bd4b6 100644 --- a/docs/classcmf_1_1math_1_1timeseries.js +++ b/docs/classcmf_1_1math_1_1timeseries.js @@ -7,16 +7,16 @@ var classcmf_1_1math_1_1timeseries = [ "end", "classcmf_1_1math_1_1timeseries.html#a476e1f1abf47409f098f3441de9dff28", null ], [ "interpolationpower", "classcmf_1_1math_1_1timeseries.html#ac4db53e4a0bc9c367906559e23581487", null ], [ "is_empty", "classcmf_1_1math_1_1timeseries.html#a5a2b7a58dc85678d08752945ff655362", null ], - [ "operator*=", "classcmf_1_1math_1_1timeseries.html#a4c3530b3b79aa2a880d46c580c9943e6", null ], - [ "operator*=", "classcmf_1_1math_1_1timeseries.html#a5c3a8df27f14a3c00022e5907619d9d2", null ], - [ "operator+=", "classcmf_1_1math_1_1timeseries.html#af595d211779d3d9eb5eca5d5cb4cc993", null ], - [ "operator+=", "classcmf_1_1math_1_1timeseries.html#aedc48437dafcec2d1a084e88d20b2234", null ], - [ "operator-=", "classcmf_1_1math_1_1timeseries.html#a2f547d96c273656a412c33f6c7b9d665", null ], - [ "operator-=", "classcmf_1_1math_1_1timeseries.html#a981d65e38dcaeee8dde8a63d366d843a", null ], - [ "operator/=", "classcmf_1_1math_1_1timeseries.html#aef5b1ba65f247b6880ffaec6fbddc4dc", null ], - [ "operator/=", "classcmf_1_1math_1_1timeseries.html#aa5e1e5afe17de7d1af66831dd79ae675", null ], + [ "operator*=", "classcmf_1_1math_1_1timeseries.html#a90c3f06314569e4eaeb2c40edf881d5c", null ], + [ "operator*=", "classcmf_1_1math_1_1timeseries.html#ab3db8b05e911d741d4ec7c95ff579798", null ], + [ "operator+=", "classcmf_1_1math_1_1timeseries.html#a542770ca217a136d082b3f372d44ea94", null ], + [ "operator+=", "classcmf_1_1math_1_1timeseries.html#a3b48909d37c7f33d508678f08840d780", null ], + [ "operator-=", "classcmf_1_1math_1_1timeseries.html#a028c6fdf2d63462017e2939c03aa0c0c", null ], + [ "operator-=", "classcmf_1_1math_1_1timeseries.html#a2e9d40d366e11b19a51001d7089bc804", null ], + [ "operator/=", "classcmf_1_1math_1_1timeseries.html#a4cc82f1151b429aa3144cfeda8fa3271", null ], + [ "operator/=", "classcmf_1_1math_1_1timeseries.html#a2a7a75f874792ce76237287e015771f5", null ], [ "operator[]", "classcmf_1_1math_1_1timeseries.html#ae9777c24e0d977b4b54f235c826e8be0", null ], - [ "operator[]", "classcmf_1_1math_1_1timeseries.html#a9ac6ecfd5321bb97114021c7a24319b4", null ], + [ "operator[]", "classcmf_1_1math_1_1timeseries.html#a8ee905623f7b43f7e786fa437da4b679", null ], [ "reduce_avg", "classcmf_1_1math_1_1timeseries.html#a4134691b2b5827253090d95c28d4b729", null ], [ "reduce_max", "classcmf_1_1math_1_1timeseries.html#a485a02c1972b06314abbc2e462440162", null ], [ "reduce_min", "classcmf_1_1math_1_1timeseries.html#afc83ee62b2c7b06c246cdf374d1b4768", null ], diff --git a/docs/classcmf_1_1project-members.html b/docs/classcmf_1_1project-members.html index 9acdfd8b..2c11f314 100644 --- a/docs/classcmf_1_1project-members.html +++ b/docs/classcmf_1_1project-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,41 +93,47 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    project Member List
    +
    project Member List

    This is the complete list of members for project, including all inherited members.

    - - + + - + - - - + + + - + - + - + - + - + - + - +
    get_cell(ptrdiff_t index)project
    get_cells() constproject
    get_cell(ptrdiff_t index)project
    get_cells() constproject
    get_node(ptrdiff_t index)project
    get_reach(ptrdiff_t index)project
    get_reach(ptrdiff_t index)project
    get_storages()project
    meteo_stationsproject
    NewCell(double x, double y, double z, double area, bool with_surfacewater=false)project
    NewNeumannBoundary(std::string name, cmf::water::WaterStorage::ptr target)project
    meteo_stationsproject
    NewCell(double x, double y, double z, double area, bool with_surfacewater=false)project
    NewNeumannBoundary(std::string name, cmf::water::WaterStorage::ptr target)project
    NewOpenStorage(std::string name, double x, double y, double z, double area)project
    NewOutlet(std::string name, double x=0, double y=0, double z=0)project
    NewOutlet(std::string name, double x=0, double y=0, double z=0)project
    NewReach(double x, double y, double z, cmf::river::IChannel &shape, bool diffusive=false)project
    NewStorage(std::string name, double x=0, double y=0, double z=0)project
    NewStorage(std::string name, double x=0, double y=0, double z=0)project
    node_count() constproject
    project(std::string solute_names="")project
    project(std::string solute_names="")project
    rainfall_stationsproject
    reach_count() constproject
    reach_count() constproject
    remove_node(cmf::water::flux_node::ptr node)project
    size() constproject
    size() constproject
    solutesproject
    use_IDW_meteo(double z_weight=0, double power=2)project
    use_IDW_meteo(double z_weight=0, double power=2)project
    use_IDW_rainfall(double z_weight=0, double power=2)project
    use_nearest_meteo(double z_weight=0)project
    use_nearest_meteo(double z_weight=0)project
    use_nearest_rainfall(double z_weight=0)project
    @@ -132,7 +143,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:39 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1project.html b/docs/classcmf_1_1project.html index 5ec90ba9..c7481611 100644 --- a/docs/classcmf_1_1project.html +++ b/docs/classcmf_1_1project.html @@ -2,33 +2,37 @@ - - - - -cmf: project Class Reference - - - - + + + + + cmf: project Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    project Class Reference
    +
    project Class Reference

    The study area, holding all cells, outlets and streams. - More...

    -
    + More...

    +
    + Collaboration diagram for project:

    Detailed Description

    The study area, holding all cells, outlets and streams.

    -
    Todo:
    Describe tracers
    - - - + + - - - - - - - + + + + + + + - + - + - - - - - + + + + + - - + + - - + + - - + + - - + + - + - + - - + + - + - - + + - - + + - - + + - - + +

    +

    Public Member Functions

     project (std::string solute_names="")
     Creates a new project. More...
     project (std::string solute_names="")
     Creates a new project.
     
    -upslope::Cellget_cell (ptrdiff_t index)
     Returns the reference to the cell at index in the project.
     
    -const upslope::cell_vectorget_cells () const
     Returns the cells in the project.
     
    -cmf::water::flux_node::ptr get_node (ptrdiff_t index)
    +upslope::Cellget_cell (ptrdiff_t index)
     Returns the reference to the cell at index in the project.
     
    +const upslope::cell_vectorget_cells () const
     Returns the cells in the project.
     
    +cmf::water::flux_node::ptr get_node (ptrdiff_t index)
     Returns the node from the project nodes at index.
     
    -cmf::river::Reach::ptr get_reach (ptrdiff_t index)
    +cmf::river::Reach::ptr get_reach (ptrdiff_t index)
     Returns the reach at index.
     
    -cmf::water::node_list get_storages ()
    +cmf::water::node_list get_storages ()
     Returns a list of all storages of this project.
     
    cmf::upslope::CellNewCell (double x, double y, double z, double area, bool with_surfacewater=false)
     Creates a new cell. More...
     
    cmf::water::NeumannBoundary::ptr NewNeumannBoundary (std::string name, cmf::water::WaterStorage::ptr target)
     Creates a new Neumann boundary for a target water storage. More...
    cmf::upslope::CellNewCell (double x, double y, double z, double area, bool with_surfacewater=false)
     Creates a new cell.
     
    cmf::water::NeumannBoundary::ptr NewNeumannBoundary (std::string name, cmf::water::WaterStorage::ptr target)
     Creates a new Neumann boundary for a target water storage.
     
    cmf::river::OpenWaterStorage::ptr NewOpenStorage (std::string name, double x, double y, double z, double area)
     Creates a new open water storage with a prism geometry. More...
    cmf::river::OpenWaterStorage::ptr NewOpenStorage (std::string name, double x, double y, double z, double area)
     Creates a new open water storage with a prism geometry.
     
    cmf::water::DirichletBoundary::ptr NewOutlet (std::string name, double x=0, double y=0, double z=0)
     Creates a new Dirichlet boundary condition and adds it to the list of outlets The potential of the Dirichlet boundary equals z, but can be changed. More...
    cmf::water::DirichletBoundary::ptr NewOutlet (std::string name, double x=0, double y=0, double z=0)
     Creates a new Dirichlet boundary condition and adds it to the list of outlets The potential of the Dirichlet boundary equals z, but can be changed.
     
    cmf::river::Reach::ptr NewReach (double x, double y, double z, cmf::river::IChannel &shape, bool diffusive=false)
     Creates a new reach. More...
    cmf::river::Reach::ptr NewReach (double x, double y, double z, cmf::river::IChannel &shape, bool diffusive=false)
     Creates a new reach.
     
    cmf::water::WaterStorage::ptr NewStorage (std::string name, double x=0, double y=0, double z=0)
     Creates a new generic water storage at position x,y,z. More...
    cmf::water::WaterStorage::ptr NewStorage (std::string name, double x=0, double y=0, double z=0)
     Creates a new generic water storage at position x,y,z.
     
    -size_t node_count () const
    +size_t node_count () const
     Returns the number of nodes saved with this project.
     
    -size_t reach_count () const
    +size_t reach_count () const
     Returns the number of reaches in this project.
     
    size_t remove_node (cmf::water::flux_node::ptr node)
     Removes a node from the repository. More...
    size_t remove_node (cmf::water::flux_node::ptr node)
     Removes a node from the repository.
     
    -size_t size () const
    +size_t size () const
     The number of cells in the project.
     
    void use_IDW_meteo (double z_weight=0, double power=2)
     Uses IDW interpolation to generate meterological data for each cell of project. More...
    void use_IDW_meteo (double z_weight=0, double power=2)
     Uses IDW interpolation to generate meterological data for each cell of project.
     
    void use_IDW_rainfall (double z_weight=0, double power=2)
     Uses IDW interpolation to generate rainfall data for each cell of project. More...
    void use_IDW_rainfall (double z_weight=0, double power=2)
     Uses IDW interpolation to generate rainfall data for each cell of project.
     
    void use_nearest_meteo (double z_weight=0)
     Connects all cells of the project with its nearest meteorological station. More...
    void use_nearest_meteo (double z_weight=0)
     Connects all cells of the project with its nearest meteorological station.
     
    void use_nearest_rainfall (double z_weight=0)
     Connects all cells of the project with its nearest rainfall station. More...
    void use_nearest_rainfall (double z_weight=0)
     Connects all cells of the project with its nearest rainfall station.
     
    - - + - + - +

    +

    Public Attributes

    -cmf::atmosphere::MeteoStationList meteo_stations
    +cmf::atmosphere::MeteoStationList meteo_stations
     The meteorological stations in the project.
     
    -cmf::atmosphere::RainfallStationList rainfall_stations
    +cmf::atmosphere::RainfallStationList rainfall_stations
     The rainfall stations of the project.
     
    -const cmf::water::solute_vector solutes
    +const cmf::water::solute_vector solutes
     The solutes transported by the model.
     
    - -

    +

    Friends

    +
    class cmf::upslope::Cell
     

    Constructor & Destructor Documentation

    - -

    ◆ project()

    + +

    ◆ project()

    @@ -224,8 +238,7 @@

    project ( - std::string  - solute_names = "") + std::string solute_names = "") @@ -242,46 +255,36 @@

    Member Function Documentation

    - -

    ◆ NewCell()

    + +

    ◆ NewCell()

    - + - - + - - + - - + - - + - - - - - - - +
    cmf::upslope::Cell* NewCell cmf::upslope::Cell * NewCell (double x, double x,
    double y, double y,
    double z, double z,
    double area, double area,
    bool with_surfacewater = false 
    )bool with_surfacewater = false )
    @@ -299,8 +302,8 @@

    -

    ◆ NewNeumannBoundary()

    + +

    ◆ NewNeumannBoundary()

    @@ -337,8 +333,8 @@

    -

    ◆ NewOpenStorage()

    + +

    ◆ NewOpenStorage()

    @@ -394,8 +380,8 @@

    -

    ◆ NewOutlet()

    + +

    ◆ NewOutlet()

    @@ -443,8 +420,8 @@

    -

    ◆ NewReach()

    + +

    ◆ NewReach()

    @@ -452,37 +429,27 @@

    cmf::river::Reach::ptr NewReach ( - double  - x, + double x, - double  - y, + double y, - double  - z, + double z, - cmf::river::IChannel &  - shape, + cmf::river::IChannel & shape, - bool  - diffusive = false  - - - - ) - + bool diffusive = false )

    @@ -500,8 +467,8 @@

    -

    ◆ NewStorage()

    + +

    ◆ NewStorage()

    @@ -550,8 +508,8 @@

    -

    ◆ remove_node()

    + +

    ◆ remove_node()

    @@ -559,8 +517,7 @@

    size_t remove_node ( - cmf::water::flux_node::ptr  - node) + cmf::water::flux_node::ptr node) @@ -571,8 +528,8 @@

    -

    ◆ use_IDW_meteo()

    + +

    ◆ use_IDW_meteo()

    Uses IDW interpolation to generate meterological data for each cell of project.

    -

    Creates a meteo-data source for each cell, using spatial interpolated data from all meteorological stations of the project using Inverse Distance Weighted (IDW) interpolation. The meteorolgical value f is calculated with IDW for position x,y,z and time t as follows:

    -\begin{eqnarray*} f(x,y,z,t) &=& \sum^N_{i=1}{f_i(t) w_i(x,y,z)} \\ w_i(x,y,z) &=& \frac{d_i(x,y,z)^{-p}}{\sum^N_{j=0}{d_j(x,y,z)^{-p}}} \\ d_i(x,y,z) &=& w_z \left|z-z_i\right| + \sqrt{\left(x-x_i\right)^2 + \left(y-y_i\right)^2} \end{eqnarray*} +

    Creates a meteo-data source for each cell, using spatial interpolated data from all meteorological stations of the project using Inverse Distance Weighted (IDW) interpolation. The meteorolgical value f is calculated with IDW for position x,y,z and time t as follows:

    +\begin{eqnarray*} +f(x,y,z,t) &=& \sum^N_{i=1}{f_i(t) w_i(x,y,z)} \\ +w_i(x,y,z) &=& \frac{d_i(x,y,z)^{-p}}{\sum^N_{j=0}{d_j(x,y,z)^{-p}}} \\ +d_i(x,y,z) &=& w_z \left|z-z_i\right| + \sqrt{\left(x-x_i\right)^2 + \left(y-y_i\right)^2} +\end{eqnarray*}

    -Generated: Fri Apr 26 2019 12:43:43 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1river_1_1_i_channel.html b/docs/classcmf_1_1river_1_1_i_channel.html index e6001bc0..df280108 100644 --- a/docs/classcmf_1_1river_1_1_i_channel.html +++ b/docs/classcmf_1_1river_1_1_i_channel.html @@ -2,33 +2,37 @@ - - - - -cmf: IChannel Class Reference - - - - + + + + + cmf: IChannel Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,90 +93,104 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    IChannel Class Referenceabstract
    +
    IChannel Class Referenceabstract

    Structure for the description of structural parameters of a reach Abstract base class for different IChannel geometries. - More...

    -
    + More...

    +
    + Inheritance diagram for IChannel:
    -
    +
    + Collaboration diagram for IChannel:

    Detailed Description

    Structure for the description of structural parameters of a reach Abstract base class for different IChannel geometries.

    - - + - + - - + + - - + + - + - + - + - - + +

    +

    Public Member Functions

    -virtual double A (double V) const
    +virtual double A (double V) const
     Returns the area of the surface for a given volume.
     
    -virtual double get_channel_width (double depth) const =0
    +virtual double get_channel_width (double depth) const =0
     Calculates the flow width from a given actual depth [m] using the actual IChannel geometry.
     
    virtual double get_depth (double area) const =0
     Calculates the actual depth of the reach using the IChannel geometry. More...
    virtual double get_depth (double area) const =0
     Calculates the actual depth of the reach using the IChannel geometry.
     
    virtual double get_flux_crossection (double depth) const =0
     Calculates the wetted area from a given depth using the IChannel geometry. More...
    virtual double get_flux_crossection (double depth) const =0
     Calculates the wetted area from a given depth using the IChannel geometry.
     
    -virtual double get_length () const =0
    +virtual double get_length () const =0
     Length of the reach.
     
    -virtual double get_wetted_perimeter (double depth) const =0
    +virtual double get_wetted_perimeter (double depth) const =0
     Calculates the wetted perimeter from a given actual depth [m] using the actual IChannel geometry.
     
    -virtual double h (double V) const
    +virtual double h (double V) const
     Returns the depth of a given volume.
     
    virtual double qManning (double A, double slope) const
     Calculates the flow rate from a given water volume in the reach

    -\begin{eqnarray*} q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ R &=& \frac A {P(d)} \\ P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ \Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} \end{eqnarray*} -

    -

    . More...

    virtual double qManning (double A, double slope) const
     Calculates the flow rate from a given water volume in the reach.
     

    Member Function Documentation

    - -

    ◆ get_depth()

    + +

    ◆ get_depth()

    - -

    ◆ get_flux_crossection()

    + +

    ◆ get_flux_crossection()

    - -

    ◆ qManning()

    + +

    ◆ qManning()

    @@ -256,19 +273,12 @@

    virtual double qManning ( - double  - A, + double A, - double  - slope  - - - - ) - const + double slope ) const @@ -278,11 +288,18 @@

    -

    Calculates the flow rate from a given water volume in the reach

    -\begin{eqnarray*} q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ R &=& \frac A {P(d)} \\ P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ \Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} \end{eqnarray*} +

    Calculates the flow rate from a given water volume in the reach.

    +

    +\begin{eqnarray*} +q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ +A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ +R &=& \frac A {P(d)} \\ +P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ +d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ +\Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} +\end{eqnarray*}

    -

    .

    -
    Returns
    Flow rate [m3/s]
    +
    Returns
    Flow rate [m3/s]
    Parameters
    @@ -301,7 +318,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    AThe area of the cross section [m2]
    Generated: Fri Apr 26 2019 12:43:43Generated: Fri Jan 19 2024 16:10:56
    diff --git a/docs/classcmf_1_1river_1_1_i_channel__coll__graph.map b/docs/classcmf_1_1river_1_1_i_channel__coll__graph.map index fdaa1111..6c2617a8 100644 --- a/docs/classcmf_1_1river_1_1_i_channel__coll__graph.map +++ b/docs/classcmf_1_1river_1_1_i_channel__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1river_1_1_i_channel__coll__graph.md5 b/docs/classcmf_1_1river_1_1_i_channel__coll__graph.md5 index 1d7fa103..fee16bc8 100644 --- a/docs/classcmf_1_1river_1_1_i_channel__coll__graph.md5 +++ b/docs/classcmf_1_1river_1_1_i_channel__coll__graph.md5 @@ -1 +1 @@ -0851f5984c7ddbfdc7f08f538de97735 \ No newline at end of file +0e70809b889d9e189ad7b49519fe2fac \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_i_channel__coll__graph.png b/docs/classcmf_1_1river_1_1_i_channel__coll__graph.png index 323b6582..09f84761 100644 Binary files a/docs/classcmf_1_1river_1_1_i_channel__coll__graph.png and b/docs/classcmf_1_1river_1_1_i_channel__coll__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_i_channel__inherit__graph.map b/docs/classcmf_1_1river_1_1_i_channel__inherit__graph.map index 85fab5eb..d6d95adc 100644 --- a/docs/classcmf_1_1river_1_1_i_channel__inherit__graph.map +++ b/docs/classcmf_1_1river_1_1_i_channel__inherit__graph.map @@ -1,10 +1,19 @@ - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/docs/classcmf_1_1river_1_1_i_channel__inherit__graph.md5 b/docs/classcmf_1_1river_1_1_i_channel__inherit__graph.md5 index d7604269..e2fca75f 100644 --- a/docs/classcmf_1_1river_1_1_i_channel__inherit__graph.md5 +++ b/docs/classcmf_1_1river_1_1_i_channel__inherit__graph.md5 @@ -1 +1 @@ -57a9d3e03df03e79c7ec33c9692351c8 \ No newline at end of file +a0031cc6d4992460916ce81096168319 \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_i_channel__inherit__graph.png b/docs/classcmf_1_1river_1_1_i_channel__inherit__graph.png index 46aabd0f..613c2ad2 100644 Binary files a/docs/classcmf_1_1river_1_1_i_channel__inherit__graph.png and b/docs/classcmf_1_1river_1_1_i_channel__inherit__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_i_volume_height_function-members.html b/docs/classcmf_1_1river_1_1_i_volume_height_function-members.html index e4282a86..165d7821 100644 --- a/docs/classcmf_1_1river_1_1_i_volume_height_function-members.html +++ b/docs/classcmf_1_1river_1_1_i_volume_height_function-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,21 +93,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    IVolumeHeightFunction Member List
    +
    IVolumeHeightFunction Member List

    This is the complete list of members for IVolumeHeightFunction, including all inherited members.

    - +
    A(double V) const =0IVolumeHeightFunctionpure virtual
    h(double V) const =0IVolumeHeightFunctionpure virtual
    h(double V) const =0IVolumeHeightFunctionpure virtual

    -Generated: Fri Apr 26 2019 12:43:43 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1river_1_1_i_volume_height_function.html b/docs/classcmf_1_1river_1_1_i_volume_height_function.html index 1d133449..d5302615 100644 --- a/docs/classcmf_1_1river_1_1_i_volume_height_function.html +++ b/docs/classcmf_1_1river_1_1_i_volume_height_function.html @@ -2,33 +2,37 @@ - - - - -cmf: IVolumeHeightFunction Class Reference - - - - + + + + + cmf: IVolumeHeightFunction Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,53 +93,70 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    IVolumeHeightFunction Class Referenceabstract
    +
    IVolumeHeightFunction Class Referenceabstract

    Volume height relations are functional objects, which return a height and a crosssectional area of a volume for different geometric bodies. - More...

    -
    + More...

    +
    + Inheritance diagram for IVolumeHeightFunction:

    Detailed Description

    Volume height relations are functional objects, which return a height and a crosssectional area of a volume for different geometric bodies.

    This is the abstract base class, where the geometries derive from

    - - + - +

    +

    Public Member Functions

    -virtual double A (double V) const =0
    +virtual double A (double V) const =0
     Returns the area of the surface for a given volume.
     
    -virtual double h (double V) const =0
    +virtual double h (double V) const =0
     Returns the depth of a given volume.
     
    @@ -146,7 +168,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:43 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1river_1_1_i_volume_height_function__inherit__graph.map b/docs/classcmf_1_1river_1_1_i_volume_height_function__inherit__graph.map index 190b5ba6..341a8cec 100644 --- a/docs/classcmf_1_1river_1_1_i_volume_height_function__inherit__graph.map +++ b/docs/classcmf_1_1river_1_1_i_volume_height_function__inherit__graph.map @@ -1,12 +1,23 @@ - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/classcmf_1_1river_1_1_i_volume_height_function__inherit__graph.md5 b/docs/classcmf_1_1river_1_1_i_volume_height_function__inherit__graph.md5 index 7d66aac0..76e16bd9 100644 --- a/docs/classcmf_1_1river_1_1_i_volume_height_function__inherit__graph.md5 +++ b/docs/classcmf_1_1river_1_1_i_volume_height_function__inherit__graph.md5 @@ -1 +1 @@ -78e82378f69ee2d87a900513b7f5f837 \ No newline at end of file +91e3b28f2599188b43d6b4ac7c338b7a \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_i_volume_height_function__inherit__graph.png b/docs/classcmf_1_1river_1_1_i_volume_height_function__inherit__graph.png index cf3884c3..5eadc4d4 100644 Binary files a/docs/classcmf_1_1river_1_1_i_volume_height_function__inherit__graph.png and b/docs/classcmf_1_1river_1_1_i_volume_height_function__inherit__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_manning-members.html b/docs/classcmf_1_1river_1_1_manning-members.html index 830438b1..d1e24c89 100644 --- a/docs/classcmf_1_1river_1_1_manning-members.html +++ b/docs/classcmf_1_1river_1_1_manning-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Manning Member List
    +
    Manning Member List

    This is the complete list of members for Manning, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:43 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1river_1_1_manning.html b/docs/classcmf_1_1river_1_1_manning.html index 1572112d..503194c5 100644 --- a/docs/classcmf_1_1river_1_1_manning.html +++ b/docs/classcmf_1_1river_1_1_manning.html @@ -2,33 +2,37 @@ - - - - -cmf: Manning Class Reference - - - - + + + + + cmf: Manning Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Manning Class Referenceabstract
    +
    Manning Class Referenceabstract
    -

    Calculates the flux between two open water bodies, using Manning's equation. - More...

    -
    +

    Calculates the flux between two open water bodies, using Manning's equation. + More...

    +
    + Inheritance diagram for Manning:
    -
    +
    + Collaboration diagram for Manning:

    Detailed Description

    -

    Calculates the flux between two open water bodies, using Manning's equation.

    -

    This is the base class for a kinematic wave approach (topography driven) and a diffusive wave approach (water table driven). The only difference between both approaches is the calculation of the flux driving slope. For the model, one of ManningKinematic or ManningDiffusive connection is selected

    -\[ v = R^{\frac 2 3} \frac{\sqrt{\Delta_z}}{n} \\ q = v \cdot A \] +

    Calculates the flux between two open water bodies, using Manning's equation.

    +

    This is the base class for a kinematic wave approach (topography driven) and a diffusive wave approach (water table driven). The only difference between both approaches is the calculation of the flux driving slope. For the model, one of ManningKinematic or ManningDiffusive connection is selected

    +\[ + v = R^{\frac 2 3} \frac{\sqrt{\Delta_z}}{n} \\ + q = v \cdot A + \]

    -


    -Where:

      +

      Where:

      • \( A = \frac V l\): Crosssectional area of the wetted crossection, Volume per length
      • \( R = \frac A {P(d)}\): The hydraulic radius
      • \(P(d)\): the perimeter of the wetted crosssection, a function of reach depth
      • \(d(V)\): the depth of the reach, a function of the volume
      • \(\Delta_z = \frac{|z_1 - z_2|}{l}\): Slope of the reach
      • -
      • \(n\): Manning friction number
      • +
      • \(n\): Manning friction number

      For the kinematic wave the slope of the river bed is used as slope:

      \[\Delta_z = \frac{|z_1 - z_2|}{l}\] @@ -150,60 +171,60 @@ \[\Delta_z = \frac{|h_1 - h_2|}{l}\]

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -253,7 +268,7 @@

    real get_tracer_filter ( - ) + ) @@ -269,8 +284,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -281,8 +296,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -306,7 +320,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:43 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1river_1_1_manning___diffusive-members.html b/docs/classcmf_1_1river_1_1_manning___diffusive-members.html index 4af39389..8fbe548a 100644 --- a/docs/classcmf_1_1river_1_1_manning___diffusive-members.html +++ b/docs/classcmf_1_1river_1_1_manning___diffusive-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,34 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Manning_Diffusive Member List
    +
    Manning_Diffusive Member List

    This is the complete list of members for Manning_Diffusive, including all inherited members.

    - + - + - + - - - - - - - - + + + + + + +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    linear_slope_widthManning_Diffusive
    Manning_Diffusive(cmf::river::OpenWaterStorage::ptr left, cmf::water::flux_node::ptr right, const cmf::river::IChannel &reachtype)Manning_Diffusive
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    left_node() constflux_connection
    Manning_Diffusive(cmf::river::OpenWaterStorage::ptr left, cmf::water::flux_node::ptr right, const cmf::river::IChannel &reachtype)Manning_Diffusive
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection

    -Generated: Fri Apr 26 2019 12:43:43 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1river_1_1_manning___diffusive.html b/docs/classcmf_1_1river_1_1_manning___diffusive.html index 68951333..e91e780f 100644 --- a/docs/classcmf_1_1river_1_1_manning___diffusive.html +++ b/docs/classcmf_1_1river_1_1_manning___diffusive.html @@ -2,33 +2,37 @@ - - - - -cmf: Manning_Diffusive Class Reference - - - - + + + + + cmf: Manning_Diffusive Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Manning_Diffusive Class Reference
    +
    Manning_Diffusive Class Reference

    Connecting surface water bodies using a diffusive wave. - More...

    -
    + More...

    +
    + Inheritance diagram for Manning_Diffusive:
    -
    +
    + Collaboration diagram for Manning_Diffusive:

    Detailed Description

    Connecting surface water bodies using a diffusive wave.

    -

    This approach might not be numerical stable for deep water with small gradient cmf for experimental reasons

    -\begin{eqnarray*} q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ R &=& \frac A {P(d)} \\ P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ \Delta_z = \|\frac{h_1 - h_2}{l} \mbox{ Slope of the reach waterlevels} \\ n&=&\mbox{Manning friction number} \end{eqnarray*} +

    This approach might not be numerical stable for deep water with small gradient cmf for experimental reasons

    +\begin{eqnarray*} + q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ + A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ + R &=& \frac A {P(d)} \\ + P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ + d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ + \Delta_z = \|\frac{h_1 - h_2}{l} \mbox{ Slope of the reach waterlevels} \\ +n&=&\mbox{Manning friction number} + \end{eqnarray*}

    - - - + + - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

     Manning_Diffusive (cmf::river::OpenWaterStorage::ptr left, cmf::water::flux_node::ptr right, const cmf::river::IChannel &reachtype)
     Creates a diffusive wave connection between to open water storages. More...
     Manning_Diffusive (cmf::river::OpenWaterStorage::ptr left, cmf::water::flux_node::ptr right, const cmf::river::IChannel &reachtype)
     Creates a diffusive wave connection between to open water storages.
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - - - - +

    +

    Public Attributes

    -real linear_slope_width
     A parameter to linearize the dependency of q on slope during levelling out.
     
    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Constructor & Destructor Documentation

    - -

    ◆ Manning_Diffusive()

    + +

    ◆ Manning_Diffusive()

    @@ -203,25 +226,17 @@

    Manning_Diffusive ( - cmf::river::OpenWaterStorage::ptr  - left, + cmf::river::OpenWaterStorage::ptr left, - cmf::water::flux_node::ptr  - right, + cmf::water::flux_node::ptr right, - const cmf::river::IChannel &  - reachtype  - - - - ) - + const cmf::river::IChannel & reachtype )

    @@ -238,8 +253,8 @@

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -289,7 +298,7 @@

    real get_tracer_filter ( - ) + ) @@ -305,8 +314,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -317,8 +326,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -342,7 +350,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:43 +Generated: Fri Jan 19 2024 16:10:56 diff --git a/docs/classcmf_1_1river_1_1_manning___diffusive.js b/docs/classcmf_1_1river_1_1_manning___diffusive.js index 3bb6770a..0756bfa0 100644 --- a/docs/classcmf_1_1river_1_1_manning___diffusive.js +++ b/docs/classcmf_1_1river_1_1_manning___diffusive.js @@ -12,6 +12,5 @@ var classcmf_1_1river_1_1_manning___diffusive = [ "refresh", "classcmf_1_1river_1_1_manning___diffusive.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], [ "right_node", "classcmf_1_1river_1_1_manning___diffusive.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], [ "set_tracer_filter", "classcmf_1_1river_1_1_manning___diffusive.html#a5edf702b615e8af8d847ecd63d13eb25", null ], - [ "linear_slope_width", "classcmf_1_1river_1_1_manning___diffusive.html#ab43a4255644589afb5b99032aab46812", null ], [ "type", "classcmf_1_1river_1_1_manning___diffusive.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_manning___diffusive__coll__graph.map b/docs/classcmf_1_1river_1_1_manning___diffusive__coll__graph.map index b355a6fe..2a55cc4f 100644 --- a/docs/classcmf_1_1river_1_1_manning___diffusive__coll__graph.map +++ b/docs/classcmf_1_1river_1_1_manning___diffusive__coll__graph.map @@ -1,6 +1,11 @@ - - - - + + + + + + + + + diff --git a/docs/classcmf_1_1river_1_1_manning___diffusive__coll__graph.md5 b/docs/classcmf_1_1river_1_1_manning___diffusive__coll__graph.md5 index 81206058..1a2ff0da 100644 --- a/docs/classcmf_1_1river_1_1_manning___diffusive__coll__graph.md5 +++ b/docs/classcmf_1_1river_1_1_manning___diffusive__coll__graph.md5 @@ -1 +1 @@ -16c7200b7bb28cbbb87f70d2c62dcb44 \ No newline at end of file +12569313689076541955ff8590f0000f \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_manning___diffusive__coll__graph.png b/docs/classcmf_1_1river_1_1_manning___diffusive__coll__graph.png index a66af333..be7c7cca 100644 Binary files a/docs/classcmf_1_1river_1_1_manning___diffusive__coll__graph.png and b/docs/classcmf_1_1river_1_1_manning___diffusive__coll__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_manning___diffusive__inherit__graph.map b/docs/classcmf_1_1river_1_1_manning___diffusive__inherit__graph.map index 890c8418..9e823310 100644 --- a/docs/classcmf_1_1river_1_1_manning___diffusive__inherit__graph.map +++ b/docs/classcmf_1_1river_1_1_manning___diffusive__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1river_1_1_manning___diffusive__inherit__graph.md5 b/docs/classcmf_1_1river_1_1_manning___diffusive__inherit__graph.md5 index 7e47a9a8..9610c963 100644 --- a/docs/classcmf_1_1river_1_1_manning___diffusive__inherit__graph.md5 +++ b/docs/classcmf_1_1river_1_1_manning___diffusive__inherit__graph.md5 @@ -1 +1 @@ -37273b8b76fa97b32539f25960ff83fe \ No newline at end of file +813a05b6da49ac31247e0ec02d84396f \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_manning___diffusive__inherit__graph.png b/docs/classcmf_1_1river_1_1_manning___diffusive__inherit__graph.png index 2de5fa9a..08d4fb07 100644 Binary files a/docs/classcmf_1_1river_1_1_manning___diffusive__inherit__graph.png and b/docs/classcmf_1_1river_1_1_manning___diffusive__inherit__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_manning___kinematic-members.html b/docs/classcmf_1_1river_1_1_manning___kinematic-members.html index 0b20a601..f2015319 100644 --- a/docs/classcmf_1_1river_1_1_manning___kinematic-members.html +++ b/docs/classcmf_1_1river_1_1_manning___kinematic-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Manning_Kinematic Member List
    +
    Manning_Kinematic Member List

    This is the complete list of members for Manning_Kinematic, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    Manning_Kinematic(cmf::river::OpenWaterStorage::ptr left, cmf::water::flux_node::ptr right, const cmf::river::IChannel &reachtype)Manning_Kinematic
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    typeflux_connection

    -Generated: Fri Apr 26 2019 12:43:43 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1river_1_1_manning___kinematic.html b/docs/classcmf_1_1river_1_1_manning___kinematic.html index b76a97c5..7fefd663 100644 --- a/docs/classcmf_1_1river_1_1_manning___kinematic.html +++ b/docs/classcmf_1_1river_1_1_manning___kinematic.html @@ -2,33 +2,37 @@ - - - - -cmf: Manning_Kinematic Class Reference - - - - + + + + + cmf: Manning_Kinematic Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Manning_Kinematic Class Reference
    +
    Manning_Kinematic Class Reference

    Connecting surface water bodies using a kinematic wave. - More...

    -
    + More...

    +
    + Inheritance diagram for Manning_Kinematic:
    -
    +
    + Collaboration diagram for Manning_Kinematic:

    Detailed Description

    Connecting surface water bodies using a kinematic wave.

    -

    Note the fixed gradient \(\Delta_z\)

    -\begin{eqnarray*} q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ R &=& \frac A {P(d)} \\ P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ \Delta_z &=& \frac{\|z_1 - z_2\|}{l} \mbox{ Slope of the reach} \\ n&=&\mbox{Manning friction number} \end{eqnarray*} +

    Note the fixed gradient \(\Delta_z\)

    +\begin{eqnarray*} + q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ + A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ + R &=& \frac A {P(d)} \\ + P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ + d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ + \Delta_z &=& \frac{\|z_1 - z_2\|}{l} \mbox{ Slope of the reach} \\ +n&=&\mbox{Manning friction number} + \end{eqnarray*}

    - - - + + - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

     Manning_Kinematic (cmf::river::OpenWaterStorage::ptr left, cmf::water::flux_node::ptr right, const cmf::river::IChannel &reachtype)
     Creates a kinematic wave connection between to open water storages. More...
     Manning_Kinematic (cmf::river::OpenWaterStorage::ptr left, cmf::water::flux_node::ptr right, const cmf::river::IChannel &reachtype)
     Creates a kinematic wave connection between to open water storages.
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Constructor & Destructor Documentation

    - -

    ◆ Manning_Kinematic()

    + +

    ◆ Manning_Kinematic()

    @@ -199,25 +226,17 @@

    Manning_Kinematic ( - cmf::river::OpenWaterStorage::ptr  - left, + cmf::river::OpenWaterStorage::ptr left, - cmf::water::flux_node::ptr  - right, + cmf::water::flux_node::ptr right, - const cmf::river::IChannel &  - reachtype  - - - - ) - + const cmf::river::IChannel & reachtype )

    @@ -234,8 +253,8 @@

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -285,7 +298,7 @@

    real get_tracer_filter ( - ) + ) @@ -301,8 +314,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -313,8 +326,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -338,7 +350,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:43 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1river_1_1_manning___kinematic__coll__graph.map b/docs/classcmf_1_1river_1_1_manning___kinematic__coll__graph.map index 82a7a08e..46629f51 100644 --- a/docs/classcmf_1_1river_1_1_manning___kinematic__coll__graph.map +++ b/docs/classcmf_1_1river_1_1_manning___kinematic__coll__graph.map @@ -1,6 +1,11 @@ - - - - + + + + + + + + + diff --git a/docs/classcmf_1_1river_1_1_manning___kinematic__coll__graph.md5 b/docs/classcmf_1_1river_1_1_manning___kinematic__coll__graph.md5 index 1a3d0a91..9b18cacf 100644 --- a/docs/classcmf_1_1river_1_1_manning___kinematic__coll__graph.md5 +++ b/docs/classcmf_1_1river_1_1_manning___kinematic__coll__graph.md5 @@ -1 +1 @@ -821fc0212cfa4afc4e5d635ef6a39f18 \ No newline at end of file +bca5d791a3627befe797495ec235abcf \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_manning___kinematic__coll__graph.png b/docs/classcmf_1_1river_1_1_manning___kinematic__coll__graph.png index 42271717..d8f04a50 100644 Binary files a/docs/classcmf_1_1river_1_1_manning___kinematic__coll__graph.png and b/docs/classcmf_1_1river_1_1_manning___kinematic__coll__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_manning___kinematic__inherit__graph.map b/docs/classcmf_1_1river_1_1_manning___kinematic__inherit__graph.map index 97e9134d..b3d92c9e 100644 --- a/docs/classcmf_1_1river_1_1_manning___kinematic__inherit__graph.map +++ b/docs/classcmf_1_1river_1_1_manning___kinematic__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1river_1_1_manning___kinematic__inherit__graph.md5 b/docs/classcmf_1_1river_1_1_manning___kinematic__inherit__graph.md5 index 8271ca25..74e3a7a0 100644 --- a/docs/classcmf_1_1river_1_1_manning___kinematic__inherit__graph.md5 +++ b/docs/classcmf_1_1river_1_1_manning___kinematic__inherit__graph.md5 @@ -1 +1 @@ -d90caa9df4e901b9fe337490f2b84463 \ No newline at end of file +f398bf3457f27766aa59b89d5a5ff3df \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_manning___kinematic__inherit__graph.png b/docs/classcmf_1_1river_1_1_manning___kinematic__inherit__graph.png index cc19571d..55af0c39 100644 Binary files a/docs/classcmf_1_1river_1_1_manning___kinematic__inherit__graph.png and b/docs/classcmf_1_1river_1_1_manning___kinematic__inherit__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_manning__coll__graph.map b/docs/classcmf_1_1river_1_1_manning__coll__graph.map index c7996ff0..6f7c49d3 100644 --- a/docs/classcmf_1_1river_1_1_manning__coll__graph.map +++ b/docs/classcmf_1_1river_1_1_manning__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1river_1_1_manning__coll__graph.md5 b/docs/classcmf_1_1river_1_1_manning__coll__graph.md5 index a047f64c..cb645d21 100644 --- a/docs/classcmf_1_1river_1_1_manning__coll__graph.md5 +++ b/docs/classcmf_1_1river_1_1_manning__coll__graph.md5 @@ -1 +1 @@ -900e5fa80dbd780c3706cab9eefb5fc1 \ No newline at end of file +96c0af5ffee476349355eb257bfd4a04 \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_manning__coll__graph.png b/docs/classcmf_1_1river_1_1_manning__coll__graph.png index 0168ea6e..18b28815 100644 Binary files a/docs/classcmf_1_1river_1_1_manning__coll__graph.png and b/docs/classcmf_1_1river_1_1_manning__coll__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_manning__inherit__graph.map b/docs/classcmf_1_1river_1_1_manning__inherit__graph.map index 96974fa5..001d5b09 100644 --- a/docs/classcmf_1_1river_1_1_manning__inherit__graph.map +++ b/docs/classcmf_1_1river_1_1_manning__inherit__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1river_1_1_manning__inherit__graph.md5 b/docs/classcmf_1_1river_1_1_manning__inherit__graph.md5 index 53b783bc..8e8d4e67 100644 --- a/docs/classcmf_1_1river_1_1_manning__inherit__graph.md5 +++ b/docs/classcmf_1_1river_1_1_manning__inherit__graph.md5 @@ -1 +1 @@ -01ed2473f002fad99a4507ead1d04af0 \ No newline at end of file +e501433ee8dbe7711570bbb36081f82b \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_manning__inherit__graph.png b/docs/classcmf_1_1river_1_1_manning__inherit__graph.png index fd431627..0b452bf7 100644 Binary files a/docs/classcmf_1_1river_1_1_manning__inherit__graph.png and b/docs/classcmf_1_1river_1_1_manning__inherit__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_mean_channel-members.html b/docs/classcmf_1_1river_1_1_mean_channel-members.html index 02aceaa9..6381099e 100644 --- a/docs/classcmf_1_1river_1_1_mean_channel-members.html +++ b/docs/classcmf_1_1river_1_1_mean_channel-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,27 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    MeanChannel Member List
    +
    MeanChannel Member List

    This is the complete list of members for MeanChannel, including all inherited members.

    - + - + - + - +
    A(double V) constIChannelvirtual
    get_channel_width(double depth) constMeanChannelvirtual
    get_channel_width(double depth) constMeanChannelvirtual
    get_depth(double area) constMeanChannelvirtual
    get_flux_crossection(double depth) constMeanChannelvirtual
    get_flux_crossection(double depth) constMeanChannelvirtual
    get_length() constMeanChannelvirtual
    get_wetted_perimeter(double depth) constMeanChannelvirtual
    get_wetted_perimeter(double depth) constMeanChannelvirtual
    h(double V) constIChannelvirtual
    MeanChannel(const IChannel &channel1, const IChannel &channel2)MeanChannel
    MeanChannel(const IChannel &channel1, const IChannel &channel2)MeanChannel
    qManning(double A, double slope) constIChannelvirtual
    @@ -118,7 +129,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:44 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1river_1_1_mean_channel.html b/docs/classcmf_1_1river_1_1_mean_channel.html index 1a5c4146..5d213c4e 100644 --- a/docs/classcmf_1_1river_1_1_mean_channel.html +++ b/docs/classcmf_1_1river_1_1_mean_channel.html @@ -2,33 +2,37 @@ - - - - -cmf: MeanChannel Class Reference - - - - + + + + + cmf: MeanChannel Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,89 +93,98 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    MeanChannel Class Reference
    +
    MeanChannel Class Reference

    A combination of two channel geometries. - More...

    -
    + More...

    +
    + Inheritance diagram for MeanChannel:
    -
    +
    + Collaboration diagram for MeanChannel:

    Detailed Description

    A combination of two channel geometries.

    - - + - + - + - - + + - - + + - + - + - + - - + +

    +

    Public Member Functions

    MeanChannel (const IChannel &channel1, const IChannel &channel2)
    MeanChannel (const IChannel &channel1, const IChannel &channel2)
     Creates the mean geometry from the two channel geometries.
     
    -virtual double A (double V) const
    +virtual double A (double V) const
     Returns the area of the surface for a given volume.
     
    -double get_channel_width (double depth) const
    +double get_channel_width (double depth) const
     Calculates the flow width from a given actual depth [m] using the actual IChannel geometry.
     
    double get_depth (double area) const
     Calculates the actual depth of the reach using the IChannel geometry. More...
    double get_depth (double area) const
     Calculates the actual depth of the reach using the IChannel geometry.
     
    double get_flux_crossection (double depth) const
     Calculates the wetted area from a given depth using the IChannel geometry. More...
    double get_flux_crossection (double depth) const
     Calculates the wetted area from a given depth using the IChannel geometry.
     
    -double get_length () const
    +double get_length () const
     Length of the reach.
     
    -double get_wetted_perimeter (double depth) const
    +double get_wetted_perimeter (double depth) const
     Calculates the wetted perimeter from a given actual depth [m] using the actual IChannel geometry.
     
    -virtual double h (double V) const
    +virtual double h (double V) const
     Returns the depth of a given volume.
     
    virtual double qManning (double A, double slope) const
     Calculates the flow rate from a given water volume in the reach

    -\begin{eqnarray*} q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ R &=& \frac A {P(d)} \\ P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ \Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} \end{eqnarray*} -

    -

    . More...

    virtual double qManning (double A, double slope) const
     Calculates the flow rate from a given water volume in the reach.
     

    Member Function Documentation

    - -

    ◆ get_depth()

    + +

    ◆ get_depth()

    @@ -181,8 +195,7 @@

    double get_depth ( - double  - area) + double area) const @@ -206,8 +219,8 @@

    -

    ◆ get_flux_crossection()

    + +

    ◆ get_flux_crossection()

    @@ -218,8 +231,7 @@

    double get_flux_crossection ( - double  - depth) + double depth) const @@ -243,8 +255,8 @@

    -

    ◆ qManning()

    + +

    ◆ qManning()

    @@ -255,19 +267,12 @@

    virtual double qManning ( - double  - A, + double A, - double  - slope  - - - - ) - const + double slope ) const @@ -277,11 +282,18 @@

    -

    Calculates the flow rate from a given water volume in the reach

    -\begin{eqnarray*} q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ R &=& \frac A {P(d)} \\ P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ \Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} \end{eqnarray*} +

    Calculates the flow rate from a given water volume in the reach.

    +

    +\begin{eqnarray*} +q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ +A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ +R &=& \frac A {P(d)} \\ +P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ +d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ +\Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} +\end{eqnarray*}

    -

    .

    -
    Returns
    Flow rate [m3/s]
    +
    Returns
    Flow rate [m3/s]
    Parameters
    @@ -300,7 +312,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    AThe area of the cross section [m2]
    Generated: Fri Apr 26 2019 12:43:44Generated: Fri Jan 19 2024 16:10:57
    diff --git a/docs/classcmf_1_1river_1_1_mean_channel__coll__graph.map b/docs/classcmf_1_1river_1_1_mean_channel__coll__graph.map index 8d687f00..1f1e582f 100644 --- a/docs/classcmf_1_1river_1_1_mean_channel__coll__graph.map +++ b/docs/classcmf_1_1river_1_1_mean_channel__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1river_1_1_mean_channel__coll__graph.md5 b/docs/classcmf_1_1river_1_1_mean_channel__coll__graph.md5 index b2c87685..0e6b64d3 100644 --- a/docs/classcmf_1_1river_1_1_mean_channel__coll__graph.md5 +++ b/docs/classcmf_1_1river_1_1_mean_channel__coll__graph.md5 @@ -1 +1 @@ -6d10b2b3fd8366d2b8b1c6920d0e61cf \ No newline at end of file +fd6e1ad892396c6365bc6cf63049e159 \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_mean_channel__coll__graph.png b/docs/classcmf_1_1river_1_1_mean_channel__coll__graph.png index a419272b..943f5278 100644 Binary files a/docs/classcmf_1_1river_1_1_mean_channel__coll__graph.png and b/docs/classcmf_1_1river_1_1_mean_channel__coll__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_mean_channel__inherit__graph.map b/docs/classcmf_1_1river_1_1_mean_channel__inherit__graph.map index 8d687f00..1f1e582f 100644 --- a/docs/classcmf_1_1river_1_1_mean_channel__inherit__graph.map +++ b/docs/classcmf_1_1river_1_1_mean_channel__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1river_1_1_mean_channel__inherit__graph.md5 b/docs/classcmf_1_1river_1_1_mean_channel__inherit__graph.md5 index ebd2a43a..0e6b64d3 100644 --- a/docs/classcmf_1_1river_1_1_mean_channel__inherit__graph.md5 +++ b/docs/classcmf_1_1river_1_1_mean_channel__inherit__graph.md5 @@ -1 +1 @@ -2e39590398a3097bc57343a4fbb633d0 \ No newline at end of file +fd6e1ad892396c6365bc6cf63049e159 \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_mean_channel__inherit__graph.png b/docs/classcmf_1_1river_1_1_mean_channel__inherit__graph.png index a419272b..943f5278 100644 Binary files a/docs/classcmf_1_1river_1_1_mean_channel__inherit__graph.png and b/docs/classcmf_1_1river_1_1_mean_channel__inherit__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_open_water_storage-members.html b/docs/classcmf_1_1river_1_1_open_water_storage-members.html index 9c367b37..3c84896c 100644 --- a/docs/classcmf_1_1river_1_1_open_water_storage-members.html +++ b/docs/classcmf_1_1river_1_1_open_water_storage-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,58 +93,65 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    OpenWaterStorage Member List
    +
    OpenWaterStorage Member List

    This is the complete list of members for OpenWaterStorage, including all inherited members.

    - + - - - + + + - + - + - - - - - - - - - + + + + + + + + + - + - + - + - + - - - - - - - - - - + + + + + + + + + + +
    cast(cmf::water::flux_node::ptr node)OpenWaterStoragestatic
    conc(cmf::math::Time t, const cmf::water::solute &solute) constOpenWaterStoragevirtual
    conc(cmf::math::Time t, const cmf::water::solute &solute) constOpenWaterStoragevirtual
    cmf::water::WaterStorage::conc(const cmf::water::solute &_Solute) constWaterStorage
    cmf::water::WaterStorage::conc(const cmf::water::solute &_Solute, real NewConcetration)WaterStorage
    connection_to(const cmf::water::flux_node &target)flux_node
    create(cmf::project &_project, real Area)OpenWaterStoragestatic
    cmf::water::WaterStorage::conc(const cmf::water::solute &_Solute, real NewConcetration)WaterStorage
    connection_to(const cmf::water::flux_node &target)flux_node
    create(cmf::project &_project, real Area)OpenWaterStoragestatic
    create(cmf::project &_project, const cmf::river::IVolumeHeightFunction &base_geo)OpenWaterStoragestatic
    dxdt(const cmf::math::Time &time)WaterStoragevirtual
    dxdt(const cmf::math::Time &time)WaterStoragevirtual
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_depth() constOpenWaterStorage
    get_height_function() constOpenWaterStoragevirtual
    get_potential() constWaterStoragevirtual
    get_project() constflux_node
    get_state_variable_content() constWaterStorage
    get_volume() constWaterStoragevirtual
    is_connected(const cmf::math::StateVariable &other) constWaterStoragevirtual
    is_empty() constWaterStoragevirtual
    is_storage() constWaterStoragevirtual
    list typedefStateVariable
    get_height_function() constOpenWaterStoragevirtual
    get_potential(cmf::math::Time t=cmf::math::never) const overrideWaterStoragevirtual
    get_project() constflux_node
    get_state() constStateVariable
    get_state_variable_content() constWaterStorage
    get_volume() constWaterStoragevirtual
    is_connected(const cmf::math::StateVariable &other) constWaterStoragevirtual
    is_empty() constWaterStoragevirtual
    is_storage() const overrideWaterStoragevirtual
    MarkStateChangeHandled()StateVariableprotected
    Nameflux_node
    Nameflux_node
    node_idflux_node
    OpenWaterStorage(cmf::project &_project, real Area)OpenWaterStorageprotected
    OpenWaterStorage(cmf::project &_project, real Area)OpenWaterStorageprotected
    OpenWaterStorage(cmf::project &_project, const cmf::river::IVolumeHeightFunction &base_geo)OpenWaterStorageprotected
    operator()(cmf::math::Time t) constflux_node
    operator()(cmf::math::Time t) constflux_node
    positionflux_node
    RecalcFluxes(cmf::math::Time t)WaterStoragevirtual
    RecalcFluxes(cmf::math::Time t)WaterStoragevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_potential(real newpotential)WaterStoragevirtual
    set_state_variable_content(char content)WaterStorage
    set_volume(real newwatercontent)WaterStoragevirtual
    Solute(const cmf::water::solute _Solute)WaterStorage
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    WaterStorage(cmf::project &project, const std::string &Name="", double InitialState=0, double scale=1)WaterStorage
    wet_area() constOpenWaterStorage
    ~flux_node()flux_nodevirtual
    set_potential(real newpotential) overrideWaterStoragevirtual
    set_state(real newState)StateVariable
    set_state_variable_content(char content)WaterStorage
    set_volume(real newwatercontent)WaterStoragevirtual
    Solute(const cmf::water::solute _Solute)WaterStorage
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    WaterStorage(cmf::project &project, const std::string &Name="", double InitialState=0, double scale=1)WaterStorage
    wet_area() constOpenWaterStorage
    ~flux_node()flux_nodevirtual

    -Generated: Fri Apr 26 2019 12:43:44 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1river_1_1_open_water_storage.html b/docs/classcmf_1_1river_1_1_open_water_storage.html index 71021291..68a240af 100644 --- a/docs/classcmf_1_1river_1_1_open_water_storage.html +++ b/docs/classcmf_1_1river_1_1_open_water_storage.html @@ -2,33 +2,37 @@ - - - - -cmf: OpenWaterStorage Class Reference - - - - + + + + + cmf: OpenWaterStorage Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,220 +93,237 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    An open water body. - More...

    -
    + More...

    +
    + Inheritance diagram for OpenWaterStorage:
    -
    +
    + Collaboration diagram for OpenWaterStorage:

    Detailed Description

    An open water body.

    The potential is calculated from the stored water using a water table function

    - - - - -

    -Public Types

    -typedef std::vector< StateVariable * > list
     Not part of the API, used to create sparse structure.
     
    - - + - + - + - - - - + + + + - + - + - + - - - - - - - - - - + + + + + + + + + + + + + - + - + - - - - + + + + - + - - - - + + + + + + + - + - - - - - + + + + + - + - - - - - - - - -

    +

    Public Member Functions

    -real conc (cmf::math::Time t, const cmf::water::solute &solute) const
    +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
    +real conc (const cmf::water::solute &_Solute) const
     Returns the concentration of the given solute.
     
    -void conc (const cmf::water::solute &_Solute, real NewConcetration)
    +void conc (const cmf::water::solute &_Solute, real NewConcetration)
     Sets a new concentration.
     
    -cmf::water::flux_connectionconnection_to (const cmf::water::flux_node &target)
     Returns the connection between this and target.
     
    -virtual real dxdt (const cmf::math::Time &time)
    +cmf::water::flux_connectionconnection_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)
    +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)
    +cmf::geometry::point get_3d_flux (cmf::math::Time t)
     Returns the sum of all flux vectors.
     
    -real get_depth () const
    +real get_depth () const
     Returns the water table depth.
     
    -virtual const IVolumeHeightFunctionget_height_function () const
     The functional relation between volume, depth and exposed area.
     
    virtual real get_potential () const
     Returns the water potential of the node in m waterhead. More...
     
    -cmf::projectget_project () const
     Returns the project, this node is part of.
     
    -char get_state_variable_content () const
    +virtual const IVolumeHeightFunctionget_height_function () const
     The functional relation between volume, depth and exposed area.
     
    real get_potential (cmf::math::Time t=cmf::math::never) const override
     Returns the water potential of the node in m waterhead.
     
    +cmf::projectget_project () const
     Returns the project, this node is part of.
     
    +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
    +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
    +virtual bool is_connected (const cmf::math::StateVariable &other) const
     Returns True if this waterstorage is effected by another state.
     
    -virtual bool is_storage () const
     Returns true, since this is a storage.
     
    -real operator() (cmf::math::Time t) const
    +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)
    +bool remove_connection (cmf::water::flux_node::ptr To)
     Remove the connection.
     
    -virtual void set_potential (real newpotential)
     Sets the potential of this flux node.
     
    -void set_state_variable_content (char content)
    +void set_potential (real newpotential) override
     Sets the potential of this flux node.
     
    +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)
    +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. More...
    +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
    +real wet_area () const
     Returns the exposed surface area in m2.
     
    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. More...
     
    -virtual double is_empty () const
     Returns true if the node has no water.
     
    -virtual std::string to_string () const
     
    - - + - - - - + + + +

    +

    Static Public Member Functions

    -static ptr cast (cmf::water::flux_node::ptr node)
    +static ptr cast (cmf::water::flux_node::ptr node)
     Casts a flux node to an open water storage.
     
    -static ptr create (cmf::project &_project, real Area)
     Creates an open water storage with a prismatic volume.
     
    -static ptr create (cmf::project &_project, const cmf::river::IVolumeHeightFunction &base_geo)
    +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
    +std::string Name
     The Name of this node.
     
    -const int node_id
    +const int node_id
     The Id of the node.
     
    -cmf::geometry::point position
    +cmf::geometry::point position
     The spatial position of the node.
     
    - - - - - + - + + + + - + +

    +

    Protected Member Functions

    OpenWaterStorage (cmf::project &_project, real Area)
     Creates an open water storage with a prismatic volume.
     
    OpenWaterStorage (cmf::project &_project, const cmf::river::IVolumeHeightFunction &base_geo)
    OpenWaterStorage (cmf::project &_project, const cmf::river::IVolumeHeightFunction &base_geo)
     Creates an open water storage with any type of a volume.
     
    -void MarkStateChangeHandled ()
    OpenWaterStorage (cmf::project &_project, real Area)
     Creates an open water storage with a prismatic volume
    +
     
    +void MarkStateChangeHandled ()
     Sets the updated flag (m_StateIsNew) to false.
     
    -bool StateIsChanged ()
    +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.
     

    Member Function Documentation

    - -

    ◆ get_potential()

    + +

    ◆ get_potential()

    - -

    ◆ RecalcFluxes()

    + +

    ◆ RecalcFluxes()

    @@ -344,8 +364,7 @@

    virtual bool RecalcFluxes ( - cmf::math::Time  - t) + cmf::math::Time t) @@ -363,8 +382,8 @@

    -

    ◆ waterbalance()

    + +

    ◆ waterbalance()

    @@ -375,19 +394,12 @@

    real waterbalance ( - cmf::math::Time  - t, + cmf::math::Time t, - const flux_connection *  - Without = 0  - - - - ) - const + const flux_connection * Without = 0 ) const @@ -398,7 +410,8 @@

    Returns the sum of all fluxes (positive and negative) at time t.

    -

    Single fluxes can be excluded from the calculation

    Parameters
    +


    + Single fluxes can be excluded from the calculation

    Parameters
    @@ -416,7 +429,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    tTime of the query
    WithoutA flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits)
    Generated: Fri Apr 26 2019 12:43:44Generated: Fri Jan 19 2024 16:10:57
    diff --git a/docs/classcmf_1_1river_1_1_open_water_storage.js b/docs/classcmf_1_1river_1_1_open_water_storage.js index b4067d00..b6ca193e 100644 --- a/docs/classcmf_1_1river_1_1_open_water_storage.js +++ b/docs/classcmf_1_1river_1_1_open_water_storage.js @@ -1,32 +1,33 @@ var classcmf_1_1river_1_1_open_water_storage = [ - [ "list", "classcmf_1_1river_1_1_open_water_storage.html#a65038c02ffb04ca17a7479ad20b0b63c", null ], [ "OpenWaterStorage", "classcmf_1_1river_1_1_open_water_storage.html#a327232fa607c77be54ac2d0c3737bb21", null ], [ "OpenWaterStorage", "classcmf_1_1river_1_1_open_water_storage.html#a0eb38ddd43bfbef28556b2906793675b", null ], [ "conc", "classcmf_1_1river_1_1_open_water_storage.html#a750070a3d0ee0d1800465b6e47f92e40", null ], [ "conc", "classcmf_1_1river_1_1_open_water_storage.html#ababf4d22a9d3952540e2204915dbc15b", null ], [ "conc", "classcmf_1_1river_1_1_open_water_storage.html#a09c41a9b1f92c291ae72ffad3e3ff44d", null ], - [ "connection_to", "classcmf_1_1river_1_1_open_water_storage.html#a5bd6810024edaf9bd5d5747d91ce5f1b", null ], + [ "connection_to", "classcmf_1_1river_1_1_open_water_storage.html#abc9aed3e3aae59d1b4c383fb6e6385eb", null ], [ "dxdt", "classcmf_1_1river_1_1_open_water_storage.html#a5cfe4250c9c98fc0bc752a565bdd90d7", null ], [ "flux_to", "classcmf_1_1river_1_1_open_water_storage.html#a66f1b6a9698be9ffce574833de835bd1", null ], [ "get_3d_flux", "classcmf_1_1river_1_1_open_water_storage.html#a8cba494467e1ffc036c47f1bcd60eccb", null ], [ "get_depth", "classcmf_1_1river_1_1_open_water_storage.html#a0b66f12f2711ad1325af367c4a7328af", null ], - [ "get_height_function", "classcmf_1_1river_1_1_open_water_storage.html#a2a1c038cdb754038e276525e68d306e8", null ], - [ "get_potential", "classcmf_1_1river_1_1_open_water_storage.html#a923af9ca71ce3a008d07d88216f1a351", null ], - [ "get_project", "classcmf_1_1river_1_1_open_water_storage.html#ae4c3731109c42d8e7f70eb646fb573ec", null ], + [ "get_height_function", "classcmf_1_1river_1_1_open_water_storage.html#a822f212fe5023fbcd1bd6a800e5f1ffe", null ], + [ "get_potential", "classcmf_1_1river_1_1_open_water_storage.html#a5b80f0e67ce2c58785c148b78a9515df", null ], + [ "get_project", "classcmf_1_1river_1_1_open_water_storage.html#aac16760bdca4fd53f80987ee5affa734", null ], + [ "get_state", "classcmf_1_1river_1_1_open_water_storage.html#a5b794a3d74e0b878ff0a4200015e7cc2", null ], [ "get_state_variable_content", "classcmf_1_1river_1_1_open_water_storage.html#afac22fccd2df2d35c22acfcb75239427", null ], [ "get_volume", "classcmf_1_1river_1_1_open_water_storage.html#a56a03fc6fead8765d35e9b54a5b6ad08", null ], [ "is_connected", "classcmf_1_1river_1_1_open_water_storage.html#adc4ae437d7a2f33ee85fe811fc8b6d0f", null ], [ "is_empty", "classcmf_1_1river_1_1_open_water_storage.html#ab3f02f11f233972d7c26cf26a9090613", null ], - [ "is_storage", "classcmf_1_1river_1_1_open_water_storage.html#ace09b97c37ded843368a00c04e89b55f", null ], + [ "is_storage", "classcmf_1_1river_1_1_open_water_storage.html#a3f0f2248157d3eb5ffc9dc5c5e747c21", null ], [ "MarkStateChangeHandled", "classcmf_1_1river_1_1_open_water_storage.html#ae45a5bd291cb989067417aba8e565d0c", null ], [ "operator()", "classcmf_1_1river_1_1_open_water_storage.html#a1ac09266985df622ef90ce40783058cb", null ], [ "RecalcFluxes", "classcmf_1_1river_1_1_open_water_storage.html#ad4e4534513b31d5a3596b072ad4cd42f", null ], [ "remove_connection", "classcmf_1_1river_1_1_open_water_storage.html#ab933615f7c65dfd492770c3e1475a881", null ], - [ "set_potential", "classcmf_1_1river_1_1_open_water_storage.html#a0f6a1659d1942fbb2d1df4ca933a9d63", null ], + [ "set_potential", "classcmf_1_1river_1_1_open_water_storage.html#a20a14278c2bfb0dec3b1b64fe62ee9db", null ], + [ "set_state", "classcmf_1_1river_1_1_open_water_storage.html#a0d5dd145810bcfdea803d83d12302c96", null ], [ "set_state_variable_content", "classcmf_1_1river_1_1_open_water_storage.html#af4e317b28d48091741e40af5e9da79a1", null ], [ "set_volume", "classcmf_1_1river_1_1_open_water_storage.html#a31b0a05543af754adf863c0bd7934a3e", null ], - [ "Solute", "classcmf_1_1river_1_1_open_water_storage.html#ac7af103f4eabcabd46289fc96329e9bb", null ], + [ "Solute", "classcmf_1_1river_1_1_open_water_storage.html#a8ff1638803c38f89f1bf018e65241681", null ], [ "StateIsChanged", "classcmf_1_1river_1_1_open_water_storage.html#a2cf1e9d2df8900cf74cbc0773726ca91", null ], [ "waterbalance", "classcmf_1_1river_1_1_open_water_storage.html#a2b14436c9dfb7b52bad2784c81a31eab", null ], [ "wet_area", "classcmf_1_1river_1_1_open_water_storage.html#af0542359c1684ff85f8ec428d791ca5d", null ], diff --git a/docs/classcmf_1_1river_1_1_open_water_storage__coll__graph.map b/docs/classcmf_1_1river_1_1_open_water_storage__coll__graph.map index b72d5791..2b1a99c7 100644 --- a/docs/classcmf_1_1river_1_1_open_water_storage__coll__graph.map +++ b/docs/classcmf_1_1river_1_1_open_water_storage__coll__graph.map @@ -1,6 +1,11 @@ - - - - + + + + + + + + + diff --git a/docs/classcmf_1_1river_1_1_open_water_storage__coll__graph.md5 b/docs/classcmf_1_1river_1_1_open_water_storage__coll__graph.md5 index 714615e1..3693cc76 100644 --- a/docs/classcmf_1_1river_1_1_open_water_storage__coll__graph.md5 +++ b/docs/classcmf_1_1river_1_1_open_water_storage__coll__graph.md5 @@ -1 +1 @@ -dbdd7eda1a611fa5015106a9980a3311 \ No newline at end of file +4ea93d54d9ac11c7f4ef91b137ae21b3 \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_open_water_storage__coll__graph.png b/docs/classcmf_1_1river_1_1_open_water_storage__coll__graph.png index 83267e68..0efd4563 100644 Binary files a/docs/classcmf_1_1river_1_1_open_water_storage__coll__graph.png and b/docs/classcmf_1_1river_1_1_open_water_storage__coll__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_open_water_storage__inherit__graph.map b/docs/classcmf_1_1river_1_1_open_water_storage__inherit__graph.map index e345c4eb..99ee3c93 100644 --- a/docs/classcmf_1_1river_1_1_open_water_storage__inherit__graph.map +++ b/docs/classcmf_1_1river_1_1_open_water_storage__inherit__graph.map @@ -1,7 +1,13 @@ - - - - - + + + + + + + + + + + diff --git a/docs/classcmf_1_1river_1_1_open_water_storage__inherit__graph.md5 b/docs/classcmf_1_1river_1_1_open_water_storage__inherit__graph.md5 index 2b136a07..719cd130 100644 --- a/docs/classcmf_1_1river_1_1_open_water_storage__inherit__graph.md5 +++ b/docs/classcmf_1_1river_1_1_open_water_storage__inherit__graph.md5 @@ -1 +1 @@ -0b4e44008379e6754301daab18ca7707 \ No newline at end of file +1b1dfde87cee9560a9924dc662f6a4b7 \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_open_water_storage__inherit__graph.png b/docs/classcmf_1_1river_1_1_open_water_storage__inherit__graph.png index 158f3358..574de619 100644 Binary files a/docs/classcmf_1_1river_1_1_open_water_storage__inherit__graph.png and b/docs/classcmf_1_1river_1_1_open_water_storage__inherit__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_pipe_reach-members.html b/docs/classcmf_1_1river_1_1_pipe_reach-members.html index 82781f46..6f17b34a 100644 --- a/docs/classcmf_1_1river_1_1_pipe_reach-members.html +++ b/docs/classcmf_1_1river_1_1_pipe_reach-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,27 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    PipeReach Member List
    +
    PipeReach Member List

    This is the complete list of members for PipeReach, including all inherited members.

    - + - + - + - +
    A(double V) constIChannelvirtual
    get_channel_width(double depth) constPipeReachvirtual
    get_channel_width(double depth) constPipeReachvirtual
    get_depth(double area) constPipeReachvirtual
    get_flux_crossection(double depth) constPipeReachvirtual
    get_flux_crossection(double depth) constPipeReachvirtual
    get_length() constPipeReachvirtual
    get_wetted_perimeter(double depth) constPipeReachvirtual
    get_wetted_perimeter(double depth) constPipeReachvirtual
    h(double V) constIChannelvirtual
    PipeReach(double l, double diameter)PipeReach
    PipeReach(double l, double diameter)PipeReach
    qManning(double A, double slope) constIChannelvirtual
    @@ -118,7 +129,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:44 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1river_1_1_pipe_reach.html b/docs/classcmf_1_1river_1_1_pipe_reach.html index 03a06f13..72c832fe 100644 --- a/docs/classcmf_1_1river_1_1_pipe_reach.html +++ b/docs/classcmf_1_1river_1_1_pipe_reach.html @@ -2,33 +2,37 @@ - - - - -cmf: PipeReach Class Reference - - - - + + + + + cmf: PipeReach Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,103 +93,92 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    PipeReach Class Reference
    +
    PipeReach Class Reference

    Describes the geometry of a closed pipe. - More...

    -
    + More...

    +
    + Inheritance diagram for PipeReach:
    -
    +
    + Collaboration diagram for PipeReach:

    Detailed Description

    Describes the geometry of a closed pipe.

    - - + - + - - + - - + - - + - + - - + - + - - + +

    +

    Public Member Functions

    PipeReach (double l, double diameter)
    PipeReach (double l, double diameter)
     Creates a tube IChannel with diameter [m].
     
    -virtual double A (double V) const
    +virtual double A (double V) const
     Returns the area of the surface for a given volume.
     
    -virtual double get_channel_width (double depth) const
     

    -\[w=2\sqrt{\left|r^2-(r-d)^2\right|} \] -

    -
    virtual double get_channel_width (double depth) const
     
    -virtual double get_depth (double area) const
     

    -\[d=r\left(1-\cos{\frac{A}{r^2}}\right) \] -

    -
    virtual double get_depth (double area) const
     
    -virtual double get_flux_crossection (double depth) const
     

    -\[A=r^2\arccos{\frac{r-d}{r}{r}} \] -

    -
    virtual double get_flux_crossection (double depth) const
     
    -double get_length () const
    +double get_length () const
     Length of the reach.
     
    -virtual double get_wetted_perimeter (double depth) const
     

    -\[P=r\arccos{\frac{r-d}{r}} \] -

    -
    virtual double get_wetted_perimeter (double depth) const
     
    -virtual double h (double V) const
    +virtual double h (double V) const
     Returns the depth of a given volume.
     
    virtual double qManning (double A, double slope) const
     Calculates the flow rate from a given water volume in the reach

    -\begin{eqnarray*} q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ R &=& \frac A {P(d)} \\ P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ \Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} \end{eqnarray*} -

    -

    . More...

    virtual double qManning (double A, double slope) const
     Calculates the flow rate from a given water volume in the reach.
     

    Member Function Documentation

    - -

    ◆ qManning()

    + +

    ◆ get_channel_width()

    + +

    ◆ get_depth()

    + +
    +
    + + + + + +
    + - - - - + + + + +
    double slope virtual double get_depth (double area) const
    +
    +virtual
    +
    +

    +\[d=r\left(1-\cos{\frac{A}{r^2}}\right) \] +

    + +

    Implements IChannel.

    + +
    +
    + +

    ◆ get_flux_crossection()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual double get_flux_crossection (double depth) const
    +
    +virtual
    +
    +

    +\[A=r^2\arccos{\frac{r-d}{r}{r}} \] +

    + +

    Implements IChannel.

    + +
    +
    + +

    ◆ get_wetted_perimeter()

    + +
    +
    + + + + + +
    + + + + + + +
    virtual double get_wetted_perimeter (double depth) const
    +
    +virtual
    +
    +

    +\[P=r\arccos{\frac{r-d}{r}} \] +

    + +

    Implements IChannel.

    + +
    +
    + +

    ◆ qManning()

    + +
    +
    + + + @@ -217,11 +324,18 @@

    -

    Calculates the flow rate from a given water volume in the reach

    -\begin{eqnarray*} q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ R &=& \frac A {P(d)} \\ P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ \Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} \end{eqnarray*} +

    Calculates the flow rate from a given water volume in the reach.

    +

    +\begin{eqnarray*} +q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ +A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ +R &=& \frac A {P(d)} \\ +P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ +d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ +\Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} +\end{eqnarray*}

    -

    .

    -
    Returns
    Flow rate [m3/s]
    +
    Returns
    Flow rate [m3/s]
    Parameters

    + + + + + + + + - - +
    virtual double qManning (double A,
    ) constdouble slope ) const
    @@ -240,7 +354,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    AThe area of the cross section [m2]
    Generated: Fri Apr 26 2019 12:43:44Generated: Fri Jan 19 2024 16:10:57
    diff --git a/docs/classcmf_1_1river_1_1_pipe_reach__coll__graph.map b/docs/classcmf_1_1river_1_1_pipe_reach__coll__graph.map index e3336e61..cedf308a 100644 --- a/docs/classcmf_1_1river_1_1_pipe_reach__coll__graph.map +++ b/docs/classcmf_1_1river_1_1_pipe_reach__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1river_1_1_pipe_reach__coll__graph.md5 b/docs/classcmf_1_1river_1_1_pipe_reach__coll__graph.md5 index 27016f28..acf4be1c 100644 --- a/docs/classcmf_1_1river_1_1_pipe_reach__coll__graph.md5 +++ b/docs/classcmf_1_1river_1_1_pipe_reach__coll__graph.md5 @@ -1 +1 @@ -c0ecda899f40bee7e94ff493bcf5d8bc \ No newline at end of file +1fb8010d6c0d253cfe89b22500ee2fd5 \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_pipe_reach__coll__graph.png b/docs/classcmf_1_1river_1_1_pipe_reach__coll__graph.png index 63557abe..ce735e49 100644 Binary files a/docs/classcmf_1_1river_1_1_pipe_reach__coll__graph.png and b/docs/classcmf_1_1river_1_1_pipe_reach__coll__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_pipe_reach__inherit__graph.map b/docs/classcmf_1_1river_1_1_pipe_reach__inherit__graph.map index e3336e61..cedf308a 100644 --- a/docs/classcmf_1_1river_1_1_pipe_reach__inherit__graph.map +++ b/docs/classcmf_1_1river_1_1_pipe_reach__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1river_1_1_pipe_reach__inherit__graph.md5 b/docs/classcmf_1_1river_1_1_pipe_reach__inherit__graph.md5 index 5215d2c4..acf4be1c 100644 --- a/docs/classcmf_1_1river_1_1_pipe_reach__inherit__graph.md5 +++ b/docs/classcmf_1_1river_1_1_pipe_reach__inherit__graph.md5 @@ -1 +1 @@ -b6324fe08fd5017d97f61398f95784a2 \ No newline at end of file +1fb8010d6c0d253cfe89b22500ee2fd5 \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_pipe_reach__inherit__graph.png b/docs/classcmf_1_1river_1_1_pipe_reach__inherit__graph.png index 63557abe..ce735e49 100644 Binary files a/docs/classcmf_1_1river_1_1_pipe_reach__inherit__graph.png and b/docs/classcmf_1_1river_1_1_pipe_reach__inherit__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_prism-members.html b/docs/classcmf_1_1river_1_1_prism-members.html index c6ab2907..32e1100a 100644 --- a/docs/classcmf_1_1river_1_1_prism-members.html +++ b/docs/classcmf_1_1river_1_1_prism-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,21 +93,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Prism Member List
    +
    Prism Member List

    This is the complete list of members for Prism, including all inherited members.

    - +
    A(double V) constPrismvirtual
    h(double V) constPrismvirtual
    h(double V) constPrismvirtual

    -Generated: Fri Apr 26 2019 12:43:44 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1river_1_1_prism.html b/docs/classcmf_1_1river_1_1_prism.html index c512b62f..b1e0b15a 100644 --- a/docs/classcmf_1_1river_1_1_prism.html +++ b/docs/classcmf_1_1river_1_1_prism.html @@ -2,33 +2,37 @@ - - - - -cmf: Prism Class Reference - - - - + + + + + cmf: Prism Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,53 +93,63 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Prism Class Reference
    +
    Prism Class Reference
    -

    the height of a volume in a Prism with a defined base area - More...

    -
    +

    the height of a volume in a Prism with a defined base area + More...

    +
    + Inheritance diagram for Prism:
    -
    +
    + Collaboration diagram for Prism:

    Detailed Description

    -

    the height of a volume in a Prism with a defined base area

    +

    the height of a volume in a Prism with a defined base area

    - - + - +

    +

    Public Member Functions

    -double A (double V) const
    +double A (double V) const
     \( A(V) = A_{base} \)
     
    -double h (double V) const
    +double h (double V) const
     \( h(V) = \frac V A_{base} \)
     
    @@ -146,7 +161,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:44 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1river_1_1_prism__coll__graph.map b/docs/classcmf_1_1river_1_1_prism__coll__graph.map index d0d73c1e..22a94f73 100644 --- a/docs/classcmf_1_1river_1_1_prism__coll__graph.map +++ b/docs/classcmf_1_1river_1_1_prism__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1river_1_1_prism__coll__graph.md5 b/docs/classcmf_1_1river_1_1_prism__coll__graph.md5 index e9548b14..e6295db9 100644 --- a/docs/classcmf_1_1river_1_1_prism__coll__graph.md5 +++ b/docs/classcmf_1_1river_1_1_prism__coll__graph.md5 @@ -1 +1 @@ -6f5d390b4ba22bc4bbd641ce09fbd94b \ No newline at end of file +6e03f805e18050c1a65a98798c7b03aa \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_prism__coll__graph.png b/docs/classcmf_1_1river_1_1_prism__coll__graph.png index c140cc0d..e3f292ac 100644 Binary files a/docs/classcmf_1_1river_1_1_prism__coll__graph.png and b/docs/classcmf_1_1river_1_1_prism__coll__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_prism__inherit__graph.map b/docs/classcmf_1_1river_1_1_prism__inherit__graph.map index d0d73c1e..22a94f73 100644 --- a/docs/classcmf_1_1river_1_1_prism__inherit__graph.map +++ b/docs/classcmf_1_1river_1_1_prism__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1river_1_1_prism__inherit__graph.md5 b/docs/classcmf_1_1river_1_1_prism__inherit__graph.md5 index cca17a5b..e6295db9 100644 --- a/docs/classcmf_1_1river_1_1_prism__inherit__graph.md5 +++ b/docs/classcmf_1_1river_1_1_prism__inherit__graph.md5 @@ -1 +1 @@ -29779d7ca28f84d4ec83fc7f01e8a708 \ No newline at end of file +6e03f805e18050c1a65a98798c7b03aa \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_prism__inherit__graph.png b/docs/classcmf_1_1river_1_1_prism__inherit__graph.png index c140cc0d..e3f292ac 100644 Binary files a/docs/classcmf_1_1river_1_1_prism__inherit__graph.png and b/docs/classcmf_1_1river_1_1_prism__inherit__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_reach-members.html b/docs/classcmf_1_1river_1_1_reach-members.html index fc3dfa26..24906a56 100644 --- a/docs/classcmf_1_1river_1_1_reach-members.html +++ b/docs/classcmf_1_1river_1_1_reach-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,73 +93,80 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Reach Member List
    +
    Reach Member List

    This is the complete list of members for Reach, including all inherited members.

    - + - + - + - + - + - + - + - + - - - + + + - - - - - - - - - + + + + + + + + + - + - + - + - + - + - + - - - - - - - - - - - + + + + + + + + + + + +
    cast(cmf::water::flux_node::ptr node)OpenWaterStoragestatic
    conc(cmf::math::Time t, const cmf::water::solute &solute) constOpenWaterStoragevirtual
    conc(cmf::math::Time t, const cmf::water::solute &solute) constOpenWaterStoragevirtual
    cmf::water::WaterStorage::conc(const cmf::water::solute &_Solute) constWaterStorage
    cmf::water::WaterStorage::conc(const cmf::water::solute &_Solute, real NewConcetration)WaterStorage
    cmf::water::WaterStorage::conc(const cmf::water::solute &_Solute, real NewConcetration)WaterStorage
    connect_to_surfacewater(cmf::upslope::Cell *cell, real width, bool diffusive)Reach
    connection_to(const cmf::water::flux_node &target)flux_node
    connection_to(const cmf::water::flux_node &target)flux_node
    cmf::river::OpenWaterStorage::create(cmf::project &_project, real Area)OpenWaterStoragestatic
    cmf::river::OpenWaterStorage::create(cmf::project &_project, const cmf::river::IVolumeHeightFunction &base_geo)OpenWaterStoragestatic
    cmf::river::OpenWaterStorage::create(cmf::project &_project, const cmf::river::IVolumeHeightFunction &base_geo)OpenWaterStoragestatic
    distance_to_cell(cmf::upslope::Cell *cell) constReach
    dxdt(const cmf::math::Time &time)WaterStoragevirtual
    dxdt(const cmf::math::Time &time)WaterStoragevirtual
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_depth() constOpenWaterStorage
    get_diffusive() constReach
    get_diffusive() constReach
    get_downstream() constReach
    get_height_function() constOpenWaterStoragevirtual
    get_height_function() constOpenWaterStoragevirtual
    get_length() constReach
    get_potential() constWaterStoragevirtual
    get_project() constflux_node
    get_reachtype() constReach
    get_potential(cmf::math::Time t=cmf::math::never) const overrideWaterStoragevirtual
    get_project() constflux_node
    get_reachtype() constReach
    get_root()Reach
    get_state_variable_content() constWaterStorage
    get_upstream(int index) constReach
    get_volume() constWaterStoragevirtual
    get_width() constReach
    is_connected(const cmf::math::StateVariable &other) constWaterStoragevirtual
    is_empty() constWaterStoragevirtual
    is_storage() constWaterStoragevirtual
    list typedefStateVariable
    MarkStateChangeHandled()StateVariableprotected
    get_state() constStateVariable
    get_state_variable_content() constWaterStorage
    get_upstream(int index) constReach
    get_volume() constWaterStoragevirtual
    get_width() constReach
    is_connected(const cmf::math::StateVariable &other) constWaterStoragevirtual
    is_empty() constWaterStoragevirtual
    is_storage() const overrideWaterStoragevirtual
    MarkStateChangeHandled()StateVariableprotected
    Nameflux_node
    node_idflux_node
    node_idflux_node
    OpenWaterStorage(cmf::project &_project, real Area)OpenWaterStorageprotected
    OpenWaterStorage(cmf::project &_project, const cmf::river::IVolumeHeightFunction &base_geo)OpenWaterStorageprotected
    OpenWaterStorage(cmf::project &_project, const cmf::river::IVolumeHeightFunction &base_geo)OpenWaterStorageprotected
    operator()(cmf::math::Time t) constflux_node
    positionflux_node
    positionflux_node
    RecalcFluxes(cmf::math::Time t)WaterStoragevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_dead_end()Reach
    set_diffusive(bool use_diffusive_wave)Reach
    set_diffusive(bool use_diffusive_wave)Reach
    set_downstream(ptr new_downstream, bool use_meanchannel=false)Reach
    set_height_function(const IChannel &val)Reach
    set_height_function(const IChannel &val)Reach
    set_outlet(cmf::water::flux_node::ptr outlet)Reach
    set_potential(real newpotential)WaterStoragevirtual
    set_state_variable_content(char content)WaterStorage
    set_volume(real newwatercontent)WaterStoragevirtual
    Solute(const cmf::water::solute _Solute)WaterStorage
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    upstream_count() constReach
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    WaterStorage(cmf::project &project, const std::string &Name="", double InitialState=0, double scale=1)WaterStorage
    wet_area() constOpenWaterStorage
    ~flux_node()flux_nodevirtual
    set_potential(real newpotential) overrideWaterStoragevirtual
    set_state(real newState)StateVariable
    set_state_variable_content(char content)WaterStorage
    set_volume(real newwatercontent)WaterStoragevirtual
    Solute(const cmf::water::solute _Solute)WaterStorage
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    upstream_count() constReach
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    WaterStorage(cmf::project &project, const std::string &Name="", double InitialState=0, double scale=1)WaterStorage
    wet_area() constOpenWaterStorage
    ~flux_node()flux_nodevirtual
    diff --git a/docs/classcmf_1_1river_1_1_reach.html b/docs/classcmf_1_1river_1_1_reach.html index 966f8495..0585856f 100644 --- a/docs/classcmf_1_1river_1_1_reach.html +++ b/docs/classcmf_1_1river_1_1_reach.html @@ -2,33 +2,37 @@ - - - - -cmf: Reach Class Reference - - - - + + + + + cmf: Reach Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,270 +93,287 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    A reach represents the section of a riover and is a specialization of an open water storage. - More...

    -
    + More...

    +
    + Inheritance diagram for Reach:
    -
    +
    + Collaboration diagram for Reach:

    Detailed Description

    A reach represents the section of a riover and is a specialization of an open water storage.

    -

    The OpenWaterStorage attributes and methods are extended by topological features, for the creation of a network of reaches.

    +

    The OpenWaterStorage attributes and methods are extended by topological features, for the creation of a network of reaches.

    - - - - -

    -Public Types

    -typedef std::vector< StateVariable * > list
     Not part of the API, used to create sparse structure.
     
    - - + - + - + - - + + - - - - - + + + + + - + - + - + - + - + - + - - - - + + + + - - - - - - - + + + + + + + - - + + - + + + + - + - + - + - + - - - - + + + + - + - + - - + + - + - + - + - - - - + + + + + + + - + - - - - + + + + - - + + - + - - - - - - - - -

    +

    Public Member Functions

    -real conc (cmf::math::Time t, const cmf::water::solute &solute) const
    +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
    +real conc (const cmf::water::solute &_Solute) const
     Returns the concentration of the given solute.
     
    -void conc (const cmf::water::solute &_Solute, real NewConcetration)
    +void conc (const cmf::water::solute &_Solute, real NewConcetration)
     Sets a new concentration.
     
    void connect_to_surfacewater (cmf::upslope::Cell *cell, real width, bool diffusive)
     Connects the surfacewater of a cell with this reach. More...
    void connect_to_surfacewater (cmf::upslope::Cell *cell, real width, bool diffusive)
     Connects the surfacewater of a cell with this reach.
     
    -cmf::water::flux_connectionconnection_to (const cmf::water::flux_node &target)
     Returns the connection between this and target.
     
    double distance_to_cell (cmf::upslope::Cell *cell) const
     Returns the distance (d) for connections between this reach and a cell. More...
    +cmf::water::flux_connectionconnection_to (const cmf::water::flux_node &target)
     Returns the connection between this and target.
     
    double distance_to_cell (cmf::upslope::Cell *cell) const
     Returns the distance (d) for connections between this reach and a cell.
     
    -virtual real dxdt (const cmf::math::Time &time)
    +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)
    +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)
    +cmf::geometry::point get_3d_flux (cmf::math::Time t)
     Returns the sum of all flux vectors.
     
    -real get_depth () const
    +real get_depth () const
     Returns the water table depth.
     
    -bool get_diffusive () const
    +bool get_diffusive () const
     Returns if flow is calculated using a diffusive wave model.
     
    -cmf::water::flux_node::ptr get_downstream () const
    +cmf::water::flux_node::ptr get_downstream () const
     Returns the reach downstream of this (or null if there is no reach downstream)
     
    -virtual const IVolumeHeightFunctionget_height_function () const
     The functional relation between volume, depth and exposed area.
     
    -real get_length () const
    +virtual const IVolumeHeightFunctionget_height_function () const
     The functional relation between volume, depth and exposed area.
     
    +real get_length () const
     Returns the length of the reach.
     
    virtual real get_potential () const
     Returns the water potential of the node in m waterhead. More...
     
    -cmf::projectget_project () const
     Returns the project, this node is part of.
     
    -Channel get_reachtype () const
    real get_potential (cmf::math::Time t=cmf::math::never) const override
     Returns the water potential of the node in m waterhead.
     
    +cmf::projectget_project () const
     Returns the project, this node is part of.
     
    +Channel get_reachtype () const
     Returns the channel shape.
     
    -ptr get_root ()
     Returns the reach most downstream from this reach.
    +ptr get_root ()
     Returns the reach most downstream from this reach
    +
     
    -char get_state_variable_content () const
    +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)
     
    -ptr get_upstream (int index) const
    +ptr get_upstream (int index) const
     Returns a reach upstream of this.
     
    -virtual real get_volume () const
    +virtual real get_volume () const
     Returns the volume of water in this storage in m3
     
    -real get_width () const
    +real get_width () const
     Returns the average width of the reach.
     
    -virtual bool is_connected (const cmf::math::StateVariable &other) const
    +virtual bool is_connected (const cmf::math::StateVariable &other) const
     Returns True if this waterstorage is effected by another state.
     
    -virtual bool is_storage () const
     Returns true, since this is a storage.
     
    -real operator() (cmf::math::Time t) const
    +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)
    +bool remove_connection (cmf::water::flux_node::ptr To)
     Remove the connection.
     
    -void set_dead_end ()
    +void set_dead_end ()
     Deletes any downstream connection.
     
    -void set_diffusive (bool use_diffusive_wave)
     Sets all Manning kind connections to either diffusive or kinematic.
    +void set_diffusive (bool use_diffusive_wave)
     Sets all Manning kind connections to either diffusive or kinematic.
     
    -void set_downstream (ptr new_downstream, bool use_meanchannel=false)
    +void set_downstream (ptr new_downstream, bool use_meanchannel=false)
     Connects the reach to another one downstream.
     
    -void set_height_function (const IChannel &val)
    +void set_height_function (const IChannel &val)
     Sets the channel shape.
     
    -void set_outlet (cmf::water::flux_node::ptr outlet)
    +void set_outlet (cmf::water::flux_node::ptr outlet)
     Connects the reach to an outlet, e.g. a boundary condition.
     
    -virtual void set_potential (real newpotential)
     Sets the potential of this flux node.
     
    -void set_state_variable_content (char content)
    +void set_potential (real newpotential) override
     Sets the potential of this flux node.
     
    +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)
    +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.
     
    -int upstream_count () const
    +SoluteStorage & Solute (const cmf::water::solute _Solute)
     Returns the water quality of the water storage.
     
    +int upstream_count () const
     Returns the number of reaches upstream of this.
     
    real waterbalance (cmf::math::Time t, const flux_connection *Without=0) const
     Returns the sum of all fluxes (positive and negative) at time t. More...
    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
    +real wet_area () const
     Returns the exposed surface area in m2.
     
    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. More...
     
    -virtual double is_empty () const
     Returns true if the node has no water.
     
    -virtual std::string to_string () const
     
    - - + - - - - + + + +

    +

    Static Public Member Functions

    -static ptr cast (cmf::water::flux_node::ptr node)
    +static ptr cast (cmf::water::flux_node::ptr node)
     Casts a flux node to an open water storage.
     
    -static ptr create (cmf::project &_project, real Area)
     Creates an open water storage with a prismatic volume.
     
    -static ptr create (cmf::project &_project, const cmf::river::IVolumeHeightFunction &base_geo)
    +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
    +std::string Name
     The Name of this node.
     
    -const int node_id
    +const int node_id
     The Id of the node.
     
    -cmf::geometry::point position
    +cmf::geometry::point position
     The spatial position of the node.
     
    - - + - + +

    +

    Protected Member Functions

    -void MarkStateChangeHandled ()
    +void MarkStateChangeHandled ()
     Sets the updated flag (m_StateIsNew) to false.
     
    -bool StateIsChanged ()
    +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.
     

    Member Function Documentation

    - -

    ◆ connect_to_surfacewater()

    + +

    ◆ connect_to_surfacewater()

    @@ -359,25 +381,17 @@

    void connect_to_surfacewater ( - cmf::upslope::Cell *  - cell, + cmf::upslope::Cell * cell, - real  - width, + real width, - bool  - diffusive  - - - - ) - + bool diffusive )

    @@ -394,8 +408,8 @@

    -

    ◆ distance_to_cell()

    + +

    ◆ distance_to_cell()

    @@ -403,8 +417,7 @@

    double distance_to_cell ( - cmf::upslope::Cell *  - cell) + cmf::upslope::Cell * cell) const @@ -415,8 +428,8 @@

    -

    ◆ get_potential()

    + +

    ◆ get_potential()

    - -

    ◆ RecalcFluxes()

    + +

    ◆ RecalcFluxes()

    @@ -459,8 +470,7 @@

    virtual bool RecalcFluxes ( - cmf::math::Time  - t) + cmf::math::Time t) @@ -478,8 +488,8 @@

    -

    ◆ waterbalance()

    + +

    ◆ waterbalance()

    @@ -490,19 +500,12 @@

    real waterbalance ( - cmf::math::Time  - t, + cmf::math::Time t, - const flux_connection *  - Without = 0  - - - - ) - const + const flux_connection * Without = 0 ) const @@ -513,7 +516,8 @@

    Returns the sum of all fluxes (positive and negative) at time t.

    -

    Single fluxes can be excluded from the calculation

    Parameters
    +


    + Single fluxes can be excluded from the calculation

    Parameters
    @@ -531,7 +535,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    tTime of the query
    WithoutA flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits)
    Generated: Fri Apr 26 2019 12:43:44Generated: Fri Jan 19 2024 16:10:57
    diff --git a/docs/classcmf_1_1river_1_1_reach.js b/docs/classcmf_1_1river_1_1_reach.js index 90540c91..9478bf4c 100644 --- a/docs/classcmf_1_1river_1_1_reach.js +++ b/docs/classcmf_1_1river_1_1_reach.js @@ -1,11 +1,10 @@ var classcmf_1_1river_1_1_reach = [ - [ "list", "classcmf_1_1river_1_1_reach.html#a65038c02ffb04ca17a7479ad20b0b63c", null ], [ "conc", "classcmf_1_1river_1_1_reach.html#a750070a3d0ee0d1800465b6e47f92e40", null ], [ "conc", "classcmf_1_1river_1_1_reach.html#ababf4d22a9d3952540e2204915dbc15b", null ], [ "conc", "classcmf_1_1river_1_1_reach.html#a09c41a9b1f92c291ae72ffad3e3ff44d", null ], [ "connect_to_surfacewater", "classcmf_1_1river_1_1_reach.html#a7c735f977fc5d4115c941d548ce18dc7", null ], - [ "connection_to", "classcmf_1_1river_1_1_reach.html#a5bd6810024edaf9bd5d5747d91ce5f1b", null ], + [ "connection_to", "classcmf_1_1river_1_1_reach.html#abc9aed3e3aae59d1b4c383fb6e6385eb", null ], [ "distance_to_cell", "classcmf_1_1river_1_1_reach.html#af0a493a6c66409df8200aa61d8bd9528", null ], [ "dxdt", "classcmf_1_1river_1_1_reach.html#a5cfe4250c9c98fc0bc752a565bdd90d7", null ], [ "flux_to", "classcmf_1_1river_1_1_reach.html#a66f1b6a9698be9ffce574833de835bd1", null ], @@ -13,19 +12,20 @@ var classcmf_1_1river_1_1_reach = [ "get_depth", "classcmf_1_1river_1_1_reach.html#a0b66f12f2711ad1325af367c4a7328af", null ], [ "get_diffusive", "classcmf_1_1river_1_1_reach.html#aa97ee1bf60c763f5e8857ab1feafe797", null ], [ "get_downstream", "classcmf_1_1river_1_1_reach.html#a0f1d0d12950392212805428ff2889f0a", null ], - [ "get_height_function", "classcmf_1_1river_1_1_reach.html#a2a1c038cdb754038e276525e68d306e8", null ], + [ "get_height_function", "classcmf_1_1river_1_1_reach.html#a822f212fe5023fbcd1bd6a800e5f1ffe", null ], [ "get_length", "classcmf_1_1river_1_1_reach.html#a90df07a7a0e990f5042a752b6f8a03a9", null ], - [ "get_potential", "classcmf_1_1river_1_1_reach.html#a923af9ca71ce3a008d07d88216f1a351", null ], - [ "get_project", "classcmf_1_1river_1_1_reach.html#ae4c3731109c42d8e7f70eb646fb573ec", null ], + [ "get_potential", "classcmf_1_1river_1_1_reach.html#a5b80f0e67ce2c58785c148b78a9515df", null ], + [ "get_project", "classcmf_1_1river_1_1_reach.html#aac16760bdca4fd53f80987ee5affa734", null ], [ "get_reachtype", "classcmf_1_1river_1_1_reach.html#a4f8492be0f3db08244db6e85074991cd", null ], [ "get_root", "classcmf_1_1river_1_1_reach.html#ad4701ce7af46049bb13c4170fa53a62f", null ], + [ "get_state", "classcmf_1_1river_1_1_reach.html#a5b794a3d74e0b878ff0a4200015e7cc2", null ], [ "get_state_variable_content", "classcmf_1_1river_1_1_reach.html#afac22fccd2df2d35c22acfcb75239427", null ], [ "get_upstream", "classcmf_1_1river_1_1_reach.html#abe8fc72bf4b588cf7614cc49651a387c", null ], [ "get_volume", "classcmf_1_1river_1_1_reach.html#a56a03fc6fead8765d35e9b54a5b6ad08", null ], [ "get_width", "classcmf_1_1river_1_1_reach.html#a279234cd63e4fa6fe6488e17c36b600c", null ], [ "is_connected", "classcmf_1_1river_1_1_reach.html#adc4ae437d7a2f33ee85fe811fc8b6d0f", null ], [ "is_empty", "classcmf_1_1river_1_1_reach.html#ab3f02f11f233972d7c26cf26a9090613", null ], - [ "is_storage", "classcmf_1_1river_1_1_reach.html#ace09b97c37ded843368a00c04e89b55f", null ], + [ "is_storage", "classcmf_1_1river_1_1_reach.html#a3f0f2248157d3eb5ffc9dc5c5e747c21", null ], [ "MarkStateChangeHandled", "classcmf_1_1river_1_1_reach.html#ae45a5bd291cb989067417aba8e565d0c", null ], [ "operator()", "classcmf_1_1river_1_1_reach.html#a1ac09266985df622ef90ce40783058cb", null ], [ "RecalcFluxes", "classcmf_1_1river_1_1_reach.html#ad4e4534513b31d5a3596b072ad4cd42f", null ], @@ -35,10 +35,11 @@ var classcmf_1_1river_1_1_reach = [ "set_downstream", "classcmf_1_1river_1_1_reach.html#ac8601c12fe7debb12bc2013bd222a531", null ], [ "set_height_function", "classcmf_1_1river_1_1_reach.html#ae53eeef3f4a1a634452e07e610538132", null ], [ "set_outlet", "classcmf_1_1river_1_1_reach.html#ac95c321ff1a140556ba5d3379b5a231a", null ], - [ "set_potential", "classcmf_1_1river_1_1_reach.html#a0f6a1659d1942fbb2d1df4ca933a9d63", null ], + [ "set_potential", "classcmf_1_1river_1_1_reach.html#a20a14278c2bfb0dec3b1b64fe62ee9db", null ], + [ "set_state", "classcmf_1_1river_1_1_reach.html#a0d5dd145810bcfdea803d83d12302c96", null ], [ "set_state_variable_content", "classcmf_1_1river_1_1_reach.html#af4e317b28d48091741e40af5e9da79a1", null ], [ "set_volume", "classcmf_1_1river_1_1_reach.html#a31b0a05543af754adf863c0bd7934a3e", null ], - [ "Solute", "classcmf_1_1river_1_1_reach.html#ac7af103f4eabcabd46289fc96329e9bb", null ], + [ "Solute", "classcmf_1_1river_1_1_reach.html#a8ff1638803c38f89f1bf018e65241681", null ], [ "StateIsChanged", "classcmf_1_1river_1_1_reach.html#a2cf1e9d2df8900cf74cbc0773726ca91", null ], [ "upstream_count", "classcmf_1_1river_1_1_reach.html#a8d8863134f8a28ebe15244df8a98b00b", null ], [ "waterbalance", "classcmf_1_1river_1_1_reach.html#a2b14436c9dfb7b52bad2784c81a31eab", null ], diff --git a/docs/classcmf_1_1river_1_1_reach__coll__graph.map b/docs/classcmf_1_1river_1_1_reach__coll__graph.map index 262838d3..b369ffff 100644 --- a/docs/classcmf_1_1river_1_1_reach__coll__graph.map +++ b/docs/classcmf_1_1river_1_1_reach__coll__graph.map @@ -1,7 +1,13 @@ - - - - - + + + + + + + + + + + diff --git a/docs/classcmf_1_1river_1_1_reach__coll__graph.md5 b/docs/classcmf_1_1river_1_1_reach__coll__graph.md5 index cb391b0e..d2a9f1dd 100644 --- a/docs/classcmf_1_1river_1_1_reach__coll__graph.md5 +++ b/docs/classcmf_1_1river_1_1_reach__coll__graph.md5 @@ -1 +1 @@ -6f5851d51ff3243a4f7f283d36ba6996 \ No newline at end of file +fdbf57b71da369fdfc2424f21751a064 \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_reach__coll__graph.png b/docs/classcmf_1_1river_1_1_reach__coll__graph.png index 32b5f2ae..a5413d6f 100644 Binary files a/docs/classcmf_1_1river_1_1_reach__coll__graph.png and b/docs/classcmf_1_1river_1_1_reach__coll__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_reach__inherit__graph.map b/docs/classcmf_1_1river_1_1_reach__inherit__graph.map index 510c5480..86365b25 100644 --- a/docs/classcmf_1_1river_1_1_reach__inherit__graph.map +++ b/docs/classcmf_1_1river_1_1_reach__inherit__graph.map @@ -1,6 +1,11 @@ - - - - + + + + + + + + + diff --git a/docs/classcmf_1_1river_1_1_reach__inherit__graph.md5 b/docs/classcmf_1_1river_1_1_reach__inherit__graph.md5 index 64041e08..6aa7947c 100644 --- a/docs/classcmf_1_1river_1_1_reach__inherit__graph.md5 +++ b/docs/classcmf_1_1river_1_1_reach__inherit__graph.md5 @@ -1 +1 @@ -d40465301f2fb0e117c1acb6c3b214ed \ No newline at end of file +c5aa66feef87dc4d4fe5ca4dc0415461 \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_reach__inherit__graph.png b/docs/classcmf_1_1river_1_1_reach__inherit__graph.png index 694a4780..3683a2b7 100644 Binary files a/docs/classcmf_1_1river_1_1_reach__inherit__graph.png and b/docs/classcmf_1_1river_1_1_reach__inherit__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_reach_iterator-members.html b/docs/classcmf_1_1river_1_1_reach_iterator-members.html index 022fe91e..b73908d1 100644 --- a/docs/classcmf_1_1river_1_1_reach_iterator-members.html +++ b/docs/classcmf_1_1river_1_1_reach_iterator-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,23 +93,29 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    ReachIterator Member List
    +
    ReachIterator Member List

    This is the complete list of members for ReachIterator, including all inherited members.

    - + - +
    next()ReachIterator
    position() constReachIterator
    position() constReachIterator
    reach() constReachIterator
    ReachIterator(Reach::ptr first)ReachIterator
    ReachIterator(Reach::ptr first)ReachIterator
    valid() constReachIterator
    @@ -114,7 +125,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:44 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1river_1_1_reach_iterator.html b/docs/classcmf_1_1river_1_1_reach_iterator.html index f0baec67..0ed78d62 100644 --- a/docs/classcmf_1_1river_1_1_reach_iterator.html +++ b/docs/classcmf_1_1river_1_1_reach_iterator.html @@ -2,33 +2,37 @@ - - - - -cmf: ReachIterator Class Reference - - - - + + + + + cmf: ReachIterator Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,45 +93,59 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    ReachIterator Class Reference
    +
    ReachIterator Class Reference

    An iterator over every upstream reach from a start reach. - More...

    + More...

    Detailed Description

    An iterator over every upstream reach from a start reach.

    -

    Implements both the Python and the C++ iterator interface Usage C++:

    ptr r;
    for (ReachIterator it(r);it.valid();++it) { ... }

    Usage Python:

    for reach in ReachIterator(r):
    pass
    - - +

    +

    Implements both the Python and the C++ iterator interface Usage C++:

    ptr r;
    +
    for (ReachIterator it(r);it.valid();++it) { ... }
    +
    An iterator over every upstream reach from a start reach.
    Definition Reach.h:132
    +
    bool valid() const
    Returns true, if reaches are left to iterate over.
    +

    Usage Python:

    for reach in ReachIterator(r):
    +
    pass
    +
    ReachIterator(Reach::ptr first)
    Creates a ReachIterator from a first reach.
    +
    Reach::ptr reach() const
    Returns the current reach.
    +
    + - - + + - + - + - + - +

    Public Member Functions

    ReachIterator (Reach::ptr first)
     Creates a ReachIterator from a first reach.
    ReachIterator (Reach::ptr first)
     Creates a ReachIterator from a first reach.
     
    -Reach::ptr next ()
    +Reach::ptr next ()
     Returns the next reach in the upstream queue.
     
    -double position () const
    +double position () const
     Returns the distance to the root reach.
     
    -Reach::ptr reach () const
    +Reach::ptr reach () const
     Returns the current reach.
     
    -bool valid () const
    +bool valid () const
     Returns true, if reaches are left to iterate over.
     
    @@ -138,7 +157,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    Generated: Fri Apr 26 2019 12:43:44Generated: Fri Jan 19 2024 16:10:57
    diff --git a/docs/classcmf_1_1river_1_1_rectangular_reach-members.html b/docs/classcmf_1_1river_1_1_rectangular_reach-members.html index d50e5e5a..d97563a5 100644 --- a/docs/classcmf_1_1river_1_1_rectangular_reach-members.html +++ b/docs/classcmf_1_1river_1_1_rectangular_reach-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,27 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    RectangularReach Member List
    +
    RectangularReach Member List

    This is the complete list of members for RectangularReach, including all inherited members.

    - + - + - + - +
    A(double V) constIChannelvirtual
    get_channel_width(double depth) constRectangularReachvirtual
    get_channel_width(double depth) constRectangularReachvirtual
    get_depth(double area) constRectangularReachvirtual
    get_flux_crossection(double depth) constRectangularReachvirtual
    get_flux_crossection(double depth) constRectangularReachvirtual
    get_length() constRectangularReachvirtual
    get_wetted_perimeter(double depth) constRectangularReachvirtual
    get_wetted_perimeter(double depth) constRectangularReachvirtual
    h(double V) constIChannelvirtual
    qManning(double A, double slope) constIChannelvirtual
    qManning(double A, double slope) constIChannelvirtual
    RectangularReach(double l, double width)RectangularReach
    @@ -118,7 +129,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:44 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1river_1_1_rectangular_reach.html b/docs/classcmf_1_1river_1_1_rectangular_reach.html index d0928c32..817f045b 100644 --- a/docs/classcmf_1_1river_1_1_rectangular_reach.html +++ b/docs/classcmf_1_1river_1_1_rectangular_reach.html @@ -2,33 +2,37 @@ - - - - -cmf: RectangularReach Class Reference - - - - + + + + + cmf: RectangularReach Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,103 +93,96 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    RectangularReach Class Reference
    +
    RectangularReach Class Reference

    Describes a IChannel with a rectangular crosssection. - More...

    -
    + More...

    +
    + Inheritance diagram for RectangularReach:
    -
    +
    + Collaboration diagram for RectangularReach:

    Detailed Description

    Describes a IChannel with a rectangular crosssection.

    - - + - + - - + + - - + + - - + + - + - - + + - + - - + +

    +

    Public Member Functions

    RectangularReach (double l, double width)
    RectangularReach (double l, double width)
     Creates a new rectangular reach type with width [m].
     
    -virtual double A (double V) const
    +virtual double A (double V) const
     Returns the area of the surface for a given volume.
     
    -virtual double get_channel_width (double depth) const
     Returns the width of the stream at a given depth

    -\begin{eqnarray*} w &=& const \end{eqnarray*} -

    -

    .

    virtual double get_channel_width (double depth) const
     Returns the width of the stream at a given depth.
     
    -virtual double get_depth (double area) const
     Returns the depth at a given crossection area

    -\begin{eqnarray*} d &=& \frac A w \end{eqnarray*} -

    -

    .

    virtual double get_depth (double area) const
     Returns the depth at a given crossection area.
     
    -virtual double get_flux_crossection (double depth) const
     Returns the crossection area at a given depth

    -\begin{eqnarray*} A &=& d w \end{eqnarray*} -

    -

    .

    virtual double get_flux_crossection (double depth) const
     Returns the crossection area at a given depth.
     
    -double get_length () const
    +double get_length () const
     Length of the reach.
     
    -virtual double get_wetted_perimeter (double depth) const
     Returns the wetted perimeter at a given depth

    -\begin{eqnarray*} P &=& 2 d + w \end{eqnarray*} -

    -

    .

    virtual double get_wetted_perimeter (double depth) const
     Returns the wetted perimeter at a given depth.
     
    -virtual double h (double V) const
    +virtual double h (double V) const
     Returns the depth of a given volume.
     
    virtual double qManning (double A, double slope) const
     Calculates the flow rate from a given water volume in the reach

    -\begin{eqnarray*} q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ R &=& \frac A {P(d)} \\ P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ \Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} \end{eqnarray*} -

    -

    . More...

    virtual double qManning (double A, double slope) const
     Calculates the flow rate from a given water volume in the reach.
     

    Member Function Documentation

    - -

    ◆ qManning()

    + +

    ◆ get_channel_width()

    + +

    ◆ get_depth()

    + +
    +
    + + + + + +
    + - - - - + + + + +
    double slope virtual double get_depth (double area) const
    +
    +virtual
    +
    + +

    Returns the depth at a given crossection area.

    +

    +\begin{eqnarray*} +d &=& \frac A w +\end{eqnarray*} +

    + +

    Implements IChannel.

    + +
    +
    + +

    ◆ get_flux_crossection()

    + +
    +
    + + + + + +
    + + + + + + +
    virtual double get_flux_crossection (double depth) const
    +
    +virtual
    +
    + +

    Returns the crossection area at a given depth.

    +

    +\begin{eqnarray*} +A &=& d w +\end{eqnarray*} +

    + +

    Implements IChannel.

    + +
    +
    + +

    ◆ get_wetted_perimeter()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual double get_wetted_perimeter (double depth) const
    +
    +virtual
    +
    + +

    Returns the wetted perimeter at a given depth.

    +

    +\begin{eqnarray*} +P &=& 2 d + w +\end{eqnarray*} +

    + +

    Implements IChannel.

    + +
    +
    + +

    ◆ qManning()

    + +
    +
    + + + @@ -217,11 +344,18 @@

    -

    Calculates the flow rate from a given water volume in the reach

    -\begin{eqnarray*} q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ R &=& \frac A {P(d)} \\ P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ \Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} \end{eqnarray*} +

    Calculates the flow rate from a given water volume in the reach.

    +

    +\begin{eqnarray*} +q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ +A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ +R &=& \frac A {P(d)} \\ +P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ +d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ +\Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} +\end{eqnarray*}

    -

    .

    -
    Returns
    Flow rate [m3/s]
    +
    Returns
    Flow rate [m3/s]
    Parameters

    + + + + + + + + - - +
    virtual double qManning (double A,
    ) constdouble slope ) const
    @@ -240,7 +374,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    AThe area of the cross section [m2]
    Generated: Fri Apr 26 2019 12:43:44Generated: Fri Jan 19 2024 16:10:57
    diff --git a/docs/classcmf_1_1river_1_1_rectangular_reach__coll__graph.map b/docs/classcmf_1_1river_1_1_rectangular_reach__coll__graph.map index c90b572b..ff48e852 100644 --- a/docs/classcmf_1_1river_1_1_rectangular_reach__coll__graph.map +++ b/docs/classcmf_1_1river_1_1_rectangular_reach__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1river_1_1_rectangular_reach__coll__graph.md5 b/docs/classcmf_1_1river_1_1_rectangular_reach__coll__graph.md5 index a174dc4c..f410443b 100644 --- a/docs/classcmf_1_1river_1_1_rectangular_reach__coll__graph.md5 +++ b/docs/classcmf_1_1river_1_1_rectangular_reach__coll__graph.md5 @@ -1 +1 @@ -46ced63bd4b44868e55462912b846e82 \ No newline at end of file +bd6b63eb4e83b8f51270a20b9fa4866a \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_rectangular_reach__coll__graph.png b/docs/classcmf_1_1river_1_1_rectangular_reach__coll__graph.png index 9fa84a5b..de03161c 100644 Binary files a/docs/classcmf_1_1river_1_1_rectangular_reach__coll__graph.png and b/docs/classcmf_1_1river_1_1_rectangular_reach__coll__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_rectangular_reach__inherit__graph.map b/docs/classcmf_1_1river_1_1_rectangular_reach__inherit__graph.map index c90b572b..ff48e852 100644 --- a/docs/classcmf_1_1river_1_1_rectangular_reach__inherit__graph.map +++ b/docs/classcmf_1_1river_1_1_rectangular_reach__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1river_1_1_rectangular_reach__inherit__graph.md5 b/docs/classcmf_1_1river_1_1_rectangular_reach__inherit__graph.md5 index b809b2e6..f410443b 100644 --- a/docs/classcmf_1_1river_1_1_rectangular_reach__inherit__graph.md5 +++ b/docs/classcmf_1_1river_1_1_rectangular_reach__inherit__graph.md5 @@ -1 +1 @@ -6de090651d25357a4d27ec5a0e3e6c01 \ No newline at end of file +bd6b63eb4e83b8f51270a20b9fa4866a \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_rectangular_reach__inherit__graph.png b/docs/classcmf_1_1river_1_1_rectangular_reach__inherit__graph.png index 9fa84a5b..de03161c 100644 Binary files a/docs/classcmf_1_1river_1_1_rectangular_reach__inherit__graph.png and b/docs/classcmf_1_1river_1_1_rectangular_reach__inherit__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type-members.html b/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type-members.html index 896f2c9a..d8869e1b 100644 --- a/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type-members.html +++ b/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SWATReachType Member List
    +
    SWATReachType Member List

    This is the complete list of members for SWATReachType, including all inherited members.

    - + - + - + - + - + - + - +
    A(double V) constIChannelvirtual
    BankSlopeSWATReachType
    BankSlopeSWATReachType
    BottomWidthSWATReachType
    ChannelDepthSWATReachType
    ChannelDepthSWATReachType
    FloodPlainSlopeSWATReachType
    get_channel_width(double depth) constSWATReachTypevirtual
    get_channel_width(double depth) constSWATReachTypevirtual
    get_depth(double area) constSWATReachTypevirtual
    get_flux_crossection(double depth) constSWATReachTypevirtual
    get_flux_crossection(double depth) constSWATReachTypevirtual
    get_length() constSWATReachTypevirtual
    get_wetted_perimeter(double depth) constSWATReachTypevirtual
    get_wetted_perimeter(double depth) constSWATReachTypevirtual
    h(double V) constIChannelvirtual
    qManning(double A, double slope) constIChannelvirtual
    qManning(double A, double slope) constIChannelvirtual
    SWATReachType(double l)SWATReachType
    SWATReachType(double l, double BankWidth, double Depth)SWATReachType
    SWATReachType(double l, double BankWidth, double Depth)SWATReachType

    -Generated: Fri Apr 26 2019 12:43:44 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type.html b/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type.html index 5e98f13a..f7275327 100644 --- a/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type.html +++ b/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type.html @@ -2,33 +2,37 @@ - - - - -cmf: SWATReachType Class Reference - - - - + + + + + cmf: SWATReachType Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SWATReachType Class Reference
    +
    SWATReachType Class Reference

    Structure for the description of structural parameters of a reach. - More...

    -
    + More...

    +
    + Inheritance diagram for SWATReachType:
    -
    +
    + Collaboration diagram for SWATReachType:

    Detailed Description

    Structure for the description of structural parameters of a reach.

    Uses the SWAT IChannel geometry (see SWAT Theoretical Documentation, Version 2005 (ch. 7:1.1), Neitsch et al. 2005), in this class referenced as SWATtheoDoc. Differences to the SWAT geometry: The flood plain is not plain, but has a small slope=0.5%, but has an infinite width

    - - + - - + + - + - - + + - - + + - - + + - + - - + + - + - - + +

    +

    Public Member Functions

    SWATReachType (double l)
    SWATReachType (double l)
     Creates a new reach structure with standard values (small natural river) BottomWidth = 3m, ChannelDepth = 0.5m, BankSlope = 2, nManning = 0.0035, FloodPlainSlope = 200.
     
     SWATReachType (double l, double BankWidth, double Depth)
     Creates a new reach structure from a give width and depth. More...
     SWATReachType (double l, double BankWidth, double Depth)
     Creates a new reach structure from a give width and depth.
     
    -virtual double A (double V) const
    +virtual double A (double V) const
     Returns the area of the surface for a given volume.
     
    virtual double get_channel_width (double depth) const
     Calculates the flow width from a given actual depth [m] using the actual IChannel geometry

    -\begin{eqnarray*} \mbox{If } d\le d_{IChannel} && \\ w &=& w_{bottom} + 2 \Delta_{bank} d \\ \mbox{else, } && \mbox{if the river floods the flood plain} \\ w &=& w_{bank} + 2 \Delta_{Floodplain} (d-d_{IChannel} \\ \end{eqnarray*} -

    -

    . More...

    virtual double get_channel_width (double depth) const
     Calculates the flow width from a given actual depth [m] using the actual IChannel geometry.
     
    virtual double get_depth (double area) const
     Calculates the actual depth of the reach using the IChannel geometry

    -\begin{eqnarray*} d &=& \sqrt{\frac{A}{\Delta_{bank}} + \frac{{w_{bottom}}^2}{4 {\Delta_{bank}}^2}} - \frac{w_{bottom}}{2 \Delta_{bank}} \\ \mbox{If } d>d_{IChannel} &&\\ d&=&d_{IChannel}+\sqrt{\frac{A-A(d_{IChannel})}{\Delta_{flood\ plain}} + \frac{{w(d_{IChannel})}^2}{4 {\Delta_{flood\ plain}}^2}} - \frac{w(d_{IChannel})}{2 \Delta_{flood\ plain}} \\ \end{eqnarray*} -

    -

    . More...

    virtual double get_depth (double area) const
     Calculates the actual depth of the reach using the IChannel geometry.
     
    virtual double get_flux_crossection (double depth) const
     Calculates the wetted area from a given depth using the IChannel geometry. More...
    virtual double get_flux_crossection (double depth) const
     Calculates the wetted area from a given depth using the IChannel geometry.
     
    -double get_length () const
    +double get_length () const
     Length of the reach.
     
    virtual double get_wetted_perimeter (double depth) const
     Calculates the wetted perimeter from a given actual depth [m] using the actual IChannel geometry

    -\begin{eqnarray*} \mbox{If } d\le d_{IChannel} && \\ P &=& w_{bottom} + 2 \sqrt{1+ {\Delta_{bank}}^2} d \\ \mbox{else, } && \mbox{if the river floods the flood plain} \\ P &=& P(d_{IChannel} + 2 \sqrt{1+ {\Delta_{flood\ plain}}^2} (d-d_{IChannel}) \\ \end{eqnarray*} -

    -

    . More...

    virtual double get_wetted_perimeter (double depth) const
     Calculates the wetted perimeter from a given actual depth [m] using the actual IChannel geometry.
     
    -virtual double h (double V) const
    +virtual double h (double V) const
     Returns the depth of a given volume.
     
    virtual double qManning (double A, double slope) const
     Calculates the flow rate from a given water volume in the reach

    -\begin{eqnarray*} q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ R &=& \frac A {P(d)} \\ P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ \Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} \end{eqnarray*} -

    -

    . More...

    virtual double qManning (double A, double slope) const
     Calculates the flow rate from a given water volume in the reach.
     
    - - + - + - + - +

    +

    Public Attributes

    -double BankSlope
    +double BankSlope
     Inverse slope of the river bank \( \Delta_{bank} \left[\frac m m\right] \).
     
    -double BottomWidth
    +double BottomWidth
     get_channel_width of the IChannel bottom \( w_{bottom} [m] \)
     
    -double ChannelDepth
    +double ChannelDepth
     get_depth of the IChannel \( d_{IChannel} [m] \)
     
    -double FloodPlainSlope
    +double FloodPlainSlope
     Inverse slope of the flood plain \( \Delta_{flood\ plain} \left[\frac m m\right] \).
     

    Constructor & Destructor Documentation

    - -

    ◆ SWATReachType()

    + +

    ◆ SWATReachType()

    @@ -209,25 +214,17 @@

    SWATReachType ( - double  - l, + double l, - double  - BankWidth, + double BankWidth, - double  - Depth  - - - - ) - + double Depth )

    @@ -245,8 +242,8 @@

    Member Function Documentation

    - -

    ◆ get_channel_width()

    + +

    ◆ get_channel_width()

    @@ -257,8 +254,7 @@

    virtual double get_channel_width ( - double  - depth) + double depth) const @@ -269,18 +265,23 @@

    -

    Calculates the flow width from a given actual depth [m] using the actual IChannel geometry

    -\begin{eqnarray*} \mbox{If } d\le d_{IChannel} && \\ w &=& w_{bottom} + 2 \Delta_{bank} d \\ \mbox{else, } && \mbox{if the river floods the flood plain} \\ w &=& w_{bank} + 2 \Delta_{Floodplain} (d-d_{IChannel} \\ \end{eqnarray*} +

    Calculates the flow width from a given actual depth [m] using the actual IChannel geometry.

    +

    +\begin{eqnarray*} + \mbox{If } d\le d_{IChannel} && \\ + w &=& w_{bottom} + 2 \Delta_{bank} d \\ + \mbox{else, } && \mbox{if the river floods the flood plain} \\ + w &=& w_{bank} + 2 \Delta_{Floodplain} (d-d_{IChannel} \\ + \end{eqnarray*}

    -

    .

    -
    See also
    SWATtheoDoc eq. 7:1.1.3
    +
    See also
    SWATtheoDoc eq. 7:1.1.3

    Implements IChannel.

    - -

    ◆ get_depth()

    + +

    ◆ get_depth()

    @@ -291,8 +292,7 @@

    virtual double get_depth ( - double  - area) + double area) const @@ -303,11 +303,15 @@

    -

    Calculates the actual depth of the reach using the IChannel geometry

    -\begin{eqnarray*} d &=& \sqrt{\frac{A}{\Delta_{bank}} + \frac{{w_{bottom}}^2}{4 {\Delta_{bank}}^2}} - \frac{w_{bottom}}{2 \Delta_{bank}} \\ \mbox{If } d>d_{IChannel} &&\\ d&=&d_{IChannel}+\sqrt{\frac{A-A(d_{IChannel})}{\Delta_{flood\ plain}} + \frac{{w(d_{IChannel})}^2}{4 {\Delta_{flood\ plain}}^2}} - \frac{w(d_{IChannel})}{2 \Delta_{flood\ plain}} \\ \end{eqnarray*} +

    Calculates the actual depth of the reach using the IChannel geometry.

    +

    +\begin{eqnarray*} + d &=& \sqrt{\frac{A}{\Delta_{bank}} + \frac{{w_{bottom}}^2}{4 {\Delta_{bank}}^2}} - \frac{w_{bottom}}{2 \Delta_{bank}} \\ + \mbox{If } d>d_{IChannel} &&\\ + d&=&d_{IChannel}+\sqrt{\frac{A-A(d_{IChannel})}{\Delta_{flood\ plain}} + \frac{{w(d_{IChannel})}^2}{4 {\Delta_{flood\ plain}}^2}} - \frac{w(d_{IChannel})}{2 \Delta_{flood\ plain}} \\ + \end{eqnarray*}

    -

    .

    -
    See also
    SWATtheoDoc eq. 7:1.2.4
    +
    See also
    SWATtheoDoc eq. 7:1.2.4
    Returns
    get_depth of the reach [m]
    Parameters
    @@ -320,8 +324,8 @@

    -

    ◆ get_flux_crossection()

    + +

    ◆ get_flux_crossection()

    - - +
    (double depth)double depth) const
    @@ -345,8 +348,13 @@

    Calculates the wetted area from a given depth using the IChannel geometry.

    -

    In most cases use get_flux_crossection=V/l, where V is the stored volume and l is the reach length

    -\begin{eqnarray*} \mbox{If } d>d_{IChannel} &&\\ A &=& \left(w_{bottom} + \Delta_{bank} d\right) d \\ \mbox{else, } && \mbox{if the river floods the flood plain} \\ A &=& A(d_{IChannel}) + \left(w(d_{IChannel} + \Delta_{flood\ plain} \left(d-d_{IChannel}\right)\right) (d-d_{IChannel}) \\ \end{eqnarray*} +

    In most cases use get_flux_crossection=V/l, where V is the stored volume and l is the reach length

    +\begin{eqnarray*} +\mbox{If } d>d_{IChannel} &&\\ +A &=& \left(w_{bottom} + \Delta_{bank} d\right) d \\ +\mbox{else, } && \mbox{if the river floods the flood plain} \\ +A &=& A(d_{IChannel}) + \left(w(d_{IChannel} + \Delta_{flood\ plain} \left(d-d_{IChannel}\right)\right) (d-d_{IChannel}) \\ +\end{eqnarray*}

    See also
    SWATtheoDoc eq. 7:1.1.4
    Returns
    Wetted area of a river cross section [m2]
    @@ -361,8 +369,8 @@

    -

    ◆ get_wetted_perimeter()

    + +

    ◆ get_wetted_perimeter()

    @@ -373,8 +381,7 @@

    virtual double get_wetted_perimeter ( - double  - depth) + double depth) const @@ -385,11 +392,16 @@

    -

    Calculates the wetted perimeter from a given actual depth [m] using the actual IChannel geometry

    -\begin{eqnarray*} \mbox{If } d\le d_{IChannel} && \\ P &=& w_{bottom} + 2 \sqrt{1+ {\Delta_{bank}}^2} d \\ \mbox{else, } && \mbox{if the river floods the flood plain} \\ P &=& P(d_{IChannel} + 2 \sqrt{1+ {\Delta_{flood\ plain}}^2} (d-d_{IChannel}) \\ \end{eqnarray*} +

    Calculates the wetted perimeter from a given actual depth [m] using the actual IChannel geometry.

    +

    +\begin{eqnarray*} + \mbox{If } d\le d_{IChannel} && \\ + P &=& w_{bottom} + 2 \sqrt{1+ {\Delta_{bank}}^2} d \\ + \mbox{else, } && \mbox{if the river floods the flood plain} \\ + P &=& P(d_{IChannel} + 2 \sqrt{1+ {\Delta_{flood\ plain}}^2} (d-d_{IChannel}) \\ + \end{eqnarray*}

    -

    .

    -
    See also
    SWATtheoDoc eq. 7:1.1.5
    +
    See also
    SWATtheoDoc eq. 7:1.1.5
    Parameters
    @@ -401,8 +413,8 @@

    -

    ◆ qManning()

    + +

    ◆ qManning()

    @@ -413,19 +425,12 @@

    virtual double qManning

    - - + - - - - - - - +
    depthActual depth of the reach [m]
    (double A, double A,
    double slope 
    ) constdouble slope ) const
    @@ -435,11 +440,18 @@

    -

    Calculates the flow rate from a given water volume in the reach

    -\begin{eqnarray*} q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ R &=& \frac A {P(d)} \\ P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ \Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} \end{eqnarray*} +

    Calculates the flow rate from a given water volume in the reach.

    +

    +\begin{eqnarray*} +q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ +A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ +R &=& \frac A {P(d)} \\ +P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ +d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ +\Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} +\end{eqnarray*}

    -

    .

    -
    Returns
    Flow rate [m3/s]
    +
    Returns
    Flow rate [m3/s]
    Parameters
    @@ -458,7 +470,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    AThe area of the cross section [m2]
    Generated: Fri Apr 26 2019 12:43:44Generated: Fri Jan 19 2024 16:10:57
    diff --git a/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__coll__graph.map b/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__coll__graph.map index e1a48e42..94c2a203 100644 --- a/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__coll__graph.map +++ b/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__coll__graph.md5 b/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__coll__graph.md5 index 49dde8b4..120c16ba 100644 --- a/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__coll__graph.md5 +++ b/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__coll__graph.md5 @@ -1 +1 @@ -bb471f25d8be8faf4abb5c877be3e7e6 \ No newline at end of file +e66a10ddc73fc61fb4b7dd10d87e1f60 \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__coll__graph.png b/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__coll__graph.png index b379daff..49f5aa92 100644 Binary files a/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__coll__graph.png and b/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__coll__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__inherit__graph.map b/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__inherit__graph.map index e1a48e42..94c2a203 100644 --- a/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__inherit__graph.map +++ b/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__inherit__graph.md5 b/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__inherit__graph.md5 index 6bbc6f2b..120c16ba 100644 --- a/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__inherit__graph.md5 +++ b/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__inherit__graph.md5 @@ -1 +1 @@ -438dabb3f42960a5f2f6825ad8544600 \ No newline at end of file +e66a10ddc73fc61fb4b7dd10d87e1f60 \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__inherit__graph.png b/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__inherit__graph.png index b379daff..49f5aa92 100644 Binary files a/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__inherit__graph.png and b/docs/classcmf_1_1river_1_1_s_w_a_t_reach_type__inherit__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_triangular_reach-members.html b/docs/classcmf_1_1river_1_1_triangular_reach-members.html index b6e790a4..94185242 100644 --- a/docs/classcmf_1_1river_1_1_triangular_reach-members.html +++ b/docs/classcmf_1_1river_1_1_triangular_reach-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,29 +93,35 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    TriangularReach Member List
    +
    TriangularReach Member List

    This is the complete list of members for TriangularReach, including all inherited members.

    - + - + - + - + - +
    A(double V) constIChannelvirtual
    BankSlopeTriangularReach
    BankSlopeTriangularReach
    get_channel_width(double depth) constTriangularReachvirtual
    get_depth(double area) constTriangularReachvirtual
    get_depth(double area) constTriangularReachvirtual
    get_flux_crossection(double depth) constTriangularReachvirtual
    get_length() constTriangularReachvirtual
    get_length() constTriangularReachvirtual
    get_wetted_perimeter(double depth) constTriangularReachvirtual
    h(double V) constIChannelvirtual
    h(double V) constIChannelvirtual
    qManning(double A, double slope) constIChannelvirtual
    TriangularReach(double l, double bankSlope=2)TriangularReach
    TriangularReach(double l, double bankSlope=2)TriangularReach

    -Generated: Fri Apr 26 2019 12:43:44 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1river_1_1_triangular_reach.html b/docs/classcmf_1_1river_1_1_triangular_reach.html index 0e9b6d99..0e494579 100644 --- a/docs/classcmf_1_1river_1_1_triangular_reach.html +++ b/docs/classcmf_1_1river_1_1_triangular_reach.html @@ -2,33 +2,37 @@ - - - - -cmf: TriangularReach Class Reference - - - - + + + + + cmf: TriangularReach Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    TriangularReach Class Reference
    +
    TriangularReach Class Reference

    Structure for the description of reaches with a triangular cross section. - More...

    -
    + More...

    +
    + Inheritance diagram for TriangularReach:
    -
    +
    + Collaboration diagram for TriangularReach:

    Detailed Description

    Structure for the description of reaches with a triangular cross section.

    Although double triangular cross section reach are rarely met, a triangular reach does scale with its water load, and is therefore preferable in case where nothing about IChannel geometry is known

    - - + - + - - + + - - + + - - + + - + - - + + - + - - + +

    +

    Public Member Functions

    TriangularReach (double l, double bankSlope=2)
    TriangularReach (double l, double bankSlope=2)
     Creates a new triangular reach type.
     
    -virtual double A (double V) const
    +virtual double A (double V) const
     Returns the area of the surface for a given volume.
     
    -virtual double get_channel_width (double depth) const
     Returns the width of the stream at a given depth

    -\begin{eqnarray*} w &=& 2 \Delta\ d \end{eqnarray*} -

    -

    .

    virtual double get_channel_width (double depth) const
     Returns the width of the stream at a given depth.
     
    -virtual double get_depth (double area) const
     Returns the depth at a given crossection area

    -\begin{eqnarray*} d &=& \sqrt{\frac{A}{\Delta}} \end{eqnarray*} -

    -

    .

    virtual double get_depth (double area) const
     Returns the depth at a given crossection area.
     
    -virtual double get_flux_crossection (double depth) const
     Returns the crossection area at a given depth

    -\begin{eqnarray*} A &=& d^2 \Delta \end{eqnarray*} -

    -

    .

    virtual double get_flux_crossection (double depth) const
     Returns the crossection area at a given depth.
     
    -double get_length () const
    +double get_length () const
     Length of the reach.
     
    -virtual double get_wetted_perimeter (double depth) const
     Returns the wetted perimeter at a given depth

    -\begin{eqnarray*} P &=& 2 d \sqrt{1+\Delta^2} \end{eqnarray*} -

    -

    .

    virtual double get_wetted_perimeter (double depth) const
     Returns the wetted perimeter at a given depth.
     
    -virtual double h (double V) const
    +virtual double h (double V) const
     Returns the depth of a given volume.
     
    virtual double qManning (double A, double slope) const
     Calculates the flow rate from a given water volume in the reach

    -\begin{eqnarray*} q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ R &=& \frac A {P(d)} \\ P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ \Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} \end{eqnarray*} -

    -

    . More...

    virtual double qManning (double A, double slope) const
     Calculates the flow rate from a given water volume in the reach.
     
    - - +

    +

    Public Attributes

    -double BankSlope
    +double BankSlope
     Inverse slope of the bank \( \Delta = 0.5 \frac w d \).
     

    Member Function Documentation

    - -

    ◆ qManning()

    + +

    ◆ get_channel_width()

    + +

    ◆ get_depth()

    + +
    +
    + + + + + +
    + - - - - + + + + +
    double slope virtual double get_depth (double area) const
    +
    +virtual
    +
    + +

    Returns the depth at a given crossection area.

    +

    +\begin{eqnarray*} +d &=& \sqrt{\frac{A}{\Delta}} +\end{eqnarray*} +

    + +

    Implements IChannel.

    + +
    +
    + +

    ◆ get_flux_crossection()

    + +
    +
    + + + + + +
    + + + + + + +
    virtual double get_flux_crossection (double depth) const
    +
    +virtual
    +
    + +

    Returns the crossection area at a given depth.

    +

    +\begin{eqnarray*} +A &=& d^2 \Delta +\end{eqnarray*} +

    + +

    Implements IChannel.

    + +
    +
    + +

    ◆ get_wetted_perimeter()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual double get_wetted_perimeter (double depth) const
    +
    +virtual
    +
    + +

    Returns the wetted perimeter at a given depth.

    +

    +\begin{eqnarray*} +P &=& 2 d \sqrt{1+\Delta^2} +\end{eqnarray*} +

    + +

    Implements IChannel.

    + +
    +
    + +

    ◆ qManning()

    + +
    +
    + + + @@ -226,11 +353,18 @@

    -

    Calculates the flow rate from a given water volume in the reach

    -\begin{eqnarray*} q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ R &=& \frac A {P(d)} \\ P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ \Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} \end{eqnarray*} +

    Calculates the flow rate from a given water volume in the reach.

    +

    +\begin{eqnarray*} +q_{Manning}&=& A R^{\frac 2 3} \sqrt{\frac {\Delta_z} n} \\ +A &=& \frac V l \mbox{, (Crosssectional area of the wetted crossection, Volume per length)} \\ +R &=& \frac A {P(d)} \\ +P(d) &=& \mbox{ the perimeter of the wetted crosssection, a function of reach depth} \\ +d(V) &=& \mbox{ the depth of the reach a function of the volume} \\ +\Delta_z &=& \frac{z_{max} - z_{min}}{l} \mbox{ Slope of the reach} +\end{eqnarray*}

    -

    .

    -
    Returns
    Flow rate [m3/s]
    +
    Returns
    Flow rate [m3/s]
    Parameters

    + + + + + + + + - - +
    virtual double qManning (double A,
    ) constdouble slope ) const
    @@ -249,7 +383,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    AThe area of the cross section [m2]
    Generated: Fri Apr 26 2019 12:43:44Generated: Fri Jan 19 2024 16:10:57
    diff --git a/docs/classcmf_1_1river_1_1_triangular_reach__coll__graph.map b/docs/classcmf_1_1river_1_1_triangular_reach__coll__graph.map index e6c6839f..247da06b 100644 --- a/docs/classcmf_1_1river_1_1_triangular_reach__coll__graph.map +++ b/docs/classcmf_1_1river_1_1_triangular_reach__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1river_1_1_triangular_reach__coll__graph.md5 b/docs/classcmf_1_1river_1_1_triangular_reach__coll__graph.md5 index db18b2e0..1de44779 100644 --- a/docs/classcmf_1_1river_1_1_triangular_reach__coll__graph.md5 +++ b/docs/classcmf_1_1river_1_1_triangular_reach__coll__graph.md5 @@ -1 +1 @@ -6b2dde1e16800d7248e313eb80758928 \ No newline at end of file +cd566fc132bc1d52eb6eaece68685fa4 \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_triangular_reach__coll__graph.png b/docs/classcmf_1_1river_1_1_triangular_reach__coll__graph.png index deb624f2..3bacfed6 100644 Binary files a/docs/classcmf_1_1river_1_1_triangular_reach__coll__graph.png and b/docs/classcmf_1_1river_1_1_triangular_reach__coll__graph.png differ diff --git a/docs/classcmf_1_1river_1_1_triangular_reach__inherit__graph.map b/docs/classcmf_1_1river_1_1_triangular_reach__inherit__graph.map index e6c6839f..247da06b 100644 --- a/docs/classcmf_1_1river_1_1_triangular_reach__inherit__graph.map +++ b/docs/classcmf_1_1river_1_1_triangular_reach__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1river_1_1_triangular_reach__inherit__graph.md5 b/docs/classcmf_1_1river_1_1_triangular_reach__inherit__graph.md5 index 25e53080..1de44779 100644 --- a/docs/classcmf_1_1river_1_1_triangular_reach__inherit__graph.md5 +++ b/docs/classcmf_1_1river_1_1_triangular_reach__inherit__graph.md5 @@ -1 +1 @@ -8ad4f725dd1e9aa93a3d183d8d31d745 \ No newline at end of file +cd566fc132bc1d52eb6eaece68685fa4 \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1_triangular_reach__inherit__graph.png b/docs/classcmf_1_1river_1_1_triangular_reach__inherit__graph.png index deb624f2..3bacfed6 100644 Binary files a/docs/classcmf_1_1river_1_1_triangular_reach__inherit__graph.png and b/docs/classcmf_1_1river_1_1_triangular_reach__inherit__graph.png differ diff --git a/docs/classcmf_1_1river_1_1volume__height__function-members.html b/docs/classcmf_1_1river_1_1volume__height__function-members.html index 47630e68..549d6afa 100644 --- a/docs/classcmf_1_1river_1_1volume__height__function-members.html +++ b/docs/classcmf_1_1river_1_1volume__height__function-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,23 +93,29 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    volume_height_function Member List
    +
    volume_height_function Member List

    This is the complete list of members for volume_height_function, including all inherited members.

    - + - +
    A(double V) constvolume_height_functionvirtual
    h(double V) constvolume_height_functionvirtual
    h(double V) constvolume_height_functionvirtual
    volume_height_function(const volume_height_function &for_copy)volume_height_function
    volume_height_function(const IVolumeHeightFunction &for_copy)volume_height_function
    volume_height_function(const IVolumeHeightFunction &for_copy)volume_height_function
    diff --git a/docs/classcmf_1_1river_1_1volume__height__function.html b/docs/classcmf_1_1river_1_1volume__height__function.html index 08f3f307..8019c5c2 100644 --- a/docs/classcmf_1_1river_1_1volume__height__function.html +++ b/docs/classcmf_1_1river_1_1volume__height__function.html @@ -2,33 +2,37 @@ - - - - -cmf: volume_height_function Class Reference - - - - + + + + + cmf: volume_height_function Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,61 +93,71 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    volume_height_function Class Reference
    +
    volume_height_function Class Reference

    A wrapper class for volume / height functional relations. - More...

    -
    + More...

    +
    + Inheritance diagram for volume_height_function:
    -
    +
    + Collaboration diagram for volume_height_function:

    Detailed Description

    A wrapper class for volume / height functional relations.

    - - - - - + - + + + + - +

    +

    Public Member Functions

    volume_height_function (const volume_height_function &for_copy)
     Copy constructable.
     
    volume_height_function (const IVolumeHeightFunction &for_copy)
    volume_height_function (const IVolumeHeightFunction &for_copy)
     Wrapper for any IVolumeHeightFunction.
     
    -double A (double V) const
    volume_height_function (const volume_height_function &for_copy)
     Copy constructable.
     
    +double A (double V) const
     Returns the area of the surface for a given volume.
     
    -double h (double V) const
    +double h (double V) const
     Returns the depth of a given volume.
     
    @@ -154,7 +169,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:44 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1river_1_1volume__height__function__coll__graph.map b/docs/classcmf_1_1river_1_1volume__height__function__coll__graph.map index 7a88a5a3..a44dcde4 100644 --- a/docs/classcmf_1_1river_1_1volume__height__function__coll__graph.map +++ b/docs/classcmf_1_1river_1_1volume__height__function__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1river_1_1volume__height__function__coll__graph.md5 b/docs/classcmf_1_1river_1_1volume__height__function__coll__graph.md5 index 14aea804..3cbcb59b 100644 --- a/docs/classcmf_1_1river_1_1volume__height__function__coll__graph.md5 +++ b/docs/classcmf_1_1river_1_1volume__height__function__coll__graph.md5 @@ -1 +1 @@ -113880d2bb9b5dd3c6d84d110ebceddc \ No newline at end of file +ee457d32439b416f1e5b1631a90139de \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1volume__height__function__coll__graph.png b/docs/classcmf_1_1river_1_1volume__height__function__coll__graph.png index 1cd5b42d..fc568da2 100644 Binary files a/docs/classcmf_1_1river_1_1volume__height__function__coll__graph.png and b/docs/classcmf_1_1river_1_1volume__height__function__coll__graph.png differ diff --git a/docs/classcmf_1_1river_1_1volume__height__function__inherit__graph.map b/docs/classcmf_1_1river_1_1volume__height__function__inherit__graph.map index 7a88a5a3..a44dcde4 100644 --- a/docs/classcmf_1_1river_1_1volume__height__function__inherit__graph.map +++ b/docs/classcmf_1_1river_1_1volume__height__function__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1river_1_1volume__height__function__inherit__graph.md5 b/docs/classcmf_1_1river_1_1volume__height__function__inherit__graph.md5 index 0d268dcc..3cbcb59b 100644 --- a/docs/classcmf_1_1river_1_1volume__height__function__inherit__graph.md5 +++ b/docs/classcmf_1_1river_1_1volume__height__function__inherit__graph.md5 @@ -1 +1 @@ -86e8a4730328c528bd179705182e7a5c \ No newline at end of file +ee457d32439b416f1e5b1631a90139de \ No newline at end of file diff --git a/docs/classcmf_1_1river_1_1volume__height__function__inherit__graph.png b/docs/classcmf_1_1river_1_1volume__height__function__inherit__graph.png index 1cd5b42d..fc568da2 100644 Binary files a/docs/classcmf_1_1river_1_1volume__height__function__inherit__graph.png and b/docs/classcmf_1_1river_1_1volume__height__function__inherit__graph.png differ diff --git a/docs/classcmf_1_1stopwatch_1_1_stop_watch-members.html b/docs/classcmf_1_1stopwatch_1_1_stop_watch-members.html deleted file mode 100644 index ee11a073..00000000 --- a/docs/classcmf_1_1stopwatch_1_1_stop_watch-members.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a1
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    StopWatch Member List
    -
    -
    - -

    This is the complete list of members for StopWatch, including all inherited members.

    - -
    -
    - - - diff --git a/docs/classcmf_1_1stopwatch_1_1_stop_watch.html b/docs/classcmf_1_1stopwatch_1_1_stop_watch.html deleted file mode 100644 index 12d49547..00000000 --- a/docs/classcmf_1_1stopwatch_1_1_stop_watch.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - -cmf: StopWatch Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a1
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    StopWatch Class Reference
    -
    -
    -

    Detailed Description

    -
    A stopwatch to estimated the total time of a process  
    -
    -Creating a StopWatch:
    ->>>stopwatch=StopWatch(start,stop) 
    -Start and end are indicators to describe the progress of a process. 
    -Start is the indicator value at the beginning of the process. As default they are 0.0 and 1.0.
    -
    -Starting the StopWatch again:
    ->>>stopwatch.start()
    -
    -Getting the elapsed time, the total time and the remaining time of the process in seconds:
    ->>>elapsed,total,remaining = stopwatch(progress)
    -Where progress is a process progress indicator matching start and stop 
    -
    -Example:
    -stopwatch=StopWatch(0,10)
    -for i in range(10):
    -    time.sleep(1)
    -    print('elapsed = %0.2fs, total= %0.2fs, remaining = %0.2fs' % stopwatch(i+1))
    -
    - - - diff --git a/docs/classcmf_1_1timetools_1_1_stop_watch-members.html b/docs/classcmf_1_1timetools_1_1_stop_watch-members.html new file mode 100644 index 00000000..c4bff570 --- /dev/null +++ b/docs/classcmf_1_1timetools_1_1_stop_watch-members.html @@ -0,0 +1,129 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    StopWatch Member List
    +
    +
    + +

    This is the complete list of members for StopWatch, including all inherited members.

    + + + +
    __call__(self, progress)StopWatch
    restart(self)StopWatch
    +
    + + + diff --git a/docs/classcmf_1_1timetools_1_1_stop_watch.html b/docs/classcmf_1_1timetools_1_1_stop_watch.html new file mode 100644 index 00000000..37df616a --- /dev/null +++ b/docs/classcmf_1_1timetools_1_1_stop_watch.html @@ -0,0 +1,196 @@ + + + + + + + + + cmf: StopWatch Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    StopWatch Class Reference
    +
    +
    +

    Detailed Description

    +
    A stopwatch to estimated the total time of a process  
    +
    +Creating a StopWatch:
    +>>>stopwatch=StopWatch(start, stop)
    +Start and end are indicators to describe the progress of a process. 
    +Start is the indicator value at the beginning of the process. As default they are 0.0 and 1.0.
    +
    +Starting the StopWatch again:
    +>>>stopwatch.restart()
    +
    +Getting the elapsed time, the total time and the remaining time of the process in seconds:
    +>>>elapsed, total, remaining = stopwatch(progress)
    +Where progress is a process progress indicator matching start and stop 
    +
    +Example:
    +stopwatch=StopWatch(0,10)
    +for i in range(10):
    +    time.sleep(1)
    +    print('elapsed = %0.2fs, total= %0.2fs, remaining = %0.2fs' % stopwatch(i+1))
    + + + + + +

    +Public Member Functions

     __call__ (self, progress)
     
     restart (self)
     
    +

    Member Function Documentation

    + +

    ◆ __call__()

    + +
    +
    + + + + + + + + + + + +
    __call__ ( self,
    progress )
    +
    +
    Returns the progress in wall clock time
    +:param progress: The current position in the stopwatch
    +:return: A 3-tuple of elapsed, total and remaining seconds of the task
    +
    +
    +
    + +

    ◆ restart()

    + +
    +
    + + + + + + + +
    restart ( self)
    +
    +
    Restarts the stopwatch
    +
    +
    +
    +
    + + + diff --git a/docs/classcmf_1_1timetools_1_1_stop_watch.js b/docs/classcmf_1_1timetools_1_1_stop_watch.js new file mode 100644 index 00000000..35b67926 --- /dev/null +++ b/docs/classcmf_1_1timetools_1_1_stop_watch.js @@ -0,0 +1,5 @@ +var classcmf_1_1timetools_1_1_stop_watch = +[ + [ "__call__", "classcmf_1_1timetools_1_1_stop_watch.html#a3f12e5f6322c70749f3c8d0512abf7cc", null ], + [ "restart", "classcmf_1_1timetools_1_1_stop_watch.html#a19046d100c90df7bada2f70b8d8ad20a", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1timetools_1_1timerange-members.html b/docs/classcmf_1_1timetools_1_1timerange-members.html new file mode 100644 index 00000000..f1d4f9f1 --- /dev/null +++ b/docs/classcmf_1_1timetools_1_1timerange-members.html @@ -0,0 +1,126 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    timerange Member List
    +
    +
    + +

    This is the complete list of members for timerange, including all inherited members.

    +
    +
    + + + diff --git a/docs/classcmf_1_1timetools_1_1timerange.html b/docs/classcmf_1_1timetools_1_1timerange.html new file mode 100644 index 00000000..c02ad58f --- /dev/null +++ b/docs/classcmf_1_1timetools_1_1timerange.html @@ -0,0 +1,127 @@ + + + + + + + + + cmf: timerange Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    timerange Class Reference
    +
    +
    +

    Detailed Description

    +
    Creates a generator of cmf.Time, similar to the Python range function
    +
    + + + diff --git a/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve-members.html b/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve-members.html index bb1137f7..70033476 100644 --- a/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve-members.html +++ b/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,35 +93,41 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    BrooksCoreyRetentionCurve Member List
    +
    BrooksCoreyRetentionCurve Member List

    This is the complete list of members for BrooksCoreyRetentionCurve, including all inherited members.

    - + - + - + - + - + - + - + - +
    BrooksCoreyRetentionCurve(real ksat=15, real porosity=0.5, real _b=5, real theta_x=0.2, real psi_x=pF_to_waterhead(2.5), real porosity_decay=0)BrooksCoreyRetentionCurve
    CreateFrom2Points(real ksat, real porosity, real theta1, real theta2, real psi_1=pF_to_waterhead(2.5), real psi_2=pF_to_waterhead(4.2))BrooksCoreyRetentionCurvestatic
    CreateFrom2Points(real ksat, real porosity, real theta1, real theta2, real psi_1=pF_to_waterhead(2.5), real psi_2=pF_to_waterhead(4.2))BrooksCoreyRetentionCurvestatic
    Diffusivity(real wetness) constRetentionCurvevirtual
    FillHeight(real lowerDepth, real Area, real Volume) constBrooksCoreyRetentionCurvevirtual
    FillHeight(real lowerDepth, real Area, real Volume) constBrooksCoreyRetentionCurvevirtual
    get_b() constBrooksCoreyRetentionCurve
    K(real wetness) constBrooksCoreyRetentionCurvevirtual
    K(real wetness) constBrooksCoreyRetentionCurvevirtual
    MatricPotential(real wetness) constBrooksCoreyRetentionCurvevirtual
    Porosity(real depth) constBrooksCoreyRetentionCurvevirtual
    Porosity(real depth) constBrooksCoreyRetentionCurvevirtual
    Psi_XBrooksCoreyRetentionCurve
    SetPorosity(real porosity, real porosity_decay=0)BrooksCoreyRetentionCurve
    SetPorosity(real porosity, real porosity_decay=0)BrooksCoreyRetentionCurve
    theta(real wetness) constRetentionCurvevirtual
    VoidVolume(real upperDepth, real lowerDepth, real Area) constBrooksCoreyRetentionCurvevirtual
    VoidVolume(real upperDepth, real lowerDepth, real Area) constBrooksCoreyRetentionCurvevirtual
    Wetness(real suction) constBrooksCoreyRetentionCurvevirtual
    Wetness_eff(real wetness, real pF_r=4.2) constRetentionCurvevirtual
    Wetness_eff(real wetness, real pF_r=4.2) constRetentionCurvevirtual
    Wetness_pF(real pF) constRetentionCurve
    wetness_XBrooksCoreyRetentionCurve
    wetness_XBrooksCoreyRetentionCurve
    diff --git a/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve.html b/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve.html index 11f1ab4a..c2c9f092 100644 --- a/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve.html +++ b/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve.html @@ -2,33 +2,37 @@ - - - - -cmf: BrooksCoreyRetentionCurve Class Reference - - - - + + + + + cmf: BrooksCoreyRetentionCurve Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    BrooksCoreyRetentionCurve Class Reference
    +
    BrooksCoreyRetentionCurve Class Reference

    Provides the use of the Brooks-Corey retention curve. - More...

    -
    + More...

    +
    + Inheritance diagram for BrooksCoreyRetentionCurve:
    -
    +
    + Collaboration diagram for BrooksCoreyRetentionCurve:

    Detailed Description

    Provides the use of the Brooks-Corey retention curve.

    -\begin{eqnarray*} W(\theta) &=& \frac{\theta - \theta_r}{\theta_s - \theta_r} \\ K(W) &=& K_{sat} W^{2b+3} \\ \Psi(W) &=& \Psi_X \left(\frac{W}{W_X}\right)^{-b} \\ W(\Psi) &=& {\left( \frac{\Psi_X}{\Psi}\right) }^{\frac{1}{b}}\ W_X \end{eqnarray*} +\begin{eqnarray*} +W(\theta) &=& \frac{\theta - \theta_r}{\theta_s - \theta_r} \\ +K(W) &=& K_{sat} W^{2b+3} \\ +\Psi(W) &=& \Psi_X \left(\frac{W}{W_X}\right)^{-b} \\ +W(\Psi) &=& {\left( \frac{\Psi_X}{\Psi}\right) }^{\frac{1}{b}}\ W_X +\end{eqnarray*}

    -


    -where:

      +

      where:

      • \(K\) is the conductivity in \(\frac m {day}\)
      • \(W\) is the wetness (Volume of soil water per volume of pores)
      • \(b\) is the shape of the retention curve (usually between 4 (sand) and 14 (clay))
      • @@ -141,81 +160,77 @@
      • \(W_X\) is the wetness with a known matric potential for dynamic changes with depth, exponential decays of porosity and saturated conductivity are used The decay function is: \( v(d)=v(0) (1+a)^{-d} \), where v is the value ( \( K_{sat},\Phi\)), d is the depth in m and a is the fractional decay per m. E.g. 0.1 means the value has in 1 m depth 90% of the value at the surface
    - - - + + - - + + - + - + - + - + - + - + - + - - + + - + - - + + - +

    +

    Public Member Functions

     BrooksCoreyRetentionCurve (real ksat=15, real porosity=0.5, real _b=5, real theta_x=0.2, real psi_x=pF_to_waterhead(2.5), real porosity_decay=0)
     Creates a brooks corey retention curve. More...
     BrooksCoreyRetentionCurve (real ksat=15, real porosity=0.5, real _b=5, real theta_x=0.2, real psi_x=pF_to_waterhead(2.5), real porosity_decay=0)
     Creates a brooks corey retention curve.
     
    virtual real Diffusivity (real wetness) const
     Returns the Diffusivity of the soil. More...
    virtual real Diffusivity (real wetness) const
     Returns the Diffusivity of the soil.
     
    -real FillHeight (real lowerDepth, real Area, real Volume) const
    +real FillHeight (real lowerDepth, real Area, real Volume) const
     Returns the thickness of a soil column with a certain pore volume.
     
    -real get_b () const
    +real get_b () const
     Retention curve shape parameter.
     
    -virtual real K (real wetness) const
    +virtual real K (real wetness) const
     Returns the conductivity in m/day at a certain depth and water content.
     
    -real MatricPotential (real wetness) const
    +real MatricPotential (real wetness) const
     Returns the suction pressure in m, use conversion functions waterhead_to_pressure and waterhead_to_pF fro conversions.
     
    -real Porosity (real depth) const
    +real Porosity (real depth) const
     real (Porosity)
     
    -void SetPorosity (real porosity, real porosity_decay=0)
    +void SetPorosity (real porosity, real porosity_decay=0)
     Sets the porosity (Volume of pores per volume of soil) and the exponential porosity decline with depth.
     
    -virtual real theta (real wetness) const
    +virtual real theta (real wetness) const
     returns the water content \(theta\) for a given wetness
     
    real VoidVolume (real upperDepth, real lowerDepth, real Area) const
     Returns the pore volume in a region of a soil column. More...
    real VoidVolume (real upperDepth, real lowerDepth, real Area) const
     Returns the pore volume in a region of a soil column.
     
    -real Wetness (real suction) const
    +real Wetness (real suction) const
     returns the wetness (volumetric water content per pore space) at a given suction pressure
     
    -virtual real Wetness_eff (real wetness, real pF_r=4.2) const
     Returns the effective wetness, using a residual pF value

    -\[w_{eff} = \frac{w_{act}-w\left(pF_r\right)}{1-w\left(pF_r\right)}\] -

    -

    .

    virtual real Wetness_eff (real wetness, real pF_r=4.2) const
     Returns the effective wetness, using a residual pF value.
     
    -real Wetness_pF (real pF) const
    +real Wetness_pF (real pF) const
     returns the volumetric water content at a given pF value
     
    - - - + +

    +

    Static Public Member Functions

    static BrooksCoreyRetentionCurve CreateFrom2Points (real ksat, real porosity, real theta1, real theta2, real psi_1=pF_to_waterhead(2.5), real psi_2=pF_to_waterhead(4.2))
     Creates a soiltype from two known points of the retention curve (e.g. More...
    static BrooksCoreyRetentionCurve CreateFrom2Points (real ksat, real porosity, real theta1, real theta2, real psi_1=pF_to_waterhead(2.5), real psi_2=pF_to_waterhead(4.2))
     Creates a soiltype from two known points of the retention curve (e.g.
     
    - - + - +

    +

    Public Attributes

    -real Psi_X
    +real Psi_X
     Matric potential at the wetness X in m.
     
    -real wetness_X
    +real wetness_X
     Wetness at a known point of the retention curve.
     

    Constructor & Destructor Documentation

    - -

    ◆ BrooksCoreyRetentionCurve()

    + +

    ◆ BrooksCoreyRetentionCurve()

    @@ -223,43 +238,32 @@

    BrooksCoreyRetentionCurve ( - real  - ksat = 15, + real ksat = 15, - real  - porosity = 0.5, + real porosity = 0.5, - real  - _b = 5, + real _b = 5, - real  - theta_x = 0.2, + real theta_x = 0.2, - real  - psi_x = pF_to_waterhead(2.5), + real psi_x = pF_to_waterhead(2.5), - real  - porosity_decay = 0  - - - - ) - + real porosity_decay = 0 )

    @@ -280,8 +284,8 @@

    Member Function Documentation

    - -

    ◆ CreateFrom2Points()

    + +

    ◆ CreateFrom2Points()

    @@ -292,43 +296,32 @@

    static BrooksCoreyRetentionCurve CreateFrom2Points ( - real  - ksat, + real ksat, - real  - porosity, + real porosity, - real  - theta1, + real theta1, - real  - theta2, + real theta2, - real  - psi_1 = pF_to_waterhead(2.5), + real psi_1 = pF_to_waterhead(2.5), - real  - psi_2 = pF_to_waterhead(4.2)  - - - - ) - + real psi_2 = pF_to_waterhead(4.2) ) @@ -356,8 +349,8 @@

    -

    ◆ Diffusivity()

    + +

    ◆ Diffusivity()

    @@ -368,8 +361,7 @@

    virtual real Diffusivity ( - real  - wetness) + real wetness) const @@ -387,8 +379,8 @@

    -

    ◆ VoidVolume()

    + +

    ◆ VoidVolume()

    + +

    ◆ Wetness_eff()

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    virtual real Wetness_eff (real wetness,
    real pF_r = 4.2 ) const
    +
    +virtualinherited
    +
    + +

    Returns the effective wetness, using a residual pF value.

    +

    +\[w_{eff} = \frac{w_{act}-w\left(pF_r\right)}{1-w\left(pF_r\right)}\] +

    +

    @@ -442,7 +460,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__coll__graph.map b/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__coll__graph.map index 537fb9b8..67fd216d 100644 --- a/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__coll__graph.md5 index 2f22650a..87c75f26 100644 --- a/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__coll__graph.md5 @@ -1 +1 @@ -5f8ebf2a57dc4efec706ca6734ffdb40 \ No newline at end of file +80ff192500a68d68b894a06e327a8788 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__coll__graph.png b/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__coll__graph.png index c37e8177..05e20564 100644 Binary files a/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__inherit__graph.map index 537fb9b8..67fd216d 100644 --- a/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__inherit__graph.md5 index a7f369b8..87c75f26 100644 --- a/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__inherit__graph.md5 @@ -1 +1 @@ -5ac6334ae2ecc29d31f67d1228615982 \ No newline at end of file +80ff192500a68d68b894a06e327a8788 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__inherit__graph.png index c37e8177..05e20564 100644 Binary files a/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_brooks_corey_retention_curve__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_cell-members.html b/docs/classcmf_1_1upslope_1_1_cell-members.html index aee929e8..cc02b207 100644 --- a/docs/classcmf_1_1upslope_1_1_cell-members.html +++ b/docs/classcmf_1_1upslope_1_1_cell-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@

    @@ -88,53 +93,59 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Cell Member List
    +
    Cell Member List

    This is the complete list of members for Cell, including all inherited members.

    - + - + - + - - - + + + - + - + - + - + - + - + - + - + - + - + - + - +
    add_layer(real lowerboundary, const cmf::upslope::RetentionCurve &r_curve, real saturateddepth=10)Cell
    add_layer(real lowerboundary)Cell
    add_layer(real lowerboundary)Cell
    add_storage(std::string Name, char storage_role='N', bool isopenwater=false)Cell
    add_storage(cmf::water::WaterStorage::ptr storage)Cell
    add_storage(cmf::water::WaterStorage::ptr storage)Cell
    get_area() constCell
    get_evaporation()Cell
    get_evaporation()Cell
    get_layer(ptrdiff_t ndx) constCell
    get_layers() constCell
    get_meteorology() constCell
    get_position() constCell
    get_layers() constCell
    get_meteorology() constCell
    get_position() constCell
    get_rain_source()Cell
    get_rainfall(cmf::math::Time t) constCell
    get_rainfall(cmf::math::Time t) constCell
    get_saturated_depth() constCell
    get_soildepth() constCell
    get_soildepth() constCell
    get_surfacewater()Cell
    get_transpiration()Cell
    get_transpiration()Cell
    get_weather(cmf::math::Time t) constCell
    heat_flux(cmf::math::Time t) constCell
    heat_flux(cmf::math::Time t) constCell
    InvalidateSatDepth() constCell
    layer_count() constCell
    layer_count() constCell
    leave_wetness() constCell
    m3_to_mm(double volume) constCell
    m3_to_mm(double volume) constCell
    remove_last_layer()Cell
    remove_layers()Cell
    remove_layers()Cell
    set_aerodynamic_resistance(cmf::atmosphere::aerodynamic_resistance::ptr Ra)Cell
    set_meteorology(const cmf::atmosphere::Meteorology &new_meteo)Cell
    set_meteorology(const cmf::atmosphere::Meteorology &new_meteo)Cell
    set_rain_source(cmf::atmosphere::RainSource::ptr new_source)Cell
    set_rainfall(double rainfall)Cell
    set_rainfall(double rainfall)Cell
    set_saturated_depth(real depth)Cell
    set_uptakestress(const cmf::upslope::ET::RootUptakeStressFunction &stressfunction)Cell
    set_uptakestress(const cmf::upslope::ET::RootUptakeStressFunction &stressfunction)Cell
    set_weather(const cmf::atmosphere::Weather &weather)Cell
    surface_water_coverage() constCell
    surface_water_coverage() constCell
    surfacewater_as_storage()Cell
    vegetationCell
    vegetationCell
    diff --git a/docs/classcmf_1_1upslope_1_1_cell.html b/docs/classcmf_1_1upslope_1_1_cell.html index a5bc4ef0..bf57e38f 100644 --- a/docs/classcmf_1_1upslope_1_1_cell.html +++ b/docs/classcmf_1_1upslope_1_1_cell.html @@ -2,33 +2,37 @@ - - - - -cmf: Cell Class Reference - - - - + + + + + cmf: Cell Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,235 +93,183 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Cell Class Reference
    +
    Cell Class Reference

    This class is the basic landscape object. - More...

    -
    + More...

    +
    + Collaboration diagram for Cell:

    Detailed Description

    This class is the basic landscape object.

    It is the owner of water storages, and the upper and lower boundary conditions of the system (rainfall, atmospheric vapor, deep groundwater)

    - - + - - + + - - + +

    +

    Public Member Functions

    Saturation
    -void InvalidateSatDepth () const
    +void InvalidateSatDepth () const
     Marks the saturated depth as unvalid. This is done automatically, when the state of a layer changes.
     
    real get_saturated_depth () const
     Returns the potential \(\Psi_{total}\) of the deepest unsaturated layer as distance from the surface. More...
    real get_saturated_depth () const
     Returns the potential \(\Psi_{total}\) of the deepest unsaturated layer as distance from the surface.
     
    void set_saturated_depth (real depth)
     Sets the potential \(\Psi_{total}\) of each layer as distance from the surface. More...
    void set_saturated_depth (real depth)
     Sets the potential \(\Psi_{total}\) of each layer as distance from the surface.
     
    - - - - - - - - - - - - - - - - - - - - - - -

    -Location

    -double x
     
    -double y
     
    -double z
     
    -cmf::upslope::Topologyget_topology ()
     
    operator cmf::upslope::Topology & ()
     
    -cmf::geometry::point get_position () const
     Returns the location of the cell.
     
    -double get_area () const
     Returns the area of the cell.
     
    -double m3_to_mm (double volume) const
     Converts a volume in m3 in mm for the cell area.
     
    -double mm_to_m3 (double depth) const
     
    - - + + - - - - - - - - + + + + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - + - - - - - - - - - - - - - - - - + + - - + + - - + + - - - - - - - +

    -Flux nodes of the cell

    -cmf::upslope::vegetation::Vegetation vegetation

    Flux nodes of the cell

    +cmf::upslope::vegetation::Vegetation vegetation
     The vegetation object of the cell.
     
    -real Tground
     
    -ptrdiff_t Id
     
    -cmf::atmosphere::Meteorologyget_meteorology () const
     Returns the meteorological data source.
     
    -void set_aerodynamic_resistance (cmf::atmosphere::aerodynamic_resistance::ptr Ra)
    +cmf::atmosphere::Meteorologyget_meteorology () const
     Returns the meteorological data source.
     
    +void set_aerodynamic_resistance (cmf::atmosphere::aerodynamic_resistance::ptr Ra)
     Sets the method to calculate aerodynamic resistance against turbulent sensible heat fluxes.
     
    -void set_meteorology (const cmf::atmosphere::Meteorology &new_meteo)
    +void set_meteorology (const cmf::atmosphere::Meteorology &new_meteo)
     Sets a meteorological data source.
     
    -void set_weather (const cmf::atmosphere::Weather &weather)
    +void set_weather (const cmf::atmosphere::Weather &weather)
     Sets the weather for this cell. Connectivity to a meteorological station is lost.
     
    -void set_rainfall (double rainfall)
    +void set_rainfall (double rainfall)
     Exchanges a timeseries of rainfall with a constant flux.
     
    -double get_rainfall (cmf::math::Time t) const
    +double get_rainfall (cmf::math::Time t) const
     Returns the current rainfall flux in m3/day.
     
    -void set_rain_source (cmf::atmosphere::RainSource::ptr new_source)
    +void set_rain_source (cmf::atmosphere::RainSource::ptr new_source)
     Changes the current source of rainfall.
     
    -cmf::atmosphere::RainSource::ptr get_rain_source ()
    +cmf::atmosphere::RainSource::ptr get_rain_source ()
     Returns the current source for rainfall.
     
    -void set_uptakestress (const cmf::upslope::ET::RootUptakeStressFunction &stressfunction)
    +void set_uptakestress (const cmf::upslope::ET::RootUptakeStressFunction &stressfunction)
     Uses the given WaterStressFunction for all stressedET like connections to the transpiration target.
     
    -cmf::water::flux_node::ptr get_evaporation ()
     Returns the end point of all evaporation of this cell (a cmf::water::flux_node)
    +cmf::water::flux_node::ptr get_evaporation ()
     Returns the end point of all evaporation of this cell (a cmf::water::flux_node)
     
    -cmf::water::flux_node::ptr get_transpiration ()
     Returns the end point of all transpiration of this cell (a cmf::water::flux_node)
    +cmf::water::flux_node::ptr get_transpiration ()
     Returns the end point of all transpiration of this cell (a cmf::water::flux_node)
     
    -cmf::water::flux_node::ptr get_surfacewater ()
     returns the surface water of this cell. This is either a flux node or a cmf::upslope::SurfaceWater
    +cmf::water::flux_node::ptr get_surfacewater ()
     returns the surface water of this cell. This is either a flux node or a cmf::upslope::SurfaceWater
     
    -surfacewater_ptr surfacewater_as_storage ()
     Makes the surfacewater of this cell a cmf::upslope::SurfaceWater storage.
    +surfacewater_ptr surfacewater_as_storage ()
     Makes the surfacewater of this cell a cmf::upslope::SurfaceWater storage.
     
    cmf::water::WaterStorage::ptr add_storage (std::string Name, char storage_role='N', bool isopenwater=false)
     Adds a new storage to the cell. More...
    cmf::water::WaterStorage::ptr add_storage (std::string Name, char storage_role='N', bool isopenwater=false)
     Adds a new storage to the cell.
     
    -ptrdiff_t add_storage (cmf::water::WaterStorage::ptr storage)
    +ptrdiff_t add_storage (cmf::water::WaterStorage::ptr storage)
     Bounds an existing storage to the cell.
     
    -void remove_storage (cmf::water::WaterStorage::ptr storage)
     
    -size_t storage_count () const
     
    -cmf::water::WaterStorage::ptr get_storage (ptrdiff_t index) const
     
    -cmf::water::WaterStorage::ptr get_canopy () const
     
    -cmf::water::WaterStorage::ptr get_snow () const
     
    -real snow_coverage () const
     
    -real albedo () const
     
    real surface_water_coverage () const
     Returns the coverage of the surface water. More...
    real surface_water_coverage () const
     Returns the coverage of the surface water.
     
    real heat_flux (cmf::math::Time t) const
     Calculates the surface heat balance. More...
    real heat_flux (cmf::math::Time t) const
     Calculates the surface heat balance.
     
    real leave_wetness () const
     Return the fraction of wet leaves in the canopy if a canopy water storage exists. More...
    real leave_wetness () const
     Return the fraction of wet leaves in the canopy if a canopy water storage exists.
     
    -cmf::bytestring get_WKB () const
     
    -void set_WKB (cmf::bytestring wkb)
     
    -cmf::projectget_project () const
     
    -cmf::atmosphere::Weather get_weather (cmf::math::Time t) const
    +cmf::atmosphere::Weather get_weather (cmf::math::Time t) const
     Returns the current meteorological conditions of the cell at time t.
     
    - - + + + + + + + + + + +

    -Layers

    -size_t layer_count () const

    Location

    +cmf::geometry::point get_position () const
     Returns the location of the cell.
     
    +double get_area () const
     Returns the area of the cell.
     
    +double m3_to_mm (double volume) const
     Converts a volume in m3 in mm for the cell area.
     
    + + - - + + - - - - - + + + + + - + - + - + - + - -

    Layers

    +size_t layer_count () const
     Returns the number of layers of the cell.
     
    cmf::upslope::SoilLayer::ptr get_layer (ptrdiff_t ndx) const
     Returns the layer at position ndx. More...
    cmf::upslope::SoilLayer::ptr get_layer (ptrdiff_t ndx) const
     Returns the layer at position ndx.
     
    const layer_listget_layers () const
     Returns the list of layers. More...
     
    cmf::upslope::SoilLayer::ptr add_layer (real lowerboundary, const cmf::upslope::RetentionCurve &r_curve, real saturateddepth=10)
     Adds a layer to the cell. More...
    const layer_listget_layers () const
     Returns the list of layers.
     
    cmf::upslope::SoilLayer::ptr add_layer (real lowerboundary, const cmf::upslope::RetentionCurve &r_curve, real saturateddepth=10)
     Adds a layer to the cell.
     
    -cmf::upslope::SoilLayer::ptr add_layer (real lowerboundary)
    +cmf::upslope::SoilLayer::ptr add_layer (real lowerboundary)
     Adds a rather conceptual layer to the cell. Use this version for conceptual models. The retention curve resambles an empty bucket.
     
    -void remove_last_layer ()
    +void remove_last_layer ()
     Remove the lowest layer from this cell.
     
    -void remove_layers ()
    +void remove_layers ()
     Removes all layers from this cell.
     
    -double get_soildepth () const
    +double get_soildepth () const
     Returns the lower boundary of the lowest layer in m.
     
    -virtual ~Cell ()
     

    Member Function Documentation

    - -

    ◆ add_layer()

    + +

    ◆ add_layer()

    @@ -324,25 +277,17 @@

    cmf::upslope::SoilLayer::ptr add_layer ( - real  - lowerboundary, + real lowerboundary, - const cmf::upslope::RetentionCurve &  - r_curve, + const cmf::upslope::RetentionCurve & r_curve, - real  - saturateddepth = 10  - - - - ) - + real saturateddepth = 10 )

    @@ -361,8 +306,8 @@

    -

    ◆ add_storage()

    + +

    ◆ add_storage()

    - -

    ◆ get_layer()

    + +

    ◆ get_layer()

    - -

    ◆ get_layers()

    + +

    ◆ get_layers()

    - + - +
    const layer_list& get_layers const layer_list & get_layers ()) const

    Returns the list of layers.

    -

    From python this function is masked as a property:

    layers = cell.layers
    +

    From python this function is masked as a property:

    layers = cell.layers
    +
    - -

    ◆ get_saturated_depth()

    + +

    ◆ get_saturated_depth()

    @@ -458,7 +396,7 @@

    real get_saturated_depth ( - ) + ) const @@ -469,8 +407,8 @@

    -

    ◆ heat_flux()

    + +

    ◆ heat_flux()

    @@ -478,8 +416,7 @@

    real heat_flux ( - cmf::math::Time  - t) + cmf::math::Time t) const @@ -495,8 +432,8 @@

    -

    ◆ leave_wetness()

    + +

    ◆ leave_wetness()

    @@ -504,7 +441,7 @@

    real leave_wetness ( - ) + ) const @@ -515,8 +452,8 @@

    -

    ◆ set_saturated_depth()

    + +

    ◆ set_saturated_depth()

    @@ -524,8 +461,7 @@

    void set_saturated_depth ( - real  - depth) + real depth) @@ -536,8 +472,8 @@

    -

    ◆ surface_water_coverage()

    + +

    ◆ surface_water_coverage()

    @@ -545,7 +481,7 @@

    real surface_water_coverage ( - ) + ) const @@ -567,7 +503,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_cell.js b/docs/classcmf_1_1upslope_1_1_cell.js index 2afb7383..d6c26719 100644 --- a/docs/classcmf_1_1upslope_1_1_cell.js +++ b/docs/classcmf_1_1upslope_1_1_cell.js @@ -1,14 +1,14 @@ var classcmf_1_1upslope_1_1_cell = [ - [ "add_layer", "classcmf_1_1upslope_1_1_cell.html#a3d599a58abdb2eed719a8163a9602f5c", null ], [ "add_layer", "classcmf_1_1upslope_1_1_cell.html#adae92aa22aaceca749831c97325d7260", null ], - [ "add_storage", "classcmf_1_1upslope_1_1_cell.html#aa172b88d29f4e7f643179b60f7190c2f", null ], + [ "add_layer", "classcmf_1_1upslope_1_1_cell.html#a3d599a58abdb2eed719a8163a9602f5c", null ], [ "add_storage", "classcmf_1_1upslope_1_1_cell.html#ac882d21c82ec79f35c841942e2ad2468", null ], + [ "add_storage", "classcmf_1_1upslope_1_1_cell.html#aa172b88d29f4e7f643179b60f7190c2f", null ], [ "get_area", "classcmf_1_1upslope_1_1_cell.html#ad545f4c39eaabf29ad6a8079a9931db1", null ], [ "get_evaporation", "classcmf_1_1upslope_1_1_cell.html#a441e2058d775e3d368ffa0ba54233725", null ], [ "get_layer", "classcmf_1_1upslope_1_1_cell.html#a196f601a7f99db953557837b2e00d2e2", null ], - [ "get_layers", "classcmf_1_1upslope_1_1_cell.html#aa417cbeb0f4d1cef6a59ff43c5ad059a", null ], - [ "get_meteorology", "classcmf_1_1upslope_1_1_cell.html#ab90f00d83454c63ff100a3b0ba111484", null ], + [ "get_layers", "classcmf_1_1upslope_1_1_cell.html#adcf2156e0a381aa3fc99324faa1e904c", null ], + [ "get_meteorology", "classcmf_1_1upslope_1_1_cell.html#a2b04c50d18b5d3c651c86173a26a88a9", null ], [ "get_position", "classcmf_1_1upslope_1_1_cell.html#a9abcb40625f101447985020304e2590a", null ], [ "get_rain_source", "classcmf_1_1upslope_1_1_cell.html#a72dff78e20a1b6151c066442f37b554b", null ], [ "get_rainfall", "classcmf_1_1upslope_1_1_cell.html#ac8690b997f417b19679a20e79aea1f25", null ], diff --git a/docs/classcmf_1_1upslope_1_1_cell__coll__graph.map b/docs/classcmf_1_1upslope_1_1_cell__coll__graph.map index d6a4611c..3a92ddd0 100644 --- a/docs/classcmf_1_1upslope_1_1_cell__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_cell__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_cell__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_cell__coll__graph.md5 index a6c2d1c0..a9f9ff82 100644 --- a/docs/classcmf_1_1upslope_1_1_cell__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_cell__coll__graph.md5 @@ -1 +1 @@ -d3dff2125a9eeb82378ae0208fceac6f \ No newline at end of file +01d997b7621aa08d9ba466c311fd03a5 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_cell__coll__graph.png b/docs/classcmf_1_1upslope_1_1_cell__coll__graph.png index d533feb0..a57802c1 100644 Binary files a/docs/classcmf_1_1upslope_1_1_cell__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_cell__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_cell__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_cell__inherit__graph.map deleted file mode 100644 index c3e49444..00000000 --- a/docs/classcmf_1_1upslope_1_1_cell__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1upslope_1_1_cell__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_cell__inherit__graph.md5 deleted file mode 100644 index bb4773da..00000000 --- a/docs/classcmf_1_1upslope_1_1_cell__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -fe4e420962f0437d284b4d438d783d29 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_cell__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_cell__inherit__graph.png deleted file mode 100644 index d655a596..00000000 Binary files a/docs/classcmf_1_1upslope_1_1_cell__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1upslope_1_1_cell_connector-members.html b/docs/classcmf_1_1upslope_1_1_cell_connector-members.html index 2a2093db..9fa593b7 100644 --- a/docs/classcmf_1_1upslope_1_1_cell_connector-members.html +++ b/docs/classcmf_1_1upslope_1_1_cell_connector-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,20 +93,25 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    CellConnector Member List
    +
    CellConnector Member List

    This is the complete list of members for CellConnector, including all inherited members.

    - -
    +

    -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_cell_connector.html b/docs/classcmf_1_1upslope_1_1_cell_connector.html index 82848417..202a6367 100644 --- a/docs/classcmf_1_1upslope_1_1_cell_connector.html +++ b/docs/classcmf_1_1upslope_1_1_cell_connector.html @@ -2,33 +2,37 @@ - - - - -cmf: CellConnector Class Reference - - - - + + + + + cmf: CellConnector Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,21 +93,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    CellConnector Class Reference
    +
    CellConnector Class Reference

    A helper class to connect cells with flux_connection objects. This is generated by flux_connection classes, intended to connect cells. - More...

    + More...

    Detailed Description

    A helper class to connect cells with flux_connection objects. This is generated by flux_connection classes, intended to connect cells.

    @@ -113,7 +124,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation-members.html index a5de51d7..c0fe32ee 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    CanopyStorageEvaporation Member List
    +
    CanopyStorageEvaporation Member List

    This is the complete list of members for CanopyStorageEvaporation, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation.html index d461ed82..87d6d6bd 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation.html @@ -2,33 +2,37 @@ - - - - -cmf: CanopyStorageEvaporation Class Reference - - - - + + + + + cmf: CanopyStorageEvaporation Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    CanopyStorageEvaporation Class Reference
    +
    CanopyStorageEvaporation Class Reference

    Calculates the evaporation from a canopy storage. - More...

    -
    + More...

    +
    + Inheritance diagram for CanopyStorageEvaporation:
    -
    +
    + Collaboration diagram for CanopyStorageEvaporation:

    Detailed Description

    Calculates the evaporation from a canopy storage.

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -233,7 +244,7 @@

    real get_tracer_filter ( - ) + ) @@ -249,8 +260,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -261,8 +272,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -286,7 +296,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__coll__graph.map index 1879faef..7b646e1e 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__coll__graph.md5 index 78173bec..77a16ba8 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__coll__graph.md5 @@ -1 +1 @@ -7cf831b3f3ef2b9ffe2964f483939f8a \ No newline at end of file +1e9b8a5e525de7759b94932e0f2a42de \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__coll__graph.png index 61a78060..59100c82 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__inherit__graph.map index 952a86f8..0fe60366 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__inherit__graph.md5 index 445ade42..62fffad3 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__inherit__graph.md5 @@ -1 +1 @@ -a1e1ab77f8225564600497f9bff79f74 \ No newline at end of file +a0ef9cfe1e709746f8a87842b8e69778 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__inherit__graph.png index 88c18ec8..80967666 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_canopy_storage_evaporation__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress-members.html index a573afe5..2c7f76db 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,21 +93,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    ContentStress Member List
    +
    ContentStress Member List

    This is the complete list of members for ContentStress, including all inherited members.

    - +
    ContentStress(real theta_d=-1, real theta_w=-1)ContentStress
    copy() constContentStressvirtual
    copy() constContentStressvirtual
    Tact(const cmf::upslope::SoilLayer *soillayer, real Tpot) constContentStressvirtual
    @@ -112,7 +123,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress.html index 6d0bdb19..34d2c902 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress.html @@ -2,33 +2,37 @@ - - - - -cmf: ContentStress Class Reference - - - - + + + + + cmf: ContentStress Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,40 +93,50 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    ContentStress Class Reference
    +
    ContentStress Class Reference

    A simple water content based stress model based on Feddes (1978) - More...

    -
    + More...

    +
    + Inheritance diagram for ContentStress:
    -
    +
    + Collaboration diagram for ContentStress:

    Detailed Description

    @@ -137,23 +152,23 @@
  • \(\theta_d = 1/2 (\theta(pF=1.8) + \theta(pF=4.2))\)
  • - - - + + - - - - - + + + + +

    +

    Public Member Functions

    ContentStress (real theta_d=-1, real theta_w=-1)
     Creates a new ContentStress for critical water content theta_d in vol Water/vol Soil and wilting point theta_w.
    ContentStress (real theta_d=-1, real theta_w=-1)
     Creates a new ContentStress for critical water content theta_d in vol Water/vol Soil and wilting point theta_w.
     
    -cmf::upslope::ET::ContentStresscopy () const
     Creates a new copy of this wetness.
     
    virtual real Tact (const cmf::upslope::SoilLayer *soillayer, real Tpot) const
     Calculates the water stress for a layer. More...
    +cmf::upslope::ET::ContentStresscopy () const
     Creates a new copy of this wetness.
     
    virtual real Tact (const cmf::upslope::SoilLayer *soillayer, real Tpot) const
     Calculates the water stress for a layer.
     

    Member Function Documentation

    - -

    ◆ Tact()

    + +

    ◆ Tact()

    @@ -164,19 +179,12 @@

    virtual real Tact ( - const cmf::upslope::SoilLayer *  - soillayer, + const cmf::upslope::SoilLayer * soillayer, - real  - Tpot  - - - - ) - const + real Tpot ) const @@ -189,7 +197,7 @@

    Parameters
    - +
    soillayerThe cmf::upslope::SoilLayer this stress function belongs to
    soillayerThe cmf::upslope::SoilLayer this stress function belongs to
    TpotPotential Transpiration in mm/day (for the full profile)
    @@ -208,7 +216,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress.js b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress.js index e9235a19..596929a7 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress.js +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress.js @@ -1,6 +1,6 @@ var classcmf_1_1upslope_1_1_e_t_1_1_content_stress = [ [ "ContentStress", "classcmf_1_1upslope_1_1_e_t_1_1_content_stress.html#a65babb0f614fd302e4ff14011ef8a09e", null ], - [ "copy", "classcmf_1_1upslope_1_1_e_t_1_1_content_stress.html#a5986109124824c5897cafb9c879c9ab6", null ], + [ "copy", "classcmf_1_1upslope_1_1_e_t_1_1_content_stress.html#af3674548a791b3ca10c8d0972b32ea1f", null ], [ "Tact", "classcmf_1_1upslope_1_1_e_t_1_1_content_stress.html#a09582435562a7994b89ec4e4f76a620e", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__coll__graph.map index 1e584f91..527ba44f 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__coll__graph.md5 index b1b43cfe..0ef5f040 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__coll__graph.md5 @@ -1 +1 @@ -6ffc94f23784459b91f87d2c78e39f82 \ No newline at end of file +a8a33b4b5fd5b94f2a1e2af6b2432ce8 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__coll__graph.png index b4f24841..0d2f520c 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__inherit__graph.map index 1e584f91..527ba44f 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__inherit__graph.md5 index b463ec02..0ef5f040 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__inherit__graph.md5 @@ -1 +1 @@ -a07d041280d4134fa2974db100e9a1dd \ No newline at end of file +a8a33b4b5fd5b94f2a1e2af6b2432ce8 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__inherit__graph.png index b4f24841..0d2f520c 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_content_stress__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t-members.html index ceb8bd65..a51a317d 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    HargreaveET Member List
    +
    HargreaveET Member List

    This is the complete list of members for HargreaveET, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    use_for_cell(cmf::upslope::Cell &cell)HargreaveETstatic
    use_for_cell(cmf::upslope::Cell &cell)HargreaveETstatic

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t.html index 8bda3d92..f133dbe7 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t.html @@ -2,33 +2,37 @@ - - - - -cmf: HargreaveET Class Reference - - - - + + + + + cmf: HargreaveET Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    HargreaveET Class Reference
    +
    HargreaveET Class Reference

    Calculates the Evapotranspiration using Hargreave's equation. - More...

    -
    + More...

    +
    + Inheritance diagram for HargreaveET:
    -
    +
    + Collaboration diagram for HargreaveET:

    Detailed Description

    @@ -138,76 +155,76 @@
  • \( K_T = 0.00185 {\Delta T}^2 - 0.0433 \Delta T + 0.4023\) Continentality factor as given in the reference
  • \( \Delta T = |T_{max} - T_{min}|[K]\) Daily temperature range
  • \( T [^\circ C]\) daily mean temperature
  • -
  • \( s_0 = 15.392 d_r \left(\omega_s\sin(\Phi) \sin{\gamma} + \cos{\Phi}\cos{\gamma} * \sin(\omega_s)\right)\) the extraterrestrial solar radiation in mm/day
  • +
  • \( s_0 = 15.392 d_r \left(\omega_s\sin(\Phi) \sin{\gamma} + \cos{\Phi}\cos{\gamma} * \sin(\omega_s)\right)\) the extraterrestrial solar radiation in mm/day
  • \( d_r = 1 + 0.0033 \cos(DOY\frac{2 \pi}{365})\) relative distance between earth and sun
  • \( \omega_s = \arccos(-\tan{\Phi} \tan{\gamma}) \) sunset hour angle (radians)
  • -
  • \( \gamma = 0.4039 \sin(DOY\frac{2 \pi}{365} - 1.405) \) solar declination (radians)
  • +
  • \( \gamma = 0.4039 \sin(DOY\frac{2 \pi}{365} - 1.405) \) solar declination (radians)
  • \( \Phi\) geographic latitude (radians)
  • See also
    SAMANI, Zohrab. Estimating solar radiation and evapotranspiration using minimum climatological data. Journal of Irrigation and Drainage Engineering, 2000, 126. Jg., Nr. 4, S. 265-267.

    Crop specific potential evapotranspiration is scaled by LAI: \( ET_{pot} = ET_{rc} \frac{LAI}{2.88}\).

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Static Public Member Functions

    -static void use_for_cell (cmf::upslope::Cell &cell)
    +static void use_for_cell (cmf::upslope::Cell &cell)
     Connects all soil layers with the transpiration node of the cell.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -257,7 +268,7 @@

    real get_tracer_filter ( - ) + ) @@ -273,8 +284,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -285,8 +296,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -310,7 +320,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__coll__graph.map index 290ab779..2152ab56 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__coll__graph.md5 index 6eb43bed..405ada8f 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__coll__graph.md5 @@ -1 +1 @@ -077306ff01378fee57a331776284d258 \ No newline at end of file +a81e548a521de706f57a0d5557a4cad5 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__coll__graph.png index 412f8048..220d815d 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__inherit__graph.map index 290ab779..2152ab56 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__inherit__graph.md5 index 310cdf5b..405ada8f 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__inherit__graph.md5 @@ -1 +1 @@ -cc81a6f40b2e6f50c2a7567a11ade86f \ No newline at end of file +a81e548a521de706f57a0d5557a4cad5 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__inherit__graph.png index 412f8048..220d815d 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_hargreave_e_t__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t-members.html new file mode 100644 index 00000000..1d608c92 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t-members.html @@ -0,0 +1,141 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    OudinET Member List
    +
    +
    + +

    This is the complete list of members for OudinET, including all inherited members.

    + + + + + + + + + + + + + + + +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    use_for_cell(cmf::upslope::Cell &cell)OudinETstatic
    +
    +

    +Generated: Fri Jan 19 2024 16:10:57 + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.html new file mode 100644 index 00000000..99857841 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.html @@ -0,0 +1,314 @@ + + + + + + + + + cmf: OudinET Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    + +

    Calculates ETpot after Oudin et al 2005. + More...

    +
    + + Inheritance diagram for OudinET:
    +
    +
    + +
    + + Collaboration diagram for OudinET:
    +
    +
    + +

    Detailed Description

    +

    Calculates ETpot after Oudin et al 2005.

    +

    https://doi.org/10.1016/j.jhydrol.2004.08.026 This ETpot formula is a generalization of two older approaches by introducing parameters to shape the dependency of ETpot from temperature and extraterrestrial radiation

    +

    \( \lambda ET_{pot} = R_{a} \cdot \frac{T_{a} + K_2}{K_1}\)

    +

    Oudin et al (2005) found an optimum for \(K_1=100, K_2=5\). The origin of this formula lays in Jensen & Haise (1963) with \(K_1=40, K_2=0\) and McGuiness-Bordne (1972) with \(K_1=68, K_2=5\).

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +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.
     
    + + + + +

    +Static Public Member Functions

    +static void use_for_cell (cmf::upslope::Cell &cell)
     Connects all soil layers with the transpiration node of the cell.
     
    + + + + +

    +Public Attributes

    +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

    + +
    +
    +
    +
    +

    +Generated: Fri Jan 19 2024 16:10:57 + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.js b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.js new file mode 100644 index 00000000..9e5152c8 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.js @@ -0,0 +1,15 @@ +var classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t = +[ + [ "conc", "classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.html#ad7fafdce438d10fb5a35e7870737ce23", null ], + [ "get_target", "classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.html#abc8d7bf5d699f04bb717e989dab315ab", null ], + [ "get_target", "classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.html#a9452e9ff83a825e3420347a45ba9b313", null ], + [ "get_tracer_filter", "classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.html#a73545d13b9544caa52a2a5bd747dadad", null ], + [ "get_tracer_filter", "classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.html#a97e72365a8d2e46e7d1cb5c702164561", null ], + [ "kill_me", "classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.html#a137cf279253d55feb9629e4423e34191", null ], + [ "left_node", "classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], + [ "q", "classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], + [ "refresh", "classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], + [ "right_node", "classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], + [ "set_tracer_filter", "classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.html#a5edf702b615e8af8d847ecd63d13eb25", null ], + [ "type", "classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__coll__graph.map new file mode 100644 index 00000000..3c789b40 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__coll__graph.md5 new file mode 100644 index 00000000..59bcc9df --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__coll__graph.md5 @@ -0,0 +1 @@ +8af56d96018da212936a4b2e276b703c \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__coll__graph.png new file mode 100644 index 00000000..f7aa2b86 Binary files /dev/null and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__inherit__graph.map new file mode 100644 index 00000000..3c789b40 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__inherit__graph.md5 new file mode 100644 index 00000000..59bcc9df --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__inherit__graph.md5 @@ -0,0 +1 @@ +8af56d96018da212936a4b2e276b703c \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__inherit__graph.png new file mode 100644 index 00000000..f7aa2b86 Binary files /dev/null and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_oudin_e_t__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation-members.html index 0ac52a2a..7b9e94b8 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    PenmanEvaporation Member List
    +
    PenmanEvaporation Member List

    This is the complete list of members for PenmanEvaporation, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation.html index e98a4928..aefbbe63 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation.html @@ -2,33 +2,37 @@ - - - - -cmf: PenmanEvaporation Class Reference - - - - + + + + + cmf: PenmanEvaporation Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    PenmanEvaporation Class Reference
    +
    PenmanEvaporation Class Reference

    Calculates evaporation from an open water body. - More...

    -
    + More...

    +
    + Inheritance diagram for PenmanEvaporation:
    -
    +
    + Collaboration diagram for PenmanEvaporation:

    Detailed Description

    Calculates evaporation from an open water body.

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -231,7 +240,7 @@

    real get_tracer_filter ( - ) + ) @@ -247,8 +256,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -259,8 +268,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -284,7 +292,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__coll__graph.map index ab0e2229..7c371d1d 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__coll__graph.md5 index e355fbd1..bc9a4433 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__coll__graph.md5 @@ -1 +1 @@ -cfd1d23a4348528b87a0149a8970ac3c \ No newline at end of file +b68780a6d7c3056cf41f571021059669 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__coll__graph.png index 2b925ac8..0df91839 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__inherit__graph.map index ab0e2229..7c371d1d 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__inherit__graph.md5 index 1ca1555a..bc9a4433 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__inherit__graph.md5 @@ -1 +1 @@ -d65fe7e3a37b347d44566dd01ace9708 \ No newline at end of file +b68780a6d7c3056cf41f571021059669 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__inherit__graph.png index 2b925ac8..0df91839 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_evaporation__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t-members.html index f9421f1e..30916002 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    PenmanMonteithET Member List
    +
    PenmanMonteithET Member List

    This is the complete list of members for PenmanMonteithET, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    use_for_cell(cmf::upslope::Cell &cell)PenmanMonteithETstatic
    use_for_cell(cmf::upslope::Cell &cell)PenmanMonteithETstatic

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t.html index 0d211c43..d3e4685a 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t.html @@ -2,33 +2,37 @@ - - - - -cmf: PenmanMonteithET Class Reference - - - - + + + + + cmf: PenmanMonteithET Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    PenmanMonteithET Class Reference
    +
    PenmanMonteithET Class Reference

    Calculates the potential evapotranspiration according to FAO(1998) - More...

    -
    + More...

    +
    + Inheritance diagram for PenmanMonteithET:
    -
    +
    + Collaboration diagram for PenmanMonteithET:

    Detailed Description

    Calculates the potential evapotranspiration according to FAO(1998)

    -

    Governing equations:

    -\begin{eqnarray*} \lambda ET &=& \frac{\Delta\left(R_n - G\right)+\rho_a c_p \frac{e_s - e_a}{r_a}}{\Delta + \gamma\left(1+\frac{r_s}{r_a}\right)} \mbox{ FAO 1998, Eq. 3} \\ \mbox{With:} \\ \Delta &=& 4098 \frac{0.6108 e^{17.27 T}}{(T+237.3)^2} \frac{kPa}{^\circ C} \mbox{ (FAO 1998, Eq. 13)} \\ T &=& \mbox{Actual Temperature in } ^\circ C \\ R_n &=& \mbox{net Radiation (see Atmosphere) in } \frac{MJ}{m^2day} \\ G &=& 0 \ \frac{MJ}{m^2day} \mbox{ if daily average (FAO 1998, Eq. 42)} \\ && 0.1 R_n \ \mbox{ if day time (FAO 1998, Eq. 45)} \\ && 0.5 R_n \ \mbox{ if night time (FAO 1998, Eq. 46)} \\ \gamma &=& \frac{c_p P}{\epsilon \lambda} \mbox{ (FAO 1998,Eq. 8): Psychrometric constant } \frac{kPa}{^\circ C} \\ c_p &=& 0.001013 \frac{MJ}{kg\ ^\circ C}\mbox{ specific heat at constant pressure } \\ P &=& 101.3 \left(\frac{293-0.0065z}{293}\right)^{5.26} \mbox{ (FAO 1998,Eq. 7)} \\ \epsilon &=& 0.622 \frac{mol/g \mbox{ vapor}}{mol/g \mbox{ liquid water}} \\ \lambda &=& 2.45 \frac{MJ}{kg} \mbox{ (FAO 1998,Eq. 8)} \\ R &=& 0.287 \frac{kJ}{kg\ k}\mbox{ Spec. gas const.} \\ \rho_a &=& \frac{P}{1.01(T+273)R} \mbox{ (FAO 1998,Box. 6)} \\ e_s &=& \mbox{ Sat. vapor press. } [kPa] \\ e_a &=& \mbox{ Act. vapor press. } [kPa] \\ r_a &=& \frac{\ln\left(\frac{2-d}{z_{om}}\right)\ln\left(\frac{2-d}{z_{oh}}\right)}{k^2 u_2} \mbox{ (FAO 1998, Eq. 4/Box 4} \frac s m \\ && d=\frac 2 3 h,z_{om}=0.123 h,z_{oh}=0.1 z_{om}, k=0.41 \\ h &=& \mbox{ Vegetation height in }m \\ u_2 &=& \mbox{ Windspeed in 2m above canopy } \frac m s \\ r_s &=& \frac{r_l}{LAI_{Active}} \mbox{ (FAO 1998, Eq. 5/Box 5)} \frac s m \\ && r_l=100 \frac s m, LAI_{Active}=0.5 LAI \end{eqnarray*} +

    Governing equations:

    +\begin{eqnarray*} +\lambda ET &=& \frac{\Delta\left(R_n - G\right)+\rho_a c_p \frac{e_s - e_a}{r_a}}{\Delta + \gamma\left(1+\frac{r_s}{r_a}\right)} \mbox{ FAO 1998, Eq. 3} \\ +\mbox{With:} \\ +\Delta &=& 4098 \frac{0.6108 e^{17.27 T}}{(T+237.3)^2} \frac{kPa}{^\circ C} \mbox{ (FAO 1998, Eq. 13)} \\ +T &=& \mbox{Actual Temperature in } ^\circ C \\ +R_n &=& \mbox{net Radiation (see Atmosphere) in } \frac{MJ}{m^2day} \\ +G &=& 0 \ \frac{MJ}{m^2day} \mbox{ if daily average (FAO 1998, Eq. 42)} \\ + && 0.1 R_n \ \mbox{ if day time (FAO 1998, Eq. 45)} \\ + && 0.5 R_n \ \mbox{ if night time (FAO 1998, Eq. 46)} \\ +\gamma &=& \frac{c_p P}{\epsilon \lambda} \mbox{ (FAO 1998,Eq. 8): Psychrometric constant } \frac{kPa}{^\circ C} \\ +c_p &=& 0.001013 \frac{MJ}{kg\ ^\circ C}\mbox{ specific heat at constant pressure } \\ +P &=& 101.3 \left(\frac{293-0.0065z}{293}\right)^{5.26} \mbox{ (FAO 1998,Eq. 7)} \\ +\epsilon &=& 0.622 \frac{mol/g \mbox{ vapor}}{mol/g \mbox{ liquid water}} \\ +\lambda &=& 2.45 \frac{MJ}{kg} \mbox{ (FAO 1998,Eq. 8)} \\ +R &=& 0.287 \frac{kJ}{kg\ k}\mbox{ Spec. gas const.} \\ +\rho_a &=& \frac{P}{1.01(T+273)R} \mbox{ (FAO 1998,Box. 6)} \\ +e_s &=& \mbox{ Sat. vapor press. } [kPa] \\ +e_a &=& \mbox{ Act. vapor press. } [kPa] \\ +r_a &=& \frac{\ln\left(\frac{2-d}{z_{om}}\right)\ln\left(\frac{2-d}{z_{oh}}\right)}{k^2 u_2} \mbox{ (FAO 1998, Eq. 4/Box 4} \frac s m \\ +&& d=\frac 2 3 h,z_{om}=0.123 h,z_{oh}=0.1 z_{om}, k=0.41 \\ +h &=& \mbox{ Vegetation height in }m \\ +u_2 &=& \mbox{ Windspeed in 2m above canopy } \frac m s \\ +r_s &=& \frac{r_l}{LAI_{Active}} \mbox{ (FAO 1998, Eq. 5/Box 5)} \frac s m \\ +&& r_l=100 \frac s m, LAI_{Active}=0.5 LAI +\end{eqnarray*}

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Static Public Member Functions

    -static void use_for_cell (cmf::upslope::Cell &cell)
    +static void use_for_cell (cmf::upslope::Cell &cell)
     Connects all soil layers with the transpiration node of the cell.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -244,7 +279,7 @@

    real get_tracer_filter ( - ) + ) @@ -260,8 +295,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -272,8 +307,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -297,7 +331,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__coll__graph.map index e1fafc1b..13dd163d 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__coll__graph.md5 index 1ff728c7..47253143 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__coll__graph.md5 @@ -1 +1 @@ -5e6c6202c48a6e55f37c83640b2bcd1a \ No newline at end of file +430e9a151b7932678adf8854978a1ffc \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__coll__graph.png index 31344eaf..7f158a44 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__inherit__graph.map index e1fafc1b..13dd163d 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__inherit__graph.md5 index 6eba675d..47253143 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__inherit__graph.md5 @@ -1 +1 @@ -c20facc7931af8911036e93733336760 \ No newline at end of file +430e9a151b7932678adf8854978a1ffc \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__inherit__graph.png index 31344eaf..7f158a44 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_penman_monteith_e_t__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t-members.html index 5dab79f0..70db208d 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    PriestleyTaylorET Member List
    +
    PriestleyTaylorET Member List

    This is the complete list of members for PriestleyTaylorET, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    use_for_cell(cmf::upslope::Cell &cell)PriestleyTaylorETstatic
    use_for_cell(cmf::upslope::Cell &cell)PriestleyTaylorETstatic

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t.html index ec832478..0019bf16 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t.html @@ -2,33 +2,37 @@ - - - - -cmf: PriestleyTaylorET Class Reference - - - - + + + + + cmf: PriestleyTaylorET Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    PriestleyTaylorET Class Reference
    +
    PriestleyTaylorET Class Reference

    Calculates the Evapotranspiration using Priestley-Taylor equation. - More...

    -
    + More...

    +
    + Inheritance diagram for PriestleyTaylorET:
    -
    +
    + Collaboration diagram for PriestleyTaylorET:

    Detailed Description

    @@ -142,67 +159,67 @@
  • \(\alpha\) the Priestley-Taylor constant (default 1.26 for humid climates)
  • - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Static Public Member Functions

    -static void use_for_cell (cmf::upslope::Cell &cell)
    +static void use_for_cell (cmf::upslope::Cell &cell)
     Connects all soil layers with the transpiration node of the cell.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -252,7 +263,7 @@

    real get_tracer_filter ( - ) + ) @@ -268,8 +279,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -280,8 +291,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -305,7 +315,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__coll__graph.map index 378824c9..7d0733cf 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__coll__graph.md5 index 84436f01..e4264a0c 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__coll__graph.md5 @@ -1 +1 @@ -72ec8736aa63d29bf2349c139d93014c \ No newline at end of file +3c2f1de36ba247a4e2bd9be7f6f486cf \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__coll__graph.png index c0cbadbe..2c237493 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__inherit__graph.map index 378824c9..7d0733cf 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__inherit__graph.md5 index d9b325fa..e4264a0c 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__inherit__graph.md5 @@ -1 +1 @@ -9c05232ba527597b9e530404512cab21 \ No newline at end of file +3c2f1de36ba247a4e2bd9be7f6f486cf \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__inherit__graph.png index c0cbadbe..2c237493 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_priestley_taylor_e_t__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function-members.html deleted file mode 100644 index e46abdb6..00000000 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function-members.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    RootUptakeStessFunction Member List
    -
    -
    - -

    This is the complete list of members for RootUptakeStessFunction, including all inherited members.

    - - - -
    copy() const =0RootUptakeStessFunctionpure virtual
    Tact(const stressedET *connection, real Tpot) const =0RootUptakeStessFunctionpure virtual
    -
    -

    -Generated: Wed Mar 20 2019 13:55:34 - - - - diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function.html deleted file mode 100644 index 79c0840a..00000000 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - - -cmf: RootUptakeStessFunction Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    RootUptakeStessFunction Class Referenceabstract
    -
    -
    - -

    An abstract class to calculate the actual transpiration from potential transpiration. - More...

    -
    - + Inheritance diagram for RootUptakeStessFunction:
    -
    -
    - -
    - + Collaboration diagram for RootUptakeStessFunction:
    -
    -
    - -

    Detailed Description

    -

    An abstract class to calculate the actual transpiration from potential transpiration.

    -

    Implementations of WaterStressFunction are used by ET connections derived from cmf::upslope::ET::stressedET

    -
    - - - - - - - -

    -Public Member Functions

    -virtual cmf::upslope::ET::RootUptakeStessFunctioncopy () const =0
     Creates a new copy of this wetness.
     
    virtual real Tact (const stressedET *connection, real Tpot) const =0
     Calculates the water stress for a layer. More...
     
    -

    Member Function Documentation

    - -

    ◆ Tact()

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - -
    virtual real Tact (const stressedETconnection,
    real Tpot 
    ) const
    -
    -pure virtual
    -
    - -

    Calculates the water stress for a layer.

    -
    Parameters
    - - - -
    connectionThe stressedET connection this stress function belongs to
    TpotPotential Transpiration in mm/day (for the full profile)
    -
    -
    -
    Returns
    Actual flux from layer in m3/day
    - -

    Implemented in VolumeStress, ContentStress, and SuctionStress.

    - -
    -
    -
    -
    -

    -Generated: Wed Mar 20 2019 13:55:34 - - - - diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function.js b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function.js deleted file mode 100644 index 9a922e4e..00000000 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function.js +++ /dev/null @@ -1,5 +0,0 @@ -var classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function = -[ - [ "copy", "classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function.html#aa8201504b1040836726e19300b6f3667", null ], - [ "Tact", "classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function.html#ac8d3e20498f425015e95a6caaa42e59f", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__coll__graph.map deleted file mode 100644 index faff70f3..00000000 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__coll__graph.md5 deleted file mode 100644 index 286449f6..00000000 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -5164bdffcbe2396990730f5954ddef22 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__coll__graph.png deleted file mode 100644 index b5bb6bfa..00000000 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__inherit__graph.map deleted file mode 100644 index ea6cf53d..00000000 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__inherit__graph.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__inherit__graph.md5 deleted file mode 100644 index 1781b15a..00000000 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -179763952810d86a0557a9379ae89f50 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__inherit__graph.png deleted file mode 100644 index a00b2203..00000000 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stess_function__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function-members.html new file mode 100644 index 00000000..73a4e25a --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function-members.html @@ -0,0 +1,129 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    RootUptakeStressFunction Member List
    +
    +
    + +

    This is the complete list of members for RootUptakeStressFunction, including all inherited members.

    + + + +
    copy() const =0RootUptakeStressFunctionpure virtual
    Tact(const cmf::upslope::SoilLayer *soillayer, real Tpot) const =0RootUptakeStressFunctionpure virtual
    +
    + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function.html new file mode 100644 index 00000000..2e59eeae --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function.html @@ -0,0 +1,202 @@ + + + + + + + + + cmf: RootUptakeStressFunction Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    RootUptakeStressFunction Class Referenceabstract
    +
    +
    + +

    An abstract class to calculate the actual transpiration from potential transpiration. + More...

    +
    + + Inheritance diagram for RootUptakeStressFunction:
    +
    +
    + +

    Detailed Description

    +

    An abstract class to calculate the actual transpiration from potential transpiration.

    +

    Implementations of WaterStressFunction are used by ET connections derived from cmf::upslope::ET::stressedET

    +
    + + + + + + + +

    +Public Member Functions

    +virtual cmf::upslope::ET::RootUptakeStressFunctioncopy () const =0
     Creates a new copy of this wetness.
     
    virtual real Tact (const cmf::upslope::SoilLayer *soillayer, real Tpot) const =0
     Calculates the water stress for a layer.
     
    +

    Member Function Documentation

    + +

    ◆ Tact()

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    virtual real Tact (const cmf::upslope::SoilLayer * soillayer,
    real Tpot ) const
    +
    +pure virtual
    +
    + +

    Calculates the water stress for a layer.

    +
    Parameters
    + + + +
    soillayerThe cmf::upslope::SoilLayer this stress function belongs to
    TpotPotential Transpiration in mm/day (for the full profile)
    +
    +
    +
    Returns
    Actual flux from layer in m3/day
    + +

    Implemented in SuctionStress, ContentStress, and VolumeStress.

    + +
    +
    +
    +
    + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function.js b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function.js new file mode 100644 index 00000000..39f6d288 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function.js @@ -0,0 +1,5 @@ +var classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function = +[ + [ "copy", "classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function.html#a9479ce9f71f4c205ded873ee388a5378", null ], + [ "Tact", "classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function.html#acfc0b7175bc973353264b0a41e9276dc", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function__inherit__graph.map new file mode 100644 index 00000000..e890eba1 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function__inherit__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function__inherit__graph.md5 new file mode 100644 index 00000000..65308c80 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function__inherit__graph.md5 @@ -0,0 +1 @@ +83d2ebfa0f429af72510d4f8f32f15bd \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function__inherit__graph.png new file mode 100644 index 00000000..9c602cd5 Binary files /dev/null and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_root_uptake_stress_function__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy-members.html index f9864baf..e7007a5f 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SW_evap_from_canopy Member List
    +
    SW_evap_from_canopy Member List

    This is the complete list of members for SW_evap_from_canopy, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy.html index dc1b0c78..b83b4621 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy.html @@ -2,33 +2,37 @@ - - - - -cmf: SW_evap_from_canopy Class Reference - - - - + + + + + cmf: SW_evap_from_canopy Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SW_evap_from_canopy Class Reference
    +
    SW_evap_from_canopy Class Reference

    Connection for Shuttleworth-Wallace canopy interception evaporation. - More...

    -
    + More...

    +
    + Inheritance diagram for SW_evap_from_canopy:
    -
    +
    + Collaboration diagram for SW_evap_from_canopy:

    Detailed Description

    Connection for Shuttleworth-Wallace canopy interception evaporation.

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -231,7 +240,7 @@

    real get_tracer_filter ( - ) + ) @@ -247,8 +256,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -259,8 +268,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -284,7 +292,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__coll__graph.map index 2d40b7fe..a48cd672 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__coll__graph.md5 index 33912713..69f222db 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__coll__graph.md5 @@ -1 +1 @@ -4b6b0013900579a92b502b7d7b69419b \ No newline at end of file +fd5c66e558cfcd63f9a8cf636f87258a \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__coll__graph.png index adb443ec..2b464e3b 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__inherit__graph.map index 2d40b7fe..a48cd672 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__inherit__graph.md5 index 0085afa5..69f222db 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__inherit__graph.md5 @@ -1 +1 @@ -49accc665f0eb70f7bc6e791358f99bd \ No newline at end of file +fd5c66e558cfcd63f9a8cf636f87258a \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__inherit__graph.png index adb443ec..2b464e3b 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__canopy__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer-members.html index cdf212f5..6d8958f7 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SW_evap_from_layer Member List
    +
    SW_evap_from_layer Member List

    This is the complete list of members for SW_evap_from_layer, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer.html index 51796e90..ead8b0d8 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer.html @@ -2,33 +2,37 @@ - - - - -cmf: SW_evap_from_layer Class Reference - - - - + + + + + cmf: SW_evap_from_layer Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SW_evap_from_layer Class Reference
    +
    SW_evap_from_layer Class Reference

    Connection for Shuttleworth-Wallace ground evaporation. - More...

    -
    + More...

    +
    + Inheritance diagram for SW_evap_from_layer:
    -
    +
    + Collaboration diagram for SW_evap_from_layer:

    Detailed Description

    Connection for Shuttleworth-Wallace ground evaporation.

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -231,7 +240,7 @@

    real get_tracer_filter ( - ) + ) @@ -247,8 +256,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -259,8 +268,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -284,7 +292,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__coll__graph.map index c971998a..1a758ac7 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__coll__graph.md5 index 74781000..893666ca 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__coll__graph.md5 @@ -1 +1 @@ -62ede330ee4773aa9f410aa92adaae0a \ No newline at end of file +07709de8bd655f60e081899059672c46 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__coll__graph.png index 561ef3f5..cd65bf03 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__inherit__graph.map index c971998a..1a758ac7 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__inherit__graph.md5 index c3c481cb..893666ca 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__inherit__graph.md5 @@ -1 +1 @@ -111a782b0a4bf8a665f742df25868c66 \ No newline at end of file +07709de8bd655f60e081899059672c46 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__inherit__graph.png index 561ef3f5..cd65bf03 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__layer__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow-members.html index 9963adb9..59fc2fea 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SW_evap_from_snow Member List
    +
    SW_evap_from_snow Member List

    This is the complete list of members for SW_evap_from_snow, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow.html index daf29383..f405f282 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow.html @@ -2,33 +2,37 @@ - - - - -cmf: SW_evap_from_snow Class Reference - - - - + + + + + cmf: SW_evap_from_snow Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SW_evap_from_snow Class Reference
    +
    SW_evap_from_snow Class Reference

    Connection for Shuttleworth-Wallace canopy interception evaporation. - More...

    -
    + More...

    +
    + Inheritance diagram for SW_evap_from_snow:
    -
    +
    + Collaboration diagram for SW_evap_from_snow:

    Detailed Description

    Connection for Shuttleworth-Wallace canopy interception evaporation.

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -231,7 +240,7 @@

    real get_tracer_filter ( - ) + ) @@ -247,8 +256,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -259,8 +268,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -284,7 +292,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__coll__graph.map index 6af5d290..64ba950b 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__coll__graph.md5 index 98581c53..4104cf24 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__coll__graph.md5 @@ -1 +1 @@ -c9b4c139cb6311273f627cdc2b6d390a \ No newline at end of file +bbb730ebc8921f6caea17cc99676697e \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__coll__graph.png index b9433044..b418f81f 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__inherit__graph.map index 6af5d290..64ba950b 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__inherit__graph.md5 index 442bcf26..4104cf24 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__inherit__graph.md5 @@ -1 +1 @@ -6ab3aa35f3a6dea0c09b0e54e4f275e8 \ No newline at end of file +bbb730ebc8921f6caea17cc99676697e \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__inherit__graph.png index b9433044..b418f81f 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__snow__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater-members.html index c03175b4..6b5023bc 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SW_evap_from_surfacewater Member List
    +
    SW_evap_from_surfacewater Member List

    This is the complete list of members for SW_evap_from_surfacewater, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater.html index 45b5941c..17a07313 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater.html @@ -2,33 +2,37 @@ - - - - -cmf: SW_evap_from_surfacewater Class Reference - - - - + + + + + cmf: SW_evap_from_surfacewater Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SW_evap_from_surfacewater Class Reference
    +
    SW_evap_from_surfacewater Class Reference

    Connection for Shuttleworth-Wallace canopy interception evaporation. - More...

    -
    + More...

    +
    + Inheritance diagram for SW_evap_from_surfacewater:
    -
    +
    + Collaboration diagram for SW_evap_from_surfacewater:

    Detailed Description

    Connection for Shuttleworth-Wallace canopy interception evaporation.

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -231,7 +240,7 @@

    real get_tracer_filter ( - ) + ) @@ -247,8 +256,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -259,8 +268,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -284,7 +292,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__coll__graph.map index 4db41908..2074fcc0 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__coll__graph.md5 index b6ecddda..cd758e1c 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__coll__graph.md5 @@ -1 +1 @@ -f0069460750870c85045fc047c4d0253 \ No newline at end of file +742c3fa198cbb62fff9ff86c544b202c \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__coll__graph.png index ff0fae76..77677825 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__inherit__graph.map index 4db41908..2074fcc0 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__inherit__graph.md5 index 43040f79..cd758e1c 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__inherit__graph.md5 @@ -1 +1 @@ -c3f8ad9ad671dc6a6dfede93fe0c2370 \ No newline at end of file +742c3fa198cbb62fff9ff86c544b202c \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__inherit__graph.png index ff0fae76..77677825 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__evap__from__surfacewater__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration-members.html index d3f5203a..ffe2696c 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SW_transpiration Member List
    +
    SW_transpiration Member List

    This is the complete list of members for SW_transpiration, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration.html index cbd1aa87..48e46d9e 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration.html @@ -2,33 +2,37 @@ - - - - -cmf: SW_transpiration Class Reference - - - - + + + + + cmf: SW_transpiration Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SW_transpiration Class Reference
    +
    SW_transpiration Class Reference

    Connection for Shuttleworth-Wallace transpiration. - More...

    -
    + More...

    +
    + Inheritance diagram for SW_transpiration:
    -
    +
    + Collaboration diagram for SW_transpiration:

    Detailed Description

    Connection for Shuttleworth-Wallace transpiration.

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -231,7 +240,7 @@

    real get_tracer_filter ( - ) + ) @@ -247,8 +256,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -259,8 +268,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -284,7 +292,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__coll__graph.map index ef20cb5d..e79a6304 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__coll__graph.md5 index ca9343e6..5097d937 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__coll__graph.md5 @@ -1 +1 @@ -65527b82313e1cfb7074a3ac2466f5fb \ No newline at end of file +851e1f8315660bfa0d7d16459f491863 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__coll__graph.png index 6be92b1b..d7fedb08 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__inherit__graph.map index ef20cb5d..e79a6304 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__inherit__graph.md5 index c9408835..5097d937 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__inherit__graph.md5 @@ -1 +1 @@ -cbce55aa76e3b5c62710680bacc03a30 \ No newline at end of file +851e1f8315660bfa0d7d16459f491863 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__inherit__graph.png index 6be92b1b..d7fedb08 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_s_w__transpiration__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace-members.html index 56a1a038..0a758d36 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,39 +93,45 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    ShuttleworthWallace Member List
    +
    ShuttleworthWallace Member List

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace.html index 9ae4c921..8ac0c694 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace.html @@ -2,33 +2,37 @@ - - - - -cmf: ShuttleworthWallace Class Reference - - - - + + + + + cmf: ShuttleworthWallace Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    ShuttleworthWallace Class Reference
    +
    ShuttleworthWallace Class Reference

    Calculates the sum of soil evaporation and transpiration according to Shuttleworth & Wallace 1985, as implemented in BROOK 90 (Federer 1990) - More...

    -
    + More...

    +
    + Inheritance diagram for ShuttleworthWallace:
    -
    +
    + Collaboration diagram for ShuttleworthWallace:

    Detailed Description

    Calculates the sum of soil evaporation and transpiration according to Shuttleworth & Wallace 1985, as implemented in BROOK 90 (Federer 1990)

    -

    The difference to BROOK90 is, that the actual transpiration is not calculated by plant resitance and potential gradient between plant and soil, but by an piecewise linear function of the pF value \( pF = \log_{10}\left(-\Psi [hPa]\right) \):

    -\[ \frac{T_{act}}{T_{pot}} = \begin{cases}1 & pF \le 3.35 \\ \frac{pF - 4.2}{3.35 - 4.2} & pF \in [3.35 .. 4.2] \\ 0 & pF \ge 4.2\end{cases} \] +

    The difference to BROOK90 is, that the actual transpiration is not calculated by plant resitance and potential gradient between plant and soil, but by an piecewise linear function of the pF value \( pF = \log_{10}\left(-\Psi [hPa]\right) \):

    +\[ \frac{T_{act}}{T_{pot}} = \begin{cases}1 & pF \le 3.35 \\ +\frac{pF - 4.2}{3.35 - 4.2} & pF \in [3.35 .. 4.2] \\ +0 & pF \ge 4.2\end{cases} \]

    Calculation procedure, as in BROOK 90:

    Evapotranspiration from the canopy: \(\lambda ET_{canopy} = \frac {r_{ac} \Delta\ R_{n,canopy} + c_p\rho D_0}{\Delta \gamma r_{ac} + \gamma r_{sc}} \)

    @@ -145,97 +163,94 @@
  • \( r_{ac}, r_{sc}, r_{as}, r_{ss} \) Resistances for the vapor pressure (see below)
  • - - + - + - +

    +

    Public Member Functions

    ShuttleworthWallace (cmf::upslope::Cell &cell, bool allow_dew=true)
    ShuttleworthWallace (cmf::upslope::Cell &cell, bool allow_dew=true)
     Calculates the transpiration and the soil evaporation from dry surfaces.
     
    -virtual void get_aerodynamic_resistance (double &r_ag, double &r_ac, cmf::math::Time t) const
    +virtual void get_aerodynamic_resistance (double &r_ag, double &r_ac, cmf::math::Time t) const
     aerodynamic resistance from ground to atmosphere (r_ag) and from canopy to atmosphere (r_ac)
     
    -void refresh (cmf::math::Time t)
    +void refresh (cmf::math::Time t)
     Calculates all the values.
     
    - - - + + - - + +

    +

    Static Public Member Functions

    static void set_RSS_parameters (double _RSSa=500., double _RSSb=1.0, double _RSSa_pot=-3.22)
     Sets the parameters of the soil surface resistance, a function of the actual water potential

    -\[ r_{ss} = RSS_a \left(\frac{\Psi}{\Psi_{RSS_a}}\right)^{RSS_b} \] -

    -

    . More...

    static void set_RSS_parameters (double _RSSa=500., double _RSSb=1.0, double _RSSa_pot=-3.22)
     Sets the parameters of the soil surface resistance, a function of the actual water potential.
     
    static ShuttleworthWallace::ptr use_for_cell (cmf::upslope::Cell &cell)
     Uses ShuttleworthWallace for the complete ET system of the cell. More...
    static ShuttleworthWallace::ptr use_for_cell (cmf::upslope::Cell &cell)
     Uses ShuttleworthWallace for the complete ET system of the cell.
     
    - - + - - + + - + - + - + - + - - + + - + - + - + - + - + - + - + - +

    +

    Public Attributes

    -double AIR
    +double AIR
     Actual leaf evaporation rate in mm/day.
     
    bool allow_dew
     If allow_dew is true (default), negative net radiation can lead to the formation of dew and rime. More...
    bool allow_dew
     If allow_dew is true (default), negative net radiation can lead to the formation of dew and rime.
     
    -double ASNVP
    +double ASNVP
     Actual snow evaporation rate in mm/day.
     
    -cmf::math::num_array ATR
    +cmf::math::num_array ATR
     actual transpiration rate per layer in mm/day
     
    -double ATR_sum
    +double ATR_sum
     potential surface water evaporation rate in mm/day, actual rate depends on surfacewater coverage
     
    -double GER
    +double GER
     Ground evaporation rate in mm/day (either from soil or from surfacewater)
     
    double KSNVP
     multiplier to reduce snow evaporation, dimensionless. More...
    double KSNVP
     multiplier to reduce snow evaporation, dimensionless.
     
    -double PIR
    +double PIR
     Potential leaf evaporation rate in mm/day.
     
    -double PSNVP
    +double PSNVP
     Potential snow evaporation rate in mm/day.
     
    -double PTR
    +double PTR
     Potential transpiration rate in mm/day.
     
    -double RAA
    +double RAA
     Aerodynamic resistance between the effective source height to the free atmosphere.
     
    -double RAC
    +double RAC
     Aerodynamic resistance inside of the canopy.
     
    -double RAS
    +double RAS
     Aerodynamic resistance from the ground to the effective source height.
     
    -double RSC
    +double RSC
     Surface resistance of the canopy (depending on stomatal resistance and LAI)
     
    -double RSS
    +double RSS
     Surface resistance of the soil (depending on the topsoil matrix potential)
     

    Member Function Documentation

    - -

    ◆ set_RSS_parameters()

    + +

    ◆ set_RSS_parameters()

    @@ -246,25 +261,17 @@

    static void set_RSS_parameters ( - double  - _RSSa = 500., + double _RSSa = 500., - double  - _RSSb = 1.0, + double _RSSb = 1.0, - double  - _RSSa_pot = -3.22  - - - - ) - + double _RSSa_pot = -3.22 ) @@ -274,11 +281,11 @@

    -

    Sets the parameters of the soil surface resistance, a function of the actual water potential

    +

    Sets the parameters of the soil surface resistance, a function of the actual water potential.

    +

    \[ r_{ss} = RSS_a \left(\frac{\Psi}{\Psi_{RSS_a}}\right)^{RSS_b} \]

    -

    .

    -
    Parameters
    +
    Parameters
    @@ -289,8 +296,8 @@

    -

    ◆ use_for_cell()

    + +

    ◆ use_for_cell()

    - - +
    _RSSaResistance in s/m at potential in RSSa_pot
    _RSSbExponent for curve shape
    (cmf::upslope::Cellcell)cmf::upslope::Cell & cell)
    @@ -313,9 +319,9 @@

    -

    Uses ShuttleworthWallace for the complete ET system of the cell.

    +

    Uses ShuttleworthWallace for the complete ET system of the cell.

    The installation includes the following:

      -
    • Create a new ShuttleworthWallace instance (SW) as central calculation unit
    • +
    • Create a new ShuttleworthWallace instance (SW) as central calculation unit
    • Connect each soil layer with cell.transpiration using the generic "transpiration" connection, controlled by SW
    • Connect the top soil layer with cell.evaporation using the generic "soilevaporation" connection, controlled by SW
    • If a canopy water storage exists, use SW for Canopy evaporation
    • @@ -326,8 +332,8 @@

      Member Data Documentation

      - -

      ◆ allow_dew

      + +

      ◆ allow_dew

      @@ -343,8 +349,8 @@

      -

      ◆ KSNVP

      + +

      ◆ KSNVP

      @@ -368,7 +374,7 @@

      Institute of Landscape Ecology and Resources Management,University of Gießen

      -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__coll__graph.map index 24dba47a..7fd5579e 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__coll__graph.md5 index 707ed03d..24442ed9 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__coll__graph.md5 @@ -1 +1 @@ -4b292c8a5fc7c8327d0dbe26301dcd5b \ No newline at end of file +b3812f61f4477c3cd87b23b30f335d03 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__coll__graph.png index cb52aded..024df70b 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__inherit__graph.map index 94523b8c..70d2bd21 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__inherit__graph.md5 index 6fb046c6..c72c80a8 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__inherit__graph.md5 @@ -1 +1 @@ -f8db9ac4e5168623ffe01022979528a3 \ No newline at end of file +0312c3ce33bc2361fe4c0dec8691ded9 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__inherit__graph.png index 3fc15c88..58758fa1 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_shuttleworth_wallace__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress-members.html index f043aec4..a69fcee5 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
      @@ -74,8 +79,8 @@
      @@ -88,25 +93,31 @@
      - +
      +
      +
      +
      +
      Loading...
      +
      Searching...
      +
      No Matches
      +
      +
      +
      -
      -
      SuctionStress Member List
      +
      SuctionStress Member List

      This is the complete list of members for SuctionStress, including all inherited members.

      - - + + - + - +
      copy() constSuctionStressvirtual
      P0SuctionStress
      copy() constSuctionStressvirtual
      P0SuctionStress
      P1SuctionStress
      P2SuctionStress
      P2SuctionStress
      P3SuctionStress
      SuctionStress(real P0=1e308, real P1=1e307, real P2=-5, real P3=-160)SuctionStress
      SuctionStress(real P0=1e308, real P1=1e307, real P2=-5, real P3=-160)SuctionStress
      Tact(const cmf::upslope::SoilLayer *soillayer, real Tpot) constSuctionStressvirtual
      @@ -116,7 +127,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

      -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress.html index 535c1e8b..dde0b0a9 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress.html @@ -2,33 +2,37 @@ - - - - -cmf: SuctionStress Class Reference - - - - + + + + + cmf: SuctionStress Class Reference + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
      @@ -74,8 +79,8 @@
      @@ -88,9 +93,16 @@
      - +
      +
      +
      +
      +
      Loading...
      +
      Searching...
      +
      No Matches
      +
      +
      +
      -
      -
      SuctionStress Class Reference
      +
      SuctionStress Class Reference

      The classical suction depending transpiration Stress curve after Feddes. - More...

      -
      + More...

      +
      + Inheritance diagram for SuctionStress:
      -
      +
      + Collaboration diagram for SuctionStress:

      Detailed Description

      The classical suction depending transpiration Stress curve after Feddes.

      -

      The ability of roots to take water from the soil up is limited by the suction pressure (matrix potential) of the soil. The stress is defined using a trapezoid function, with P0 being the pressure, where water uptake is prohibited by saturation. Between P0 and P1 the saturation stress gets lower. Between P1 and P2, no stress occurs (ET=ETpot) and with a pressure below P2, water uptake is limited by drought. P3 indicates the highest suction (lowest pressure) to which plants can extract water (wilting point).

      +

      The ability of roots to take water from the soil up is limited by the suction pressure (matrix potential) of the soil. The stress is defined using a trapezoid function, with P0 being the pressure, where water uptake is prohibited by saturation. Between P0 and P1 the saturation stress gets lower. Between P1 and P2, no stress occurs (ET=ETpot) and with a pressure below P2, water uptake is limited by drought. P3 indicates the highest suction (lowest pressure) to which plants can extract water (wilting point).

      Default values: \(P_0 = \infty, P_1=\infty, P_2=-5m, P_3=-160m\), resulting in no saturation stress and draught stress starting at -5m and a wilting point of -160m.

      If one would like to include saturation stress, typical values for P0 and P1 are 0.0m and 0.1m. By changing P2 and P3, you can account for different drought sensibility for different plant types.

      - - + - - - - - + + + + +

      +

      Public Member Functions

      SuctionStress (real P0=1e308, real P1=1e307, real P2=-5, real P3=-160)
      SuctionStress (real P0=1e308, real P1=1e307, real P2=-5, real P3=-160)
       Creates a new suction stress function.
       
      -cmf::upslope::ET::SuctionStresscopy () const
       Creates a new copy of this wetness.
       
      virtual real Tact (const cmf::upslope::SoilLayer *soillayer, real Tpot) const
       Calculates the water stress for a layer. More...
      +cmf::upslope::ET::SuctionStresscopy () const
       Creates a new copy of this wetness.
       
      virtual real Tact (const cmf::upslope::SoilLayer *soillayer, real Tpot) const
       Calculates the water stress for a layer.
       
      - - - + + - - + + - - + + - - + +

      +

      Public Attributes

      -real P0
       Above this pressure, ET=0.0 due to saturation (typical value: 0.0m)
      +real P0
       Above this pressure, ET=0.0 due to saturation (typical value: 0.0m)
       
      -real P1
       Between P0 and P1 ET raises linear from 0.0 to ETpot (typical value: -0.1m)
      +real P1
       Between P0 and P1 ET raises linear from 0.0 to ETpot (typical value: -0.1m)
       
      -real P2
       Between P1 and P2, ET is unstressed, ET=ETpot (typical value: -5 m)
      +real P2
       Between P1 and P2, ET is unstressed, ET=ETpot (typical value: -5 m)
       
      -real P3
       Between P2 and P3, ET drops linear with the pressure head to zero due to drought (typical value: -160m)
      +real P3
       Between P2 and P3, ET drops linear with the pressure head to zero due to drought (typical value: -160m)
       

      Member Function Documentation

      - -

      ◆ Tact()

      + +

      ◆ Tact()

      @@ -177,19 +192,12 @@

      virtual real Tact ( - const cmf::upslope::SoilLayer *  - soillayer, + const cmf::upslope::SoilLayer * soillayer, - real  - Tpot  - - - - ) - const + real Tpot ) const @@ -202,7 +210,7 @@

      Parameters
      - +
      soillayerThe cmf::upslope::SoilLayer this stress function belongs to
      soillayerThe cmf::upslope::SoilLayer this stress function belongs to
      TpotPotential Transpiration in mm/day (for the full profile)
      @@ -221,7 +229,7 @@

      Institute of Landscape Ecology and Resources Management,University of Gießen

      -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress.js b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress.js index e49acf18..3e5bedaa 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress.js +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress.js @@ -1,7 +1,7 @@ var classcmf_1_1upslope_1_1_e_t_1_1_suction_stress = [ [ "SuctionStress", "classcmf_1_1upslope_1_1_e_t_1_1_suction_stress.html#acbfa1534c5346bfc5bbd237d0f5aad4f", null ], - [ "copy", "classcmf_1_1upslope_1_1_e_t_1_1_suction_stress.html#a843a757fce2935ecea86d041b1c9b711", null ], + [ "copy", "classcmf_1_1upslope_1_1_e_t_1_1_suction_stress.html#a0188d2f43e3d1cb869b35440a89b4400", null ], [ "Tact", "classcmf_1_1upslope_1_1_e_t_1_1_suction_stress.html#a09582435562a7994b89ec4e4f76a620e", null ], [ "P0", "classcmf_1_1upslope_1_1_e_t_1_1_suction_stress.html#ac8f58a9d5bad663ca15e9578a155c2ce", null ], [ "P1", "classcmf_1_1upslope_1_1_e_t_1_1_suction_stress.html#a9a6ec983ba00b012a8c093e7740d08fd", null ], diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__coll__graph.map index 07558589..667af276 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__coll__graph.md5 index 44d30e15..c0a88f27 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__coll__graph.md5 @@ -1 +1 @@ -9f58e6b4665884a4b0db21e0cf984b8d \ No newline at end of file +cfd9f580cefb23afc5deb8fc8e1107c8 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__coll__graph.png index de4f73ab..3cb23f56 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__inherit__graph.map index 07558589..667af276 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__inherit__graph.md5 index c991fbf7..c0a88f27 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__inherit__graph.md5 @@ -1 +1 @@ -711667bc58a46f70420ff5963493bcfe \ No newline at end of file +cfd9f580cefb23afc5deb8fc8e1107c8 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__inherit__graph.png index de4f73ab..3cb23f56 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_suction_stress__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t-members.html index e2995001..6cc791f1 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +

      @@ -74,8 +79,8 @@
      @@ -88,33 +93,39 @@
      - +
      +
      +
      +
      +
      Loading...
      +
      Searching...
      +
      No Matches
      +
      +
      +
      -
      -
      TurcET Member List
      +
      TurcET Member List

      This is the complete list of members for TurcET, including all inherited members.

      - + - + - + - + - + - + - +
      conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
      flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
      flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
      get_target(const flux_node &inquirer)flux_connection
      get_target(int index) constflux_connection
      get_target(int index) constflux_connection
      get_tracer_filter()flux_connection
      get_tracer_filter(solute S)flux_connection
      get_tracer_filter(solute S)flux_connection
      kill_me()flux_connection
      left_node() constflux_connection
      left_node() constflux_connection
      q(const flux_node &inquirer, cmf::math::Time t)flux_connection
      refresh(cmf::math::Time t)flux_connection
      refresh(cmf::math::Time t)flux_connection
      right_node() constflux_connection
      set_tracer_filter(real value)flux_connection
      set_tracer_filter(real value)flux_connection
      typeflux_connection
      use_for_cell(cmf::upslope::Cell &cell)TurcETstatic
      use_for_cell(cmf::upslope::Cell &cell)TurcETstatic

    -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t.html index 2483b544..9a40ceb0 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t.html @@ -2,33 +2,37 @@ - - - - -cmf: TurcET Class Reference - - - - + + + + + cmf: TurcET Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    TurcET Class Reference
    +
    TurcET Class Reference

    Calculates ETpot after Turc (DVWK). - More...

    -
    + More...

    +
    + Inheritance diagram for TurcET:
    -
    +
    + Collaboration diagram for TurcET:

    Detailed Description

    Calculates ETpot after Turc (DVWK).

    \(ET_{act}\) is calculated using a WaterStressFunction

    -\[ ET_{pot,Turc} = 0.0031 C(rH) (R_G + 209) \frac{T}{T + 15} \] +\[ +ET_{pot,Turc} = 0.0031 C(rH) (R_G + 209) \frac{T}{T + 15} +\]

    where:

    • \(T\) is the mean daily temperature
    • @@ -141,67 +160,67 @@
    • \(R_G\) global radiation in \(J/cm^2\)
    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Static Public Member Functions

    -static void use_for_cell (cmf::upslope::Cell &cell)
    +static void use_for_cell (cmf::upslope::Cell &cell)
     Connects all soil layers with the transpiration node of the cell.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -251,7 +264,7 @@

    real get_tracer_filter ( - ) + ) @@ -267,8 +280,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -279,8 +292,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -304,7 +316,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__coll__graph.map index 948ad6ae..0542f1b3 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__coll__graph.md5 index e3406cce..c1c7713a 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__coll__graph.md5 @@ -1 +1 @@ -26dd0b3ef93a5389f084fce777c8d12b \ No newline at end of file +2e30c7fa5f37634ad79c4a26be3fc551 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__coll__graph.png index 9bc2a567..2e3e9426 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__inherit__graph.map index 948ad6ae..0542f1b3 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__inherit__graph.md5 index b56bdb82..c1c7713a 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__inherit__graph.md5 @@ -1 +1 @@ -c2e9e86fc3e228382d1c7238d9bf3fa8 \ No newline at end of file +2e30c7fa5f37634ad79c4a26be3fc551 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__inherit__graph.png index 9bc2a567..2e3e9426 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_turc_e_t__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress-members.html index e8ded21a..3de5ef25 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,23 +93,29 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    VolumeStress Member List
    +
    VolumeStress Member List

    This is the complete list of members for VolumeStress, including all inherited members.

    - - + + - +
    copy() constVolumeStressvirtual
    Tact(const cmf::upslope::SoilLayer *soillayer, real Tpot) constVolumeStressvirtual
    copy() constVolumeStressvirtual
    Tact(const cmf::upslope::SoilLayer *soillayer, real Tpot) constVolumeStressvirtual
    V0VolumeStress
    V1VolumeStress
    V1VolumeStress
    VolumeStress(real V1, real V0)VolumeStress
    @@ -114,7 +125,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress.html index 306f3b5b..bfd1efca 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress.html @@ -2,33 +2,37 @@ - - - - -cmf: VolumeStress Class Reference - - - - + + + + + cmf: VolumeStress Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    VolumeStress Class Reference
    +
    VolumeStress Class Reference

    A WaterStressFunction based on the stored water volume of a layer. - More...

    -
    + More...

    +
    + Inheritance diagram for VolumeStress:
    -
    +
    + Collaboration diagram for VolumeStress:

    Detailed Description

    A WaterStressFunction based on the stored water volume of a layer.

    -

    If the layer contains more water than V1, ET is not limited (ET=ETpot). Below V1 ET goes linear to 0.0 at V0

    +

    If the layer contains more water than V1, ET is not limited (ET=ETpot). Below V1 ET goes linear to 0.0 at V0

    - - - + + - - - - - + + + + +

    +

    Public Member Functions

     VolumeStress (real V1, real V0)
     Creates a new water stress function for water volume. More...
     VolumeStress (real V1, real V0)
     Creates a new water stress function for water volume.
     
    -cmf::upslope::ET::VolumeStresscopy () const
     Creates a new copy of this wetness.
     
    virtual real Tact (const cmf::upslope::SoilLayer *soillayer, real Tpot) const
     Calculates the water stress for a layer. More...
    +cmf::upslope::ET::VolumeStresscopy () const
     Creates a new copy of this wetness.
     
    virtual real Tact (const cmf::upslope::SoilLayer *soillayer, real Tpot) const
     Calculates the water stress for a layer.
     
    - - - + + - - + +

    +

    Public Attributes

    -real V0
     Lower volume threshold in \(m^3\). If the layer contains less water than V0, ET=0.0.
    +real V0
     Lower volume threshold in \(m^3\). If the layer contains less water than V0, ET=0.0.
     
    -real V1
     Upper volume threshold in \(m^3\). If the layer contains more water than V1, ET=ETpot.
    +real V1
     Upper volume threshold in \(m^3\). If the layer contains more water than V1, ET=ETpot.
     

    Constructor & Destructor Documentation

    - -

    ◆ VolumeStress()

    + +

    ◆ VolumeStress()

    @@ -163,19 +178,12 @@

    VolumeStress ( - real  - V1, + real V1, - real  - V0  - - - - ) - + real V0 )

    @@ -183,8 +191,8 @@

    Parameters
    - - + +
    V1Water content in \(m^3\) without stress (ET=ETpot)
    V0Water content in \(m^3\) with full stress (ET=0.0)
    V1Water content in \(m^3\) without stress (ET=ETpot)
    V0Water content in \(m^3\) with full stress (ET=0.0)
    @@ -192,8 +200,8 @@

    Member Function Documentation

    - -

    ◆ Tact()

    + +

    ◆ Tact()

    @@ -204,19 +212,12 @@

    virtual real Tact ( - const cmf::upslope::SoilLayer *  - soillayer, + const cmf::upslope::SoilLayer * soillayer, - real  - Tpot  - - - - ) - const + real Tpot ) const @@ -229,7 +230,7 @@

    Parameters
    - +
    soillayerThe cmf::upslope::SoilLayer this stress function belongs to
    soillayerThe cmf::upslope::SoilLayer this stress function belongs to
    TpotPotential Transpiration in mm/day (for the full profile)
    @@ -248,7 +249,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress.js b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress.js index 4e7e147a..8cbf2c03 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress.js +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress.js @@ -1,7 +1,7 @@ var classcmf_1_1upslope_1_1_e_t_1_1_volume_stress = [ [ "VolumeStress", "classcmf_1_1upslope_1_1_e_t_1_1_volume_stress.html#aef20d677fbb0c1cfa26a6f6e18e6e671", null ], - [ "copy", "classcmf_1_1upslope_1_1_e_t_1_1_volume_stress.html#a74510c66c4f872b2d17d618e6a743d01", null ], + [ "copy", "classcmf_1_1upslope_1_1_e_t_1_1_volume_stress.html#a9584ef6c06df11c87cf5d23c928e5771", null ], [ "Tact", "classcmf_1_1upslope_1_1_e_t_1_1_volume_stress.html#a09582435562a7994b89ec4e4f76a620e", null ], [ "V0", "classcmf_1_1upslope_1_1_e_t_1_1_volume_stress.html#ab5836250e49a427048223f0aaa4d4df8", null ], [ "V1", "classcmf_1_1upslope_1_1_e_t_1_1_volume_stress.html#adf5935e027019fd57ff1a61bf7608058", null ] diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__coll__graph.map index 1e6f6598..97e4add1 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__coll__graph.md5 index 38fedfcb..7390e745 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__coll__graph.md5 @@ -1 +1 @@ -7334a7d9a46f72f115bda7912e33eb31 \ No newline at end of file +bdba24192ec35cb90a0b3d6acc2e8264 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__coll__graph.png index f9e377b0..095b604e 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__inherit__graph.map index 1e6f6598..97e4add1 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__inherit__graph.md5 index 3628f7dc..7390e745 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__inherit__graph.md5 @@ -1 +1 @@ -2b019abd29533abde8791c1266bc4713 \ No newline at end of file +bdba24192ec35cb90a0b3d6acc2e8264 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__inherit__graph.png index f9e377b0..095b604e 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1_volume_stress__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot-members.html index 7338390a..6ceb5994 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    constantETpot Member List
    +
    constantETpot Member List

    This is the complete list of members for constantETpot, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot.html index d5925735..9ead0a9d 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot.html @@ -2,33 +2,37 @@ - - - - -cmf: constantETpot Class Reference - - - - + + + + + cmf: constantETpot Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    constantETpot Class Reference
    +
    constantETpot Class Reference

    A constant evapotranspiration. - More...

    -
    + More...

    +
    + Inheritance diagram for constantETpot:
    -
    +
    + Collaboration diagram for constantETpot:

    Detailed Description

    A constant evapotranspiration.

    Uses a constant measured or elsewhere modelled ETpot. Actual Evapotranspiration is calculated from rootdepth and actual matrix potential in the layers using Tact. The value of ETpot can be changed during runtime

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -234,7 +245,7 @@

    real get_tracer_filter ( - ) + ) @@ -250,8 +261,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -262,8 +273,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -287,7 +297,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__coll__graph.map index 1f46f78f..7acfedba 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__coll__graph.md5 index 9874680a..4cee506f 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__coll__graph.md5 @@ -1 +1 @@ -6dbfeb12367541751586841cc05f672d \ No newline at end of file +b9ae1b1654279a8e40db432c07e5ad0a \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__coll__graph.png index d0fd9038..6bc7ac54 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__inherit__graph.map index 1f46f78f..7acfedba 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__inherit__graph.md5 index d04b6a14..4cee506f 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__inherit__graph.md5 @@ -1 +1 @@ -f709b4fb4b44ee9fa90b3c8f99dc86c4 \ No newline at end of file +b9ae1b1654279a8e40db432c07e5ad0a \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__inherit__graph.png index d0fd9038..6bc7ac54 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1constant_e_tpot__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t-members.html index b1437e98..8fa4c202 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    stressedET Member List
    +
    stressedET Member List

    This is the complete list of members for stressedET, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t.html index 7304837a..056f8e2c 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t.html @@ -2,33 +2,37 @@ - - - - -cmf: stressedET Class Reference - - - - + + + + + cmf: stressedET Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    stressedET Class Referenceabstract
    +
    stressedET Class Referenceabstract
    -

    An abstract base class for ET Methods with a WaterStressFunction. - More...

    -
    +

    An abstract base class for ET Methods with a WaterStressFunction. + More...

    +
    + Inheritance diagram for stressedET:
    -
    +
    + Collaboration diagram for stressedET:

    Detailed Description

    -

    An abstract base class for ET Methods with a WaterStressFunction.

    +

    An abstract base class for ET Methods with a WaterStressFunction.

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -238,7 +254,7 @@

    real get_tracer_filter ( - ) + ) @@ -254,8 +270,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -266,8 +282,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -291,7 +306,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:48 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__coll__graph.map index 65629b7d..5dfc5b1d 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__coll__graph.md5 index 51175cd6..fdf8233a 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__coll__graph.md5 @@ -1 +1 @@ -f4507023e7567e8850f46b927f02ee13 \ No newline at end of file +30a3521ed4e5dfc70def617977242335 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__coll__graph.png index c1996494..3dbfa682 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__inherit__graph.map index b25e3f99..c016d7b2 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__inherit__graph.map @@ -1,10 +1,19 @@ - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__inherit__graph.md5 index 83d1fb34..3c473112 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__inherit__graph.md5 @@ -1 +1 @@ -429e0a6fcc80a3f24fb8b66c936de180 \ No newline at end of file +170750af2da05530e75cfa241f2a92b6 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__inherit__graph.png index 1050f70f..67fdc175 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1stressed_e_t__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot-members.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot-members.html index 47504f4d..71fb2870 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot-members.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    timeseriesETpot Member List
    +
    timeseriesETpot Member List

    This is the complete list of members for timeseriesETpot, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot.html b/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot.html index cce0db23..adf67a6e 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot.html +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot.html @@ -2,33 +2,37 @@ - - - - -cmf: timeseriesETpot Class Reference - - - - + + + + + cmf: timeseriesETpot Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    timeseriesETpot Class Reference
    +
    timeseriesETpot Class Reference

    A timeseries driven evapotranspiration. - More...

    -
    + More...

    +
    + Inheritance diagram for timeseriesETpot:
    -
    +
    + Collaboration diagram for timeseriesETpot:

    Detailed Description

    A timeseries driven evapotranspiration.

    Uses a timeseries of measured or elsewhere modelled ETpot. Actual Evapotranspiration is calculated from rootdepth and actual matrix potential in the layers using Tact. The value of ETpot can be changed during runtime

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -235,7 +247,7 @@

    real get_tracer_filter ( - ) + ) @@ -251,8 +263,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -263,8 +275,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -288,7 +299,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__coll__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__coll__graph.map index ca0fdace..ef002aff 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__coll__graph.md5 index a911d85c..6c9ed90d 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__coll__graph.md5 @@ -1 +1 @@ -126c75049e81a6db10bd54fc75678003 \ No newline at end of file +abfe38e7213474f916d9c1db9b2f32fb \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__coll__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__coll__graph.png index 91782137..ec70c42f 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__inherit__graph.map index 006485b4..3533b380 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__inherit__graph.md5 index c965d35a..b9e1b395 100644 --- a/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__inherit__graph.md5 @@ -1 +1 @@ -9bec2b58f373ba6d40931cc975a6ec68 \ No newline at end of file +959a56eb887253dc52df1801d3391ab6 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__inherit__graph.png index d72e97b8..43a66bf8 100644 Binary files a/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_e_t_1_1timeseries_e_tpot__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_linear_retention-members.html b/docs/classcmf_1_1upslope_1_1_linear_retention-members.html index 1c705d53..f84badc8 100644 --- a/docs/classcmf_1_1upslope_1_1_linear_retention-members.html +++ b/docs/classcmf_1_1upslope_1_1_linear_retention-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,35 +93,41 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    LinearRetention Member List
    +
    LinearRetention Member List

    This is the complete list of members for LinearRetention, including all inherited members.

    - + - + - + - + - + - + - + - +
    betaLinearRetention
    Diffusivity(real wetness) constRetentionCurvevirtual
    Diffusivity(real wetness) constRetentionCurvevirtual
    FillHeight(real lowerDepth, real Area, real Volume) constLinearRetentionvirtual
    K(real wetness) constLinearRetentionvirtual
    K(real wetness) constLinearRetentionvirtual
    KsatLinearRetention
    MatricPotential(real wetness) constLinearRetentionvirtual
    MatricPotential(real wetness) constLinearRetentionvirtual
    porosityLinearRetention
    Porosity(real depth) constLinearRetentionvirtual
    Porosity(real depth) constLinearRetentionvirtual
    porosity_decayLinearRetention
    residual_wetnessLinearRetention
    residual_wetnessLinearRetention
    theta(real wetness) constRetentionCurvevirtual
    thicknessLinearRetention
    thicknessLinearRetention
    VoidVolume(real upperDepth, real lowerDepth, real Area) constLinearRetentionvirtual
    Wetness(real suction) constLinearRetentionvirtual
    Wetness(real suction) constLinearRetentionvirtual
    Wetness_eff(real wetness, real pF_r=4.2) constRetentionCurvevirtual
    Wetness_pF(real pF) constRetentionCurve
    Wetness_pF(real pF) constRetentionCurve

    -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_linear_retention.html b/docs/classcmf_1_1upslope_1_1_linear_retention.html index b6c1612a..cf3d0732 100644 --- a/docs/classcmf_1_1upslope_1_1_linear_retention.html +++ b/docs/classcmf_1_1upslope_1_1_linear_retention.html @@ -2,33 +2,37 @@ - - - - -cmf: LinearRetention Class Reference - - - - + + + + + cmf: LinearRetention Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    LinearRetention Class Reference
    +
    LinearRetention Class Reference

    The linear retention curve provides a simple linear relationship between storage and head. - More...

    -
    + More...

    +
    + Inheritance diagram for LinearRetention:
    -
    +
    + Collaboration diagram for LinearRetention:

    Detailed Description

    @@ -131,83 +146,79 @@ \[ h(\theta) = -\Delta z \left( 1 - \frac{\theta - \theta_r}{\theta_s - \theta_r} \right) \]

    Conductivity function

    -\[ K(\theta) = K_{sat} \left(\frac{\theta - \theta_r}{\theta_s - \theta_r}\right)^\beta \] +\[ K(\theta) = K_{sat} \left(\frac{\theta - \theta_r}{\theta_s - \theta_r}\right)^\beta \]

    - - - + + - + - + - + - + - + - + - + - - + + - +

    +

    Public Member Functions

    virtual real Diffusivity (real wetness) const
     Returns the Diffusivity of the soil. More...
    virtual real Diffusivity (real wetness) const
     Returns the Diffusivity of the soil.
     
    -virtual real FillHeight (real lowerDepth, real Area, real Volume) const
    +virtual real FillHeight (real lowerDepth, real Area, real Volume) const
     Returns the thickness of a soil column with a certain pore volume.
     
    -virtual real K (real wetness) const
    +virtual real K (real wetness) const
     Returns the conductivity in m/day at a certain depth and water content.
     
    -virtual real MatricPotential (real wetness) const
    +virtual real MatricPotential (real wetness) const
     Returns the potential below upper side of the control volume in m.
     
    -virtual real Porosity (real depth) const
    +virtual real Porosity (real depth) const
     Returns the porosity at a certain depth.
     
    -virtual real theta (real wetness) const
    +virtual real theta (real wetness) const
     returns the water content \(theta\) for a given wetness
     
    -virtual real VoidVolume (real upperDepth, real lowerDepth, real Area) const
    +virtual real VoidVolume (real upperDepth, real lowerDepth, real Area) const
     Returns the void volume of a soil column.
     
    -virtual real Wetness (real suction) const
    +virtual real Wetness (real suction) const
     Returns the wetness (water content per pore volume) at a given head.
     
    -virtual real Wetness_eff (real wetness, real pF_r=4.2) const
     Returns the effective wetness, using a residual pF value

    -\[w_{eff} = \frac{w_{act}-w\left(pF_r\right)}{1-w\left(pF_r\right)}\] -

    -

    .

    virtual real Wetness_eff (real wetness, real pF_r=4.2) const
     Returns the effective wetness, using a residual pF value.
     
    -real Wetness_pF (real pF) const
    +real Wetness_pF (real pF) const
     returns the volumetric water content at a given pF value
     
    - - - + + - + - + - + - + - +

    +

    Public Attributes

    real beta
     Power Law Constant. More...
    real beta
     Power Law Constant.
     
    -real Ksat
    +real Ksat
     Saturated Conductivity \(\frac m{day} \).
     
    -real porosity
    +real porosity
     Pore space \(\Phi \left[ \frac{m^3}{m^3 \mbox{soil}}\right]\).
     
    -real porosity_decay
    +real porosity_decay
     Depth dependent decay of porosity in fraction/m. 0.1 means a decay of 10% per meter depth.
     
    -real residual_wetness
    +real residual_wetness
     Residual wetness \( \frac{\theta_r}{\Phi}, where K(\theta_r) = 0 \).
     
    -real thickness
    +real thickness
     Thickness of the layer in m.
     

    Member Function Documentation

    - -

    ◆ Diffusivity()

    + +

    ◆ Diffusivity()

    + +

    ◆ Wetness_eff()

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    virtual real Wetness_eff (real wetness,
    real pF_r = 4.2 ) const
    +
    +virtualinherited
    +
    + +

    Returns the effective wetness, using a residual pF value.

    +

    +\[w_{eff} = \frac{w_{act}-w\left(pF_r\right)}{1-w\left(pF_r\right)}\] +

    +

    Member Data Documentation

    - -

    ◆ beta

    + +

    ◆ beta

    @@ -251,6 +295,8 @@

    Power Law Constant.

    +


    +

    @@ -262,7 +308,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_linear_retention__coll__graph.map b/docs/classcmf_1_1upslope_1_1_linear_retention__coll__graph.map index 150faf9e..b646d904 100644 --- a/docs/classcmf_1_1upslope_1_1_linear_retention__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_linear_retention__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_linear_retention__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_linear_retention__coll__graph.md5 index d2a45d79..f6c27df1 100644 --- a/docs/classcmf_1_1upslope_1_1_linear_retention__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_linear_retention__coll__graph.md5 @@ -1 +1 @@ -2cee49b3a7ae1540875254ded8ea670f \ No newline at end of file +164790d6bc35b915f8750bc7710d9799 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_linear_retention__coll__graph.png b/docs/classcmf_1_1upslope_1_1_linear_retention__coll__graph.png index 3cc11650..0dd85ad6 100644 Binary files a/docs/classcmf_1_1upslope_1_1_linear_retention__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_linear_retention__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_linear_retention__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_linear_retention__inherit__graph.map index 150faf9e..b646d904 100644 --- a/docs/classcmf_1_1upslope_1_1_linear_retention__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_linear_retention__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_linear_retention__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_linear_retention__inherit__graph.md5 index 67ef481e..f6c27df1 100644 --- a/docs/classcmf_1_1upslope_1_1_linear_retention__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_linear_retention__inherit__graph.md5 @@ -1 +1 @@ -7cda138f15678209f346fe520005f36c \ No newline at end of file +164790d6bc35b915f8750bc7710d9799 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_linear_retention__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_linear_retention__inherit__graph.png index 3cc11650..0dd85ad6 100644 Binary files a/docs/classcmf_1_1upslope_1_1_linear_retention__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_linear_retention__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_macro_pore-members.html b/docs/classcmf_1_1upslope_1_1_macro_pore-members.html index 2306ec72..58ca124f 100644 --- a/docs/classcmf_1_1upslope_1_1_macro_pore-members.html +++ b/docs/classcmf_1_1upslope_1_1_macro_pore-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,64 +93,71 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    MacroPore Member List
    +
    MacroPore Member List

    This is the complete list of members for MacroPore, including all inherited members.

    - + - + - + - + - + - + - + - + - + - - - - - - - - - - - + + + + + + + + + + + - + - + - + - - - - - - - - + + + + + + + + +
    conc(const cmf::water::solute &_Solute) constWaterStorage
    conc(cmf::math::Time t, const cmf::water::solute &_Solute) constWaterStoragevirtual
    conc(cmf::math::Time t, const cmf::water::solute &_Solute) const overrideWaterStoragevirtual
    conc(const cmf::water::solute &_Solute, real NewConcetration)WaterStorage
    connection_to(const cmf::water::flux_node &target)flux_node
    connection_to(const cmf::water::flux_node &target)flux_node
    crack_wetnessMacroPore
    create(SoilLayer::ptr layer, real porefraction=0.05, real Ksat=10, real density=0.05, real porefraction_wilt=-1., real K_shape=0.0)MacroPorestatic
    create(SoilLayer::ptr layer, real porefraction=0.05, real Ksat=10, real density=0.05, real porefraction_wilt=-1., real K_shape=0.0)MacroPorestatic
    densityMacroPore
    dxdt(const cmf::math::Time &time)WaterStoragevirtual
    dxdt(const cmf::math::Time &time)WaterStoragevirtual
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_capacity() constMacroPore
    get_cell() constMacroPore
    get_cell() constMacroPore
    get_crackwidth() constMacroPorevirtual
    get_filled_fraction() constMacroPore
    get_filled_fraction() constMacroPore
    get_flowwidth() constMacroPore
    get_K() constMacroPorevirtual
    get_K() constMacroPorevirtual
    get_K(cmf::geometry::point direction) constMacroPorevirtual
    get_layer() constMacroPore
    get_layer() constMacroPore
    get_porefraction() constMacroPore
    get_potential() constMacroPorevirtual
    get_project() constflux_node
    get_state_variable_content() constWaterStorage
    get_volume() constMacroPorevirtual
    is_connected(const cmf::math::StateVariable &other) constWaterStoragevirtual
    is_empty() constWaterStoragevirtual
    is_storage() constWaterStoragevirtual
    K_shapeMacroPore
    KsatMacroPore
    list typedefStateVariable
    MarkStateChangeHandled()StateVariableprotected
    get_potential(cmf::math::Time t=cmf::math::never) constMacroPorevirtual
    get_project() constflux_node
    get_state() constStateVariable
    get_state_variable_content() constWaterStorage
    get_volume() constMacroPorevirtual
    is_connected(const cmf::math::StateVariable &other) constWaterStoragevirtual
    is_empty() constWaterStoragevirtual
    is_storage() const overrideWaterStoragevirtual
    K_shapeMacroPore
    KsatMacroPore
    MarkStateChangeHandled()StateVariableprotected
    Nameflux_node
    node_idflux_node
    node_idflux_node
    operator()(cmf::math::Time t) constflux_node
    positionflux_node
    positionflux_node
    RecalcFluxes(cmf::math::Time t)WaterStoragevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_potential(real waterhead)MacroPorevirtual
    set_state_variable_content(char content)WaterStorage
    set_volume(real volume)MacroPorevirtual
    Solute(const cmf::water::solute _Solute)WaterStorage
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    WaterStorage(cmf::project &project, const std::string &Name="", double InitialState=0, double scale=1)WaterStorage
    ~flux_node()flux_nodevirtual
    set_state(real newState)StateVariable
    set_state_variable_content(char content)WaterStorage
    set_volume(real volume)MacroPorevirtual
    Solute(const cmf::water::solute _Solute)WaterStorage
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    WaterStorage(cmf::project &project, const std::string &Name="", double InitialState=0, double scale=1)WaterStorage
    ~flux_node()flux_nodevirtual
    diff --git a/docs/classcmf_1_1upslope_1_1_macro_pore.html b/docs/classcmf_1_1upslope_1_1_macro_pore.html index f20c961e..c455f2de 100644 --- a/docs/classcmf_1_1upslope_1_1_macro_pore.html +++ b/docs/classcmf_1_1upslope_1_1_macro_pore.html @@ -2,33 +2,37 @@ - - - - -cmf: MacroPore Class Reference - - - - + + + + + cmf: MacroPore Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,240 +93,269 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    An additional water storage for a soil layer to model matrix water and macro pore water seperately. - More...

    -
    + More...

    +
    + Inheritance diagram for MacroPore:
    -
    +
    + Collaboration diagram for MacroPore:

    Detailed Description

    An additional water storage for a soil layer to model matrix water and macro pore water seperately.

    -
    Deprecated:
    The MacroPore model is still very experimental and not stable. Only for tryouts!
    -

    If present, the soil layer water storage holds the matrix water and the MacroPore holds the water in the macro pore. Use cmf::upslope::Macropore::create to create a macropore storage.

    -

    Use cmf::upslope::connections::GradientMacroFlow or cmf::upslope::connections::KinematicMacroFlow to model water flow between macro pores and a lateral connection (lateral subsurface fluxes) like cmf::upslope::connections::Richards_lateral to connect the macro pore with the matrix.

    -
    import cmf
    c=p.NewCell(0,0,0,1000,True)
    # Add two layers
    c.add_layer(0.1, cmf.VanGenuchtenMualem())
    c.add_layer(0.2, cmf.VanGenuchtenMualem())
    # Create Macropore storages
    macropores = [cmf.MacroPore.create(l,porefraction=0.05,Ksat=10.,density=0.05) for l in c.layers]
    # Macro pore infiltration
    cmf.KinematicMacroFlow(c.surfacewater, macropores[0])
    # Macro pore percolation
    cmf.KinematicMacroFlow(macropores[0], macropores[1])
    # Macro / Micro exchange
    for mp in macropores:
    cmf.Richards_lateral(mp.layer, mp, FlowWidth = mp.get_flowwidth(), Distance = mp.density/2)
    - - - - -

    -Public Types

    -typedef std::vector< StateVariable * > list
     Not part of the API, used to create sparse structure.
     
    - - - + - - + - - + - - + - - + - - - - - - - +

    +
    Deprecated
    The MacroPore model is still very experimental and not stable. Only for tryouts!
    +

    If present, the soil layer water storage holds the matrix water and the MacroPore holds the water in the macro pore. Use cmf::upslope::Macropore::create to create a macropore storage.

    +

    Use cmf::upslope::connections::GradientMacroFlow or cmf::upslope::connections::KinematicMacroFlow to model water flow between macro pores and a lateral connection (lateral subsurface fluxes) like cmf::upslope::connections::Richards_lateral to connect the macro pore with the matrix.

    +
    import cmf
    + +
    c=p.NewCell(0,0,0,1000,True)
    +
    # Add two layers
    +
    c.add_layer(0.1, cmf.VanGenuchtenMualem())
    +
    c.add_layer(0.2, cmf.VanGenuchtenMualem())
    +
    # Create Macropore storages
    +
    macropores = [cmf.MacroPore.create(l,porefraction=0.05,Ksat=10.,density=0.05) for l in c.layers]
    +
    # Macro pore infiltration
    +
    cmf.KinematicMacroFlow(c.surfacewater, macropores[0])
    +
    # Macro pore percolation
    +
    cmf.KinematicMacroFlow(macropores[0], macropores[1])
    +
    # Macro / Micro exchange
    +
    for mp in macropores:
    +
    cmf.Richards_lateral(mp.layer, mp, FlowWidth = mp.get_flowwidth(), Distance = mp.density/2)
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +
    + - + + + + - - - - + - - - - + + + + - + - + - - + + - - - - - + + + + + - + - - + + - + - + - + - + - - - - - - - + + + + + + + + + + - + - + - - - - + + + + - + - + - + + + + - + - - - - - + + + + + - - - - - - - - -

    Public Member Functions

    -real conc (const cmf::water::solute &_Solute) const
    +real conc (cmf::math::Time t, const cmf::water::solute &_Solute) const override
     Returns the current WaterQuality (concentration of all solutes)
     
    +real conc (const cmf::water::solute &_Solute) const
     Returns the concentration of the given solute.
     
    -real conc (cmf::math::Time t, const cmf::water::solute &_Solute) const
     Returns the current WaterQuality (concentration of all solutes)
     
    -void conc (const cmf::water::solute &_Solute, real NewConcetration)
    +void conc (const cmf::water::solute &_Solute, real NewConcetration)
     Sets a new concentration.
     
    -cmf::water::flux_connectionconnection_to (const cmf::water::flux_node &target)
     Returns the connection between this and target.
     
    -virtual real dxdt (const cmf::math::Time &time)
    +cmf::water::flux_connectionconnection_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)
    +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)
    +cmf::geometry::point get_3d_flux (cmf::math::Time t)
     Returns the sum of all flux vectors.
     
    real get_capacity () const
     Returns the capacity of the macropores in m3. More...
    real get_capacity () const
     Returns the capacity of the macropores in m3.
     
    -cmf::upslope::Cellget_cell () const
     The cell of this macropore.
     
    virtual real get_crackwidth () const
     Returns the crack width for a prismatic crackstructure. More...
    +cmf::upslope::Cellget_cell () const
     The cell of this macropore.
     
    virtual real get_crackwidth () const
     Returns the crack width for a prismatic crackstructure.
     
    -real get_filled_fraction () const
    +real get_filled_fraction () const
     Get the relative water content in the macro pore \(\theta_{macro} = V_{macro}/V_{max}\).
     
    real get_flowwidth () const
     The approximate length of the aggregate boundaries. More...
    real get_flowwidth () const
     The approximate length of the aggregate boundaries.
     
    -virtual real get_K () const
    +virtual real get_K () const
     Returns the actual conductivity.
     
    -virtual real get_K (cmf::geometry::point direction) const
    +virtual real get_K (cmf::geometry::point direction) const
     Returns the actual anisotropic conductivity along a direction \(K = (k_f \cdot d) K\).
     
    -SoilLayer::ptr get_layer () const
    +SoilLayer::ptr get_layer () const
     Gets the soil layer (matrix water storage) for this macropore storage.
     
    -real get_porefraction () const
    +real get_porefraction () const
     The fraction of the macro pores in m3/m3. This adds to the porosity of the layer.
     
    -real get_potential () const
     Returns the actual water level in the macropore in m above reference.
     
    -cmf::projectget_project () const
     Returns the project, this node is part of.
     
    -char get_state_variable_content () const
    +real get_potential (cmf::math::Time t=cmf::math::never) const
     Returns the actual water level in the macropore in m above reference.
     
    +cmf::projectget_project () const
     Returns the project, this node is part of.
     
    +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)
     
    -real get_volume () const
    +real get_volume () const
     Returns the actual stored volume in this macropore in m3.
     
    -virtual bool is_connected (const cmf::math::StateVariable &other) const
    +virtual bool is_connected (const cmf::math::StateVariable &other) const
     Returns True if this waterstorage is effected by another state.
     
    -virtual bool is_storage () const
     Returns true, since this is a storage.
     
    -real operator() (cmf::math::Time t) const
    +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)
    +bool remove_connection (cmf::water::flux_node::ptr To)
     Remove the connection.
     
    -void set_potential (real waterhead)
    +void set_potential (real waterhead)
     Sets the water level in the macropore. Be aware of not setting it below the lower boundary.
     
    -void set_state_variable_content (char content)
    +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)
     
    -void set_volume (real volume)
    +void set_volume (real volume)
     Sets the volume of stored water 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. More...
    +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.
     
    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. More...
     
    -virtual double is_empty () const
     Returns true if the node has no water.
     
    -virtual std::string to_string () const
     
    - - - + +

    +

    Static Public Member Functions

    static MacroPore::ptr create (SoilLayer::ptr layer, real porefraction=0.05, real Ksat=10, real density=0.05, real porefraction_wilt=-1., real K_shape=0.0)
     Creates a macropore water storage for a soil layer. More...
    static MacroPore::ptr create (SoilLayer::ptr layer, real porefraction=0.05, real Ksat=10, real density=0.05, real porefraction_wilt=-1., real K_shape=0.0)
     Creates a macropore water storage for a soil layer.
     
    - - + - + - - + + - + - + - + - +

    +

    Public Attributes

    -real crack_wetness
    +real crack_wetness
     The layer's cracking wetness, crack dynamic starts below this value. The value is ignored if porefraction_min = porefraction_max.
     
    -real density
    +real density
     The mean distance between the macro pores in m.
     
    real K_shape
     The shape of the conductivity \(f_K\) in relation to the matric potential of the micropore system. More...
    real K_shape
     The shape of the conductivity \(f_K\) in relation to the matric potential of the micropore system.
     
    -real Ksat
    +real Ksat
     The saturated conductivity of the macropores in m/day.
     
    -std::string Name
    +std::string Name
     The Name of this node.
     
    -const int node_id
    +const int node_id
     The Id of the node.
     
    -cmf::geometry::point position
    +cmf::geometry::point position
     The spatial position of the node.
     
    - - + - + +

    +

    Protected Member Functions

    -void MarkStateChangeHandled ()
    +void MarkStateChangeHandled ()
     Sets the updated flag (m_StateIsNew) to false.
     
    -bool StateIsChanged ()
    +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.
     

    Member Function Documentation

    - -

    ◆ create()

    + +

    ◆ create()

    @@ -332,43 +366,32 @@

    static MacroPore::ptr create

    (SoilLayer::ptr layer, SoilLayer::ptr layer,
    real porefraction = 0.05, real porefraction = 0.05,
    real Ksat = 10, real Ksat = 10,
    real density = 0.05, real density = 0.05,
    real porefraction_wilt = -1., real porefraction_wilt = -1.,
    real K_shape = 0.0 
    )real K_shape = 0.0 )
    @@ -379,7 +402,7 @@

    Creates a macropore water storage for a soil layer.

    -
    Returns
    a MacroPore water storage
    +
    Returns
    a MacroPore water storage
    Parameters
    @@ -394,8 +417,8 @@

    -

    ◆ get_capacity()

    + +

    ◆ get_capacity()

    @@ -403,7 +426,7 @@

    real get_capacity

    - +
    layerThe soil layer holding the macro pore
    ()) const
    @@ -421,8 +444,8 @@

    -

    ◆ get_crackwidth()

    + +

    ◆ get_crackwidth()

    @@ -433,7 +456,7 @@

    virtual real get_crackwidth ( - ) + ) const @@ -457,8 +480,8 @@

    -

    ◆ get_flowwidth()

    + +

    ◆ get_flowwidth()

    @@ -466,7 +489,7 @@

    real get_flowwidth ( - ) + ) const @@ -485,8 +508,8 @@

    -

    ◆ RecalcFluxes()

    + +

    ◆ RecalcFluxes()

    @@ -497,8 +520,7 @@

    virtual bool RecalcFluxes ( - cmf::math::Time  - t) + cmf::math::Time t) @@ -516,8 +538,8 @@

    -

    ◆ waterbalance()

    + +

    ◆ waterbalance()

    @@ -528,19 +550,12 @@

    real waterbalance ( - cmf::math::Time  - t, + cmf::math::Time t, - const flux_connection *  - Without = 0  - - - - ) - const + const flux_connection * Without = 0 ) const @@ -551,7 +566,8 @@

    Returns the sum of all fluxes (positive and negative) at time t.

    -

    Single fluxes can be excluded from the calculation

    Parameters
    +


    + Single fluxes can be excluded from the calculation

    Parameters
    @@ -562,8 +578,8 @@

    Member Data Documentation

    - -

    ◆ K_shape

    + +

    ◆ K_shape

    +
    tTime of the query
    WithoutA flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits)
    Generated: Fri Apr 26 2019 12:43:45Generated: Fri Jan 19 2024 16:10:57
    diff --git a/docs/classcmf_1_1upslope_1_1_macro_pore.js b/docs/classcmf_1_1upslope_1_1_macro_pore.js index d5d4f6c5..1eecddcd 100644 --- a/docs/classcmf_1_1upslope_1_1_macro_pore.js +++ b/docs/classcmf_1_1upslope_1_1_macro_pore.js @@ -1,15 +1,14 @@ var classcmf_1_1upslope_1_1_macro_pore = [ - [ "list", "classcmf_1_1upslope_1_1_macro_pore.html#a65038c02ffb04ca17a7479ad20b0b63c", null ], + [ "conc", "classcmf_1_1upslope_1_1_macro_pore.html#adaae35910275a38c86d51e68d3877fdd", null ], [ "conc", "classcmf_1_1upslope_1_1_macro_pore.html#ababf4d22a9d3952540e2204915dbc15b", null ], - [ "conc", "classcmf_1_1upslope_1_1_macro_pore.html#ad7aa4277a82890dc86f7bca2b828d75f", null ], [ "conc", "classcmf_1_1upslope_1_1_macro_pore.html#a09c41a9b1f92c291ae72ffad3e3ff44d", null ], - [ "connection_to", "classcmf_1_1upslope_1_1_macro_pore.html#a5bd6810024edaf9bd5d5747d91ce5f1b", null ], + [ "connection_to", "classcmf_1_1upslope_1_1_macro_pore.html#abc9aed3e3aae59d1b4c383fb6e6385eb", null ], [ "dxdt", "classcmf_1_1upslope_1_1_macro_pore.html#a5cfe4250c9c98fc0bc752a565bdd90d7", null ], [ "flux_to", "classcmf_1_1upslope_1_1_macro_pore.html#a66f1b6a9698be9ffce574833de835bd1", null ], [ "get_3d_flux", "classcmf_1_1upslope_1_1_macro_pore.html#a8cba494467e1ffc036c47f1bcd60eccb", null ], [ "get_capacity", "classcmf_1_1upslope_1_1_macro_pore.html#abde43691fd699c7bc892aa247ca5d0d8", null ], - [ "get_cell", "classcmf_1_1upslope_1_1_macro_pore.html#a5fe90ae88531fda178168a39725249a1", null ], + [ "get_cell", "classcmf_1_1upslope_1_1_macro_pore.html#aad36bcade90b85739cfe9e344765f210", null ], [ "get_crackwidth", "classcmf_1_1upslope_1_1_macro_pore.html#acd0a3646cbffcc7b299beabe408b85e8", null ], [ "get_filled_fraction", "classcmf_1_1upslope_1_1_macro_pore.html#a93d475ad0c2afaaf86abb26f0231e60e", null ], [ "get_flowwidth", "classcmf_1_1upslope_1_1_macro_pore.html#ae2bfd9805bfd4fb3e1c86bdb2038379d", null ], @@ -17,21 +16,23 @@ var classcmf_1_1upslope_1_1_macro_pore = [ "get_K", "classcmf_1_1upslope_1_1_macro_pore.html#a24ba50139bd12bfe3a6fb35fba498195", null ], [ "get_layer", "classcmf_1_1upslope_1_1_macro_pore.html#a13c72929951151c11c32ea3afb7b2f22", null ], [ "get_porefraction", "classcmf_1_1upslope_1_1_macro_pore.html#aa1807d66cda36389903c2644b7c668b9", null ], - [ "get_potential", "classcmf_1_1upslope_1_1_macro_pore.html#aea058cbf85a0c1da0df71668c014d29a", null ], - [ "get_project", "classcmf_1_1upslope_1_1_macro_pore.html#ae4c3731109c42d8e7f70eb646fb573ec", null ], + [ "get_potential", "classcmf_1_1upslope_1_1_macro_pore.html#a3b538e700c32b99e4b3802d3db8666d0", null ], + [ "get_project", "classcmf_1_1upslope_1_1_macro_pore.html#aac16760bdca4fd53f80987ee5affa734", null ], + [ "get_state", "classcmf_1_1upslope_1_1_macro_pore.html#a5b794a3d74e0b878ff0a4200015e7cc2", null ], [ "get_state_variable_content", "classcmf_1_1upslope_1_1_macro_pore.html#afac22fccd2df2d35c22acfcb75239427", null ], [ "get_volume", "classcmf_1_1upslope_1_1_macro_pore.html#a66b668d3856b9bd2e1f84f296556570f", null ], [ "is_connected", "classcmf_1_1upslope_1_1_macro_pore.html#adc4ae437d7a2f33ee85fe811fc8b6d0f", null ], [ "is_empty", "classcmf_1_1upslope_1_1_macro_pore.html#ab3f02f11f233972d7c26cf26a9090613", null ], - [ "is_storage", "classcmf_1_1upslope_1_1_macro_pore.html#ace09b97c37ded843368a00c04e89b55f", null ], + [ "is_storage", "classcmf_1_1upslope_1_1_macro_pore.html#a3f0f2248157d3eb5ffc9dc5c5e747c21", null ], [ "MarkStateChangeHandled", "classcmf_1_1upslope_1_1_macro_pore.html#ae45a5bd291cb989067417aba8e565d0c", null ], [ "operator()", "classcmf_1_1upslope_1_1_macro_pore.html#a1ac09266985df622ef90ce40783058cb", null ], [ "RecalcFluxes", "classcmf_1_1upslope_1_1_macro_pore.html#ad4e4534513b31d5a3596b072ad4cd42f", null ], [ "remove_connection", "classcmf_1_1upslope_1_1_macro_pore.html#ab933615f7c65dfd492770c3e1475a881", null ], [ "set_potential", "classcmf_1_1upslope_1_1_macro_pore.html#acfacabd1c0ea61d65aa192d16649f238", null ], + [ "set_state", "classcmf_1_1upslope_1_1_macro_pore.html#a0d5dd145810bcfdea803d83d12302c96", null ], [ "set_state_variable_content", "classcmf_1_1upslope_1_1_macro_pore.html#af4e317b28d48091741e40af5e9da79a1", null ], [ "set_volume", "classcmf_1_1upslope_1_1_macro_pore.html#adbebce83f285310c988aaf31c38f6bc8", null ], - [ "Solute", "classcmf_1_1upslope_1_1_macro_pore.html#ac7af103f4eabcabd46289fc96329e9bb", null ], + [ "Solute", "classcmf_1_1upslope_1_1_macro_pore.html#a8ff1638803c38f89f1bf018e65241681", null ], [ "StateIsChanged", "classcmf_1_1upslope_1_1_macro_pore.html#a2cf1e9d2df8900cf74cbc0773726ca91", null ], [ "waterbalance", "classcmf_1_1upslope_1_1_macro_pore.html#a2b14436c9dfb7b52bad2784c81a31eab", null ], [ "crack_wetness", "classcmf_1_1upslope_1_1_macro_pore.html#af9551619f467aefc83415d1574463268", null ], diff --git a/docs/classcmf_1_1upslope_1_1_macro_pore__coll__graph.map b/docs/classcmf_1_1upslope_1_1_macro_pore__coll__graph.map index 2af129a4..7522858c 100644 --- a/docs/classcmf_1_1upslope_1_1_macro_pore__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_macro_pore__coll__graph.map @@ -1,6 +1,11 @@ - - - - + + + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_macro_pore__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_macro_pore__coll__graph.md5 index 05088377..c4fcdee5 100644 --- a/docs/classcmf_1_1upslope_1_1_macro_pore__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_macro_pore__coll__graph.md5 @@ -1 +1 @@ -a2fac330d2e3e795eeb5ad479da26c07 \ No newline at end of file +f91eb3d3dfc7751535c0154c40a76a5c \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_macro_pore__coll__graph.png b/docs/classcmf_1_1upslope_1_1_macro_pore__coll__graph.png index 83e4d12d..ef37cbbe 100644 Binary files a/docs/classcmf_1_1upslope_1_1_macro_pore__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_macro_pore__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_macro_pore__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_macro_pore__inherit__graph.map index 9f7d95fb..8cc67227 100644 --- a/docs/classcmf_1_1upslope_1_1_macro_pore__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_macro_pore__inherit__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_macro_pore__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_macro_pore__inherit__graph.md5 index f9c26956..0b14c113 100644 --- a/docs/classcmf_1_1upslope_1_1_macro_pore__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_macro_pore__inherit__graph.md5 @@ -1 +1 @@ -db7f7da33f61394531e87cc0c0c62031 \ No newline at end of file +963af28556d4acb2be0bfd9c71cd6486 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_macro_pore__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_macro_pore__inherit__graph.png index dadd1c57..398186ca 100644 Binary files a/docs/classcmf_1_1upslope_1_1_macro_pore__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_macro_pore__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_retention_curve-members.html b/docs/classcmf_1_1upslope_1_1_retention_curve-members.html index d04af44b..bf449547 100644 --- a/docs/classcmf_1_1upslope_1_1_retention_curve-members.html +++ b/docs/classcmf_1_1upslope_1_1_retention_curve-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,29 +93,35 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    RetentionCurve Member List
    +
    RetentionCurve Member List

    This is the complete list of members for RetentionCurve, including all inherited members.

    - + - + - + - + - +
    Diffusivity(real wetness) constRetentionCurvevirtual
    FillHeight(real lowerDepth, real Area, real Volume) constRetentionCurvevirtual
    FillHeight(real lowerDepth, real Area, real Volume) constRetentionCurvevirtual
    K(real wetness) constRetentionCurvevirtual
    MatricPotential(real wetness) constRetentionCurvevirtual
    MatricPotential(real wetness) constRetentionCurvevirtual
    Porosity(real depth=0.0) const =0RetentionCurvepure virtual
    theta(real wetness) constRetentionCurvevirtual
    theta(real wetness) constRetentionCurvevirtual
    VoidVolume(real upperDepth, real lowerDepth, real Area) constRetentionCurvevirtual
    Wetness(real suction) constRetentionCurvevirtual
    Wetness(real suction) constRetentionCurvevirtual
    Wetness_eff(real wetness, real pF_r=4.2) constRetentionCurvevirtual
    Wetness_pF(real pF) constRetentionCurve
    Wetness_pF(real pF) constRetentionCurve

    -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_retention_curve.html b/docs/classcmf_1_1upslope_1_1_retention_curve.html index 6869c850..0e1aa2ee 100644 --- a/docs/classcmf_1_1upslope_1_1_retention_curve.html +++ b/docs/classcmf_1_1upslope_1_1_retention_curve.html @@ -2,33 +2,37 @@ - - - - -cmf: RetentionCurve Class Reference - - - - + + + + + cmf: RetentionCurve Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,86 +93,92 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    RetentionCurve Class Referenceabstract
    +
    RetentionCurve Class Referenceabstract

    Abstract base class for different types of retention curves. - More...

    -
    + More...

    +
    + Inheritance diagram for RetentionCurve:

    Detailed Description

    Abstract base class for different types of retention curves.

    This class, and its children uses wetness instead of volumetric water content. The wetness of a soil is defined as water content per void volume

    - - - + + - + - + - + - + - + - + - + - - + + - +

    +

    Public Member Functions

    virtual real Diffusivity (real wetness) const
     Returns the Diffusivity of the soil. More...
    virtual real Diffusivity (real wetness) const
     Returns the Diffusivity of the soil.
     
    -virtual real FillHeight (real lowerDepth, real Area, real Volume) const
    +virtual real FillHeight (real lowerDepth, real Area, real Volume) const
     Returns the thickness of a soil column with a certain pore volume.
     
    -virtual real K (real wetness) const
    +virtual real K (real wetness) const
     Returns the conductivity in m/day at a certain depth and water content.
     
    -virtual real MatricPotential (real wetness) const
    +virtual real MatricPotential (real wetness) const
     returns the wetness of the soil at given water content
     
    -virtual real Porosity (real depth=0.0) const =0
    +virtual real Porosity (real depth=0.0) const =0
     Returns the porosity at a certain depth.
     
    -virtual real theta (real wetness) const
    +virtual real theta (real wetness) const
     returns the water content \(theta\) for a given wetness
     
    -virtual real VoidVolume (real upperDepth, real lowerDepth, real Area) const
    +virtual real VoidVolume (real upperDepth, real lowerDepth, real Area) const
     Returns the void volume of a soil column.
     
    -virtual real Wetness (real suction) const
    +virtual real Wetness (real suction) const
     returns the wetness (volumetric water content per pore space) at a given suction pressure
     
    -virtual real Wetness_eff (real wetness, real pF_r=4.2) const
     Returns the effective wetness, using a residual pF value

    -\[w_{eff} = \frac{w_{act}-w\left(pF_r\right)}{1-w\left(pF_r\right)}\] -

    -

    .

    virtual real Wetness_eff (real wetness, real pF_r=4.2) const
     Returns the effective wetness, using a residual pF value.
     
    -real Wetness_pF (real pF) const
    +real Wetness_pF (real pF) const
     returns the volumetric water content at a given pF value
     

    Member Function Documentation

    - -

    ◆ Diffusivity()

    + +

    ◆ Diffusivity()

    + +

    ◆ Wetness_eff()

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    virtual real Wetness_eff (real wetness,
    real pF_r = 4.2 ) const
    +
    +virtual
    +
    + +

    Returns the effective wetness, using a residual pF value.

    +

    +\[w_{eff} = \frac{w_{act}-w\left(pF_r\right)}{1-w\left(pF_r\right)}\] +

    +
    @@ -205,7 +249,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_retention_curve__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_retention_curve__inherit__graph.map index 8408065c..52dedb1a 100644 --- a/docs/classcmf_1_1upslope_1_1_retention_curve__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_retention_curve__inherit__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_retention_curve__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_retention_curve__inherit__graph.md5 index 7fdc1e0d..6d42b4a6 100644 --- a/docs/classcmf_1_1upslope_1_1_retention_curve__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_retention_curve__inherit__graph.md5 @@ -1 +1 @@ -9052a87ea84a0ccfe872b3c2ffb3dd53 \ No newline at end of file +681c3432660fe8b995df1297d29f9281 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_retention_curve__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_retention_curve__inherit__graph.png index 044d28ce..00599bbe 100644 Binary files a/docs/classcmf_1_1upslope_1_1_retention_curve__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_retention_curve__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_soil_layer-members.html b/docs/classcmf_1_1upslope_1_1_soil_layer-members.html index c1aaca75..a35a25b9 100644 --- a/docs/classcmf_1_1upslope_1_1_soil_layer-members.html +++ b/docs/classcmf_1_1upslope_1_1_soil_layer-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,74 +93,81 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SoilLayer Member List
    +
    SoilLayer Member List

    This is the complete list of members for SoilLayer, including all inherited members.

    - + - + - + - + - + - + - + - - - + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - + - + - + - + - - - - - - - - - - + + + + + + + + + + +
    conc(const cmf::water::solute &_Solute) constWaterStorage
    conc(cmf::math::Time t, const cmf::water::solute &_Solute) constWaterStoragevirtual
    conc(cmf::math::Time t, const cmf::water::solute &_Solute) const overrideWaterStoragevirtual
    conc(const cmf::water::solute &_Solute, real NewConcetration)WaterStorage
    connection_to(const cmf::water::flux_node &target)flux_node
    connection_to(const cmf::water::flux_node &target)flux_node
    dxdt(const cmf::math::Time &time)WaterStoragevirtual
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_capacity() constSoilLayervirtual
    get_capacity() constSoilLayervirtual
    get_flow_crosssection(const cmf::upslope::SoilLayer &target, bool HorizontalLayers=false) constSoilLayer
    get_gravitational_potential() constSoilLayer
    get_gravitational_potential() constSoilLayer
    get_ice_fraction() constSoilLayer
    get_K() constSoilLayer
    get_K() constSoilLayer
    get_K(cmf::geometry::point direction) constSoilLayervirtual
    get_lower_boundary() constSoilLayervirtual
    get_lower_boundary() constSoilLayervirtual
    get_matrix_potential() constSoilLayervirtual
    get_porosity() constSoilLayer
    get_potential() constSoilLayervirtual
    get_project() constflux_node
    get_porosity() constSoilLayer
    get_potential(cmf::math::Time t=cmf::math::never) const overrideSoilLayervirtual
    get_project() constflux_node
    get_rootfraction() constSoilLayer
    get_saturated_depth() constSoilLayervirtual
    get_soil() constSoilLayervirtual
    get_state_variable_content() constWaterStorage
    get_Tact(double Tpot)SoilLayer
    get_theta() constSoilLayervirtual
    get_upper_boundary() constSoilLayervirtual
    get_volume() constSoilLayervirtual
    get_wetness() constSoilLayervirtual
    head_to_volume(real head) constSoilLayerprotectedvirtual
    is_connected(const cmf::math::StateVariable &other) constWaterStoragevirtual
    is_empty() constWaterStoragevirtual
    is_storage() constWaterStoragevirtual
    list typedefStateVariable
    get_saturated_depth() constSoilLayervirtual
    get_soil() constSoilLayervirtual
    get_state() constStateVariable
    get_state_variable_content() constWaterStorage
    get_Tact(double Tpot)SoilLayer
    get_theta() constSoilLayervirtual
    get_upper_boundary() constSoilLayervirtual
    get_volume() constSoilLayervirtual
    get_wetness() constSoilLayervirtual
    head_to_volume(real head) constSoilLayerprotectedvirtual
    is_connected(const cmf::math::StateVariable &other) constWaterStoragevirtual
    is_empty() constWaterStoragevirtual
    is_storage() const overrideWaterStoragevirtual
    m_retentioncurveSoilLayerprotected
    m_uptakefunctionSoilLayerprotected
    m_uptakefunctionSoilLayerprotected
    MarkStateChangeHandled()StateVariableprotected
    Nameflux_node
    Nameflux_node
    node_idflux_node
    operator()(cmf::math::Time t) constflux_node
    operator()(cmf::math::Time t) constflux_node
    positionflux_node
    RecalcFluxes(cmf::math::Time t)WaterStoragevirtual
    RecalcFluxes(cmf::math::Time t)WaterStoragevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_ice_fraction(real val)SoilLayer
    set_ice_fraction(real val)SoilLayer
    set_potential(real waterhead)SoilLayervirtual
    set_root_uptake_stress_function(const cmf::upslope::ET::RootUptakeStressFunction &stressfunction)SoilLayer
    set_root_uptake_stress_function(const cmf::upslope::ET::RootUptakeStressFunction &stressfunction)SoilLayer
    set_rootfraction(real rootfraction)SoilLayer
    set_state_variable_content(char content)WaterStorage
    set_volume(real newwatercontent)WaterStoragevirtual
    Solute(const cmf::water::solute _Solute)WaterStorage
    StateChangeAction()SoilLayerprotectedvirtual
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    volume_to_head(real volume) constSoilLayerprotectedvirtual
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    WaterStorage(cmf::project &project, const std::string &Name="", double InitialState=0, double scale=1)WaterStorage
    ~flux_node()flux_nodevirtual
    set_state(real newState)StateVariable
    set_state_variable_content(char content)WaterStorage
    set_volume(real newwatercontent)WaterStoragevirtual
    Solute(const cmf::water::solute _Solute)WaterStorage
    StateChangeAction()SoilLayerprotectedvirtual
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    volume_to_head(real volume) constSoilLayerprotectedvirtual
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    WaterStorage(cmf::project &project, const std::string &Name="", double InitialState=0, double scale=1)WaterStorage
    ~flux_node()flux_nodevirtual

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_soil_layer.html b/docs/classcmf_1_1upslope_1_1_soil_layer.html index e5a8a78f..1162bc0a 100644 --- a/docs/classcmf_1_1upslope_1_1_soil_layer.html +++ b/docs/classcmf_1_1upslope_1_1_soil_layer.html @@ -2,33 +2,37 @@ - - - - -cmf: SoilLayer Class Reference - - - - + + + + + cmf: SoilLayer Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,287 +93,297 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -

    A representation of a SoilLayer. - More...

    -
    +

    A representation of a SoilLayer. + More...

    +
    + Inheritance diagram for SoilLayer:
    -
    +
    + Collaboration diagram for SoilLayer:

    Detailed Description

    -

    A representation of a SoilLayer.

    +

    A representation of a SoilLayer.

    - - - - -

    -Public Types

    -typedef std::vector< StateVariable * > list
     Not part of the API, used to create sparse structure.
     
    - - + + + + - - - - + - - - - + + + + - + - + - + - - + + - - + + - + - + - + - + - + - + - - - - - - - + + + + + + + - - + + - - - - + + + + + + + - - + + - + - + - + - + - + - - - - + + + + - + - + - + - + - + - + + + + - + - - - - - + + + + + - - - - - - - - -

    +

    Public Member Functions

    -real conc (const cmf::water::solute &_Solute) const
    +real conc (cmf::math::Time t, const cmf::water::solute &_Solute) const override
     Returns the current WaterQuality (concentration of all solutes)
     
    +real conc (const cmf::water::solute &_Solute) const
     Returns the concentration of the given solute.
     
    -real conc (cmf::math::Time t, const cmf::water::solute &_Solute) const
     Returns the current WaterQuality (concentration of all solutes)
     
    -void conc (const cmf::water::solute &_Solute, real NewConcetration)
    +void conc (const cmf::water::solute &_Solute, real NewConcetration)
     Sets a new concentration.
     
    -cmf::water::flux_connectionconnection_to (const cmf::water::flux_node &target)
     Returns the connection between this and target.
     
    -virtual real dxdt (const cmf::math::Time &time)
    +cmf::water::flux_connectionconnection_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)
    +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)
    +cmf::geometry::point get_3d_flux (cmf::math::Time t)
     Returns the sum of all flux vectors.
     
    -virtual real get_capacity () const
    +virtual real get_capacity () const
     Returns the capacity of the water storage in m3.
     
    real get_flow_crosssection (const cmf::upslope::SoilLayer &target, bool HorizontalLayers=false) const
     Calculates the shared crosssectional area of this and another soil water storage. More...
    real get_flow_crosssection (const cmf::upslope::SoilLayer &target, bool HorizontalLayers=false) const
     Calculates the shared crosssectional area of this and another soil water storage.
     
    real get_gravitational_potential () const
     Gravitational get_potential in m, reference height is sea level. More...
    real get_gravitational_potential () const
     Gravitational get_potential in m, reference height is sea level.
     
    -real get_ice_fraction () const
    +real get_ice_fraction () const
     real (Ice_fraction)
     
    -real get_K () const
    +real get_K () const
     Returns the actual isotropic conductivity using the function from soil \(\frac{m}{day}\).
     
    -virtual real get_K (cmf::geometry::point direction) const
    +virtual real get_K (cmf::geometry::point direction) const
     Returns the actual anisotropic conductivity along a direction \(K = (k_f \cdot d) K\).
     
    -virtual real get_lower_boundary () const
    +virtual real get_lower_boundary () const
     Returns the lower boundary of the water storage below ground in m.
     
    -virtual real get_matrix_potential () const
    +virtual real get_matrix_potential () const
     Calls RetentionCurve::Matrixpotential.
     
    -real get_porosity () const
    +real get_porosity () const
     Returns the mean porosity in the layer.
     
    -virtual real get_potential () const
     Returns the total potential in m

    -\[ \Psi = \Psi_M + \Psi_G \] -

    -

    .

     
    -cmf::projectget_project () const
     Returns the project, this node is part of.
     
    -real get_rootfraction () const
    real get_potential (cmf::math::Time t=cmf::math::never) const override
     Returns the total potential in m.
     
    +cmf::projectget_project () const
     Returns the project, this node is part of.
     
    +real get_rootfraction () const
     Returns the root fraction of the layer. If it is not explicitly set, it uses the parameters of the vegetation object of the cell.
     
    -virtual real get_saturated_depth () const
     Returns the depth for saturation

    -\[ z_{sat,this} = \left\{z_{cell}-\Psi_{tot} \mbox{ if } W<1 \\ z_{sat,upper layer} \right. \] -

    -

    .

    virtual real get_saturated_depth () const
     Returns the depth for saturation.
     
    -virtual cmf::upslope::RetentionCurveget_soil () const
     Returns the soil properties of the water storage.
     
    -char get_state_variable_content () const
    +virtual cmf::upslope::RetentionCurveget_soil () const
     Returns the soil properties of the water storage.
     
    +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)
     
    double get_Tact (double Tpot)
     Returns a factor to indicate the draught stress to be multiplied with ETpot. More...
    double get_Tact (double Tpot)
     Returns a factor to indicate the draught stress to be multiplied with ETpot.
     
    -virtual real get_theta () const
    +virtual real get_theta () const
     Returns the actual volumetric water content of the water storage.
     
    -virtual real get_upper_boundary () const
    +virtual real get_upper_boundary () const
     Returns the upper boundary of the water storage below ground in m.
     
    -virtual real get_volume () const
    +virtual real get_volume () const
     Returns the volume of water in this storage in m3
     
    -virtual real get_wetness () const
    +virtual real get_wetness () const
     Returns the wetness of the soil \( \frac{V_{H_2O}}{V_{pores}} \).
     
    -virtual bool is_connected (const cmf::math::StateVariable &other) const
    +virtual bool is_connected (const cmf::math::StateVariable &other) const
     Returns True if this waterstorage is effected by another state.
     
    -virtual bool is_storage () const
     Returns true, since this is a storage.
     
    -real operator() (cmf::math::Time t) const
    +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)
    +bool remove_connection (cmf::water::flux_node::ptr To)
     Remove the connection.
     
    void set_ice_fraction (real val)
    void set_ice_fraction (real val)
     
    -virtual void set_potential (real waterhead)
    +virtual void set_potential (real waterhead)
     Sets the potential of this soil water storage.
     
    -void set_root_uptake_stress_function (const cmf::upslope::ET::RootUptakeStressFunction &stressfunction)
    +void set_root_uptake_stress_function (const cmf::upslope::ET::RootUptakeStressFunction &stressfunction)
     Sets the root uptake stress function.
     
    -void set_rootfraction (real rootfraction)
    +void set_rootfraction (real rootfraction)
     Sets the root fraction in this layer explicitly.
     
    -void set_state_variable_content (char content)
    +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)
    +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. More...
    +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.
     
    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. More...
     
    -virtual double is_empty () const
     Returns true if the node has no water.
     
    -virtual std::string to_string () const
     
    - - + - + - +

    +

    Public Attributes

    -std::string Name
    +std::string Name
     The Name of this node.
     
    -const int node_id
    +const int node_id
     The Id of the node.
     
    -cmf::geometry::point position
    +cmf::geometry::point position
     The spatial position of the node.
     
    - - + - + - + - + - +

    +

    Protected Member Functions

    -virtual real head_to_volume (real head) const
    +virtual real head_to_volume (real head) const
     Converts a head to the volume of stored water.
     
    -void MarkStateChangeHandled ()
    +void MarkStateChangeHandled ()
     Sets the updated flag (m_StateIsNew) to false.
     
    -virtual void StateChangeAction ()
    +virtual void StateChangeAction ()
     Invalidates the saturated depth of the cell.
     
    -bool StateIsChanged ()
    +bool StateIsChanged ()
     Returns if the state was currently updated.
     
    -virtual real volume_to_head (real volume) const
    +virtual real volume_to_head (real volume) const
     Converts a volume of stored water to the head.
     
    - - + - + +

    +

    Protected Attributes

    -std::unique_ptr< cmf::upslope::RetentionCurvem_retentioncurve
    +std::unique_ptr< cmf::upslope::RetentionCurvem_retentioncurve
     The retention curve of the soil layer.
     
    -std::unique_ptr< cmf::upslope::ET::RootUptakeStressFunctionm_uptakefunction
    +std::unique_ptr< cmf::upslope::ET::RootUptakeStressFunctionm_uptakefunction
     The uptake stress function of the soil layer.
     
    + + + + + + +

    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.
     

    Member Function Documentation

    - -

    ◆ get_flow_crosssection()

    + +

    ◆ get_flow_crosssection()

    @@ -376,19 +391,12 @@

    real get_flow_crosssection ( - const cmf::upslope::SoilLayer &  - target, + const cmf::upslope::SoilLayer & target, - bool  - HorizontalLayers = false  - - - - ) - const + bool HorizontalLayers = false ) const

    @@ -405,8 +413,8 @@

    -

    ◆ get_gravitational_potential()

    + +

    ◆ get_gravitational_potential()

    @@ -414,7 +422,7 @@

    real get_gravitational_potential ( - ) + ) const @@ -427,8 +435,70 @@

    -

    ◆ get_Tact()

    + +

    ◆ get_potential()

    + +
    +
    + + + + + +
    + + + + + + + +
    real get_potential (cmf::math::Time t = cmf::math::never) const
    +
    +overridevirtual
    +
    + +

    Returns the total potential in m.

    +

    +\[ \Psi = \Psi_M + \Psi_G \] +

    + +

    Reimplemented from flux_node.

    + +
    +
    + +

    ◆ get_saturated_depth()

    + +
    +
    + + + + + +
    + + + + + + + +
    virtual real get_saturated_depth () const
    +
    +virtual
    +
    + +

    Returns the depth for saturation.

    +

    +\[ z_{sat,this} = \left\{z_{cell}-\Psi_{tot} \mbox{ if } W<1 \\ z_{sat,upper layer} \right. \] +

    + +
    +
    + +

    ◆ get_Tact()

    @@ -436,8 +506,7 @@

    double get_Tact ( - double  - Tpot) + double Tpot) @@ -448,8 +517,8 @@

    -

    ◆ RecalcFluxes()

    + +

    ◆ RecalcFluxes()

    @@ -460,8 +529,7 @@

    virtual bool RecalcFluxes ( - cmf::math::Time  - t) + cmf::math::Time t) @@ -479,8 +547,8 @@

    -

    ◆ set_ice_fraction()

    + +

    ◆ set_ice_fraction()

    @@ -488,8 +556,7 @@

    void set_ice_fraction ( - real  - val) + real val) @@ -503,8 +570,8 @@

    -

    ◆ waterbalance()

    + +

    ◆ waterbalance()

    @@ -515,19 +582,12 @@

    real waterbalance ( - cmf::math::Time  - t, + cmf::math::Time t, - const flux_connection *  - Without = 0  - - - - ) - const + const flux_connection * Without = 0 ) const @@ -538,7 +598,8 @@

    Returns the sum of all fluxes (positive and negative) at time t.

    -

    Single fluxes can be excluded from the calculation

    Parameters
    +


    + Single fluxes can be excluded from the calculation

    Parameters
    @@ -556,7 +617,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    tTime of the query
    WithoutA flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits)
    Generated: Fri Apr 26 2019 12:43:46Generated: Fri Jan 19 2024 16:10:57
    diff --git a/docs/classcmf_1_1upslope_1_1_soil_layer.js b/docs/classcmf_1_1upslope_1_1_soil_layer.js index a7ac1057..572b7954 100644 --- a/docs/classcmf_1_1upslope_1_1_soil_layer.js +++ b/docs/classcmf_1_1upslope_1_1_soil_layer.js @@ -1,10 +1,9 @@ var classcmf_1_1upslope_1_1_soil_layer = [ - [ "list", "classcmf_1_1upslope_1_1_soil_layer.html#a65038c02ffb04ca17a7479ad20b0b63c", null ], + [ "conc", "classcmf_1_1upslope_1_1_soil_layer.html#adaae35910275a38c86d51e68d3877fdd", null ], [ "conc", "classcmf_1_1upslope_1_1_soil_layer.html#ababf4d22a9d3952540e2204915dbc15b", null ], - [ "conc", "classcmf_1_1upslope_1_1_soil_layer.html#ad7aa4277a82890dc86f7bca2b828d75f", null ], [ "conc", "classcmf_1_1upslope_1_1_soil_layer.html#a09c41a9b1f92c291ae72ffad3e3ff44d", null ], - [ "connection_to", "classcmf_1_1upslope_1_1_soil_layer.html#a5bd6810024edaf9bd5d5747d91ce5f1b", null ], + [ "connection_to", "classcmf_1_1upslope_1_1_soil_layer.html#abc9aed3e3aae59d1b4c383fb6e6385eb", null ], [ "dxdt", "classcmf_1_1upslope_1_1_soil_layer.html#a5cfe4250c9c98fc0bc752a565bdd90d7", null ], [ "flux_to", "classcmf_1_1upslope_1_1_soil_layer.html#a66f1b6a9698be9ffce574833de835bd1", null ], [ "get_3d_flux", "classcmf_1_1upslope_1_1_soil_layer.html#a8cba494467e1ffc036c47f1bcd60eccb", null ], @@ -17,11 +16,12 @@ var classcmf_1_1upslope_1_1_soil_layer = [ "get_lower_boundary", "classcmf_1_1upslope_1_1_soil_layer.html#aed1ddaafae6bd464749a254dea0d99af", null ], [ "get_matrix_potential", "classcmf_1_1upslope_1_1_soil_layer.html#aaefb672c5f612e8b5ff61bbbc8fbfa53", null ], [ "get_porosity", "classcmf_1_1upslope_1_1_soil_layer.html#af77cdb2c9d1ba17a5580139b970a4481", null ], - [ "get_potential", "classcmf_1_1upslope_1_1_soil_layer.html#a923af9ca71ce3a008d07d88216f1a351", null ], - [ "get_project", "classcmf_1_1upslope_1_1_soil_layer.html#ae4c3731109c42d8e7f70eb646fb573ec", null ], + [ "get_potential", "classcmf_1_1upslope_1_1_soil_layer.html#a5b80f0e67ce2c58785c148b78a9515df", null ], + [ "get_project", "classcmf_1_1upslope_1_1_soil_layer.html#aac16760bdca4fd53f80987ee5affa734", null ], [ "get_rootfraction", "classcmf_1_1upslope_1_1_soil_layer.html#a7b76a881dc9b6346500642f2d7ee3be5", null ], [ "get_saturated_depth", "classcmf_1_1upslope_1_1_soil_layer.html#a3d9635377f03311df4c6c1f931248871", null ], - [ "get_soil", "classcmf_1_1upslope_1_1_soil_layer.html#ac8c8c28076a99ffdce0c3a2a6c103f4d", null ], + [ "get_soil", "classcmf_1_1upslope_1_1_soil_layer.html#a8c37b1dd935555ae1542e4a48dcf3ae0", null ], + [ "get_state", "classcmf_1_1upslope_1_1_soil_layer.html#a5b794a3d74e0b878ff0a4200015e7cc2", null ], [ "get_state_variable_content", "classcmf_1_1upslope_1_1_soil_layer.html#afac22fccd2df2d35c22acfcb75239427", null ], [ "get_Tact", "classcmf_1_1upslope_1_1_soil_layer.html#aa7ad76afe33bd5393581a12b7ea8b747", null ], [ "get_theta", "classcmf_1_1upslope_1_1_soil_layer.html#a696ccf458e7402c896812ee224e6a796", null ], @@ -31,7 +31,7 @@ var classcmf_1_1upslope_1_1_soil_layer = [ "head_to_volume", "classcmf_1_1upslope_1_1_soil_layer.html#abbf5c2baa054564e906bd5bd45d8bc89", null ], [ "is_connected", "classcmf_1_1upslope_1_1_soil_layer.html#adc4ae437d7a2f33ee85fe811fc8b6d0f", null ], [ "is_empty", "classcmf_1_1upslope_1_1_soil_layer.html#ab3f02f11f233972d7c26cf26a9090613", null ], - [ "is_storage", "classcmf_1_1upslope_1_1_soil_layer.html#ace09b97c37ded843368a00c04e89b55f", null ], + [ "is_storage", "classcmf_1_1upslope_1_1_soil_layer.html#a3f0f2248157d3eb5ffc9dc5c5e747c21", null ], [ "MarkStateChangeHandled", "classcmf_1_1upslope_1_1_soil_layer.html#ae45a5bd291cb989067417aba8e565d0c", null ], [ "operator()", "classcmf_1_1upslope_1_1_soil_layer.html#a1ac09266985df622ef90ce40783058cb", null ], [ "RecalcFluxes", "classcmf_1_1upslope_1_1_soil_layer.html#ad4e4534513b31d5a3596b072ad4cd42f", null ], @@ -40,9 +40,10 @@ var classcmf_1_1upslope_1_1_soil_layer = [ "set_potential", "classcmf_1_1upslope_1_1_soil_layer.html#a6dacff6b3dfe19051e9495a8b8782b5d", null ], [ "set_root_uptake_stress_function", "classcmf_1_1upslope_1_1_soil_layer.html#a953f04742e7a75736a47ec64ac39cb05", null ], [ "set_rootfraction", "classcmf_1_1upslope_1_1_soil_layer.html#a652e6997fe0ab85c45edea45cbb1684c", null ], + [ "set_state", "classcmf_1_1upslope_1_1_soil_layer.html#a0d5dd145810bcfdea803d83d12302c96", null ], [ "set_state_variable_content", "classcmf_1_1upslope_1_1_soil_layer.html#af4e317b28d48091741e40af5e9da79a1", null ], [ "set_volume", "classcmf_1_1upslope_1_1_soil_layer.html#a31b0a05543af754adf863c0bd7934a3e", null ], - [ "Solute", "classcmf_1_1upslope_1_1_soil_layer.html#ac7af103f4eabcabd46289fc96329e9bb", null ], + [ "Solute", "classcmf_1_1upslope_1_1_soil_layer.html#a8ff1638803c38f89f1bf018e65241681", null ], [ "StateChangeAction", "classcmf_1_1upslope_1_1_soil_layer.html#a1d8ca0c74f855bf09606b6e6815f932f", null ], [ "StateIsChanged", "classcmf_1_1upslope_1_1_soil_layer.html#a2cf1e9d2df8900cf74cbc0773726ca91", null ], [ "volume_to_head", "classcmf_1_1upslope_1_1_soil_layer.html#a7da35b7d8b4c7b15949cdfdcebcc21ce", null ], diff --git a/docs/classcmf_1_1upslope_1_1_soil_layer__coll__graph.map b/docs/classcmf_1_1upslope_1_1_soil_layer__coll__graph.map index dde1888c..4615c1d8 100644 --- a/docs/classcmf_1_1upslope_1_1_soil_layer__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_soil_layer__coll__graph.map @@ -1,9 +1,18 @@ - - - - - - - + + + + + + + + + + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_soil_layer__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_soil_layer__coll__graph.md5 index 7314409e..8fd1d96c 100644 --- a/docs/classcmf_1_1upslope_1_1_soil_layer__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_soil_layer__coll__graph.md5 @@ -1 +1 @@ -66c698097a3af9dcc670b0010edb4755 \ No newline at end of file +dfca2dacc0f4626cf26a00ee9ead67cb \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_soil_layer__coll__graph.png b/docs/classcmf_1_1upslope_1_1_soil_layer__coll__graph.png index f28de88f..d3dc4eaa 100644 Binary files a/docs/classcmf_1_1upslope_1_1_soil_layer__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_soil_layer__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_soil_layer__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_soil_layer__inherit__graph.map index 9aa82819..6c800967 100644 --- a/docs/classcmf_1_1upslope_1_1_soil_layer__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_soil_layer__inherit__graph.map @@ -1,6 +1,11 @@ - - - - + + + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_soil_layer__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_soil_layer__inherit__graph.md5 index 9e4e44e4..8f597043 100644 --- a/docs/classcmf_1_1upslope_1_1_soil_layer__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_soil_layer__inherit__graph.md5 @@ -1 +1 @@ -fcb12569139c34c8914127fc060c3507 \ No newline at end of file +292dcf651183959576b119c4650fdb91 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_soil_layer__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_soil_layer__inherit__graph.png index 075d1240..b76a5dd7 100644 Binary files a/docs/classcmf_1_1upslope_1_1_soil_layer__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_soil_layer__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_surface_water-members.html b/docs/classcmf_1_1upslope_1_1_surface_water-members.html index 9c5078a2..b116302c 100644 --- a/docs/classcmf_1_1upslope_1_1_surface_water-members.html +++ b/docs/classcmf_1_1upslope_1_1_surface_water-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,64 +93,71 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SurfaceWater Member List
    +
    SurfaceWater Member List

    This is the complete list of members for SurfaceWater, including all inherited members.

    - + - + - + - + - + - - - - - + + + + + - - - - - - - + + + + + + + - + - + - + - + - - - - - - - - - - - - + + + + + + + + + + + + +
    conc(cmf::math::Time t, const cmf::water::solute &solute) constOpenWaterStoragevirtual
    cmf::water::WaterStorage::conc(const cmf::water::solute &_Solute) constWaterStorage
    cmf::water::WaterStorage::conc(const cmf::water::solute &_Solute) constWaterStorage
    cmf::water::WaterStorage::conc(const cmf::water::solute &_Solute, real NewConcetration)WaterStorage
    connection_to(const cmf::water::flux_node &target)flux_node
    connection_to(const cmf::water::flux_node &target)flux_node
    create(cmf::project &_project, real Area)OpenWaterStoragestatic
    create(cmf::project &_project, const cmf::river::IVolumeHeightFunction &base_geo)OpenWaterStoragestatic
    create(cmf::project &_project, const cmf::river::IVolumeHeightFunction &base_geo)OpenWaterStoragestatic
    dxdt(const cmf::math::Time &time)WaterStoragevirtual
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_cell() constSurfaceWater
    get_cell() constSurfaceWater
    get_coverage() constSurfaceWater
    get_depth() constOpenWaterStorage
    get_height_function() constSurfaceWatervirtual
    get_nManning() constSurfaceWater
    get_potential() constWaterStoragevirtual
    get_project() constflux_node
    get_depth() constOpenWaterStorage
    get_height_function() constSurfaceWatervirtual
    get_nManning() constSurfaceWater
    get_potential(cmf::math::Time t=cmf::math::never) const overrideWaterStoragevirtual
    get_project() constflux_node
    get_puddledepth() constSurfaceWater
    get_state_variable_content() constWaterStorage
    get_volume() constWaterStoragevirtual
    is_connected(const cmf::math::StateVariable &other) constWaterStoragevirtual
    is_empty() constWaterStoragevirtual
    is_storage() constWaterStoragevirtual
    list typedefStateVariable
    MarkStateChangeHandled()StateVariableprotected
    get_state() constStateVariable
    get_state_variable_content() constWaterStorage
    get_volume() constWaterStoragevirtual
    is_connected(const cmf::math::StateVariable &other) constWaterStoragevirtual
    is_empty() constWaterStoragevirtual
    is_storage() const overrideWaterStoragevirtual
    MarkStateChangeHandled()StateVariableprotected
    Nameflux_node
    node_idflux_node
    node_idflux_node
    OpenWaterStorage(cmf::project &_project, real Area)OpenWaterStorageprotected
    OpenWaterStorage(cmf::project &_project, const cmf::river::IVolumeHeightFunction &base_geo)OpenWaterStorageprotected
    OpenWaterStorage(cmf::project &_project, const cmf::river::IVolumeHeightFunction &base_geo)OpenWaterStorageprotected
    operator()(cmf::math::Time t) constflux_node
    positionflux_node
    positionflux_node
    RecalcFluxes(cmf::math::Time t)WaterStoragevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_height_function(const cmf::river::IVolumeHeightFunction &val)SurfaceWatervirtual
    set_nManning(real n)SurfaceWater
    set_potential(real newpotential)WaterStoragevirtual
    set_puddledepth(real puddledepth)SurfaceWater
    set_state_variable_content(char content)WaterStorage
    set_volume(real newwatercontent)WaterStoragevirtual
    Solute(const cmf::water::solute _Solute)WaterStorage
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    WaterStorage(cmf::project &project, const std::string &Name="", double InitialState=0, double scale=1)WaterStorage
    wet_area() constOpenWaterStorage
    ~flux_node()flux_nodevirtual
    set_nManning(real n)SurfaceWater
    set_potential(real newpotential) overrideWaterStoragevirtual
    set_puddledepth(real puddledepth)SurfaceWater
    set_state(real newState)StateVariable
    set_state_variable_content(char content)WaterStorage
    set_volume(real newwatercontent)WaterStoragevirtual
    Solute(const cmf::water::solute _Solute)WaterStorage
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    WaterStorage(cmf::project &project, const std::string &Name="", double InitialState=0, double scale=1)WaterStorage
    wet_area() constOpenWaterStorage
    ~flux_node()flux_nodevirtual

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_surface_water.html b/docs/classcmf_1_1upslope_1_1_surface_water.html index 99958dd6..5613b600 100644 --- a/docs/classcmf_1_1upslope_1_1_surface_water.html +++ b/docs/classcmf_1_1upslope_1_1_surface_water.html @@ -2,33 +2,37 @@ - - - - -cmf: SurfaceWater Class Reference - - - - + + + + + cmf: SurfaceWater Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,232 +93,248 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    A child class of OpenWaterStorage to model surface water on a cell. - More...

    -
    + More...

    +
    + Inheritance diagram for SurfaceWater:
    -
    +
    + Collaboration diagram for SurfaceWater:

    Detailed Description

    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

    +

    Specially created to connect a SurfaceWater with other nodes, is the flux connection cmf::upslope::connections::KinematicSurfaceRunoff

    - - - - -

    -Public Types

    -typedef std::vector< StateVariable * > list
     Not part of the API, used to create sparse structure.
     
    - - + - + - + - - - - + + + + - + - + - - - - + + + + - + - - - - - + + + + + - - - - - - - - + + + + + + + + - + + + + - + - + - - - - + + + + - + - - + + - - + + - - - - - + + + + + - + + + + - + - - - - - + + + + + - + - - - - - - - - -

    +

    Public Member Functions

    -real conc (cmf::math::Time t, const cmf::water::solute &solute) const
    +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
    +real conc (const cmf::water::solute &_Solute) const
     Returns the concentration of the given solute.
     
    -void conc (const cmf::water::solute &_Solute, real NewConcetration)
    +void conc (const cmf::water::solute &_Solute, real NewConcetration)
     Sets a new concentration.
     
    -cmf::water::flux_connectionconnection_to (const cmf::water::flux_node &target)
     Returns the connection between this and target.
     
    -virtual real dxdt (const cmf::math::Time &time)
    +cmf::water::flux_connectionconnection_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)
    +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)
    +cmf::geometry::point get_3d_flux (cmf::math::Time t)
     Returns the sum of all flux vectors.
     
    -Cellget_cell () const
     Get the cell of the surface.
     
    -double get_coverage () const
    +Cellget_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
    +real get_depth () const
     Returns the water table depth.
     
    -virtual const cmf::river::Prismget_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 More...
    +virtual const cmf::river::Prismget_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
     
    virtual real get_potential () const
     Returns the water potential of the node in m waterhead. More...
     
    -cmf::projectget_project () const
     Returns the project, this node is part of.
     
    real get_puddledepth () const
     Get water depth at which runoff starts. More...
    real get_potential (cmf::math::Time t=cmf::math::never) const override
     Returns the water potential of the node in m waterhead.
     
    +cmf::projectget_project () const
     Returns the project, this node is part of.
     
    real get_puddledepth () const
     Get water depth at which runoff starts.
     
    -char get_state_variable_content () const
    +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
    +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
    +virtual bool is_connected (const cmf::math::StateVariable &other) const
     Returns True if this waterstorage is effected by another state.
     
    -virtual bool is_storage () const
     Returns true, since this is a storage.
     
    -real operator() (cmf::math::Time t) const
    +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)
    +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.
    +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 More...
    void set_nManning (real n)
     set Manning roughness (n) of the surface
     
    -virtual void set_potential (real newpotential)
     Sets the potential of this flux node.
     
    void set_puddledepth (real puddledepth)
     Set water depth at which runoff starts. More...
    +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_variable_content (char content)
    +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)
    +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. More...
    +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
    +real wet_area () const
     Returns the exposed surface area in m2.
     
    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. More...
     
    -virtual double is_empty () const
     Returns true if the node has no water.
     
    -virtual std::string to_string () const
     
    - - - - - + + + +

    +

    Static Public Member Functions

    -static ptr create (cmf::project &_project, real Area)
     Creates an open water storage with a prismatic volume.
     
    -static ptr create (cmf::project &_project, const cmf::river::IVolumeHeightFunction &base_geo)
    +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
    +std::string Name
     The Name of this node.
     
    -const int node_id
    +const int node_id
     The Id of the node.
     
    -cmf::geometry::point position
    +cmf::geometry::point position
     The spatial position of the node.
     
    - - + - + +

    +

    Protected Member Functions

    -void MarkStateChangeHandled ()
    +void MarkStateChangeHandled ()
     Sets the updated flag (m_StateIsNew) to false.
     
    -bool StateIsChanged ()
    +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.
     

    Member Function Documentation

    - -

    ◆ get_nManning()

    + +

    ◆ get_nManning()

    - -

    ◆ get_potential()

    + +

    ◆ get_potential()

    - -

    ◆ get_puddledepth()

    + +

    ◆ get_puddledepth()

    - -

    ◆ RecalcFluxes()

    + +

    ◆ RecalcFluxes()

    @@ -394,8 +417,7 @@

    virtual bool RecalcFluxes ( - cmf::math::Time  - t) + cmf::math::Time t) @@ -413,8 +435,8 @@

    -

    ◆ set_nManning()

    + +

    ◆ set_nManning()

    - -

    ◆ set_puddledepth()

    + +

    ◆ set_puddledepth()

    - -

    ◆ waterbalance()

    + +

    ◆ waterbalance()

    @@ -465,19 +489,12 @@

    real waterbalance ( - cmf::math::Time  - t, + cmf::math::Time t, - const flux_connection *  - Without = 0  - - - - ) - const + const flux_connection * Without = 0 ) const @@ -488,7 +505,8 @@

    Returns the sum of all fluxes (positive and negative) at time t.

    -

    Single fluxes can be excluded from the calculation

    Parameters
    +


    + Single fluxes can be excluded from the calculation

    Parameters
    @@ -506,7 +524,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    tTime of the query
    WithoutA flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits)
    Generated: Fri Apr 26 2019 12:43:46Generated: Fri Jan 19 2024 16:10:57
    diff --git a/docs/classcmf_1_1upslope_1_1_surface_water.js b/docs/classcmf_1_1upslope_1_1_surface_water.js index 471ca3ca..9e1193b0 100644 --- a/docs/classcmf_1_1upslope_1_1_surface_water.js +++ b/docs/classcmf_1_1upslope_1_1_surface_water.js @@ -1,37 +1,38 @@ var classcmf_1_1upslope_1_1_surface_water = [ - [ "list", "classcmf_1_1upslope_1_1_surface_water.html#a65038c02ffb04ca17a7479ad20b0b63c", null ], [ "conc", "classcmf_1_1upslope_1_1_surface_water.html#a750070a3d0ee0d1800465b6e47f92e40", null ], [ "conc", "classcmf_1_1upslope_1_1_surface_water.html#ababf4d22a9d3952540e2204915dbc15b", null ], [ "conc", "classcmf_1_1upslope_1_1_surface_water.html#a09c41a9b1f92c291ae72ffad3e3ff44d", null ], - [ "connection_to", "classcmf_1_1upslope_1_1_surface_water.html#a5bd6810024edaf9bd5d5747d91ce5f1b", null ], + [ "connection_to", "classcmf_1_1upslope_1_1_surface_water.html#abc9aed3e3aae59d1b4c383fb6e6385eb", null ], [ "dxdt", "classcmf_1_1upslope_1_1_surface_water.html#a5cfe4250c9c98fc0bc752a565bdd90d7", null ], [ "flux_to", "classcmf_1_1upslope_1_1_surface_water.html#a66f1b6a9698be9ffce574833de835bd1", null ], [ "get_3d_flux", "classcmf_1_1upslope_1_1_surface_water.html#a8cba494467e1ffc036c47f1bcd60eccb", null ], - [ "get_cell", "classcmf_1_1upslope_1_1_surface_water.html#ac79aa58a6ec9e535da9c8bfbc505c0b0", null ], + [ "get_cell", "classcmf_1_1upslope_1_1_surface_water.html#a20ec2fe6f8f4efdbebcc0914fbe1d01f", null ], [ "get_coverage", "classcmf_1_1upslope_1_1_surface_water.html#a8927c92d159efc8f7423a05e4b6211de", null ], [ "get_depth", "classcmf_1_1upslope_1_1_surface_water.html#a0b66f12f2711ad1325af367c4a7328af", null ], - [ "get_height_function", "classcmf_1_1upslope_1_1_surface_water.html#abf73d84128e8271631f333f08d10bc12", null ], + [ "get_height_function", "classcmf_1_1upslope_1_1_surface_water.html#af22f62de07760c424a4c4ff18506041d", null ], [ "get_nManning", "classcmf_1_1upslope_1_1_surface_water.html#ab379a14d05118b989ef0d6a3a7a0d2c8", null ], - [ "get_potential", "classcmf_1_1upslope_1_1_surface_water.html#a923af9ca71ce3a008d07d88216f1a351", null ], - [ "get_project", "classcmf_1_1upslope_1_1_surface_water.html#ae4c3731109c42d8e7f70eb646fb573ec", null ], + [ "get_potential", "classcmf_1_1upslope_1_1_surface_water.html#a5b80f0e67ce2c58785c148b78a9515df", null ], + [ "get_project", "classcmf_1_1upslope_1_1_surface_water.html#aac16760bdca4fd53f80987ee5affa734", null ], [ "get_puddledepth", "classcmf_1_1upslope_1_1_surface_water.html#af7662642d9fde7a6205613afd4a5e7be", null ], + [ "get_state", "classcmf_1_1upslope_1_1_surface_water.html#a5b794a3d74e0b878ff0a4200015e7cc2", null ], [ "get_state_variable_content", "classcmf_1_1upslope_1_1_surface_water.html#afac22fccd2df2d35c22acfcb75239427", null ], [ "get_volume", "classcmf_1_1upslope_1_1_surface_water.html#a56a03fc6fead8765d35e9b54a5b6ad08", null ], [ "is_connected", "classcmf_1_1upslope_1_1_surface_water.html#adc4ae437d7a2f33ee85fe811fc8b6d0f", null ], [ "is_empty", "classcmf_1_1upslope_1_1_surface_water.html#ab3f02f11f233972d7c26cf26a9090613", null ], - [ "is_storage", "classcmf_1_1upslope_1_1_surface_water.html#ace09b97c37ded843368a00c04e89b55f", null ], + [ "is_storage", "classcmf_1_1upslope_1_1_surface_water.html#a3f0f2248157d3eb5ffc9dc5c5e747c21", null ], [ "MarkStateChangeHandled", "classcmf_1_1upslope_1_1_surface_water.html#ae45a5bd291cb989067417aba8e565d0c", null ], [ "operator()", "classcmf_1_1upslope_1_1_surface_water.html#a1ac09266985df622ef90ce40783058cb", null ], [ "RecalcFluxes", "classcmf_1_1upslope_1_1_surface_water.html#ad4e4534513b31d5a3596b072ad4cd42f", null ], [ "remove_connection", "classcmf_1_1upslope_1_1_surface_water.html#ab933615f7c65dfd492770c3e1475a881", null ], [ "set_height_function", "classcmf_1_1upslope_1_1_surface_water.html#a89a031a02ee2c903a1efa9e273c2c8c0", null ], [ "set_nManning", "classcmf_1_1upslope_1_1_surface_water.html#a57d71fa00d83f809bdf8d901a60903e2", null ], - [ "set_potential", "classcmf_1_1upslope_1_1_surface_water.html#a0f6a1659d1942fbb2d1df4ca933a9d63", null ], + [ "set_potential", "classcmf_1_1upslope_1_1_surface_water.html#a20a14278c2bfb0dec3b1b64fe62ee9db", null ], [ "set_puddledepth", "classcmf_1_1upslope_1_1_surface_water.html#a10b700b23b1df4d824ab514fb044480d", null ], + [ "set_state", "classcmf_1_1upslope_1_1_surface_water.html#a0d5dd145810bcfdea803d83d12302c96", null ], [ "set_state_variable_content", "classcmf_1_1upslope_1_1_surface_water.html#af4e317b28d48091741e40af5e9da79a1", null ], [ "set_volume", "classcmf_1_1upslope_1_1_surface_water.html#a31b0a05543af754adf863c0bd7934a3e", null ], - [ "Solute", "classcmf_1_1upslope_1_1_surface_water.html#ac7af103f4eabcabd46289fc96329e9bb", null ], + [ "Solute", "classcmf_1_1upslope_1_1_surface_water.html#a8ff1638803c38f89f1bf018e65241681", null ], [ "StateIsChanged", "classcmf_1_1upslope_1_1_surface_water.html#a2cf1e9d2df8900cf74cbc0773726ca91", null ], [ "waterbalance", "classcmf_1_1upslope_1_1_surface_water.html#a2b14436c9dfb7b52bad2784c81a31eab", null ], [ "wet_area", "classcmf_1_1upslope_1_1_surface_water.html#af0542359c1684ff85f8ec428d791ca5d", null ], diff --git a/docs/classcmf_1_1upslope_1_1_surface_water__coll__graph.map b/docs/classcmf_1_1upslope_1_1_surface_water__coll__graph.map index 2281c52d..d6c3c2aa 100644 --- a/docs/classcmf_1_1upslope_1_1_surface_water__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_surface_water__coll__graph.map @@ -1,7 +1,13 @@ - - - - - + + + + + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_surface_water__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_surface_water__coll__graph.md5 index 3189b3ca..9da76ddf 100644 --- a/docs/classcmf_1_1upslope_1_1_surface_water__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_surface_water__coll__graph.md5 @@ -1 +1 @@ -d09febd14ca9c6b3a7e7d80bc4bde87a \ No newline at end of file +8485b80b7ba2c5b9137e424abca2dbf4 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_surface_water__coll__graph.png b/docs/classcmf_1_1upslope_1_1_surface_water__coll__graph.png index 9662844d..922df912 100644 Binary files a/docs/classcmf_1_1upslope_1_1_surface_water__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_surface_water__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_surface_water__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_surface_water__inherit__graph.map index 05958adb..f306f553 100644 --- a/docs/classcmf_1_1upslope_1_1_surface_water__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_surface_water__inherit__graph.map @@ -1,6 +1,11 @@ - - - - + + + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_surface_water__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_surface_water__inherit__graph.md5 index 37d6f36e..3dde012d 100644 --- a/docs/classcmf_1_1upslope_1_1_surface_water__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_surface_water__inherit__graph.md5 @@ -1 +1 @@ -9bf66771d6baa265f683799407fae959 \ No newline at end of file +7de07def88277ba56a5e04bf339f741b \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_surface_water__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_surface_water__inherit__graph.png index 6ef7aea9..0cc8ac96 100644 Binary files a/docs/classcmf_1_1upslope_1_1_surface_water__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_surface_water__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_topology-members.html b/docs/classcmf_1_1upslope_1_1_topology-members.html index bdbf3be1..ff8d59e5 100644 --- a/docs/classcmf_1_1upslope_1_1_topology-members.html +++ b/docs/classcmf_1_1upslope_1_1_topology-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Topology Member List
    +
    Topology Member List

    This is the complete list of members for Topology, including all inherited members.

    - + - + - - - + + + - + - +
    AddNeighbor(Cell &target, double flowwidth)Topology
    calculate_contributing_area(const cmf::upslope::cell_vector &)Topologystatic
    calculate_contributing_area(const cmf::upslope::cell_vector &)Topologystatic
    cellTopology
    ContributingArea() constTopology
    ContributingArea() constTopology
    flowwidth(Cell &target)Topology
    get_position() constTopology
    MainOutlet(bool forceRecalc=false)Topology
    neighbor_count() constTopology
    get_position() constTopology
    MainOutlet(bool forceRecalc=false)Topology
    neighbor_count() constTopology
    RemoveNeighbor(Topology &target)Topology
    xTopology
    xTopology
    yTopology
    zTopology
    zTopology

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_topology.html b/docs/classcmf_1_1upslope_1_1_topology.html index 803cca5d..90e8815d 100644 --- a/docs/classcmf_1_1upslope_1_1_topology.html +++ b/docs/classcmf_1_1upslope_1_1_topology.html @@ -2,33 +2,37 @@ - - - - -cmf: Topology Class Reference - - - - + + + + + cmf: Topology Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Topology Class Reference
    +
    Topology Class Reference

    represents the connectivity of cells to each other - More...

    -
    + More...

    +
    + Collaboration diagram for Topology:

    Detailed Description

    represents the connectivity of cells to each other

    - - + - + - + - + - - - - + + + + - +

    +

    Public Member Functions

    -void AddNeighbor (Cell &target, double flowwidth)
    +void AddNeighbor (Cell &target, double flowwidth)
     Adds a neighbor cell to the topology with flowwidth.
     
    -double ContributingArea () const
    +double ContributingArea () const
     Get the contributing area (steepest path upwards)
     
    -double flowwidth (Cell &target)
    +double flowwidth (Cell &target)
     returns the flow width between this cell and the target cell. Returns 0 if no topology is defined
     
    -cmf::geometry::point get_position () const
    +cmf::geometry::point get_position () const
     Returns the center of the cell.
     
    -CellMainOutlet (bool forceRecalc=false)
     Returns the mainoutlet (steepest lower neighbor)
     
    -size_t neighbor_count () const
    +CellMainOutlet (bool forceRecalc=false)
     Returns the mainoutlet (steepest lower neighbor)
     
    +size_t neighbor_count () const
     Returns the number of neighbors.
     
    -void RemoveNeighbor (Topology &target)
    +void RemoveNeighbor (Topology &target)
     Removes the topological relation to the given cell.
     
    - - +

    +

    Static Public Member Functions

    -static void calculate_contributing_area (const cmf::upslope::cell_vector &)
    +static void calculate_contributing_area (const cmf::upslope::cell_vector &)
     Calculates the contributing area for a bunch of cells.
     
    - - + - + - + - +

    +

    Public Attributes

    -Cell *const cell
    +Cell *const cell
     The cell, this topology belongs to.
     
    -double & x
    +double & x
     References cell.x.
     
    -double & y
    +double & y
     References cell.y.
     
    -double & z
    +double & z
     References cell.z.
     
    @@ -185,7 +199,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_topology.js b/docs/classcmf_1_1upslope_1_1_topology.js index 9377c519..dc59f051 100644 --- a/docs/classcmf_1_1upslope_1_1_topology.js +++ b/docs/classcmf_1_1upslope_1_1_topology.js @@ -4,7 +4,7 @@ var classcmf_1_1upslope_1_1_topology = [ "ContributingArea", "classcmf_1_1upslope_1_1_topology.html#a6c70df764dd6963491a2e963f7e84821", null ], [ "flowwidth", "classcmf_1_1upslope_1_1_topology.html#ab5dfcc781ecd9b099153e731393ad201", null ], [ "get_position", "classcmf_1_1upslope_1_1_topology.html#a9abcb40625f101447985020304e2590a", null ], - [ "MainOutlet", "classcmf_1_1upslope_1_1_topology.html#a22299ec8522d307a60f2c87763bffc4b", null ], + [ "MainOutlet", "classcmf_1_1upslope_1_1_topology.html#a98adef0c234b19f486b51726da27f2fb", null ], [ "neighbor_count", "classcmf_1_1upslope_1_1_topology.html#af34b7181b1cfa29b177998f37f24e2ac", null ], [ "RemoveNeighbor", "classcmf_1_1upslope_1_1_topology.html#a44154ccdc44af92ae3152e7c02820699", null ], [ "cell", "classcmf_1_1upslope_1_1_topology.html#a753420b72a2362dba455f01d18391d6b", null ], diff --git a/docs/classcmf_1_1upslope_1_1_topology__coll__graph.map b/docs/classcmf_1_1upslope_1_1_topology__coll__graph.map index 1c22e878..650f8381 100644 --- a/docs/classcmf_1_1upslope_1_1_topology__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_topology__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1_topology__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_topology__coll__graph.md5 index 3eba8749..469b9303 100644 --- a/docs/classcmf_1_1upslope_1_1_topology__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_topology__coll__graph.md5 @@ -1 +1 @@ -ba192e66ef467008e48f0f83480ebdd8 \ No newline at end of file +3c9c2cfa87fc8b8ec7963ad735bf2696 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_topology__coll__graph.png b/docs/classcmf_1_1upslope_1_1_topology__coll__graph.png index 69890b47..8e719b25 100644 Binary files a/docs/classcmf_1_1upslope_1_1_topology__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_topology__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem-members.html b/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem-members.html index 4a82337a..224f7811 100644 --- a/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem-members.html +++ b/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,39 +93,45 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    VanGenuchtenMualem Member List
    +
    VanGenuchtenMualem Member List

    This is the complete list of members for VanGenuchtenMualem, including all inherited members.

    - + - + - + - + - + - + - + - + - + - +
    alphaVanGenuchtenMualem
    Diffusivity(real wetness) constVanGenuchtenMualemvirtual
    Diffusivity(real wetness) constVanGenuchtenMualemvirtual
    dPsiM_dW(real wetness) constVanGenuchtenMualemvirtual
    FillHeight(real lowerDepth, real Area, real Volume) constVanGenuchtenMualemvirtual
    FillHeight(real lowerDepth, real Area, real Volume) constVanGenuchtenMualemvirtual
    fit_w0(real w1=1.01, real Psi_p=1.0, real tolerance=0.05)VanGenuchtenMualem
    K(real wetness) constVanGenuchtenMualemvirtual
    K(real wetness) constVanGenuchtenMualemvirtual
    KsatVanGenuchtenMualem
    lVanGenuchtenMualem
    lVanGenuchtenMualem
    mVanGenuchtenMualem
    MatricPotential(real wetness) constVanGenuchtenMualemvirtual
    MatricPotential(real wetness) constVanGenuchtenMualemvirtual
    nVanGenuchtenMualem
    PhiVanGenuchtenMualem
    PhiVanGenuchtenMualem
    Porosity(real depth) constVanGenuchtenMualemvirtual
    theta(real wetness) constVanGenuchtenMualemvirtual
    theta(real wetness) constVanGenuchtenMualemvirtual
    theta_rVanGenuchtenMualem
    VanGenuchtenMualem(real Ksat=15, real phi=0.5, real alpha=0.2178, real n=1.211, real m=-1, real theta_r=0.0, real w0=0.99)VanGenuchtenMualem
    VanGenuchtenMualem(real Ksat=15, real phi=0.5, real alpha=0.2178, real n=1.211, real m=-1, real theta_r=0.0, real w0=0.99)VanGenuchtenMualem
    VoidVolume(real upperDepth, real lowerDepth, real Area) constVanGenuchtenMualemvirtual
    w0VanGenuchtenMualem
    w0VanGenuchtenMualem
    Wetness(real suction) constVanGenuchtenMualemvirtual
    Wetness_eff(real wetness, real pF_r=4.2) constRetentionCurvevirtual
    Wetness_eff(real wetness, real pF_r=4.2) constRetentionCurvevirtual
    Wetness_pF(real pF) constRetentionCurve
    @@ -130,7 +141,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem.html b/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem.html index dedbcb7f..97172759 100644 --- a/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem.html +++ b/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem.html @@ -2,33 +2,37 @@ - - - - -cmf: VanGenuchtenMualem Class Reference - - - - + + + + + cmf: VanGenuchtenMualem Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    VanGenuchtenMualem Class Reference
    +
    VanGenuchtenMualem Class Reference

    Provides the use of the Van Genuchten - Mualem retention curve (Van Genuchten 1980) - More...

    -
    + More...

    +
    + Inheritance diagram for VanGenuchtenMualem:
    -
    +
    + Collaboration diagram for VanGenuchtenMualem:

    Detailed Description

    Provides the use of the Van Genuchten - Mualem retention curve (Van Genuchten 1980)

    -

    Head - moisture relationship:

    -\begin{eqnarray*} W(\theta) &=& \frac{\theta - \theta_r}{\theta_s - \theta_r} \\ K(W) &=& K_{sat} \sqrt{W} \left(1-\left(1-W^{1/m}\right)^m\right)^2 \\ m &=& 1-\frac 1 n \\ \Psi(W) &=& 0.01 \frac{m}{cm} \frac{{\left(1-{W}^{\frac{1}{m}}\right) }^{\frac{1}{n}}}{\alpha\,{W}^{\frac{1}{m\,n}}} \\ W(\Psi) &=& \left(1+\left(\alpha\,100\frac{cm}{m}\Psi\right)^n\right)^{-m} \end{eqnarray*} +

    Head - moisture relationship:

    +\begin{eqnarray*} +W(\theta) &=& \frac{\theta - \theta_r}{\theta_s - \theta_r} \\ +K(W) &=& K_{sat} \sqrt{W} \left(1-\left(1-W^{1/m}\right)^m\right)^2 \\ +m &=& 1-\frac 1 n \\ +\Psi(W) &=& 0.01 \frac{m}{cm} \frac{{\left(1-{W}^{\frac{1}{m}}\right) }^{\frac{1}{n}}}{\alpha\,{W}^{\frac{1}{m\,n}}} \\ +W(\Psi) &=& \left(1+\left(\alpha\,100\frac{cm}{m}\Psi\right)^n\right)^{-m} +\end{eqnarray*}

    where:

    • \(K\) is the conductivity in \(\frac m {day}\)
    • @@ -138,95 +159,91 @@
    • \(\Psi(W)\) is the matric potential in \(m H_2O\) at wetness W
    - - - + + - - + + - - + + - + - - + + - - + + - - + + - + - + - + - - + + - - + + - +

    +

    Public Member Functions

     VanGenuchtenMualem (real Ksat=15, real phi=0.5, real alpha=0.2178, real n=1.211, real m=-1, real theta_r=0.0, real w0=0.99)
     Creates a van Genuchten-Mualem retention curve. More...
     VanGenuchtenMualem (real Ksat=15, real phi=0.5, real alpha=0.2178, real n=1.211, real m=-1, real theta_r=0.0, real w0=0.99)
     Creates a van Genuchten-Mualem retention curve.
     
    virtual real Diffusivity (real wetness) const
     Returns the diffusivity of the soil according to its wetness as given by VanGenuchten 1980. More...
    virtual real Diffusivity (real wetness) const
     Returns the diffusivity of the soil according to its wetness as given by VanGenuchten 1980.
     
    virtual real dPsiM_dW (real wetness) const
     returns \(\tfrac{d\Psi_M}{dW}\) More...
    virtual real dPsiM_dW (real wetness) const
     returns \(\tfrac{d\Psi_M}{dW}\)
     
    -virtual real FillHeight (real lowerDepth, real Area, real Volume) const
    +virtual real FillHeight (real lowerDepth, real Area, real Volume) const
     Returns the thickness of a soil column with a certain pore volume.
     
    real fit_w0 (real w1=1.01, real Psi_p=1.0, real tolerance=0.05)
     Fits the break point wetness w0, to ensure a specific oversaturation at a given hydrostatic potential. More...
    real fit_w0 (real w1=1.01, real Psi_p=1.0, real tolerance=0.05)
     Fits the break point wetness w0, to ensure a specific oversaturation at a given hydrostatic potential.
     
    virtual real K (real wetness) const
     returns the conductivity of the soil at a given saturation More...
    virtual real K (real wetness) const
     returns the conductivity of the soil at a given saturation
     
    virtual real MatricPotential (real wetness) const
     returns the matrix potential at a given saturation More...
    virtual real MatricPotential (real wetness) const
     returns the matrix potential at a given saturation
     
    -virtual real Porosity (real depth) const
    +virtual real Porosity (real depth) const
     Returns the porosity at a certain depth.
     
    -virtual real theta (real wetness) const
    +virtual real theta (real wetness) const
     returns the water content \(theta\) for a given wetness
     
    -virtual real VoidVolume (real upperDepth, real lowerDepth, real Area) const
    +virtual real VoidVolume (real upperDepth, real lowerDepth, real Area) const
     Returns the void volume of a soil column.
     
    virtual real Wetness (real suction) const
     returns the saturation at a given suction (matrix potential). More...
    virtual real Wetness (real suction) const
     returns the saturation at a given suction (matrix potential).
     
    -virtual real Wetness_eff (real wetness, real pF_r=4.2) const
     Returns the effective wetness, using a residual pF value

    -\[w_{eff} = \frac{w_{act}-w\left(pF_r\right)}{1-w\left(pF_r\right)}\] -

    -

    .

    virtual real Wetness_eff (real wetness, real pF_r=4.2) const
     Returns the effective wetness, using a residual pF value.
     
    -real Wetness_pF (real pF) const
    +real Wetness_pF (real pF) const
     returns the volumetric water content at a given pF value
     
    - - + - + - + - + - + - + - + - +

    +

    Public Attributes

    -real alpha
    +real alpha
     Inverse of water entry potential in 1/cm.
     
    -real Ksat
    +real Ksat
     Saturated conductivity in m/day.
     
    -real l
    +real l
     VanGenuchten - Mualem tortoisivity, defined in Van Genuchten 1980 as 0.5 (default here)
     
    -real m
    +real m
     VanGenuchten m (if negative, 1-1/n is used)
     
    -real n
    +real n
     Pore size distribution parameter [-].
     
    -real Phi
    +real Phi
     Porosity in m3/m3.
     
    -real theta_r
    +real theta_r
     residual water content in m3 Water/ m3 soil (default=0.0)
     
    -real w0
    +real w0
     Breakpoint wetness. If W>w0, a parabolic extrapolation is used.
     

    Constructor & Destructor Documentation

    - -

    ◆ VanGenuchtenMualem()

    + +

    ◆ VanGenuchtenMualem()

    @@ -234,49 +251,37 @@

    VanGenuchtenMualem ( - real  - Ksat = 15, + real Ksat = 15, - real  - phi = 0.5, + real phi = 0.5, - real  - alpha = 0.2178, + real alpha = 0.2178, - real  - n = 1.211, + real n = 1.211, - real  - m = -1, + real m = -1, - real  - theta_r = 0.0, + real theta_r = 0.0, - real  - w0 = 0.99  - - - - ) - + real w0 = 0.99 )

    @@ -298,8 +303,8 @@

    Member Function Documentation

    - -

    ◆ Diffusivity()

    + +

    ◆ Diffusivity()

    @@ -310,8 +315,7 @@

    virtual real Diffusivity ( - real  - wetness) + real wetness) const @@ -323,7 +327,7 @@

    Returns the diffusivity of the soil according to its wetness as given by VanGenuchten 1980.

    -
    Deprecated:
    The current implementation goes to infinity at saturation, as noted by VanGenuchten. Diffusivity is therefore currently not usable in any model.
    +
    Deprecated
    The current implementation goes to infinity at saturation, as noted by VanGenuchten. Diffusivity is therefore currently not usable in any model.

    \[D(W) = K(W)\left|\frac{d\Psi}{d\theta}\right|\ eq. 10\]

    @@ -348,8 +352,8 @@

    -

    ◆ dPsiM_dW()

    + +

    ◆ dPsiM_dW()

    @@ -360,8 +364,7 @@

    virtual real dPsiM_dW ( - real  - wetness) + real wetness) const @@ -381,8 +384,8 @@

    -

    ◆ fit_w0()

    + +

    ◆ fit_w0()

    @@ -425,8 +420,8 @@

    -

    ◆ K()

    + +

    ◆ K()

    @@ -437,8 +432,7 @@

    virtual real K ( - real  - wetness) + real wetness) const @@ -458,8 +452,8 @@

    -

    ◆ MatricPotential()

    + +

    ◆ MatricPotential()

    - -

    ◆ Wetness()

    + +

    ◆ Wetness()

    + +

    ◆ Wetness_eff()

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    virtual real Wetness_eff (real wetness,
    real pF_r = 4.2 ) const
    +
    +virtualinherited
    +
    + +

    Returns the effective wetness, using a residual pF value.

    +

    +\[w_{eff} = \frac{w_{act}-w\left(pF_r\right)}{1-w\left(pF_r\right)}\] +

    +

    @@ -532,7 +558,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__coll__graph.map b/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__coll__graph.map index 578a8911..39b5217e 100644 --- a/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__coll__graph.md5 index e59cc4c5..da3f1b0a 100644 --- a/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__coll__graph.md5 @@ -1 +1 @@ -f205169b9f2189d8bbb9a112f773ecea \ No newline at end of file +90920eac48fb334583c7a561d0a1220d \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__coll__graph.png b/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__coll__graph.png index 65ad574b..6774336f 100644 Binary files a/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__coll__graph.png and b/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__inherit__graph.map b/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__inherit__graph.map index 578a8911..39b5217e 100644 --- a/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__inherit__graph.md5 index 68ff3cfe..da3f1b0a 100644 --- a/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__inherit__graph.md5 @@ -1 +1 @@ -4c34ce42148247ec66449732e0e8fbf8 \ No newline at end of file +90920eac48fb334583c7a561d0a1220d \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__inherit__graph.png b/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__inherit__graph.png index 65ad574b..6774336f 100644 Binary files a/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1_van_genuchten_mualem__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1aquifer-members.html b/docs/classcmf_1_1upslope_1_1aquifer-members.html index a7a61f2c..ec67d3be 100644 --- a/docs/classcmf_1_1upslope_1_1aquifer-members.html +++ b/docs/classcmf_1_1upslope_1_1aquifer-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,60 +93,67 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    aquifer Member List
    +
    aquifer Member List

    This is the complete list of members for aquifer, including all inherited members.

    - + - + - + - + - + - + - - - - - - - - - - - + + + + + + + + + + + - + - + - + - - - - - - - - - - + + + + + + + + + + +
    aquifer(cmf::project &p, cmf::geometry::point position, real area, real thickness, real porosity, real K=1e-4)aquifer
    aquifer(cmf::upslope::cell_vector &cells, real thickness, real porosity, real K=1e-4)aquifer
    aquifer(cmf::upslope::cell_vector &cells, real thickness, real porosity, real K=1e-4)aquifer
    areaaquifer
    cast(cmf::water::flux_node::ptr for_cast)aquiferstatic
    cast(cmf::water::flux_node::ptr for_cast)aquiferstatic
    conc(const cmf::water::solute &_Solute) constWaterStorage
    conc(cmf::math::Time t, const cmf::water::solute &_Solute) constWaterStoragevirtual
    conc(cmf::math::Time t, const cmf::water::solute &_Solute) const overrideWaterStoragevirtual
    conc(const cmf::water::solute &_Solute, real NewConcetration)WaterStorage
    connection_to(const cmf::water::flux_node &target)flux_node
    connection_to(const cmf::water::flux_node &target)flux_node
    dxdt(const cmf::math::Time &time)WaterStoragevirtual
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_base_height() constaquifer
    get_base_height() constaquifer
    get_K(cmf::geometry::point direction) constaquifervirtual
    get_potential() constWaterStoragevirtual
    get_project() constflux_node
    get_state_variable_content() constWaterStorage
    get_top_height() constaquifer
    get_volume() constWaterStoragevirtual
    is_connected(const cmf::math::StateVariable &other) constWaterStoragevirtual
    is_empty() constWaterStoragevirtual
    is_storage() constWaterStoragevirtual
    Kaquifer
    list typedefStateVariable
    MarkStateChangeHandled()StateVariableprotected
    get_potential(cmf::math::Time t=cmf::math::never) const overrideWaterStoragevirtual
    get_project() constflux_node
    get_state() constStateVariable
    get_state_variable_content() constWaterStorage
    get_top_height() constaquifer
    get_volume() constWaterStoragevirtual
    is_connected(const cmf::math::StateVariable &other) constWaterStoragevirtual
    is_empty() constWaterStoragevirtual
    is_storage() const overrideWaterStoragevirtual
    Kaquifer
    MarkStateChangeHandled()StateVariableprotected
    Nameflux_node
    node_idflux_node
    node_idflux_node
    operator()(cmf::math::Time t) constflux_node
    porosityaquifer
    porosityaquifer
    positionflux_node
    RecalcFluxes(cmf::math::Time t)WaterStoragevirtual
    RecalcFluxes(cmf::math::Time t)WaterStoragevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_potential(real new_potential)aquifervirtual
    set_state_variable_content(char content)WaterStorage
    set_volume(real newwatercontent)WaterStoragevirtual
    Solute(const cmf::water::solute _Solute)WaterStorage
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    thicknessaquifer
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    WaterStorage(cmf::project &project, const std::string &Name="", double InitialState=0, double scale=1)WaterStorage
    ~flux_node()flux_nodevirtual
    set_potential(real new_potential)aquifervirtual
    set_state(real newState)StateVariable
    set_state_variable_content(char content)WaterStorage
    set_volume(real newwatercontent)WaterStoragevirtual
    Solute(const cmf::water::solute _Solute)WaterStorage
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    thicknessaquifer
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    WaterStorage(cmf::project &project, const std::string &Name="", double InitialState=0, double scale=1)WaterStorage
    ~flux_node()flux_nodevirtual

    -Generated: Fri Apr 26 2019 12:43:44 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1aquifer.html b/docs/classcmf_1_1upslope_1_1aquifer.html index c90a4e54..6e6934d1 100644 --- a/docs/classcmf_1_1upslope_1_1aquifer.html +++ b/docs/classcmf_1_1upslope_1_1aquifer.html @@ -2,33 +2,37 @@ - - - - -cmf: aquifer Class Reference - - - - + + + + + cmf: aquifer Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,56 +93,73 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -

    A class to represent large groundwater storages, not bounded to the usual horizontal discretization scheme, the Cell. - More...

    -
    +

    A class to represent large groundwater storages, not bounded to the usual horizontal discretization scheme, the Cell. + More...

    +
    + Inheritance diagram for aquifer:
    -
    +
    + Collaboration diagram for aquifer:

    Detailed Description

    -

    A class to represent large groundwater storages, not bounded to the usual horizontal discretization scheme, the Cell.

    -

    Naturally aquifers are connected with aquifer_Darcy or kinematic_wave connections. As a boundary condition for a cell based soil water system, aquifers are used as a right hand side node of percolation connections.

    +

    A class to represent large groundwater storages, not bounded to the usual horizontal discretization scheme, the Cell.

    +

    Naturally aquifers are connected with aquifer_Darcy or kinematic_wave connections. As a boundary condition for a cell based soil water system, aquifers are used as a right hand side node of percolation connections.

    Basic head ( \(\Psi\)) / volume ( \(V\)) relation:

    \[ \Psi = z_{base} + \frac {V}{A \Phi} \]

    @@ -149,174 +171,173 @@
  • \(\Phi\) Porosity, or more general, \(\frac {dV_{bulk}}{dV_{H_2O}}\)
  • - - - - -

    -Public Types

    -typedef std::vector< StateVariable * > list
     Not part of the API, used to create sparse structure.
     
    - - - + + - - + + - + + + + - - - - + - - - - + + + + - + - + - + - - + + - - - - - - - + + + + + + + + + + - + - + - + - - - - + + + + - + - + - + + + + - + - - - - - + + + + + - - - - - - - - -

    +

    Public Member Functions

     aquifer (cmf::project &p, cmf::geometry::point position, real area, real thickness, real porosity, real K=1e-4)
     Creates an aquifer at a certain position. More...
     aquifer (cmf::project &p, cmf::geometry::point position, real area, real thickness, real porosity, real K=1e-4)
     Creates an aquifer at a certain position.
     
     aquifer (cmf::upslope::cell_vector &cells, real thickness, real porosity, real K=1e-4)
     Creates an aquifer below a collection of cells. More...
     aquifer (cmf::upslope::cell_vector &cells, real thickness, real porosity, real K=1e-4)
     Creates an aquifer below a collection of cells.
     
    -real conc (const cmf::water::solute &_Solute) const
    +real conc (cmf::math::Time t, const cmf::water::solute &_Solute) const override
     Returns the current WaterQuality (concentration of all solutes)
     
    +real conc (const cmf::water::solute &_Solute) const
     Returns the concentration of the given solute.
     
    -real conc (cmf::math::Time t, const cmf::water::solute &_Solute) const
     Returns the current WaterQuality (concentration of all solutes)
     
    -void conc (const cmf::water::solute &_Solute, real NewConcetration)
    +void conc (const cmf::water::solute &_Solute, real NewConcetration)
     Sets a new concentration.
     
    -cmf::water::flux_connectionconnection_to (const cmf::water::flux_node &target)
     Returns the connection between this and target.
     
    -virtual real dxdt (const cmf::math::Time &time)
    +cmf::water::flux_connectionconnection_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)
    +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)
    +cmf::geometry::point get_3d_flux (cmf::math::Time t)
     Returns the sum of all flux vectors.
     
    -real get_base_height () const
    +real get_base_height () const
     Returns the base height of the aquifer in m a.s.l.
     
    virtual real get_K (cmf::geometry::point direction) const
     Returns the conductivity in m/day for a specific direction. More...
    virtual real get_K (cmf::geometry::point direction) const
     Returns the conductivity in m/day for a specific direction.
     
    virtual real get_potential () const
     Returns the water potential of the node in m waterhead. More...
     
    -cmf::projectget_project () const
     Returns the project, this node is part of.
     
    -char get_state_variable_content () const
    real get_potential (cmf::math::Time t=cmf::math::never) const override
     Returns the water potential of the node in m waterhead.
     
    +cmf::projectget_project () const
     Returns the project, this node is part of.
     
    +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)
     
    -real get_top_height () const
    +real get_top_height () const
     Returns the top height of the aquifer in m a.s.l.
     
    -virtual real get_volume () const
    +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
    +virtual bool is_connected (const cmf::math::StateVariable &other) const
     Returns True if this waterstorage is effected by another state.
     
    -virtual bool is_storage () const
     Returns true, since this is a storage.
     
    -real operator() (cmf::math::Time t) const
    +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)
    +bool remove_connection (cmf::water::flux_node::ptr To)
     Remove the connection.
     
    -virtual void set_potential (real new_potential)
    +virtual void set_potential (real new_potential)
     Sets the potential of this flux node.
     
    -void set_state_variable_content (char content)
    +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)
    +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. More...
    +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.
     
    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. More...
     
    -virtual double is_empty () const
     Returns true if the node has no water.
     
    -virtual std::string to_string () const
     
    - - +

    +

    Static Public Member Functions

    -static aquifer::ptr cast (cmf::water::flux_node::ptr for_cast)
    +static aquifer::ptr cast (cmf::water::flux_node::ptr for_cast)
     Casts a flux_node to an aquifer, if the flux_node is an aquifer.
     
    - - + - + - + - + - + - + - +

    +

    Public Attributes

    -real area
    +real area
     The horizontal area of the aquifer.
     
    -cmf::geometry::point K
    +cmf::geometry::point K
     The conductivity in m/day for the three spatial dimensions.
     
    -std::string Name
    +std::string Name
     The Name of this node.
     
    -const int node_id
    +const int node_id
     The Id of the node.
     
    -real porosity
    +real porosity
     The porosity of the aquifer in m3/m3.
     
    -cmf::geometry::point position
    +cmf::geometry::point position
     The spatial position of the node.
     
    -real thickness
    +real thickness
     The thickness of the aquifer in m.
     
    - - + - + +

    +

    Protected Member Functions

    -void MarkStateChangeHandled ()
    +void MarkStateChangeHandled ()
     Sets the updated flag (m_StateIsNew) to false.
     
    -bool StateIsChanged ()
    +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.
     

    Constructor & Destructor Documentation

    - -

    ◆ aquifer() [1/2]

    + +

    ◆ aquifer() [1/2]

    @@ -324,43 +345,32 @@

    aquifer ( - cmf::project &  - p, + cmf::project & p, - cmf::geometry::point  - position, + cmf::geometry::point position, - real  - area, + real area, - real  - thickness, + real thickness, - real  - porosity, + real porosity, - real  - K = 1e-4  - - - - ) - + real K = 1e-4 )

    @@ -380,8 +390,8 @@

    -

    ◆ aquifer() [2/2]

    + +

    ◆ aquifer() [2/2]

    @@ -389,31 +399,22 @@

    aquifer ( - cmf::upslope::cell_vector &  - cells, + cmf::upslope::cell_vector & cells, - real  - thickness, + real thickness, - real  - porosity, + real porosity, - real  - K = 1e-4  - - - - ) - + real K = 1e-4 )

    @@ -432,8 +433,8 @@

    Member Function Documentation

    - -

    ◆ get_K()

    + +

    ◆ get_K()

    @@ -444,8 +445,7 @@

    virtual real get_K ( - cmf::geometry::point  - direction) + cmf::geometry::point direction) const @@ -465,8 +465,8 @@

    -

    ◆ get_potential()

    + +

    ◆ get_potential()

    - -

    ◆ RecalcFluxes()

    + +

    ◆ RecalcFluxes()

    @@ -509,8 +507,7 @@

    virtual bool RecalcFluxes ( - cmf::math::Time  - t) + cmf::math::Time t) @@ -528,8 +525,8 @@

    -

    ◆ waterbalance()

    + +

    ◆ waterbalance()

    @@ -540,19 +537,12 @@

    real waterbalance ( - cmf::math::Time  - t, + cmf::math::Time t, - const flux_connection *  - Without = 0  - - - - ) - const + const flux_connection * Without = 0 ) const @@ -563,7 +553,8 @@

    Returns the sum of all fluxes (positive and negative) at time t.

    -

    Single fluxes can be excluded from the calculation

    Parameters
    +


    + Single fluxes can be excluded from the calculation

    Parameters
    @@ -581,7 +572,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    tTime of the query
    WithoutA flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits)
    Generated: Fri Apr 26 2019 12:43:44Generated: Fri Jan 19 2024 16:10:57
    diff --git a/docs/classcmf_1_1upslope_1_1aquifer.js b/docs/classcmf_1_1upslope_1_1aquifer.js index a6e8cc63..b814e9f7 100644 --- a/docs/classcmf_1_1upslope_1_1aquifer.js +++ b/docs/classcmf_1_1upslope_1_1aquifer.js @@ -1,33 +1,34 @@ var classcmf_1_1upslope_1_1aquifer = [ - [ "list", "classcmf_1_1upslope_1_1aquifer.html#a65038c02ffb04ca17a7479ad20b0b63c", null ], [ "aquifer", "classcmf_1_1upslope_1_1aquifer.html#aa224992f699d18d5a9786419a6d91f77", null ], [ "aquifer", "classcmf_1_1upslope_1_1aquifer.html#a7d7712b43a7083d9b10ed23cd9ef1394", null ], + [ "conc", "classcmf_1_1upslope_1_1aquifer.html#adaae35910275a38c86d51e68d3877fdd", null ], [ "conc", "classcmf_1_1upslope_1_1aquifer.html#ababf4d22a9d3952540e2204915dbc15b", null ], - [ "conc", "classcmf_1_1upslope_1_1aquifer.html#ad7aa4277a82890dc86f7bca2b828d75f", null ], [ "conc", "classcmf_1_1upslope_1_1aquifer.html#a09c41a9b1f92c291ae72ffad3e3ff44d", null ], - [ "connection_to", "classcmf_1_1upslope_1_1aquifer.html#a5bd6810024edaf9bd5d5747d91ce5f1b", null ], + [ "connection_to", "classcmf_1_1upslope_1_1aquifer.html#abc9aed3e3aae59d1b4c383fb6e6385eb", null ], [ "dxdt", "classcmf_1_1upslope_1_1aquifer.html#a5cfe4250c9c98fc0bc752a565bdd90d7", null ], [ "flux_to", "classcmf_1_1upslope_1_1aquifer.html#a66f1b6a9698be9ffce574833de835bd1", null ], [ "get_3d_flux", "classcmf_1_1upslope_1_1aquifer.html#a8cba494467e1ffc036c47f1bcd60eccb", null ], [ "get_base_height", "classcmf_1_1upslope_1_1aquifer.html#ad8aee4c7ccc68a237820767f93d22a97", null ], [ "get_K", "classcmf_1_1upslope_1_1aquifer.html#a24ba50139bd12bfe3a6fb35fba498195", null ], - [ "get_potential", "classcmf_1_1upslope_1_1aquifer.html#a923af9ca71ce3a008d07d88216f1a351", null ], - [ "get_project", "classcmf_1_1upslope_1_1aquifer.html#ae4c3731109c42d8e7f70eb646fb573ec", null ], + [ "get_potential", "classcmf_1_1upslope_1_1aquifer.html#a5b80f0e67ce2c58785c148b78a9515df", null ], + [ "get_project", "classcmf_1_1upslope_1_1aquifer.html#aac16760bdca4fd53f80987ee5affa734", null ], + [ "get_state", "classcmf_1_1upslope_1_1aquifer.html#a5b794a3d74e0b878ff0a4200015e7cc2", null ], [ "get_state_variable_content", "classcmf_1_1upslope_1_1aquifer.html#afac22fccd2df2d35c22acfcb75239427", null ], [ "get_top_height", "classcmf_1_1upslope_1_1aquifer.html#af38c0208da6197bc334bad3ea7d644e2", null ], [ "get_volume", "classcmf_1_1upslope_1_1aquifer.html#a56a03fc6fead8765d35e9b54a5b6ad08", null ], [ "is_connected", "classcmf_1_1upslope_1_1aquifer.html#adc4ae437d7a2f33ee85fe811fc8b6d0f", null ], [ "is_empty", "classcmf_1_1upslope_1_1aquifer.html#ab3f02f11f233972d7c26cf26a9090613", null ], - [ "is_storage", "classcmf_1_1upslope_1_1aquifer.html#ace09b97c37ded843368a00c04e89b55f", null ], + [ "is_storage", "classcmf_1_1upslope_1_1aquifer.html#a3f0f2248157d3eb5ffc9dc5c5e747c21", null ], [ "MarkStateChangeHandled", "classcmf_1_1upslope_1_1aquifer.html#ae45a5bd291cb989067417aba8e565d0c", null ], [ "operator()", "classcmf_1_1upslope_1_1aquifer.html#a1ac09266985df622ef90ce40783058cb", null ], [ "RecalcFluxes", "classcmf_1_1upslope_1_1aquifer.html#ad4e4534513b31d5a3596b072ad4cd42f", null ], [ "remove_connection", "classcmf_1_1upslope_1_1aquifer.html#ab933615f7c65dfd492770c3e1475a881", null ], [ "set_potential", "classcmf_1_1upslope_1_1aquifer.html#a96266d8458980cb69da782028dbb7eb7", null ], + [ "set_state", "classcmf_1_1upslope_1_1aquifer.html#a0d5dd145810bcfdea803d83d12302c96", null ], [ "set_state_variable_content", "classcmf_1_1upslope_1_1aquifer.html#af4e317b28d48091741e40af5e9da79a1", null ], [ "set_volume", "classcmf_1_1upslope_1_1aquifer.html#a31b0a05543af754adf863c0bd7934a3e", null ], - [ "Solute", "classcmf_1_1upslope_1_1aquifer.html#ac7af103f4eabcabd46289fc96329e9bb", null ], + [ "Solute", "classcmf_1_1upslope_1_1aquifer.html#a8ff1638803c38f89f1bf018e65241681", null ], [ "StateIsChanged", "classcmf_1_1upslope_1_1aquifer.html#a2cf1e9d2df8900cf74cbc0773726ca91", null ], [ "waterbalance", "classcmf_1_1upslope_1_1aquifer.html#a2b14436c9dfb7b52bad2784c81a31eab", null ], [ "area", "classcmf_1_1upslope_1_1aquifer.html#a05089f0da399f35232f6981bb4695e4d", null ], diff --git a/docs/classcmf_1_1upslope_1_1aquifer___darcy-members.html b/docs/classcmf_1_1upslope_1_1aquifer___darcy-members.html index fa7dac71..2aef3fd3 100644 --- a/docs/classcmf_1_1upslope_1_1aquifer___darcy-members.html +++ b/docs/classcmf_1_1upslope_1_1aquifer___darcy-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,35 +93,41 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    aquifer_Darcy Member List
    +
    aquifer_Darcy Member List

    This is the complete list of members for aquifer_Darcy, including all inherited members.

    - + - + - + - + - + - + - + - +
    aquifer_Darcy(aquifer::ptr left, cmf::water::flux_node::ptr right, real width)aquifer_Darcy
    calc_q(cmf::math::Time t)aquifer_Darcyprotectedvirtual
    calc_q(cmf::math::Time t)aquifer_Darcyprotectedvirtual
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_widthaquifer_Darcy
    get_target(const flux_node &inquirer)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    typeflux_connection

    -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1aquifer___darcy.html b/docs/classcmf_1_1upslope_1_1aquifer___darcy.html index a37d3927..55b6b8d1 100644 --- a/docs/classcmf_1_1upslope_1_1aquifer___darcy.html +++ b/docs/classcmf_1_1upslope_1_1aquifer___darcy.html @@ -2,33 +2,37 @@ - - - - -cmf: aquifer_Darcy Class Reference - - - - + + + + + cmf: aquifer_Darcy Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    aquifer_Darcy Class Reference
    +
    aquifer_Darcy Class Reference

    Lateral darcy flow between aquifer objects. - More...

    -
    + More...

    +
    + Inheritance diagram for aquifer_Darcy:
    -
    +
    + Collaboration diagram for aquifer_Darcy:

    Detailed Description

    @@ -135,73 +150,73 @@ \[q = v_{Darcy} w \Delta z\]

    - - - + + - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

     aquifer_Darcy (aquifer::ptr left, cmf::water::flux_node::ptr right, real width)
     Creates a new Darcy flow connection between two aquifers, or an aquifer and another node acting as Dirichlet boundary condition. More...
     aquifer_Darcy (aquifer::ptr left, cmf::water::flux_node::ptr right, real width)
     Creates a new Darcy flow connection between two aquifers, or an aquifer and another node acting as Dirichlet boundary condition.
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - + - +

    +

    Public Attributes

    -real flux_width
    +real flux_width
     w, the width of the connection between the aquifers
     
    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     
    - - - + +

    +

    Protected Member Functions

    virtual real calc_q (cmf::math::Time t)
     Lateral darcy flow between aquifer objects. More...
    virtual real calc_q (cmf::math::Time t)
     Lateral darcy flow between aquifer objects.
     

    Constructor & Destructor Documentation

    - -

    ◆ aquifer_Darcy()

    + +

    ◆ aquifer_Darcy()

    @@ -209,25 +224,17 @@

    aquifer_Darcy ( - aquifer::ptr  - left, + aquifer::ptr left, - cmf::water::flux_node::ptr  - right, + cmf::water::flux_node::ptr right, - real  - width  - - - - ) - + real width )

    @@ -245,8 +252,8 @@

    Member Function Documentation

    - -

    ◆ calc_q()

    + +

    ◆ calc_q()

    @@ -257,8 +264,7 @@

    virtual real calc_q ( - cmf::math::Time  - t) + cmf::math::Time t) @@ -281,8 +287,8 @@

    -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -332,7 +332,7 @@

    real get_tracer_filter ( - ) + ) @@ -348,8 +348,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -360,8 +360,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -385,7 +384,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1aquifer___darcy__coll__graph.map b/docs/classcmf_1_1upslope_1_1aquifer___darcy__coll__graph.map index 04e66acd..19cc1f51 100644 --- a/docs/classcmf_1_1upslope_1_1aquifer___darcy__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1aquifer___darcy__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1aquifer___darcy__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1aquifer___darcy__coll__graph.md5 index 35aedae6..ab5e20c6 100644 --- a/docs/classcmf_1_1upslope_1_1aquifer___darcy__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1aquifer___darcy__coll__graph.md5 @@ -1 +1 @@ -75a904b445b468fbd66f183f392bb949 \ No newline at end of file +7986e22fbc13f5cc846185bd74064023 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1aquifer___darcy__coll__graph.png b/docs/classcmf_1_1upslope_1_1aquifer___darcy__coll__graph.png index 2f0307c2..4b37a9fc 100644 Binary files a/docs/classcmf_1_1upslope_1_1aquifer___darcy__coll__graph.png and b/docs/classcmf_1_1upslope_1_1aquifer___darcy__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1aquifer___darcy__inherit__graph.map b/docs/classcmf_1_1upslope_1_1aquifer___darcy__inherit__graph.map index 04e66acd..19cc1f51 100644 --- a/docs/classcmf_1_1upslope_1_1aquifer___darcy__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1aquifer___darcy__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1aquifer___darcy__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1aquifer___darcy__inherit__graph.md5 index 954b6fb1..ab5e20c6 100644 --- a/docs/classcmf_1_1upslope_1_1aquifer___darcy__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1aquifer___darcy__inherit__graph.md5 @@ -1 +1 @@ -a5c211edcafa43c0358c66e61b031d24 \ No newline at end of file +7986e22fbc13f5cc846185bd74064023 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1aquifer___darcy__inherit__graph.png b/docs/classcmf_1_1upslope_1_1aquifer___darcy__inherit__graph.png index 2f0307c2..4b37a9fc 100644 Binary files a/docs/classcmf_1_1upslope_1_1aquifer___darcy__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1aquifer___darcy__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1aquifer__coll__graph.map b/docs/classcmf_1_1upslope_1_1aquifer__coll__graph.map index e118389e..691482d5 100644 --- a/docs/classcmf_1_1upslope_1_1aquifer__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1aquifer__coll__graph.map @@ -1,7 +1,14 @@ - - - - - + + + + + + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1aquifer__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1aquifer__coll__graph.md5 index ce3667a9..1c219c46 100644 --- a/docs/classcmf_1_1upslope_1_1aquifer__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1aquifer__coll__graph.md5 @@ -1 +1 @@ -018610dcb910443abc3d2c316b3d5c08 \ No newline at end of file +98476cf73fa7a7bbadfad307e6a39f2f \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1aquifer__coll__graph.png b/docs/classcmf_1_1upslope_1_1aquifer__coll__graph.png index 13f07891..8e626c46 100644 Binary files a/docs/classcmf_1_1upslope_1_1aquifer__coll__graph.png and b/docs/classcmf_1_1upslope_1_1aquifer__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1aquifer__inherit__graph.map b/docs/classcmf_1_1upslope_1_1aquifer__inherit__graph.map index 38336d8e..17151349 100644 --- a/docs/classcmf_1_1upslope_1_1aquifer__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1aquifer__inherit__graph.map @@ -1,6 +1,11 @@ - - - - + + + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1aquifer__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1aquifer__inherit__graph.md5 index d5779670..8fdcd5e5 100644 --- a/docs/classcmf_1_1upslope_1_1aquifer__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1aquifer__inherit__graph.md5 @@ -1 +1 @@ -107e6c071bf1fb76db71bb596d715a1d \ No newline at end of file +591bffc6bd8f0b0b909c5eaf715bf98e \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1aquifer__inherit__graph.png b/docs/classcmf_1_1upslope_1_1aquifer__inherit__graph.png index a2996451..865c8ad6 100644 Binary files a/docs/classcmf_1_1upslope_1_1aquifer__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1aquifer__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1cell__vector-members.html b/docs/classcmf_1_1upslope_1_1cell__vector-members.html index b2580b98..b3835b75 100644 --- a/docs/classcmf_1_1upslope_1_1cell__vector-members.html +++ b/docs/classcmf_1_1upslope_1_1cell__vector-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,23 +93,29 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    cell_vector Member List
    +
    cell_vector Member List

    This is the complete list of members for cell_vector, including all inherited members.

    - - - + + +
    get_area() constcell_vector
    get_highest() constcell_vector
    get_lowest() constcell_vector
    pop()cell_vector
    get_highest() constcell_vector
    get_lowest() constcell_vector
    pop()cell_vector

    -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1cell__vector.html b/docs/classcmf_1_1upslope_1_1cell__vector.html index c4885d29..1e9e7e9c 100644 --- a/docs/classcmf_1_1upslope_1_1cell__vector.html +++ b/docs/classcmf_1_1upslope_1_1cell__vector.html @@ -2,33 +2,37 @@ - - - - -cmf: cell_vector Class Reference - - - - + + + + + cmf: cell_vector Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,43 +93,49 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    cell_vector Class Reference
    +
    cell_vector Class Reference

    A cell vector holds a bunch of cells. - More...

    + More...

    Detailed Description

    A cell vector holds a bunch of cells.

    - - + - - - - - - - - - + + + + + + + + +

    +

    Public Member Functions

    -double get_area () const
    +double get_area () const
     Returns sum of the area of the cells.
     
    -Cellget_highest () const
     Returns the heighest cell.
     
    -Cellget_lowest () const
     Returns the cell with the lowest height.
     
    -Cellpop ()
     Returns and removes the last cell.
     
    +Cellget_highest () const
     Returns the heighest cell.
     
    +Cellget_lowest () const
     Returns the cell with the lowest height.
     
    +Cellpop ()
     Returns and removes the last cell.
     
    @@ -134,7 +145,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1cell__vector.js b/docs/classcmf_1_1upslope_1_1cell__vector.js index 708af9ef..2069f97f 100644 --- a/docs/classcmf_1_1upslope_1_1cell__vector.js +++ b/docs/classcmf_1_1upslope_1_1cell__vector.js @@ -1,7 +1,7 @@ var classcmf_1_1upslope_1_1cell__vector = [ [ "get_area", "classcmf_1_1upslope_1_1cell__vector.html#ad545f4c39eaabf29ad6a8079a9931db1", null ], - [ "get_highest", "classcmf_1_1upslope_1_1cell__vector.html#a34c39456e92d344de210277459feca29", null ], - [ "get_lowest", "classcmf_1_1upslope_1_1cell__vector.html#aa42019a7061bb0f7390224658790f820", null ], - [ "pop", "classcmf_1_1upslope_1_1cell__vector.html#aa20a5dd1d5fd709766154751bdd79d3a", null ] + [ "get_highest", "classcmf_1_1upslope_1_1cell__vector.html#afd9d7dc04fe0fa29e222ac79a485c85f", null ], + [ "get_lowest", "classcmf_1_1upslope_1_1cell__vector.html#a04dc4ba4bdd5c5944319bff6d5abd410", null ], + [ "pop", "classcmf_1_1upslope_1_1cell__vector.html#aa14d6478723588e24ff30b2399b25de2", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1cell__vector__coll__graph.map b/docs/classcmf_1_1upslope_1_1cell__vector__coll__graph.map deleted file mode 100644 index 13c63567..00000000 --- a/docs/classcmf_1_1upslope_1_1cell__vector__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1upslope_1_1cell__vector__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1cell__vector__coll__graph.md5 deleted file mode 100644 index d16342ba..00000000 --- a/docs/classcmf_1_1upslope_1_1cell__vector__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -538f11679b6cc174b50287218bbde275 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1cell__vector__coll__graph.png b/docs/classcmf_1_1upslope_1_1cell__vector__coll__graph.png deleted file mode 100644 index 4f9063f4..00000000 Binary files a/docs/classcmf_1_1upslope_1_1cell__vector__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1upslope_1_1cell__vector__inherit__graph.map b/docs/classcmf_1_1upslope_1_1cell__vector__inherit__graph.map deleted file mode 100644 index 13c63567..00000000 --- a/docs/classcmf_1_1upslope_1_1cell__vector__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1upslope_1_1cell__vector__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1cell__vector__inherit__graph.md5 deleted file mode 100644 index 118ef6e5..00000000 --- a/docs/classcmf_1_1upslope_1_1cell__vector__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -df14dcdd511cfb6aeee9e4bad1e8d6a3 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1cell__vector__inherit__graph.png b/docs/classcmf_1_1upslope_1_1cell__vector__inherit__graph.png deleted file mode 100644 index 4f9063f4..00000000 Binary files a/docs/classcmf_1_1upslope_1_1cell__vector__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1upslope_1_1conductable-members.html b/docs/classcmf_1_1upslope_1_1conductable-members.html index dc7ac667..3f8c755d 100644 --- a/docs/classcmf_1_1upslope_1_1conductable-members.html +++ b/docs/classcmf_1_1upslope_1_1conductable-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,20 +93,25 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    conductable Member List
    +
    conductable Member List

    This is the complete list of members for conductable, including all inherited members.

    - -
    +

    -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1conductable.html b/docs/classcmf_1_1upslope_1_1conductable.html index 7bfa39cf..dbe4d18b 100644 --- a/docs/classcmf_1_1upslope_1_1conductable.html +++ b/docs/classcmf_1_1upslope_1_1conductable.html @@ -2,33 +2,37 @@ - - - - -cmf: conductable Class Reference - - - - + + + + + cmf: conductable Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,30 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    conductable Class Referenceabstract
    +
    conductable Class Referenceabstract

    An abstract interface for all classes providing a conductivity (e.g. - More...

    -
    + More...

    +
    + Inheritance diagram for conductable:

    Detailed Description

    @@ -126,7 +140,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1conductable__inherit__graph.map b/docs/classcmf_1_1upslope_1_1conductable__inherit__graph.map index 91b3bec0..ea2f2e80 100644 --- a/docs/classcmf_1_1upslope_1_1conductable__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1conductable__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1conductable__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1conductable__inherit__graph.md5 index 1a649e6f..c3e944f5 100644 --- a/docs/classcmf_1_1upslope_1_1conductable__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1conductable__inherit__graph.md5 @@ -1 +1 @@ -969cd5ccc83652262169719eb854aa99 \ No newline at end of file +91063606efdfd2fe85cc14f45f28d726 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1conductable__inherit__graph.png b/docs/classcmf_1_1upslope_1_1conductable__inherit__graph.png index a273d624..35f20dab 100644 Binary files a/docs/classcmf_1_1upslope_1_1conductable__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1conductable__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow-members.html index b8596418..862b0ab6 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    CanopyOverflow Member List
    +
    CanopyOverflow Member List

    This is the complete list of members for CanopyOverflow, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    use_for_cell(cmf::upslope::Cell &cell)CanopyOverflowstatic
    use_for_cell(cmf::upslope::Cell &cell)CanopyOverflowstatic

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow.html b/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow.html index 57c2c078..a8d87127 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow.html @@ -2,33 +2,37 @@ - - - - -cmf: CanopyOverflow Class Reference - - - - + + + + + cmf: CanopyOverflow Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    - +

    Calculates the overflow of a canopy storage using a kinematic wave approach. - More...

    -
    + More...

    +
    + Inheritance diagram for CanopyOverflow:
    -
    +
    + Collaboration diagram for CanopyOverflow:

    Detailed Description

    @@ -139,66 +156,66 @@
  • \(V_{max}[mm]=c_{LAI}[mm] LAI\) The capacity of the canopy in mm, defined by the factor CanopyCapacityPerLAI [mm/LAI], and the leaf area index LAI. (see: cmf::upslope::Vegetation)
  • - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - - - + + +

    +

    Static Public Member Functions

    static CanopyOverflowuse_for_cell (cmf::upslope::Cell &cell)
     Creates a new connection between canopy and surfacewater and does a bunch of other things. More...
     
    static CanopyOverflowuse_for_cell (cmf::upslope::Cell &cell)
     Creates a new connection between canopy and surfacewater and does a bunch of other things.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -248,7 +259,7 @@

    real get_tracer_filter ( - ) + ) @@ -264,8 +275,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -276,8 +287,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -293,8 +303,8 @@

    -

    ◆ use_for_cell()

    + +

    ◆ use_for_cell()

    @@ -303,10 +313,9 @@

    - + - - +
    static CanopyOverflow* use_for_cell static CanopyOverflow * use_for_cell (cmf::upslope::Cellcell)cmf::upslope::Cell & cell)
    @@ -334,7 +343,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__coll__graph.map index c59f71b2..ce3b420d 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__coll__graph.md5 index 44831d11..0ad8369e 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__coll__graph.md5 @@ -1 +1 @@ -c0f6ab9f4e4085dcc46fa0a7b69f7c7c \ No newline at end of file +af25dc661e33d222cf5ff328da6ce7ff \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__coll__graph.png index 58ce9ecc..5d937f17 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__inherit__graph.map index 3e9718c0..51a0159b 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__inherit__graph.md5 index 6b9f27b8..b116c02c 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__inherit__graph.md5 @@ -1 +1 @@ -bf840f9bd3890230cb6801843529807a \ No newline at end of file +d8b47516649c80712a86de3fa39923c7 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__inherit__graph.png index 57e5cc45..0d46e12c 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_canopy_overflow__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration-members.html new file mode 100644 index 00000000..b3884abc --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration-members.html @@ -0,0 +1,142 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    ConceptualInfiltration Member List
    +
    +
    + +

    This is the complete list of members for ConceptualInfiltration, including all inherited members.

    + + + + + + + + + + + + + + + + +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    ConceptualInfiltration(cmf::upslope::SoilLayer::ptr soilwater, cmf::water::flux_node::ptr surfacewater, real W0=0.9)ConceptualInfiltration
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    W0ConceptualInfiltration
    +
    +

    +Generated: Fri Jan 19 2024 16:10:57 + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html similarity index 50% rename from docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html rename to docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html index 5583410a..b4bd6900 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html @@ -2,33 +2,37 @@ - - - - -cmf: SimpleInfiltration Class Reference - - - - + + + + + cmf: ConceptualInfiltration Class Reference + + + + + + + - - + + - - - + + + +
    @@ -36,31 +40,32 @@ - +
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    +
    2.0.0b10
    +
    catchment modelling framework
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,47 +93,57 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SimpleInfiltration Class Reference
    +
    ConceptualInfiltration Class Reference

    Connects the surfacewater and the most upper layer using a simplified infiltration model suitable for conceptional models. - More...

    -
    - + Inheritance diagram for SimpleInfiltration:
    + More...

    +
    + + Inheritance diagram for ConceptualInfiltration:
    -
    - + Collaboration diagram for SimpleInfiltration:
    +
    + + Collaboration diagram for ConceptualInfiltration:

    Detailed Description

    Connects the surfacewater and the most upper layer using a simplified infiltration model suitable for conceptional models.

    -\[ q_{inf} = \left(1-e_{sat}\left(W, W_0\right)\right) q_{inf,pot} \] +\[ q_{inf} = \left(1-e_{sat}\left(W, W_0\right)\right) q_{inf,pot} \]

    where:

    • \(q_{inf}\) Effective infiltration from surface to first layer (soil)
    • @@ -142,98 +157,90 @@
  • \(K_{sat}\) Saturated conductivity in \(m/day\)
  • -
  • \(A\) Cell area in \(m^2\)
  • +
  • \(A\) Cell area in \(m^2\)
  • - - - - - - + + + + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

     SimpleInfiltration (cmf::upslope::SoilLayer::ptr soilwater, cmf::water::flux_node::ptr surfacewater, real W0=0.9)
     Creates the connection between surfacewater and first soil layer. More...
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
     ConceptualInfiltration (cmf::upslope::SoilLayer::ptr soilwater, cmf::water::flux_node::ptr surfacewater, real W0=0.9)
     Creates the connection between surfacewater and first soil layer.
     
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - + - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     
    -real W0
    +real W0
     Wetness at which only 50% of the potential infiltration \(p_{inf,pot}\).
     

    Constructor & Destructor Documentation

    - -

    ◆ SimpleInfiltration()

    + +

    ◆ ConceptualInfiltration()

    - + - - + - - + - - - - - - - +
    SimpleInfiltration ConceptualInfiltration (cmf::upslope::SoilLayer::ptr soilwater, cmf::upslope::SoilLayer::ptr soilwater,
    cmf::water::flux_node::ptr surfacewater, cmf::water::flux_node::ptr surfacewater,
    real W0 = 0.9 
    )real W0 = 0.9 )
    @@ -251,8 +258,8 @@

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -302,7 +303,7 @@

    real get_tracer_filter ( - ) + ) @@ -318,8 +319,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -330,8 +331,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -355,7 +355,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Thu Mar 28 2019 14:40:14 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.js b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.js new file mode 100644 index 00000000..49a17876 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.js @@ -0,0 +1,17 @@ +var classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration = +[ + [ "ConceptualInfiltration", "classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html#a4dfe522a65a6d2ad0ab776656d17d687", null ], + [ "conc", "classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html#ad7fafdce438d10fb5a35e7870737ce23", null ], + [ "get_target", "classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html#abc8d7bf5d699f04bb717e989dab315ab", null ], + [ "get_target", "classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html#a9452e9ff83a825e3420347a45ba9b313", null ], + [ "get_tracer_filter", "classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html#a73545d13b9544caa52a2a5bd747dadad", null ], + [ "get_tracer_filter", "classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html#a97e72365a8d2e46e7d1cb5c702164561", null ], + [ "kill_me", "classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html#a137cf279253d55feb9629e4423e34191", null ], + [ "left_node", "classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], + [ "q", "classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], + [ "refresh", "classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], + [ "right_node", "classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], + [ "set_tracer_filter", "classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html#a5edf702b615e8af8d847ecd63d13eb25", null ], + [ "type", "classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ], + [ "W0", "classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration.html#ad223d749d2a2911f5d5749c21de2730f", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__coll__graph.map new file mode 100644 index 00000000..4ac2af18 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__coll__graph.md5 new file mode 100644 index 00000000..35e4dcc0 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__coll__graph.md5 @@ -0,0 +1 @@ +914ad90063256e594efce18246da263a \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__coll__graph.png new file mode 100644 index 00000000..d8ee71d8 Binary files /dev/null and b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__inherit__graph.map new file mode 100644 index 00000000..4ac2af18 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__inherit__graph.md5 new file mode 100644 index 00000000..35e4dcc0 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__inherit__graph.md5 @@ -0,0 +1 @@ +914ad90063256e594efce18246da263a \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__inherit__graph.png new file mode 100644 index 00000000..d8ee71d8 Binary files /dev/null and b/docs/classcmf_1_1upslope_1_1connections_1_1_conceptual_infiltration__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy-members.html index 12fa746b..b563e49b 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Darcy Member List
    +
    Darcy Member List

    This is the complete list of members for Darcy, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy.html b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy.html index 06706f0a..f3dc0353 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy.html @@ -2,33 +2,37 @@ - - - - -cmf: Darcy Class Reference - - - - + + + + + cmf: Darcy Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    +

    Calculates the lateral flow using the gravitational potential gradient only. - More...

    -
    + More...

    +
    + Inheritance diagram for Darcy:
    -
    +
    + Collaboration diagram for Darcy:

    Detailed Description

    @@ -135,65 +153,65 @@

    where

    • \( \Delta \Psi_G \) is the gravitational potential difference
    • -
    • \( \|C_1-C_2\| \) is the distance from Cell 1 to Cell 2
    • +
    • \( \|C_1-C_2\| \) is the distance from Cell 1 to Cell 2
    • \( T(C) \) is the transmissivity of cell C, calculated by SoilType::Transmissivity
    • \( w \) is the width of the connection of the cells
    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -243,7 +255,7 @@

    real get_tracer_filter ( - ) + ) @@ -259,8 +271,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -271,8 +283,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -296,7 +307,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__coll__graph.map index 882d4071..a2385636 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__coll__graph.md5 index bf0c6fe3..f1061b4d 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__coll__graph.md5 @@ -1 +1 @@ -9ad44f4fe272599b099834ae943c4f73 \ No newline at end of file +9cf1235a2803d636e1b34e89f2544328 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__coll__graph.png index 6b88376a..74e5acac 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__inherit__graph.map index 98c25a6a..428f9927 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__inherit__graph.md5 index 53446f14..61898949 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__inherit__graph.md5 @@ -1 +1 @@ -da52868da5458aa2fcee9c26b0c01022 \ No newline at end of file +767b64ea849f7176b0d22ac747e348ae \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__inherit__graph.png index ce9793ce..31f37e3f 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic-members.html index f4d4236d..8409c19c 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    DarcyKinematic Member List
    +
    DarcyKinematic Member List

    This is the complete list of members for DarcyKinematic, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    DarcyKinematic(cmf::upslope::SoilLayer::ptr left, cmf::water::flux_node::ptr right, real FlowWidth, real Distance=0)DarcyKinematic
    DarcyKinematic(cmf::upslope::SoilLayer::ptr left, cmf::water::flux_node::ptr right, real FlowWidth, real Distance=0)DarcyKinematic
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    typeflux_connection

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic.html b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic.html index 36df167e..2ca3193b 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic.html @@ -2,33 +2,37 @@ - - - - -cmf: DarcyKinematic Class Reference - - - - + + + + + cmf: DarcyKinematic Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    DarcyKinematic Class Reference
    +
    DarcyKinematic Class Reference

    A simple kinemtic wave model for subsurface flux. - More...

    -
    + More...

    +
    + Inheritance diagram for DarcyKinematic:
    -
    +
    + Collaboration diagram for DarcyKinematic:

    Detailed Description

    @@ -134,63 +152,63 @@ \[ q = \frac{\Delta z_{surface}}{d} K(\theta)_{source} A_{cross} \]

    - - - + + - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

     DarcyKinematic (cmf::upslope::SoilLayer::ptr left, cmf::water::flux_node::ptr right, real FlowWidth, real Distance=0)
     Creates the connection. More...
     DarcyKinematic (cmf::upslope::SoilLayer::ptr left, cmf::water::flux_node::ptr right, real FlowWidth, real Distance=0)
     Creates the connection.
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Constructor & Destructor Documentation

    - -

    ◆ DarcyKinematic()

    + +

    ◆ DarcyKinematic()

    @@ -198,31 +216,22 @@

    DarcyKinematic ( - cmf::upslope::SoilLayer::ptr  - left, + cmf::upslope::SoilLayer::ptr left, - cmf::water::flux_node::ptr  - right, + cmf::water::flux_node::ptr right, - real  - FlowWidth, + real FlowWidth, - real  - Distance = 0  - - - - ) - + real Distance = 0 )

    @@ -241,8 +250,8 @@

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -292,7 +295,7 @@

    real get_tracer_filter ( - ) + ) @@ -308,8 +311,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -320,8 +323,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -345,7 +347,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__coll__graph.map index 9d0bcf9e..7837b90a 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__coll__graph.md5 index 9a9b15c0..9d2d7bea 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__coll__graph.md5 @@ -1 +1 @@ -963234076935e91f35e92fc66c743f59 \ No newline at end of file +f82e0be094fc9b85a65f14b49cc4428c \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__coll__graph.png index 2caf5bfd..472fc017 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__inherit__graph.map index 6c62d0ba..d617f3ad 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__inherit__graph.md5 index 4e1d2ef5..de41c9b0 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__inherit__graph.md5 @@ -1 +1 @@ -1331e5bb6f6a5e2b0904c0e98fbaf463 \ No newline at end of file +35120da19673f846325373d41ed737d1 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__inherit__graph.png index 24d8134b..3a08547d 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_darcy_kinematic__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange-members.html index c6791617..54f148aa 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    DiffusiveMacroMicroExchange Member List
    +
    DiffusiveMacroMicroExchange Member List

    This is the complete list of members for DiffusiveMacroMicroExchange, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    omegaDiffusiveMacroMicroExchange
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    typeflux_connection

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange.html b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange.html index 8bc7f751..25a86ab8 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange.html @@ -2,33 +2,37 @@ - - - - -cmf: DiffusiveMacroMicroExchange Class Reference - - - - + + + + + cmf: DiffusiveMacroMicroExchange Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    - +
    -

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

    -
    +

    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)

    +

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

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

    @@ -139,64 +154,64 @@

    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. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    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
    +real omega
     \(\omega\) is the exchange rate in \(day^{-1}\)
     
    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -246,7 +255,7 @@

    real get_tracer_filter ( - ) + ) @@ -262,8 +271,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -274,8 +283,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -299,7 +307,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__coll__graph.map index 9fe9d045..48daea7d 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__coll__graph.md5 index a1441776..0796841f 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__coll__graph.md5 @@ -1 +1 @@ -3481be8e1f281817c07e0079893ae271 \ No newline at end of file +47ca307db18efc906066be3a558e56b7 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__coll__graph.png index faaa169e..5282e232 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__inherit__graph.map index 9fe9d045..48daea7d 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__inherit__graph.md5 index fcd97596..0796841f 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__inherit__graph.md5 @@ -1 +1 @@ -9e13d798f12555934a51a8b1a145ccac \ No newline at end of file +47ca307db18efc906066be3a558e56b7 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__inherit__graph.png index faaa169e..5282e232 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_macro_micro_exchange__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff-members.html index f32b6245..43b89696 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    DiffusiveSurfaceRunoff Member List
    +
    DiffusiveSurfaceRunoff Member List

    This is the complete list of members for DiffusiveSurfaceRunoff, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff.html b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff.html index d9763b8b..5db0dc93 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff.html @@ -2,33 +2,37 @@ - - - - -cmf: DiffusiveSurfaceRunoff Class Reference - - - - + + + + + cmf: DiffusiveSurfaceRunoff Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    DiffusiveSurfaceRunoff Class Reference
    +
    DiffusiveSurfaceRunoff Class Reference
    -

    A connection to route water from a SurfaceWater storage to another node following the gradient of the water level. - More...

    -
    +

    A connection to route water from a SurfaceWater storage to another node following the gradient of the water level. + More...

    +
    + Inheritance diagram for DiffusiveSurfaceRunoff:
    -
    +
    + Collaboration diagram for DiffusiveSurfaceRunoff:

    Detailed Description

    -

    A connection to route water from a SurfaceWater storage to another node following the gradient of the water level.

    +

    A connection to route water from a SurfaceWater storage to another node following the gradient of the water level.

    \[q_{runoff} = A_{cross} d_{eff}^{2/3} \frac{\sqrt{S}}{n}\]

    @@ -148,62 +164,64 @@
  • \(S = \|\frac{\Delta h\|}{d}\) the slope between surfacewater center potential and the target node potential
  • \(n\) the manning roughness
  • -

    The DiffusiveSurfaceRunoff can be used as a cell connecting flux as in:

    cmf.connect_cells_with_flux(p, cmf.DiffusiveSurfaceRunoff)

    This results in a connection of the surfacewater storage of each cell with the surface water storages of its neighbors see

    +

    The DiffusiveSurfaceRunoff can be used as a cell connecting flux as in:

    cmf.connect_cells_with_flux(p, cmf.DiffusiveSurfaceRunoff)
    +
    connect_cells_with_flux(cells, connection, start_at_layer=0)
    Definition __init__.py:30
    +

    This results in a connection of the surfacewater storage of each cell with the surface water storages of its neighbors see

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -253,7 +265,7 @@

    real get_tracer_filter ( - ) + ) @@ -269,8 +281,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -281,8 +293,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -306,7 +317,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__coll__graph.map index 2d9bac8f..49d25213 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__coll__graph.md5 index fc3415bd..2aecdec4 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__coll__graph.md5 @@ -1 +1 @@ -efe5d9b2054faa2b3b2213db1ad9819e \ No newline at end of file +b03f4cf66b2148d50a98b409551bae06 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__coll__graph.png index 3f498057..8b965252 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__inherit__graph.map index 3f8a5200..e0f2d28e 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__inherit__graph.md5 index 4a82201c..6a6284a8 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__inherit__graph.md5 @@ -1 +1 @@ -b40dd3f1611348f1a0fbfbc2b3eaf5ab \ No newline at end of file +21dc002fba2f561f6bdea406595d2e72 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__inherit__graph.png index 42e326f3..819b55ff 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_diffusive_surface_runoff__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt-members.html index 9b06d1f0..e42fd004 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    EnergyBudgetSnowMelt Member List
    +
    EnergyBudgetSnowMelt Member List

    This is the complete list of members for EnergyBudgetSnowMelt, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    use_for_cell(cmf::upslope::Cell &cell)EnergyBudgetSnowMeltstatic
    use_for_cell(cmf::upslope::Cell &cell)EnergyBudgetSnowMeltstatic

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt.html b/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt.html index 81bc11f4..34b9c4fa 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt.html @@ -2,33 +2,37 @@ - - - - -cmf: EnergyBudgetSnowMelt Class Reference - - - - + + + + + cmf: EnergyBudgetSnowMelt Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    EnergyBudgetSnowMelt Class Reference
    +
    EnergyBudgetSnowMelt Class Reference

    Calculates snow melt using the surface energy budget method. - More...

    -
    + More...

    +
    + Inheritance diagram for EnergyBudgetSnowMelt:
    -
    +
    + Collaboration diagram for EnergyBudgetSnowMelt:

    Detailed Description

    Calculates snow melt using the surface energy budget method.

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - - + +

    +

    Static Public Member Functions

    static void use_for_cell (cmf::upslope::Cell &cell)
     Creates the connection between snow and surface water. More...
    static void use_for_cell (cmf::upslope::Cell &cell)
     Creates the connection between snow and surface water.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -240,7 +251,7 @@

    real get_tracer_filter ( - ) + ) @@ -256,8 +267,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -268,8 +279,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -285,8 +295,8 @@

    -

    ◆ use_for_cell()

    + +

    ◆ use_for_cell()

    @@ -297,8 +307,7 @@

    static void use_for_cell ( - cmf::upslope::Cell &  - cell) + cmf::upslope::Cell & cell) @@ -322,7 +331,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__coll__graph.map index c5d2f3f2..d89ae89a 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__coll__graph.md5 index 5fd32c1d..c3db8e47 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__coll__graph.md5 @@ -1 +1 @@ -50b4d57f410b612b73dc456f6b36256b \ No newline at end of file +dc0f0b1e993986a9e7f12f6df13268f8 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__coll__graph.png index de35bc34..3001f11b 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__inherit__graph.map index ca433781..bb7cffe4 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__inherit__graph.md5 index 1e6dbbc8..062f2867 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__inherit__graph.md5 @@ -1 +1 @@ -134de8f02c4a0572ffe6e27e29b4aab3 \ No newline at end of file +f710ec69db42328c803421ffff9f7b2c \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__inherit__graph.png index 8e580f83..9f294b08 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_energy_budget_snow_melt__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation-members.html index cd3bf58a..4be7061c 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    FreeDrainagePercolation Member List
    +
    FreeDrainagePercolation Member List

    This is the complete list of members for FreeDrainagePercolation, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation.html b/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation.html index f169a6c8..c6361320 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation.html @@ -2,33 +2,37 @@ - - - - -cmf: FreeDrainagePercolation Class Reference - - - - + + + + + cmf: FreeDrainagePercolation Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    FreeDrainagePercolation Class Reference
    +
    FreeDrainagePercolation Class Reference

    Calculates a free drainage (unit gradient) from a layer to somewhere else. - More...

    -
    + More...

    +
    + Inheritance diagram for FreeDrainagePercolation:
    -
    +
    + Collaboration diagram for FreeDrainagePercolation:

    Detailed Description

    @@ -133,63 +148,63 @@

    where:

    • \(q\) Flux from the layer to the other side of the connection in \(m^3/day\)
    • \(K(\theta)\) Actual conductivity in \(m/day\) depending on the water content of the layer \(\theta\)
    • -
    • \(A\) Cell area in \(m^2\)
    • +
    • \(A\) Cell area in \(m^2\)
    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -239,7 +248,7 @@

    real get_tracer_filter ( - ) + ) @@ -255,8 +264,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -267,8 +276,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -292,7 +300,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__coll__graph.map index b93f9124..ad3b7e41 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__coll__graph.md5 index 032c6b32..b71dc576 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__coll__graph.md5 @@ -1 +1 @@ -a62a70a8ea0cb6788defc0eb6c3d04f9 \ No newline at end of file +42555be11db81988bdd95fd82e24b5a2 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__coll__graph.png index d294547c..f1390574 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__inherit__graph.map index b93f9124..ad3b7e41 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__inherit__graph.md5 index 0c5e110f..b71dc576 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__inherit__graph.md5 @@ -1 +1 @@ -501c5695cce339c57b0753b35350df08 \ No newline at end of file +42555be11db81988bdd95fd82e24b5a2 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__inherit__graph.png index d294547c..f1390574 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_free_drainage_percolation__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_flow-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_flow-members.html index a381154d..6e16625e 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_flow-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_flow-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    GradientMacroFlow Member List
    +
    GradientMacroFlow Member List

    This is the complete list of members for GradientMacroFlow, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_flow.html b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_flow.html index e24cdd24..bb5b5236 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_flow.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_flow.html @@ -2,33 +2,37 @@ - - - - -cmf: GradientMacroFlow Class Reference - - - - + + + + + cmf: GradientMacroFlow Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    - +

    Gradient based flux from macro pore to macro pore. - More...

    + More...

    Inherits BaseMacroFlow.

    Detailed Description

    Gradient based flux from macro pore to macro pore.

    -
    Deprecated:
    The MacroPore model is still very experimental and not stable. Only for tryouts!
    +
    Deprecated
    The MacroPore model is still very experimental and not stable. Only for tryouts!

    -\[ q = K(\theta) \frac{\Delta \Psi}{\Delta z} \] +\[ + q = K(\theta) \frac{\Delta \Psi}{\Delta z} + \]

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -217,7 +224,7 @@

    real get_tracer_filter ( - ) + ) @@ -233,8 +240,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -245,8 +252,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -270,7 +276,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange-members.html index a55bddc9..794895ca 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    GradientMacroMicroExchange Member List
    +
    GradientMacroMicroExchange Member List

    This is the complete list of members for GradientMacroMicroExchange, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange.html b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange.html index 1307ca5f..fce58cbb 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange.html @@ -2,33 +2,37 @@ - - - - -cmf: GradientMacroMicroExchange Class Reference - - - - + + + + + cmf: GradientMacroMicroExchange Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    - +

    A gradient based exchange term between macropores and micropores, using a fixed (air-) potential for macropores. - More...

    -
    + More...

    +
    + Inheritance diagram for GradientMacroMicroExchange:
    -
    +
    + Collaboration diagram for GradientMacroMicroExchange:

    Detailed Description

    A gradient based exchange term between macropores and micropores, using a fixed (air-) potential for macropores.

    -\[q = K \frac{\Delta\Psi}{d/2} A \] +\[q = K \frac{\Delta\Psi}{d/2} A \]

    where:

    • \(K\) The conductivity of the aggregate boundary
    • \(\Delta\Psi\) The potential difference. Using the air potential as the constant potential for the macro pores, you get: \(\Delta\Psi = \Psi_M(\theta_{micro})\)
    • \(d\) the mean aggregate size in m
    • -
    • \(A\) the crosssection area, given as the flow width (cmf::upslope::MacroPore::get_flowwidth) times layer thickness
    • +
    • \(A\) the crosssection area, given as the flow width (cmf::upslope::MacroPore::get_flowwidth) times layer thickness
    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -240,7 +249,7 @@

    real get_tracer_filter ( - ) + ) @@ -256,8 +265,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -268,8 +277,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -293,7 +301,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__coll__graph.map index b1a5c931..a6073ef1 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__coll__graph.md5 index 6303ad59..c9730ceb 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__coll__graph.md5 @@ -1 +1 @@ -c023e924dfdcef622ea08320e7f44e41 \ No newline at end of file +db1c08103420600439f9acb677975137 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__coll__graph.png index 1cb9ca52..2587405b 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__inherit__graph.map index b1a5c931..a6073ef1 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__inherit__graph.md5 index d2c251a0..c9730ceb 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__inherit__graph.md5 @@ -1 +1 @@ -31851082f0a22283535d6bb45ebb8110 \ No newline at end of file +db1c08103420600439f9acb677975137 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__inherit__graph.png index 1cb9ca52..2587405b 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_gradient_macro_micro_exchange__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration-members.html index f0851101..7c503569 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    GreenAmptInfiltration Member List
    +
    GreenAmptInfiltration Member List

    This is the complete list of members for GreenAmptInfiltration, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    use_for_cell(cmf::upslope::Cell &c)GreenAmptInfiltrationstatic
    use_for_cell(cmf::upslope::Cell &c)GreenAmptInfiltrationstatic

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration.html b/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration.html index bcb1f422..85f61171 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration.html @@ -2,33 +2,37 @@ - - - - -cmf: GreenAmptInfiltration Class Reference - - - - + + + + + cmf: GreenAmptInfiltration Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    GreenAmptInfiltration Class Reference
    +
    GreenAmptInfiltration Class Reference

    Connects the surfacewater and the most upper layer using a Green-Ampt equation like infiltration. - More...

    -
    + More...

    +
    + Inheritance diagram for GreenAmptInfiltration:
    -
    +
    + Collaboration diagram for GreenAmptInfiltration:

    Detailed Description

    @@ -152,74 +167,74 @@
  • \(F\) the accumulated volume per area of infiltrated water
  • \(\theta_s, \theta_i\) the volumetric water content at saturation resp. at start of the infiltration
  • -

    If the surface water is modeled by a distinct water storage, the actual infiltration is given as the product of the potential infiltration with the coverage of the surface water cmf::upslope::Cell::surface_water_coverage

    +

    If the surface water is modeled by a distinct water storage, the actual infiltration is given as the product of the potential infiltration with the coverage of the surface water cmf::upslope::Cell::surface_water_coverage

    \[q_{act} = q_{max} \frac{A_{water}}{A_{cell}}\]

    If the surface water is no storage on its own, but just a water distribution node, the actual infiltration is the minimum of the potential infiltration and the current inflow (rain, snow melt) to the surface

    \[q_{act} = \min\left(q_{max}, \sum{q_{in,surfacewater}}\right)\]

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Static Public Member Functions

    -static void use_for_cell (cmf::upslope::Cell &c)
    +static void use_for_cell (cmf::upslope::Cell &c)
     Creates the connection between surfacewater and first soil layer.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -269,7 +278,7 @@

    real get_tracer_filter ( - ) + ) @@ -285,8 +294,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -297,8 +306,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -322,7 +330,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__coll__graph.map index e0f627fe..0d615928 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__coll__graph.md5 index 5d6cd4b9..4d941083 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__coll__graph.md5 @@ -1 +1 @@ -3470a4df62413e69eac1b4525daf1582 \ No newline at end of file +679ecd3b3472efcb5315e0c12963dbeb \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__coll__graph.png index 1f52f256..4082d4ec 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__inherit__graph.map index e0f627fe..0d615928 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__inherit__graph.md5 index 5014d972..4d941083 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__inherit__graph.md5 @@ -1 +1 @@ -1bc51b478af63894f649ac464dc1e9de \ No newline at end of file +679ecd3b3472efcb5315e0c12963dbeb \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__inherit__graph.png index 1f52f256..4082d4ec 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_green_ampt_infiltration__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_jarvis_macro_flow-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_jarvis_macro_flow-members.html index 7e056678..63c0fcf6 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_jarvis_macro_flow-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_jarvis_macro_flow-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    JarvisMacroFlow Member List
    +
    JarvisMacroFlow Member List

    This is the complete list of members for JarvisMacroFlow, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    JarvisMacroFlow(cmf::water::WaterStorage::ptr left, cmf::water::flux_node::ptr right, real beta=1., real porefraction_r=0.0)JarvisMacroFlow
    kill_me()flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    typeflux_connection

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_jarvis_macro_flow.html b/docs/classcmf_1_1upslope_1_1connections_1_1_jarvis_macro_flow.html index 96d4db2d..469e6604 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_jarvis_macro_flow.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_jarvis_macro_flow.html @@ -2,33 +2,37 @@ - - - - -cmf: JarvisMacroFlow Class Reference - - - - + + + + + cmf: JarvisMacroFlow Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    - +

    A physically based macropore to macropore connection according to Jarvis & Leeds-Harrison 1987, JSS. - More...

    + More...

    Inherits BaseMacroFlow.

    Detailed Description

    @@ -124,63 +135,63 @@
  • \(\beta [-]\) a conceptional exponent to shape the flow reaction
  • - - - + + - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

     JarvisMacroFlow (cmf::water::WaterStorage::ptr left, cmf::water::flux_node::ptr right, real beta=1., real porefraction_r=0.0)
     Constructs the connection. More...
     JarvisMacroFlow (cmf::water::WaterStorage::ptr left, cmf::water::flux_node::ptr right, real beta=1., real porefraction_r=0.0)
     Constructs the connection.
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Constructor & Destructor Documentation

    - -

    ◆ JarvisMacroFlow()

    + +

    ◆ JarvisMacroFlow()

    @@ -188,31 +199,22 @@

    JarvisMacroFlow ( - cmf::water::WaterStorage::ptr  - left, + cmf::water::WaterStorage::ptr left, - cmf::water::flux_node::ptr  - right, + cmf::water::flux_node::ptr right, - real  - beta = 1., + real beta = 1., - real  - porefraction_r = 0.0  - - - - ) - + real porefraction_r = 0.0 )

    @@ -230,8 +232,8 @@

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -281,7 +277,7 @@

    real get_tracer_filter ( - ) + ) @@ -297,8 +293,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -309,8 +305,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -334,7 +329,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_macro_flow-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_macro_flow-members.html index b70d3279..3c28fbec 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_macro_flow-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_macro_flow-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    KinematicMacroFlow Member List
    +
    KinematicMacroFlow Member List

    This is the complete list of members for KinematicMacroFlow, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    KinematicMacroFlow(cmf::water::WaterStorage::ptr left, cmf::water::flux_node::ptr right, real beta=1.)KinematicMacroFlow
    KinematicMacroFlow(cmf::water::WaterStorage::ptr left, cmf::water::flux_node::ptr right, real beta=1.)KinematicMacroFlow
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    typeflux_connection

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_macro_flow.html b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_macro_flow.html index 743a9d5d..a7e49523 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_macro_flow.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_macro_flow.html @@ -2,33 +2,37 @@ - - - - -cmf: KinematicMacroFlow Class Reference - - - - + + + + + cmf: KinematicMacroFlow Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    - +

    Linear storage based flux from macro pore to macro pore. - More...

    + More...

    Inherits BaseMacroFlow.

    Detailed Description

    Linear storage based flux from macro pore to macro pore.

    -
    Deprecated:
    The MacroPore model is still very experimental and not stable. Only for tryouts!
    +
    Deprecated
    The MacroPore model is still very experimental and not stable. Only for tryouts!

    -\[ q = A_{cell} K_{macro} \left(\frac{V_{upper}}{C_{upper}}\right)^\beta \left(1-\frac{V_{lower}}{C_{lower}}\right) \] +\[ +q = A_{cell} K_{macro} \left(\frac{V_{upper}}{C_{upper}}\right)^\beta \left(1-\frac{V_{lower}}{C_{lower}}\right) +\]

    where:

    • \(A_{cell}\) is the area of the owning cell in m2
    • @@ -120,63 +133,63 @@
    • \(C\) is the capacity of the upper resp. lower macro pore storage
    - - - + + - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

     KinematicMacroFlow (cmf::water::WaterStorage::ptr left, cmf::water::flux_node::ptr right, real beta=1.)
     Creates the connection. More...
     KinematicMacroFlow (cmf::water::WaterStorage::ptr left, cmf::water::flux_node::ptr right, real beta=1.)
     Creates the connection.
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Constructor & Destructor Documentation

    - -

    ◆ KinematicMacroFlow()

    + +

    ◆ KinematicMacroFlow()

    @@ -184,25 +197,17 @@

    KinematicMacroFlow ( - cmf::water::WaterStorage::ptr  - left, + cmf::water::WaterStorage::ptr left, - cmf::water::flux_node::ptr  - right, + cmf::water::flux_node::ptr right, - real  - beta = 1.  - - - - ) - + real beta = 1. )

    @@ -215,13 +220,13 @@

    Note
    Either left or right needs to be a MacroPore, left needs to be a water storage

    +
    Note
    Either left or right needs to be a MacroPore, left needs to be a water storage

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -271,7 +270,7 @@

    real get_tracer_filter ( - ) + ) @@ -287,8 +286,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -299,8 +298,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -324,7 +322,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff-members.html index b7cb6de4..bd1b0b1c 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    KinematicSurfaceRunoff Member List
    +
    KinematicSurfaceRunoff Member List

    This is the complete list of members for KinematicSurfaceRunoff, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    KinematicSurfaceRunoff(cmf::upslope::SurfaceWater::ptr left, cmf::water::flux_node::ptr right, real flowwidth, real distance=-1)KinematicSurfaceRunoff
    KinematicSurfaceRunoff(cmf::upslope::SurfaceWater::ptr left, cmf::water::flux_node::ptr right, real flowwidth, real distance=-1)KinematicSurfaceRunoff
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    typeflux_connection

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff.html b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff.html index f18b6199..c477dacf 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff.html @@ -2,33 +2,37 @@ - - - - -cmf: KinematicSurfaceRunoff Class Reference - - - - + + + + + cmf: KinematicSurfaceRunoff Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    KinematicSurfaceRunoff Class Reference
    +
    KinematicSurfaceRunoff Class Reference
    -

    A connection to route water from a SurfaceWater storage to another node following a topographic gradient. - More...

    -
    +

    A connection to route water from a SurfaceWater storage to another node following a topographic gradient. + More...

    +
    + Inheritance diagram for KinematicSurfaceRunoff:
    -
    +
    + Collaboration diagram for KinematicSurfaceRunoff:

    Detailed Description

    -

    A connection to route water from a SurfaceWater storage to another node following a topographic gradient.

    +

    A connection to route water from a SurfaceWater storage to another node following a topographic gradient.

    \[q_{runoff} = A_{cross} d_{eff}^{2/3} \frac{\sqrt{S}}{n}\]

    @@ -145,65 +161,67 @@
  • \(S = \|\frac{\Delta z\|}{d}\) the slope between surfacewater center and the target node
  • \(n\) the manning roughness
  • -

    The KinematicSurfaceRunoff can be used as a cell connecting flux as in:

    cmf.connect_cells_with_flux(p, cmf.KinematicSurfaceRunoff)

    This results in a connection of the surfacewater storage of each cell with the surface water storages of its neighbors see

    +

    The KinematicSurfaceRunoff can be used as a cell connecting flux as in:

    cmf.connect_cells_with_flux(p, cmf.KinematicSurfaceRunoff)
    +
    connect_cells_with_flux(cells, connection, start_at_layer=0)
    Definition __init__.py:30
    +

    This results in a connection of the surfacewater storage of each cell with the surface water storages of its neighbors see

    - - - + + - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

     KinematicSurfaceRunoff (cmf::upslope::SurfaceWater::ptr left, cmf::water::flux_node::ptr right, real flowwidth, real distance=-1)
     Creates a KinematicSurfaceRunoff between a SurfaceWater (left) with another (right) node. More...
     KinematicSurfaceRunoff (cmf::upslope::SurfaceWater::ptr left, cmf::water::flux_node::ptr right, real flowwidth, real distance=-1)
     Creates a KinematicSurfaceRunoff between a SurfaceWater (left) with another (right) node.
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Constructor & Destructor Documentation

    - -

    ◆ KinematicSurfaceRunoff()

    + +

    ◆ KinematicSurfaceRunoff()

    @@ -211,36 +229,27 @@

    KinematicSurfaceRunoff ( - cmf::upslope::SurfaceWater::ptr  - left, + cmf::upslope::SurfaceWater::ptr left, - cmf::water::flux_node::ptr  - right, + cmf::water::flux_node::ptr right, - real  - flowwidth, + real flowwidth, - real  - distance = -1  - - - - ) - + real distance = -1 )

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -305,7 +308,7 @@

    real get_tracer_filter ( - ) + ) @@ -321,8 +324,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -333,8 +336,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -358,7 +360,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__coll__graph.map index 0bcb6a46..daf7369d 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__coll__graph.md5 index e551ff48..3c44c57f 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__coll__graph.md5 @@ -1 +1 @@ -eb684c18cc95993b951ec7a03ab93f84 \ No newline at end of file +ff4645b382172f87d5a79b07a3cc0888 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__coll__graph.png index 8cc374d0..1856026e 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__inherit__graph.map index 8b066235..d9045253 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__inherit__graph.md5 index 9d322e60..4f15cfe3 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__inherit__graph.md5 @@ -1 +1 @@ -e82fb3603a10c4e6f3b974f972f7ddfd \ No newline at end of file +8076c83a36b9e548e9fbad842565b294 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__inherit__graph.png index 95b9ea1a..d587a8e8 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_kinematic_surface_runoff__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass-members.html index 0da594ab..4e76df60 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,37 +93,43 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    LayerBypass Member List
    +
    LayerBypass Member List

    This is the complete list of members for LayerBypass, including all inherited members.

    - + - + - + - + - + - + - + - + - +
    betaLayerBypass
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    K(real w)LayerBypass
    K(real w)LayerBypass
    kill_me()flux_connection
    KmaxLayerBypass
    KmaxLayerBypass
    LayerBypass(cmf::water::flux_node::ptr left, cmf::upslope::SoilLayer::ptr right, real Kmax=100., real w0=0.0, real beta=1.0)LayerBypass
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    w0LayerBypass
    w0LayerBypass

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass.html b/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass.html index aa71278c..e2d744ac 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass.html @@ -2,33 +2,37 @@ - - - - -cmf: LayerBypass Class Reference - - - - + + + + + cmf: LayerBypass Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    LayerBypass Class Reference
    +
    LayerBypass Class Reference

    A simplification of macro pore flux for swelling soils. - More...

    -
    + More...

    +
    + Inheritance diagram for LayerBypass:
    -
    +
    + Collaboration diagram for LayerBypass:

    Detailed Description

    @@ -139,77 +154,77 @@
  • \(A\) is the area of the cell
  • - - - + + - - + + - + - + - - + + - + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

     LayerBypass (cmf::water::flux_node::ptr left, cmf::upslope::SoilLayer::ptr right, real Kmax=100., real w0=0.0, real beta=1.0)
     Creates a layer bypass connection. More...
     LayerBypass (cmf::water::flux_node::ptr left, cmf::upslope::SoilLayer::ptr right, real Kmax=100., real w0=0.0, real beta=1.0)
     Creates a layer bypass connection.
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    real K (real w)
    real K (real w)
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - + - + - + - +

    +

    Public Attributes

    -real beta
    +real beta
     is an empirical shape parameter of the crack size/wetness relation
     
    -real Kmax
    +real Kmax
     maximum conductivity of the cracks in m/day
     
    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     
    -real w0
    +real w0
     is the actual wetness of the target layer
     

    Constructor & Destructor Documentation

    - -

    ◆ LayerBypass()

    + +

    ◆ LayerBypass()

    @@ -217,37 +232,27 @@

    LayerBypass ( - cmf::water::flux_node::ptr  - left, + cmf::water::flux_node::ptr left, - cmf::upslope::SoilLayer::ptr  - right, + cmf::upslope::SoilLayer::ptr right, - real  - Kmax = 100., + real Kmax = 100., - real  - w0 = 0.0, + real w0 = 0.0, - real  - beta = 1.0  - - - - ) - + real beta = 1.0 )

    @@ -267,8 +272,8 @@

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -318,7 +317,7 @@

    real get_tracer_filter ( - ) + ) @@ -334,8 +333,8 @@

    -

    ◆ K()

    + +

    ◆ K()

    @@ -343,8 +342,7 @@

    real K ( - real  - w) + real w) @@ -359,8 +357,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -371,8 +369,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -396,7 +393,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__coll__graph.map index 5f790f02..5fac952b 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__coll__graph.md5 index e0b830ae..470d2e1c 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__coll__graph.md5 @@ -1 +1 @@ -ccbab5c0252765dd5dc5f18af71c2797 \ No newline at end of file +f2bf879d76bb4a7e6df3553fd4d124a1 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__coll__graph.png index 574ca76c..4a28cb22 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__inherit__graph.map index 5f790f02..5fac952b 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__inherit__graph.md5 index 3a32f307..470d2e1c 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__inherit__graph.md5 @@ -1 +1 @@ -613c217635c18a1d6e6870fdf2acbc89 \ No newline at end of file +f2bf879d76bb4a7e6df3553fd4d124a1 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__inherit__graph.png index 574ca76c..4a28cb22 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_layer_bypass__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange-members.html index 6433cb40..11357b63 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    MACROlikeMacroMicroExchange Member List
    +
    MACROlikeMacroMicroExchange Member List

    This is the complete list of members for MACROlikeMacroMicroExchange, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    gamma_wMACROlikeMacroMicroExchange
    get_target(const flux_node &inquirer)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    GfMACROlikeMacroMicroExchange
    GfMACROlikeMacroMicroExchange
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -124,7 +135,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange.html b/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange.html index a3c31853..2dd131c1 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange.html @@ -2,33 +2,37 @@ - - - - -cmf: MACROlikeMacroMicroExchange Class Reference - - - - + + + + + cmf: MACROlikeMacroMicroExchange Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    - +

    This connection models the water exchange between macropores and micropores as in the MACRO Model (Larsbo & Jarvis, 2003), which follows Gerke & van Genuchten 1996. - More...

    -
    + More...

    +
    + Inheritance diagram for MACROlikeMacroMicroExchange:
    -
    +
    + Collaboration diagram for MACROlikeMacroMicroExchange:

    Detailed Description

    This connection models the water exchange between macropores and micropores as in the MACRO Model (Larsbo & Jarvis, 2003), which follows Gerke & van Genuchten 1996.

    Warning
    -
    Deprecated:
    This connection uses the diffusivity of a soil given by its retention curve. Since no retention curve provides a valid value for Diffusivity in case of saturation this connection will blow up the numerical solution for sure.
    +
    Deprecated
    This connection uses the diffusivity of a soil given by its retention curve. Since no retention curve provides a valid value for Diffusivity in case of saturation this connection will blow up the numerical solution for sure.

    The exchange between Macropore and matrix is defined as follows: (MACRO 5 Tech report, Larsbo & Jarvis 2003)

    \[q = \frac{G_f D_w \gamma_w}{d^2}(\theta_b - \theta_{mi}) V_{layer}\] @@ -145,67 +160,67 @@

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - + - - + + - +

    +

    Public Attributes

    -real gamma_w
    +real gamma_w
     \(\gamma_w\) scaling factor set to 0.4. See Gerke & van Genuchten 1993 and van Genuchten 1985 for reference
     
    real Gf
     Geometry factor. More...
    real Gf
     Geometry factor.
     
    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -255,7 +264,7 @@

    real get_tracer_filter ( - ) + ) @@ -271,8 +280,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -283,8 +292,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -301,8 +309,8 @@

    Member Data Documentation

    - -

    ◆ Gf

    + +

    ◆ Gf

    @@ -326,7 +334,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__coll__graph.map index 34e418ea..50d28537 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__coll__graph.md5 index b1d3c056..49f35ff4 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__coll__graph.md5 @@ -1 +1 @@ -18522dbbb969dc8d2c255b83690a52c4 \ No newline at end of file +49679c94f316a72f4dc82646dfdebf38 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__coll__graph.png index d2df2f2a..9a2fb1aa 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__inherit__graph.map index 34e418ea..50d28537 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__inherit__graph.md5 index 12abb928..49f35ff4 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__inherit__graph.md5 @@ -1 +1 @@ -e9912fa3377b030422eb4cd5052c99a6 \ No newline at end of file +49679c94f316a72f4dc82646dfdebf38 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__inherit__graph.png index d2df2f2a..9a2fb1aa 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_m_a_c_r_olike_macro_micro_exchange__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration-members.html index 0f0efd2d..30493e2f 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    MatrixInfiltration Member List
    +
    MatrixInfiltration Member List

    This is the complete list of members for MatrixInfiltration, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    use_for_cell(cmf::upslope::Cell &c)MatrixInfiltrationstatic
    use_for_cell(cmf::upslope::Cell &c)MatrixInfiltrationstatic

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration.html b/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration.html index abcfca59..bcc23354 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration.html @@ -2,33 +2,37 @@ - - - - -cmf: MatrixInfiltration Class Reference - - - - + + + + + cmf: MatrixInfiltration Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    MatrixInfiltration Class Reference
    +
    MatrixInfiltration Class Reference
    -

    Connects the surfacewater and the most upper layer using a Richards equation like infiltration model. - More...

    -
    +

    Connects the surfacewater and the most upper layer using a Richards equation like infiltration model. + More...

    +
    + Inheritance diagram for MatrixInfiltration:
    -
    +
    + Collaboration diagram for MatrixInfiltration:

    Detailed Description

    -

    Connects the surfacewater and the most upper layer using a Richards equation like infiltration model.

    -

    The potential infiltration is calculated according to the Richards equation. The gradient is from the cell surface to the center of the first layer and the conductivity is the geometric mean of the wetted surface ( \(K_{sat}\)) and the conductivity of the layer center ( \(K(\theta_{layer})\)

    -\begin{eqnarray*} q_{max} &=& \frac{\Psi_{surface} - \Psi_{soil}}{\Delta z} K A_{cell} \\ K &=& \sqrt{K\left(\theta_{layer}\right)K_{sat}} \\ \Delta z &=& z_{cell} - z_{layer center} \end{eqnarray*} +

    Connects the surfacewater and the most upper layer using a Richards equation like infiltration model.

    +

    The potential infiltration is calculated according to the Richards equation. The gradient is from the cell surface to the center of the first layer and the conductivity is the geometric mean of the wetted surface ( \(K_{sat}\)) and the conductivity of the layer center ( \(K(\theta_{layer})\)

    +\begin{eqnarray*} +q_{max} &=& \frac{\Psi_{surface} - \Psi_{soil}}{\Delta z} K A_{cell} \\ +K &=& \sqrt{K\left(\theta_{layer}\right)K_{sat}} \\ +\Delta z &=& z_{cell} - z_{layer center} +\end{eqnarray*}

    -

    If the surface water is modeled by a distinct water storage, the actual infiltration is given as the product of the potential infiltration with the coverage of the surface water cmf::upslope::Cell::surface_water_coverage

    +

    If the surface water is modeled by a distinct water storage, the actual infiltration is given as the product of the potential infiltration with the coverage of the surface water cmf::upslope::Cell::surface_water_coverage

    \[q_{act} = q_{max} \frac{A_{water}}{A_{cell}}\]

    If the surface water is no storage on its own, but just a water distribution node, the actual infiltration is the minimum of the potential infiltration and the current inflow (rain, snow melt) to the surface

    \[q_{act} = \min\left(q_{max}, \sum{q_{in,surfacewater}}\right)\]

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Static Public Member Functions

    -static void use_for_cell (cmf::upslope::Cell &c)
    +static void use_for_cell (cmf::upslope::Cell &c)
     Creates the connection between surfacewater and first soil layer.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -248,7 +261,7 @@

    real get_tracer_filter ( - ) + ) @@ -264,8 +277,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -276,8 +289,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -301,7 +313,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__coll__graph.map index 4b128408..0725a8a4 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__coll__graph.md5 index fc145ab5..6cda8bde 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__coll__graph.md5 @@ -1 +1 @@ -42b2a01f06bb94e892039ba2a1a59b09 \ No newline at end of file +0b651213a1bfdfba11dec647d10483a2 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__coll__graph.png index 172952c5..37ce8be7 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__inherit__graph.map index 4b128408..0725a8a4 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__inherit__graph.md5 index 013dc78d..6cda8bde 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__inherit__graph.md5 @@ -1 +1 @@ -a8e19ea2dd3b2979a7ade1ace8500210 \ No newline at end of file +0b651213a1bfdfba11dec647d10483a2 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__inherit__graph.png index 172952c5..37ce8be7 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_matrix_infiltration__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall-members.html index da08dd15..5e31dc94 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,35 +93,41 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Rainfall Member List
    +
    Rainfall Member List

    This is the complete list of members for Rainfall, including all inherited members.

    - + - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    InterceptedRainfallRainfall
    kill_me()flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    Rainfall(cmf::water::flux_node::ptr target, cmf::upslope::Cell &cell, bool getthroughfall=true, bool getintercepted=true)Rainfall
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    ThroughfallRainfall
    typeflux_connection
    typeflux_connection

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall.html b/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall.html index 0e58e4df..a1df691d 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall.html @@ -2,33 +2,37 @@ - - - - -cmf: Rainfall Class Reference - - - - + + + + + cmf: Rainfall Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Rainfall Class Reference
    +
    Rainfall Class Reference

    A connection routing rainfall to surface water and to an eventually existing canopy storage. - More...

    -
    + More...

    +
    + Inheritance diagram for Rainfall:
    -
    +
    + Collaboration diagram for Rainfall:

    Detailed Description

    A connection routing rainfall to surface water and to an eventually existing canopy storage.

    - - - + + - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    Rainfall (cmf::water::flux_node::ptr target, cmf::upslope::Cell &cell, bool getthroughfall=true, bool getintercepted=true)
     Creates a new Rainfall connection.
    Rainfall (cmf::water::flux_node::ptr target, cmf::upslope::Cell &cell, bool getthroughfall=true, bool getintercepted=true)
     Creates a new Rainfall connection.
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - + - + - +

    +

    Public Attributes

    -bool InterceptedRainfall
    +bool InterceptedRainfall
     Is true, if this connection routes interception.
     
    -bool Throughfall
    +bool Throughfall
     Is true, if this connection routes throughfall.
     
    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -245,7 +256,7 @@

    real get_tracer_filter ( - ) + ) @@ -261,8 +272,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -273,8 +284,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -298,7 +308,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__coll__graph.map index 702d27fc..5288adcf 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__coll__graph.md5 index 8f8f74dd..19b4df2f 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__coll__graph.md5 @@ -1 +1 @@ -2695a794d91a20066bacdb6df409637c \ No newline at end of file +4e73887d076fca51b434472721a60699 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__coll__graph.png index e6cf687b..03218316 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__inherit__graph.map index 1fddb5af..d492397d 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__inherit__graph.md5 index 16d6416b..bc35142b 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__inherit__graph.md5 @@ -1 +1 @@ -f5bf012140dfbc39261a8720d5e4bd00 \ No newline at end of file +27628cf777fd68c98f71289f3ca54499 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__inherit__graph.png index 2cd076db..08cebda6 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_rainfall__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_richards-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_richards-members.html index 869fdf81..edaa8793 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_richards-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_richards-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Richards Member List
    +
    Richards Member List

    This is the complete list of members for Richards, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    Richards(cmf::upslope::SoilLayer::ptr left, cmf::water::flux_node::ptr right)Richards
    right_node() constflux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    typeflux_connection
    use_for_cell(cmf::upslope::Cell &cell, bool no_override=true)Richardsstatic
    @@ -124,7 +135,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_richards.html b/docs/classcmf_1_1upslope_1_1connections_1_1_richards.html index 15c4d481..ac30f0ca 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_richards.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_richards.html @@ -2,33 +2,37 @@ - - - - -cmf: Richards Class Reference - - - - + + + + + cmf: Richards Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Richards Class Reference
    +
    Richards Class Reference
    -

    Calculates flow according to the Richards equation. - More...

    -
    +

    Calculates flow according to the Richards equation. + More...

    +
    + Inheritance diagram for Richards:
    -
    +
    + Collaboration diagram for Richards:

    Detailed Description

    -

    Calculates flow according to the Richards equation.

    +

    Calculates flow according to the Richards equation.

    -\begin{eqnarray*} q_{Richards} &=& \frac{\Delta\Psi_{tot}}{d} K(\theta) A \\ \Psi_{tot} &= &\Psi_{M}(\theta) + h \end{eqnarray*} +\begin{eqnarray*} +q_{Richards} &=& \frac{\Delta\Psi_{tot}}{d} K(\theta) A \\ +\Psi_{tot} &= &\Psi_{M}(\theta) + h +\end{eqnarray*}

    where

    • \( \Delta\Psi_{tot} [m]\) is the difference of the total water potentials of the two soil layers
    • @@ -140,70 +158,70 @@
    • \( h [m]\) is the height of a soil layer above sea level
    - - - + + - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    Richards (cmf::upslope::SoilLayer::ptr left, cmf::water::flux_node::ptr right)
     Creates a Richards equation connection between two soil layers (left and right, rather top and bottom) of the same cell.
    Richards (cmf::upslope::SoilLayer::ptr left, cmf::water::flux_node::ptr right)
     Creates a Richards equation connection between two soil layers (left and right, rather top and bottom) of the same cell.
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - - + +

    +

    Static Public Member Functions

    static void use_for_cell (cmf::upslope::Cell &cell, bool no_override=true)
     Connects all layers of the cell with the Richards equation. More...
    static void use_for_cell (cmf::upslope::Cell &cell, bool no_override=true)
     Connects all layers of the cell with the Richards equation.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -253,7 +265,7 @@

    real get_tracer_filter ( - ) + ) @@ -269,8 +281,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -281,8 +293,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -298,8 +309,8 @@

    -

    ◆ use_for_cell()

    + +

    ◆ use_for_cell()

    @@ -310,19 +321,12 @@

    static void use_for_cell ( - cmf::upslope::Cell &  - cell, + cmf::upslope::Cell & cell, - bool  - no_override = true  - - - - ) - + bool no_override = true ) @@ -332,8 +336,8 @@

    -

    Connects all layers of the cell with the Richards equation.

    -

    Connects all layers of the cell with the Richards equation. If no_override=true (default), then only unconnected layers will be connected. Existing connections will be replaced by Richards otherwise

    +

    Connects all layers of the cell with the Richards equation.

    +

    Connects all layers of the cell with the Richards equation. If no_override=true (default), then only unconnected layers will be connected. Existing connections will be replaced by Richards otherwise

    @@ -345,7 +349,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__coll__graph.map index a46fa26f..2243e579 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__coll__graph.md5 index 89a8761e..b7bd23f4 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__coll__graph.md5 @@ -1 +1 @@ -323784ac4c666a3efd1e3a3835039d21 \ No newline at end of file +e3e109561e05d1840f811740e3357724 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__coll__graph.png index 6eb18c64..39426f6d 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__inherit__graph.map index a46fa26f..2243e579 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__inherit__graph.md5 index 75f3424b..b7bd23f4 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__inherit__graph.md5 @@ -1 +1 @@ -4d79eacadcb0ffddabb04e9629f86a3f \ No newline at end of file +e3e109561e05d1840f811740e3357724 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__inherit__graph.png index 6eb18c64..39426f6d 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral-members.html index e2a0a5e1..5f5f45fa 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Richards_lateral Member List
    +
    Richards_lateral Member List

    This is the complete list of members for Richards_lateral, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    Richards_lateral(cmf::upslope::SoilLayer::ptr left, cmf::water::flux_node::ptr right, real FlowWidth=0, real Distance=0)Richards_lateral
    right_node() constflux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    typeflux_connection

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral.html b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral.html index 2adff533..25cf0932 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral.html @@ -2,33 +2,37 @@ - - - - -cmf: Richards_lateral Class Reference - - - - + + + + + cmf: Richards_lateral Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Richards_lateral Class Reference
    +
    Richards_lateral Class Reference
    -

    Calculates the flux using Richard's equation for adjacent layers

    -\[ q_{lat} = \frac{\Psi_1 - \Psi_2}{\|C_1-C_2\|} K(\theta) A \] -

    -

    where: - More...

    -
    +

    Calculates the flux using Richard's equation for adjacent layers. + More...

    +
    + Inheritance diagram for Richards_lateral:
    -
    +
    + Collaboration diagram for Richards_lateral:

    Detailed Description

    -

    Calculates the flux using Richard's equation for adjacent layers

    -\[ q_{lat} = \frac{\Psi_1 - \Psi_2}{\|C_1-C_2\|} K(\theta) A \] +

    Calculates the flux using Richard's equation for adjacent layers.

    +

    +\[ + q_{lat} = \frac{\Psi_1 - \Psi_2}{\|C_1-C_2\|} + K(\theta) A +\]

    -

    where:

    -
      +

      where:

      • \(q_{lat}\) the lateral flow in \(m^3/day\)
      • \(\Psi_i\) the head of node i
      • -
      • \( \|C_1-C_2\| \) is the distance from Cell 1 to Cell 2
      • +
      • \( \|C_1-C_2\| \) is the distance from Cell 1 to Cell 2
      • \(K(\theta_{1,2}) = \sqrt{K(\theta_1) K(\theta_2)}\)
      • \(A\) the crosssectional area of the interface between storages 1 and 2
    - - - + + - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

     Richards_lateral (cmf::upslope::SoilLayer::ptr left, cmf::water::flux_node::ptr right, real FlowWidth=0, real Distance=0)
     Creates the connection. More...
     Richards_lateral (cmf::upslope::SoilLayer::ptr left, cmf::water::flux_node::ptr right, real FlowWidth=0, real Distance=0)
     Creates the connection.
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Constructor & Destructor Documentation

    - -

    ◆ Richards_lateral()

    + +

    ◆ Richards_lateral()

    @@ -208,31 +226,22 @@

    Richards_lateral ( - cmf::upslope::SoilLayer::ptr  - left, + cmf::upslope::SoilLayer::ptr left, - cmf::water::flux_node::ptr  - right, + cmf::water::flux_node::ptr right, - real  - FlowWidth = 0, + real FlowWidth = 0, - real  - Distance = 0  - - - - ) - + real Distance = 0 )

    @@ -251,8 +260,8 @@

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -302,7 +305,7 @@

    real get_tracer_filter ( - ) + ) @@ -318,8 +321,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -330,8 +333,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -355,7 +357,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__coll__graph.map index 1bf068d8..b4446043 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__coll__graph.md5 index 23feca17..b0bb3247 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__coll__graph.md5 @@ -1 +1 @@ -c43e3d49bcec837b4719ce14fa54c63f \ No newline at end of file +03a97c11214403749b034007391d5be6 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__coll__graph.png index 6517621b..ea855318 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__inherit__graph.map index 725dfeab..7d5541a0 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__inherit__graph.md5 index 76a375ba..b1c63ea0 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__inherit__graph.md5 @@ -1 +1 @@ -2df9a95a3a7f901751d3b0241bf67a5f \ No newline at end of file +9fbfd85f1f149c716f2f10fceaa192a9 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__inherit__graph.png index 23a8b224..27818f0d 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_richards__lateral__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception-members.html index 08871e28..ec10cc33 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    RutterInterception Member List
    +
    RutterInterception Member List

    This is the complete list of members for RutterInterception, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    use_for_cell(cmf::upslope::Cell &cell)RutterInterceptionstatic
    use_for_cell(cmf::upslope::Cell &cell)RutterInterceptionstatic

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception.html b/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception.html index 49ace5fb..51632b38 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception.html @@ -2,33 +2,37 @@ - - - - -cmf: RutterInterception Class Reference - - - - + + + + + cmf: RutterInterception Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    RutterInterception Class Reference
    +
    RutterInterception Class Reference

    Interception storage overflow according to the Rutter and Morton (1977) model. - More...

    -
    + More...

    +
    + Inheritance diagram for RutterInterception:
    -
    +
    + Collaboration diagram for RutterInterception:

    Detailed Description

    @@ -141,69 +158,69 @@
  • \(q_{CO}(t)[\frac{m^3}{day}]\): The flux from canopy to the ground
  • \(P_{net}(t)[\frac{m^3}{day}]\): The flux from the rain to the canopy
  • \(V_{act}[mm]=1000 [mm/m] \frac{V_{canopy}[m^3]}{A_{cell} [m^2]}\) The stored water of the canopy in mm
  • -
  • \(V_{max}[mm]=c_{LAI}[mm]\cdot LAI\) The capacity of the canopy in mm, defined by the factor CanopyCapacityPerLAI [mm/LAI], and the leaf area index LAI. (see: cmf::upslope::vegetation::Vegetation)
  • +
  • \(V_{max}[mm]=c_{LAI}[mm]\cdot LAI\) The capacity of the canopy in mm, defined by the factor CanopyCapacityPerLAI [mm/LAI], and the leaf area index LAI. (see: cmf::upslope::vegetation::Vegetation)
  • - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - - - + + +

    +

    Static Public Member Functions

    static RutterInterceptionuse_for_cell (cmf::upslope::Cell &cell)
     Creates a new connection between canopy and surfacewater and does a bunch of other things. More...
     
    static RutterInterceptionuse_for_cell (cmf::upslope::Cell &cell)
     Creates a new connection between canopy and surfacewater and does a bunch of other things.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -253,7 +264,7 @@

    real get_tracer_filter ( - ) + ) @@ -269,8 +280,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -281,8 +292,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -298,8 +308,8 @@

    -

    ◆ use_for_cell()

    + +

    ◆ use_for_cell()

    @@ -308,10 +318,9 @@

    - + - - +
    static RutterInterception* use_for_cell static RutterInterception * use_for_cell (cmf::upslope::Cellcell)cmf::upslope::Cell & cell)
    @@ -339,7 +348,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__coll__graph.map index d38de9b5..02c4eaf3 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__coll__graph.md5 index ea4718d9..c1329efc 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__coll__graph.md5 @@ -1 +1 @@ -a15f8d62b3e7844aa08f5cadd22149da \ No newline at end of file +fdf60d180ad5ce21b6a3f9bd0060a295 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__coll__graph.png index 84ff52e8..9d7c0bf9 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__inherit__graph.map index 7267fe73..596cad17 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__inherit__graph.md5 index 785c1395..380697be 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__inherit__graph.md5 @@ -1 +1 @@ -ce38cb4f5f458b95a48bba2c6e427894 \ No newline at end of file +49cba8b5ebd925f3123aba5d7ae83c80 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__inherit__graph.png index b149e355..4696b8f9 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_rutter_interception__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation-members.html index b3c25f55..40732061 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SWATPercolation Member List
    +
    SWATPercolation Member List

    This is the complete list of members for SWATPercolation, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    use_for_cell(cmf::upslope::Cell &cell, bool no_override=true)SWATPercolationstatic
    use_for_cell(cmf::upslope::Cell &cell, bool no_override=true)SWATPercolationstatic

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation.html b/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation.html index 273727af..ca97ab88 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation.html @@ -2,33 +2,37 @@ - - - - -cmf: SWATPercolation Class Reference - - - - + + + + + cmf: SWATPercolation Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SWATPercolation Class Reference
    +
    SWATPercolation Class Reference

    A tipping bucket percolation approach similar to the approach in SWAT. - More...

    -
    + More...

    +
    + Inheritance diagram for SWATPercolation:
    -
    +
    + Collaboration diagram for SWATPercolation:

    Detailed Description

    A tipping bucket percolation approach similar to the approach in SWAT.

    -\begin{eqnarray*} q_{perc} &=& V_{H_2O,drain}\left(1-e^{-\frac 1{-TT_{perc}}}\right) \\ TT_{perc} &=& \frac{V_{pores,drain} - V_{field cap.}}{K_{sat}} \\ V_{x,drain} &=& V_{x,drain} - V_{field cap.} \end{eqnarray*} +\begin{eqnarray*} q_{perc} &=& V_{H_2O,drain}\left(1-e^{-\frac 1{-TT_{perc}}}\right) \\ +TT_{perc} &=& \frac{V_{pores,drain} - V_{field cap.}}{K_{sat}} \\ +V_{x,drain} &=& V_{x,drain} - V_{field cap.} \end{eqnarray*}

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Static Public Member Functions

    -static void use_for_cell (cmf::upslope::Cell &cell, bool no_override=true)
    +static void use_for_cell (cmf::upslope::Cell &cell, bool no_override=true)
     Uses this connection for a layers of the cell.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -242,7 +253,7 @@

    real get_tracer_filter ( - ) + ) @@ -258,8 +269,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -270,8 +281,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -295,7 +305,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__coll__graph.map index c3a26b22..20afcfd6 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__coll__graph.md5 index d8d16f02..7b569f96 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__coll__graph.md5 @@ -1 +1 @@ -9d8b812615656e5a4ddc4f06c4f6f1f1 \ No newline at end of file +e1d6a58e1995f61807d43f8a4869bfe1 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__coll__graph.png index 6b589fd0..6de05c66 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__inherit__graph.map index c3a26b22..20afcfd6 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__inherit__graph.md5 index c0c33da3..7b569f96 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__inherit__graph.md5 @@ -1 +1 @@ -f24f7108bb4137f55226305f1256c24d \ No newline at end of file +e1d6a58e1995f61807d43f8a4869bfe1 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__inherit__graph.png index 6b589fd0..6de05c66 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_s_w_a_t_percolation__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards-members.html deleted file mode 100644 index 875d7bb1..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards-members.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    SimplRichards Member List
    -
    -
    - -

    This is the complete list of members for SimplRichards, including all inherited members.

    - - - - - - - - - - - - - - - -
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    use_for_cell(cmf::upslope::Cell &cell, bool no_override=true)SimplRichardsstatic
    -
    -

    -Generated: Wed Mar 20 2019 13:55:33 - - - - diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards.html b/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards.html deleted file mode 100644 index ad38aff7..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - - -cmf: SimplRichards Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - - -
    - -

    Calculates flow according to a simplified Richards equation. - More...

    -
    - + Inheritance diagram for SimplRichards:
    -
    -
    - -
    - + Collaboration diagram for SimplRichards:
    -
    -
    - -

    Detailed Description

    -

    Calculates flow according to a simplified Richards equation.

    -

    -\begin{eqnarray*} q_{Richards} &=& (K(\theta) - K(\theta_r)) A \\ \end{eqnarray*} -

    -

    where

      -
    • \( d [m]\) is the distance between the two soil layers
    • -
    • \( K(\theta)\left[\frac m{day}\right]\) is the geometric mean conductivity (see SoilType::Kunsat)
    • -
    • \( A [m^2]\) is the crosssectional area of the flux
    • -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
     
    -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. More...
     
    -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. More...
     
    - - - - -

    -Static Public Member Functions

    static void use_for_cell (cmf::upslope::Cell &cell, bool no_override=true)
     Connects all layers of the cell with the SimplRichards equation. More...
     
    - - - - -

    -Public Attributes

    -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

    - -
    -
    - -

    ◆ use_for_cell()

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - -
    static void use_for_cell (cmf::upslope::Cellcell,
    bool no_override = true 
    )
    -
    -static
    -
    - -

    Connects all layers of the cell with the SimplRichards equation.

    -

    Connects all layers of the cell with the SimplRichards equation. If no_override=true (default), then only unconnected layers will be connected. Existing connections will be replaced by SimplRichards otherwise

    - -
    -
    -
    -
    -

    -Generated: Wed Mar 20 2019 13:55:33 - - - - diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards.js b/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards.js deleted file mode 100644 index 8c83669a..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards.js +++ /dev/null @@ -1,15 +0,0 @@ -var classcmf_1_1upslope_1_1connections_1_1_simpl_richards = -[ - [ "conc", "classcmf_1_1upslope_1_1connections_1_1_simpl_richards.html#ad7fafdce438d10fb5a35e7870737ce23", null ], - [ "get_target", "classcmf_1_1upslope_1_1connections_1_1_simpl_richards.html#abc8d7bf5d699f04bb717e989dab315ab", null ], - [ "get_target", "classcmf_1_1upslope_1_1connections_1_1_simpl_richards.html#a9452e9ff83a825e3420347a45ba9b313", null ], - [ "get_tracer_filter", "classcmf_1_1upslope_1_1connections_1_1_simpl_richards.html#a73545d13b9544caa52a2a5bd747dadad", null ], - [ "get_tracer_filter", "classcmf_1_1upslope_1_1connections_1_1_simpl_richards.html#a97e72365a8d2e46e7d1cb5c702164561", null ], - [ "kill_me", "classcmf_1_1upslope_1_1connections_1_1_simpl_richards.html#a137cf279253d55feb9629e4423e34191", null ], - [ "left_node", "classcmf_1_1upslope_1_1connections_1_1_simpl_richards.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], - [ "q", "classcmf_1_1upslope_1_1connections_1_1_simpl_richards.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], - [ "refresh", "classcmf_1_1upslope_1_1connections_1_1_simpl_richards.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], - [ "right_node", "classcmf_1_1upslope_1_1connections_1_1_simpl_richards.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], - [ "set_tracer_filter", "classcmf_1_1upslope_1_1connections_1_1_simpl_richards.html#a5edf702b615e8af8d847ecd63d13eb25", null ], - [ "type", "classcmf_1_1upslope_1_1connections_1_1_simpl_richards.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__coll__graph.map deleted file mode 100644 index 76546fbb..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__coll__graph.md5 deleted file mode 100644 index 4dfa5062..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -516cec61136de0bd388546a34f13aca3 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__coll__graph.png deleted file mode 100644 index efa0260f..00000000 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__inherit__graph.map deleted file mode 100644 index 76546fbb..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__inherit__graph.md5 deleted file mode 100644 index e9df4ec9..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -23bf45666d8717da40b9c76eb040569c \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__inherit__graph.png deleted file mode 100644 index efa0260f..00000000 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_simpl_richards__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration-members.html deleted file mode 100644 index 005151dc..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration-members.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    SimpleInfiltration Member List
    -
    -
    - -

    This is the complete list of members for SimpleInfiltration, including all inherited members.

    - - - - - - - - - - - - - - - - -
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    SimpleInfiltration(cmf::upslope::SoilLayer::ptr soilwater, cmf::water::flux_node::ptr surfacewater, real W0=0.9)SimpleInfiltration
    typeflux_connection
    W0SimpleInfiltration
    -
    -

    -Generated: Thu Mar 28 2019 14:40:14 - - - - diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.js b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.js deleted file mode 100644 index 8f75e110..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.js +++ /dev/null @@ -1,17 +0,0 @@ -var classcmf_1_1upslope_1_1connections_1_1_simple_infiltration = -[ - [ "SimpleInfiltration", "classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html#a3d51db08ca967f5259802d9581abf451", null ], - [ "conc", "classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html#ad7fafdce438d10fb5a35e7870737ce23", null ], - [ "get_target", "classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html#abc8d7bf5d699f04bb717e989dab315ab", null ], - [ "get_target", "classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html#a9452e9ff83a825e3420347a45ba9b313", null ], - [ "get_tracer_filter", "classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html#a73545d13b9544caa52a2a5bd747dadad", null ], - [ "get_tracer_filter", "classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html#a97e72365a8d2e46e7d1cb5c702164561", null ], - [ "kill_me", "classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html#a137cf279253d55feb9629e4423e34191", null ], - [ "left_node", "classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], - [ "q", "classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], - [ "refresh", "classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], - [ "right_node", "classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], - [ "set_tracer_filter", "classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html#a5edf702b615e8af8d847ecd63d13eb25", null ], - [ "type", "classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ], - [ "W0", "classcmf_1_1upslope_1_1connections_1_1_simple_infiltration.html#ad223d749d2a2911f5d5749c21de2730f", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__coll__graph.map deleted file mode 100644 index 8dd0bf14..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__coll__graph.md5 deleted file mode 100644 index fa870cc3..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -f583d5581a91d94b70ad7aa486c1b74a \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__coll__graph.png deleted file mode 100644 index 2e0f213c..00000000 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__inherit__graph.map deleted file mode 100644 index 8dd0bf14..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__inherit__graph.md5 deleted file mode 100644 index 845b5e49..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -0698e8d2779c0fb575b1094ce9ff0957 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__inherit__graph.png deleted file mode 100644 index 2e0f213c..00000000 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_infiltration__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt-members.html deleted file mode 100644 index 2340f65e..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt-members.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    SimpleTindexSnowMelt Member List
    -
    -
    - -

    This is the complete list of members for SimpleTindexSnowMelt, including all inherited members.

    - - - - - - - - - - - - - - - - - -
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    SimpleTindexSnowMelt(cmf::water::WaterStorage::ptr snow, cmf::water::flux_node::ptr surface_water, cmf::upslope::Cell &cell, real rate=7.0)SimpleTindexSnowMelt
    SnowMeltRateSimpleTindexSnowMelt
    typeflux_connection
    use_for_cell(cmf::upslope::Cell &cell)SimpleTindexSnowMeltstatic
    -
    -

    -Generated: Thu Mar 28 2019 14:40:14 - - - - diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html deleted file mode 100644 index 71fc93eb..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html +++ /dev/null @@ -1,392 +0,0 @@ - - - - - - - - -cmf: SimpleTindexSnowMelt Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - - -
    - -

    Calculates snow melt using a simple degree day method. - More...

    -
    - + Inheritance diagram for SimpleTindexSnowMelt:
    -
    -
    - -
    - + Collaboration diagram for SimpleTindexSnowMelt:
    -
    -
    - -

    Detailed Description

    -

    Calculates snow melt using a simple degree day method.

    -

    -\[ q_{melt} [mm/day] = (T-T_{thres}) * r \] -

    -

    Usage:

    # Create a new snow water storage
    snow = cell.add_storage('Snow','S')
    # Split Rainfall and snow fall according to the current temperature
    snowfall = cmf.Snowfall(snow,cell)
    # Create a snowfall connection between snow and surfacewater)
    snowmelt = cmf.SimpleTindexSnowMelt(snow,cell.surfacewater,cell,rate=7.0)
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

     SimpleTindexSnowMelt (cmf::water::WaterStorage::ptr snow, cmf::water::flux_node::ptr surface_water, cmf::upslope::Cell &cell, real rate=7.0)
     Creates a new snow melt connection. More...
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
     
    -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. More...
     
    -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. More...
     
    - - - - -

    -Static Public Member Functions

    static void use_for_cell (cmf::upslope::Cell &cell)
     Creates the connection between snow and surface water. More...
     
    - - - - - - - -

    -Public Attributes

    -real SnowMeltRate
     Rate of snow melt in mm/(degC day), default = 7.0.
     
    -const std::string type
     A string describing the type of the connection.
     
    -

    Constructor & Destructor Documentation

    - -

    ◆ SimpleTindexSnowMelt()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    SimpleTindexSnowMelt (cmf::water::WaterStorage::ptr snow,
    cmf::water::flux_node::ptr surface_water,
    cmf::upslope::Cellcell,
    real rate = 7.0 
    )
    -
    - -

    Creates a new snow melt connection.

    -
    Parameters
    - - - - - -
    snowSnow storage, usually cel.snow
    surface_watertarget of the melted water (usually cell.surfacewater)
    cellThe cell, needed to get weather and area
    rateThe rate of snow melt, given in mm/(degC day), default = 7.0
    -
    -
    - -
    -
    -

    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

    - -
    -
    - -

    ◆ use_for_cell()

    - -
    -
    - - - - - -
    - - - - - - - - -
    static void use_for_cell (cmf::upslope::Cellcell)
    -
    -static
    -
    - -

    Creates the connection between snow and surface water.

    -

    If no snow storage exists, it is created and precipitation is split up in Snow and Rain.

    - -
    -
    -
    -
    -

    -Generated: Thu Mar 28 2019 14:40:14 - - - - diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.js b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.js deleted file mode 100644 index 603ea3b5..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.js +++ /dev/null @@ -1,17 +0,0 @@ -var classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt = -[ - [ "SimpleTindexSnowMelt", "classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html#a6cf2696962509562999f3496dc337e5a", null ], - [ "conc", "classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html#ad7fafdce438d10fb5a35e7870737ce23", null ], - [ "get_target", "classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html#abc8d7bf5d699f04bb717e989dab315ab", null ], - [ "get_target", "classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html#a9452e9ff83a825e3420347a45ba9b313", null ], - [ "get_tracer_filter", "classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html#a73545d13b9544caa52a2a5bd747dadad", null ], - [ "get_tracer_filter", "classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html#a97e72365a8d2e46e7d1cb5c702164561", null ], - [ "kill_me", "classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html#a137cf279253d55feb9629e4423e34191", null ], - [ "left_node", "classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], - [ "q", "classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], - [ "refresh", "classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], - [ "right_node", "classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], - [ "set_tracer_filter", "classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html#a5edf702b615e8af8d847ecd63d13eb25", null ], - [ "SnowMeltRate", "classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html#a5a9963646bf8a1f0b234535b5ec9e379", null ], - [ "type", "classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__coll__graph.map deleted file mode 100644 index 7366f7c8..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__coll__graph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__coll__graph.md5 deleted file mode 100644 index b60f6eee..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -916029e88ad7753c420365263ac67d81 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__coll__graph.png deleted file mode 100644 index 5c7c4e3c..00000000 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__inherit__graph.map deleted file mode 100644 index 29a084fa..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__inherit__graph.md5 deleted file mode 100644 index 48b609f3..00000000 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -6926a1dd470b5ba71c46ee0c11ef7b00 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__inherit__graph.png deleted file mode 100644 index 12dda04b..00000000 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_simple_tindex_snow_melt__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall-members.html index b32f2422..c392d113 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Snowfall Member List
    +
    Snowfall Member List

    This is the complete list of members for Snowfall, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall.html b/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall.html index 62a8df8e..c3b7931f 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall.html @@ -2,33 +2,37 @@ - - - - -cmf: Snowfall Class Reference - - - - + + + + + cmf: Snowfall Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Snowfall Class Reference
    +
    Snowfall Class Reference

    A connection routing snowfall (precipitation below freezing Temp) to the snow pack. - More...

    -
    + More...

    +
    + Inheritance diagram for Snowfall:
    -
    +
    + Collaboration diagram for Snowfall:

    Detailed Description

    A connection routing snowfall (precipitation below freezing Temp) to the snow pack.

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -233,7 +244,7 @@

    real get_tracer_filter ( - ) + ) @@ -249,8 +260,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -261,8 +272,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -286,7 +296,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__coll__graph.map index 58b1a0eb..b778f0eb 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__coll__graph.md5 index b5a19f07..a73f9799 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__coll__graph.md5 @@ -1 +1 @@ -c90108537a2c2490de69dcadd0e2c3e4 \ No newline at end of file +f580fde569acdcf75f8d9b19f1cdbc6b \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__coll__graph.png index 265c4b0d..d00f4e39 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__inherit__graph.map index 1336e6b2..c12a0a48 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__inherit__graph.md5 index 4df7a81f..6484bbb7 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__inherit__graph.md5 @@ -1 +1 @@ -e464467ccc78f5f76c57b08aa7ef14b3 \ No newline at end of file +e1670156be9fed751bdbaa26408178b3 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__inherit__graph.png index 65312ea2..a6e2ed50 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_snowfall__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow-members.html index 76394ce4..afccc473 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    TOPModelFlow Member List
    +
    TOPModelFlow Member List

    This is the complete list of members for TOPModelFlow, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow.html b/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow.html index b0ea7c14..7fdf9f48 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow.html @@ -2,33 +2,37 @@ - - - - -cmf: TOPModelFlow Class Reference - - - - + + + + + cmf: TOPModelFlow Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    TOPModelFlow Class Reference
    +
    TOPModelFlow Class Reference

    Calculates a flux from a soil layer using TOPMODELs (Beven & Kirkby 1979) exponential transmissivity concept. - More...

    -
    + More...

    +
    + Inheritance diagram for TOPModelFlow:
    -
    +
    + Collaboration diagram for TOPModelFlow:

    Detailed Description

    @@ -136,7 +151,7 @@
  • \(D_i\) is the drained depth in m, calculated as \((C-V)/A\), the capacity of the layer - volume per area
  • \(m\) a scaling factor in m
  • -

    By using the transmissivity in Darcy's law and assuming the GW gradient to be parallel to the topographic slope we get for the flow:

    +

    By using the transmissivity in Darcy's law and assuming the GW gradient to be parallel to the topographic slope we get for the flow:

    \[ q = T_0 \exp(-D_i/m) w s\]

    where:

      @@ -146,60 +161,60 @@
    Note
    TOPMODEL is based on the concept of drained depth, not, as cmf on the concept of stored volume. Hence, negative volumes can occur if
    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -249,7 +258,7 @@

    real get_tracer_filter ( - ) + ) @@ -265,8 +274,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -277,8 +286,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -302,7 +310,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__coll__graph.map index 52551107..5580a1bd 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__coll__graph.md5 index 7aca1e72..ccabff31 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__coll__graph.md5 @@ -1 +1 @@ -5b94bcbcba825c55daab5150245d0baf \ No newline at end of file +14a06a8fd57c2e23bd3c17da45a6b742 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__coll__graph.png index 1fd10746..a6dbe6b9 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__inherit__graph.map index 52551107..5580a1bd 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__inherit__graph.md5 index 86536ed6..ccabff31 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__inherit__graph.md5 @@ -1 +1 @@ -c63a3ba8ee681d9a42860794cf4b2f33 \ No newline at end of file +14a06a8fd57c2e23bd3c17da45a6b742 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__inherit__graph.png index 1fd10746..a6dbe6b9 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_t_o_p_model_flow__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt-members.html new file mode 100644 index 00000000..7cd39f19 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt-members.html @@ -0,0 +1,143 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    TempIndexSnowMelt Member List
    +
    +
    + +

    This is the complete list of members for TempIndexSnowMelt, including all inherited members.

    + + + + + + + + + + + + + + + + + +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    SnowMeltRateTempIndexSnowMelt
    TempIndexSnowMelt(cmf::water::WaterStorage::ptr snow, cmf::water::flux_node::ptr surface_water, cmf::upslope::Cell &cell, real rate=7.0)TempIndexSnowMelt
    typeflux_connection
    use_for_cell(cmf::upslope::Cell &cell)TempIndexSnowMeltstatic
    +
    +

    +Generated: Fri Jan 19 2024 16:10:57 + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html new file mode 100644 index 00000000..a0ed8fe9 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html @@ -0,0 +1,397 @@ + + + + + + + + + cmf: TempIndexSnowMelt Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    + +

    Calculates snow melt using a simple degree day method. + More...

    +
    + + Inheritance diagram for TempIndexSnowMelt:
    +
    +
    + +
    + + Collaboration diagram for TempIndexSnowMelt:
    +
    +
    + +

    Detailed Description

    +

    Calculates snow melt using a simple degree day method.

    +

    +\[ q_{melt} [mm/day] = (T-T_{thres}) * r \] +

    +

    Usage:

    # Create a new snow water storage
    +
    snow = cell.add_storage('Snow','S')
    +
    # Split Rainfall and snow fall according to the current temperature
    +
    snowfall = cmf.Snowfall(snow,cell)
    +
    # Create a snowfall connection between snow and surfacewater)
    +
    snowmelt = cmf.SimpleTindexSnowMelt(snow,cell.surfacewater,cell,rate=7.0)
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     TempIndexSnowMelt (cmf::water::WaterStorage::ptr snow, cmf::water::flux_node::ptr surface_water, cmf::upslope::Cell &cell, real rate=7.0)
     Creates a new snow melt connection.
     
    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.
     
    + + + + +

    +Static Public Member Functions

    static void use_for_cell (cmf::upslope::Cell &cell)
     Creates the connection between snow and surface water.
     
    + + + + + + + +

    +Public Attributes

    +real SnowMeltRate
     Rate of snow melt in mm/(degC day), default = 7.0.
     
    +const std::string type
     A string describing the type of the connection.
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ TempIndexSnowMelt()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    TempIndexSnowMelt (cmf::water::WaterStorage::ptr snow,
    cmf::water::flux_node::ptr surface_water,
    cmf::upslope::Cell & cell,
    real rate = 7.0 )
    +
    + +

    Creates a new snow melt connection.

    +
    Parameters
    + + + + + +
    snowSnow storage, usually cel.snow
    surface_watertarget of the melted water (usually cell.surfacewater)
    cellThe cell, needed to get weather and area
    rateThe rate of snow melt, given in mm/(degC day), default = 7.0
    +
    +
    + +
    +
    +

    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

    + +
    +
    + +

    ◆ use_for_cell()

    + +
    +
    + + + + + +
    + + + + + + + +
    static void use_for_cell (cmf::upslope::Cell & cell)
    +
    +static
    +
    + +

    Creates the connection between snow and surface water.

    +

    If no snow storage exists, it is created and precipitation is split up in Snow and Rain.

    + +
    +
    +
    +
    +

    +Generated: Fri Jan 19 2024 16:10:57 + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.js b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.js new file mode 100644 index 00000000..51036692 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.js @@ -0,0 +1,17 @@ +var classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt = +[ + [ "TempIndexSnowMelt", "classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html#ad5356882dc685cb192e401590583d438", null ], + [ "conc", "classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html#ad7fafdce438d10fb5a35e7870737ce23", null ], + [ "get_target", "classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html#abc8d7bf5d699f04bb717e989dab315ab", null ], + [ "get_target", "classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html#a9452e9ff83a825e3420347a45ba9b313", null ], + [ "get_tracer_filter", "classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html#a73545d13b9544caa52a2a5bd747dadad", null ], + [ "get_tracer_filter", "classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html#a97e72365a8d2e46e7d1cb5c702164561", null ], + [ "kill_me", "classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html#a137cf279253d55feb9629e4423e34191", null ], + [ "left_node", "classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], + [ "q", "classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], + [ "refresh", "classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], + [ "right_node", "classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], + [ "set_tracer_filter", "classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html#a5edf702b615e8af8d847ecd63d13eb25", null ], + [ "SnowMeltRate", "classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html#a5a9963646bf8a1f0b234535b5ec9e379", null ], + [ "type", "classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__coll__graph.map new file mode 100644 index 00000000..c26947d4 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__coll__graph.md5 new file mode 100644 index 00000000..c8fe382e --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__coll__graph.md5 @@ -0,0 +1 @@ +43a5467a4771fc88e020fff70694110c \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__coll__graph.png new file mode 100644 index 00000000..3e01d9b8 Binary files /dev/null and b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__inherit__graph.map new file mode 100644 index 00000000..775f591b --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__inherit__graph.md5 new file mode 100644 index 00000000..9d26b080 --- /dev/null +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__inherit__graph.md5 @@ -0,0 +1 @@ +cb04078f3b330d9a66f6182372f07545 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__inherit__graph.png new file mode 100644 index 00000000..2bcf5417 Binary files /dev/null and b/docs/classcmf_1_1upslope_1_1connections_1_1_temp_index_snow_melt__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy-members.html index 8756294c..b2279fb2 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    TopographicGradientDarcy Member List
    +
    TopographicGradientDarcy Member List

    This is the complete list of members for TopographicGradientDarcy, including all inherited members.

    - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    TopographicGradientDarcy(cmf::upslope::SoilLayer::ptr left, cmf::water::flux_node::ptr right, real FlowWidth, real Distance=0)TopographicGradientDarcy
    typeflux_connection
    typeflux_connection
    diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy.html b/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy.html index da8ec7e4..2218244b 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy.html @@ -2,33 +2,37 @@ - - - - -cmf: TopographicGradientDarcy Class Reference - - - - + + + + + cmf: TopographicGradientDarcy Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    TopographicGradientDarcy Class Reference
    +
    TopographicGradientDarcy Class Reference

    Calculates the lateral flow using the topographic gradient. - More...

    -
    + More...

    +
    + Inheritance diagram for TopographicGradientDarcy:
    -
    +
    + Collaboration diagram for TopographicGradientDarcy:

    Detailed Description

    @@ -135,68 +153,68 @@

    where

    • \( z_1 - z_2 \) is the topographic height difference
    • -
    • \( \|C_1-C_2\| \) is the distance from Cell 1 to Cell 2
    • +
    • \( \|C_1-C_2\| \) is the distance from Cell 1 to Cell 2
    • \( T(C) \) is the transmissivity of cell C, calculated by SoilType::Transmissivity
    • \( w \) is the width of the connection of the cells
    - - - + + - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

     TopographicGradientDarcy (cmf::upslope::SoilLayer::ptr left, cmf::water::flux_node::ptr right, real FlowWidth, real Distance=0)
     Creates the connection. More...
     TopographicGradientDarcy (cmf::upslope::SoilLayer::ptr left, cmf::water::flux_node::ptr right, real FlowWidth, real Distance=0)
     Creates the connection.
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Constructor & Destructor Documentation

    - -

    ◆ TopographicGradientDarcy()

    + +

    ◆ TopographicGradientDarcy()

    @@ -204,31 +222,22 @@

    TopographicGradientDarcy ( - cmf::upslope::SoilLayer::ptr  - left, + cmf::upslope::SoilLayer::ptr left, - cmf::water::flux_node::ptr  - right, + cmf::water::flux_node::ptr right, - real  - FlowWidth, + real FlowWidth, - real  - Distance = 0  - - - - ) - + real Distance = 0 )

    @@ -247,8 +256,8 @@

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -298,7 +301,7 @@

    real get_tracer_filter ( - ) + ) @@ -314,8 +317,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -326,8 +329,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -351,7 +353,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:47 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__coll__graph.map index 60fc953e..c455cfe1 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__coll__graph.md5 index c5a56473..09e42160 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__coll__graph.md5 @@ -1 +1 @@ -4f2457af8b8b0603164030c59f07b2cf \ No newline at end of file +ed1426e0b5701a4e7d2f84cceec753f4 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__coll__graph.png index 66a15de0..74886468 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__inherit__graph.map index 319c4940..bc944e54 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__inherit__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__inherit__graph.md5 index e19b770f..634f403b 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__inherit__graph.md5 @@ -1 +1 @@ -67bd32ea3d465b2eea4b5bb467142d9b \ No newline at end of file +d502473183a4288d3c31473facebc9f6 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__inherit__graph.png index 1b292a35..cbac0242 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1_topographic_gradient_darcy__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux-members.html b/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux-members.html index 167be4e4..a284d79f 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux-members.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    lateral_sub_surface_flux Member List
    +
    lateral_sub_surface_flux Member List

    This is the complete list of members for lateral_sub_surface_flux, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux.html b/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux.html index 8414e302..771521ea 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux.html +++ b/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux.html @@ -2,33 +2,37 @@ - - - - -cmf: lateral_sub_surface_flux Class Reference - - - - + + + + + cmf: lateral_sub_surface_flux Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    lateral_sub_surface_flux Class Referenceabstract
    +
    lateral_sub_surface_flux Class Referenceabstract

    An abstract base class for lateral subsurface fluxes. - More...

    -
    + More...

    +
    + Inheritance diagram for lateral_sub_surface_flux:
    -
    +
    + Collaboration diagram for lateral_sub_surface_flux:

    Detailed Description

    An abstract base class for lateral subsurface fluxes.

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -235,7 +248,7 @@

    real get_tracer_filter ( - ) + ) @@ -251,8 +264,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -263,8 +276,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -288,7 +300,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__coll__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__coll__graph.map index 22b8e7c7..ebb9b342 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__coll__graph.md5 index 75b2dd14..4937214d 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__coll__graph.md5 @@ -1 +1 @@ -d6e914878b35ae9c43251bf365de915d \ No newline at end of file +8a2f3abd0e0fed529a74b8709e0248c7 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__coll__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__coll__graph.png index ca39e874..7158c3bb 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__coll__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__inherit__graph.map b/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__inherit__graph.map index e581a62a..40b41165 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__inherit__graph.map +++ b/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__inherit__graph.map @@ -1,7 +1,13 @@ - - - - - + + + + + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__inherit__graph.md5 b/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__inherit__graph.md5 index 70108584..251c9a8e 100644 --- a/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__inherit__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__inherit__graph.md5 @@ -1 +1 @@ -cf6f3730ed3dda09600787d2ac4f0772 \ No newline at end of file +b474423cf2d30d21c3c34119d86ed5e9 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__inherit__graph.png b/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__inherit__graph.png index 78227979..e311f46b 100644 Binary files a/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__inherit__graph.png and b/docs/classcmf_1_1upslope_1_1connections_1_1lateral__sub__surface__flux__inherit__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1layer__list-members.html b/docs/classcmf_1_1upslope_1_1layer__list-members.html index f7695ca0..4d9ba2ef 100644 --- a/docs/classcmf_1_1upslope_1_1layer__list-members.html +++ b/docs/classcmf_1_1upslope_1_1layer__list-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,47 +93,53 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    layer_list Member List
    +
    layer_list Member List

    This is the complete list of members for layer_list, including all inherited members.

    - - - - + + + + - + - + - + - + - + - + - + - + - + - + - + - +
    append(SoilLayer::ptr l)layer_list
    clear()layer_list
    extend(const layer_list &ll)layer_list
    extend(const cmf::water::node_list &nl)layer_list
    append(SoilLayer::ptr l)layer_list
    clear()layer_list
    extend(const layer_list &ll)layer_list
    extend(const cmf::water::node_list &nl)layer_list
    get_gravitational_potential() constlayer_list
    get_K() constlayer_list
    get_K() constlayer_list
    get_Ksat() constlayer_list
    get_lower_boundary() constlayer_list
    get_lower_boundary() constlayer_list
    get_matrix_potential() constlayer_list
    get_percolation(cmf::math::Time t) constlayer_list
    get_percolation(cmf::math::Time t) constlayer_list
    get_porosity() constlayer_list
    get_potential() constlayer_list
    get_potential() constlayer_list
    get_rootfraction() constlayer_list
    get_thickness() constlayer_list
    get_thickness() constlayer_list
    get_upper_boundary() constlayer_list
    get_volume() constlayer_list
    get_volume() constlayer_list
    get_wetness() constlayer_list
    layer_list(const layer_list &for_copy)layer_list
    layer_list(const layer_list &for_copy)layer_list
    layer_list()layer_list
    layer_list(const cmf::water::node_list &for_copy)layer_list
    layer_list(const cmf::water::node_list &for_copy)layer_list
    operator[](ptrdiff_t index) constlayer_list
    pop()layer_list
    pop()layer_list
    set_ice_fraction(const cmf::math::num_array &Value, size_t offset=0)layer_list
    set_potential(const cmf::math::num_array &Value, size_t offset=0)layer_list
    set_potential(const cmf::math::num_array &Value, size_t offset=0)layer_list
    set_rootfraction(const cmf::math::num_array &Value, size_t offset=0)layer_list
    set_theta(const cmf::math::num_array &Value, size_t offset=0)layer_list
    set_theta(const cmf::math::num_array &Value, size_t offset=0)layer_list
    set_volume(const cmf::math::num_array &Value, size_t offset=0)layer_list
    set_wetness(const cmf::math::num_array &Value, size_t offset=0)layer_list
    set_wetness(const cmf::math::num_array &Value, size_t offset=0)layer_list
    size() constlayer_list
    @@ -138,7 +149,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1layer__list.html b/docs/classcmf_1_1upslope_1_1layer__list.html index 15969e2d..8378f7a9 100644 --- a/docs/classcmf_1_1upslope_1_1layer__list.html +++ b/docs/classcmf_1_1upslope_1_1layer__list.html @@ -2,33 +2,37 @@ - - - - -cmf: layer_list Class Reference - - - - + + + + + cmf: layer_list Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,141 +93,147 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    layer_list Class Reference
    +
    layer_list Class Reference

    A vector of layers, with array access to the properties of the layers, for fast data exchange. - More...

    + More...

    Detailed Description

    A vector of layers, with array access to the properties of the layers, for fast data exchange.

    - - - - - + - + - - - - + + + + + + + - - - - - - - + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

    +

    Public Member Functions

    layer_list (const layer_list &for_copy)
     Copy constructor.
     
    layer_list ()
    layer_list ()
     Creates an empty layer list.
     
    layer_list (const cmf::water::node_list &for_copy)
    layer_list (const cmf::water::node_list &for_copy)
     Creates a list of all soil layers from a node_list.
     
    -layer_listappend (SoilLayer::ptr l)
     Appends a soil layer to the list.
     
    -void clear ()
    layer_list (const layer_list &for_copy)
     Copy constructor.
     
    +layer_listappend (SoilLayer::ptr l)
     Appends a soil layer to the list.
     
    +void clear ()
     Clears the list.
     
    -layer_listextend (const layer_list &ll)
     Appends all soil layers of layer_list to this.
     
    -layer_listextend (const cmf::water::node_list &nl)
     Appends all soil layers from a node_list to this.
     
    -cmf::math::num_array get_gravitational_potential () const
    +layer_listextend (const cmf::water::node_list &nl)
     Appends all soil layers from a node_list to this.
     
    +layer_listextend (const layer_list &ll)
     Appends all soil layers of layer_list to this.
     
    +cmf::math::num_array get_gravitational_potential () const
     Returns an array containing the gravitational potential in m of all layers in the list.
     
    -cmf::math::num_array get_K () const
    +cmf::math::num_array get_K () const
     Returns an array containing the conductivity in m/day of all layers in the list.
     
    -cmf::math::num_array get_Ksat () const
    +cmf::math::num_array get_Ksat () const
     Returns an array containing the saturated conductivity in m/day of all layers in the list.
     
    -cmf::math::num_array get_lower_boundary () const
    +cmf::math::num_array get_lower_boundary () const
     Returns an array containing the lower boundary in m below surface of all layers in the list.
     
    -cmf::math::num_array get_matrix_potential () const
    +cmf::math::num_array get_matrix_potential () const
     Returns an array containing the matrix potential in m of all layers in the list.
     
    -cmf::math::num_array get_percolation (cmf::math::Time t) const
    +cmf::math::num_array get_percolation (cmf::math::Time t) const
     Returns the flux to each layer from the upper layer, or, in case of the first layer from the surface water.
     
    -cmf::math::num_array get_porosity () const
    +cmf::math::num_array get_porosity () const
     Returns an array containing the porosity in m3/m3 of all layers in the list.
     
    -cmf::math::num_array get_potential () const
    +cmf::math::num_array get_potential () const
     Returns an array containing the potentials of all layers in the list.
     
    -cmf::math::num_array get_rootfraction () const
    +cmf::math::num_array get_rootfraction () const
     Returns an array containing the rootfraction of each layer.
     
    -cmf::math::num_array get_thickness () const
    +cmf::math::num_array get_thickness () const
     Returns an array containing the thickness in m of all layers in the list.
     
    -cmf::math::num_array get_upper_boundary () const
    +cmf::math::num_array get_upper_boundary () const
     Returns an array containing the upper boundary in m below surface of all layers in the list.
     
    -cmf::math::num_array get_volume () const
    +cmf::math::num_array get_volume () const
     Returns an array containing the volume in m3 of stored water of all layers in the list.
     
    -cmf::math::num_array get_wetness () const
    +cmf::math::num_array get_wetness () const
     Returns an array containing the wetness in m3 H2O/m3 pore space of all layers in the list.
     
    -SoilLayer::ptr operator[] (ptrdiff_t index) const
    +SoilLayer::ptr operator[] (ptrdiff_t index) const
     Returns a layer from the list.
     
    -SoilLayer::ptr pop ()
    +SoilLayer::ptr pop ()
     Deletes the last layer from the list and returns it.
     
    -void set_ice_fraction (const cmf::math::num_array &Value, size_t offset=0)
    +void set_ice_fraction (const cmf::math::num_array &Value, size_t offset=0)
     Sets the fraction of the ice content of the soil water.
     
    -void set_potential (const cmf::math::num_array &Value, size_t offset=0)
    +void set_potential (const cmf::math::num_array &Value, size_t offset=0)
     Sets the potential (head) in m of layers [offset : arraysize].
     
    -void set_rootfraction (const cmf::math::num_array &Value, size_t offset=0)
    +void set_rootfraction (const cmf::math::num_array &Value, size_t offset=0)
     Sets the fraction of roots in each layer.
     
    -void set_theta (const cmf::math::num_array &Value, size_t offset=0)
    +void set_theta (const cmf::math::num_array &Value, size_t offset=0)
     Sets the volumetric water content of the soil.
     
    -void set_volume (const cmf::math::num_array &Value, size_t offset=0)
    +void set_volume (const cmf::math::num_array &Value, size_t offset=0)
     Sets the Volume in m3 of layers [offset : arraysize].
     
    -void set_wetness (const cmf::math::num_array &Value, size_t offset=0)
    +void set_wetness (const cmf::math::num_array &Value, size_t offset=0)
     Sets the wetness in m3/m3 of layers [offset : arraysize].
     
    -size_t size () const
    +size_t size () const
     Number of layers in the list.
     
    @@ -234,7 +245,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1layer__list.js b/docs/classcmf_1_1upslope_1_1layer__list.js index 30097fac..90c1459c 100644 --- a/docs/classcmf_1_1upslope_1_1layer__list.js +++ b/docs/classcmf_1_1upslope_1_1layer__list.js @@ -3,10 +3,10 @@ var classcmf_1_1upslope_1_1layer__list = [ "layer_list", "classcmf_1_1upslope_1_1layer__list.html#a7541eb62e77b7730ce1d45ca4cf9f893", null ], [ "layer_list", "classcmf_1_1upslope_1_1layer__list.html#a70d145677e0f0403704cc976af311a03", null ], [ "layer_list", "classcmf_1_1upslope_1_1layer__list.html#a7c210db809045b1f88c3e2b9e7c84d58", null ], - [ "append", "classcmf_1_1upslope_1_1layer__list.html#a6b97fea49ebe73ebf9f528b6f8d1eaf9", null ], + [ "append", "classcmf_1_1upslope_1_1layer__list.html#af3aaccdac3cfe35bcc36d547215a4d30", null ], [ "clear", "classcmf_1_1upslope_1_1layer__list.html#ac8bb3912a3ce86b15842e79d0b421204", null ], - [ "extend", "classcmf_1_1upslope_1_1layer__list.html#a9499987ea9d3f8df3b136c3de9ff450f", null ], - [ "extend", "classcmf_1_1upslope_1_1layer__list.html#aea1415c64f005480344d775b0258fc44", null ], + [ "extend", "classcmf_1_1upslope_1_1layer__list.html#ad8f70c17cd6d88f3b3b893ffa4be7313", null ], + [ "extend", "classcmf_1_1upslope_1_1layer__list.html#aa05ce3a958e97b8b7f2fd0b5fa22f534", null ], [ "get_gravitational_potential", "classcmf_1_1upslope_1_1layer__list.html#a1ed53fa84f061b0a25ef1a847954109b", null ], [ "get_K", "classcmf_1_1upslope_1_1layer__list.html#a2d57dfc7480bfd52bae01e8f7f07b395", null ], [ "get_Ksat", "classcmf_1_1upslope_1_1layer__list.html#a7498b390960acff702654ead679ea5e9", null ], diff --git a/docs/classcmf_1_1upslope_1_1neighbor__iterator-members.html b/docs/classcmf_1_1upslope_1_1neighbor__iterator-members.html index d46e9df6..7ce7120d 100644 --- a/docs/classcmf_1_1upslope_1_1neighbor__iterator-members.html +++ b/docs/classcmf_1_1upslope_1_1neighbor__iterator-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,21 +93,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    neighbor_iterator Member List
    +
    neighbor_iterator Member List

    This is the complete list of members for neighbor_iterator, including all inherited members.

    - - + +
    next_neighbor()neighbor_iterator
    operator*()neighbor_iterator
    next_neighbor()neighbor_iterator
    operator*()neighbor_iterator
    diff --git a/docs/classcmf_1_1upslope_1_1neighbor__iterator.html b/docs/classcmf_1_1upslope_1_1neighbor__iterator.html index 4c759091..2c6f80d1 100644 --- a/docs/classcmf_1_1upslope_1_1neighbor__iterator.html +++ b/docs/classcmf_1_1upslope_1_1neighbor__iterator.html @@ -2,33 +2,37 @@ - - - - -cmf: neighbor_iterator Class Reference - - - - + + + + + cmf: neighbor_iterator Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,35 +93,41 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    neighbor_iterator Class Reference
    +
    neighbor_iterator Class Reference

    A class to iterate through the neighbors of a cell (const). Not needed from the Python side, use the generator cell.neighbors instead. - More...

    + More...

    Detailed Description

    A class to iterate through the neighbors of a cell (const). Not needed from the Python side, use the generator cell.neighbors instead.

    - - - - - - - + + + + + +

    +

    Public Member Functions

    -neighbor_iteratornext_neighbor ()
     Points the iterator to the next neighbor.
     
    -Topologyoperator* ()
     Returns the current cell (dereference)
     
    +neighbor_iteratornext_neighbor ()
     Points the iterator to the next neighbor.
     
    +Topologyoperator* ()
     Returns the current cell (dereference)
     
    @@ -126,7 +137,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:45 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1neighbor__iterator.js b/docs/classcmf_1_1upslope_1_1neighbor__iterator.js index 8b30143a..e4e4e9fc 100644 --- a/docs/classcmf_1_1upslope_1_1neighbor__iterator.js +++ b/docs/classcmf_1_1upslope_1_1neighbor__iterator.js @@ -1,5 +1,5 @@ var classcmf_1_1upslope_1_1neighbor__iterator = [ - [ "next_neighbor", "classcmf_1_1upslope_1_1neighbor__iterator.html#af0bea36956b220bca1424f086d941fd5", null ], - [ "operator*", "classcmf_1_1upslope_1_1neighbor__iterator.html#a335607f01930822e59152202de52f2e9", null ] + [ "next_neighbor", "classcmf_1_1upslope_1_1neighbor__iterator.html#aaa11bf5bc1b145ec67c0577617f870a7", null ], + [ "operator*", "classcmf_1_1upslope_1_1neighbor__iterator.html#a88e9070a8ace196111215cc500c29837", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1subcatchment-members.html b/docs/classcmf_1_1upslope_1_1subcatchment-members.html index bed7cecb..8cb9cd1b 100644 --- a/docs/classcmf_1_1upslope_1_1subcatchment-members.html +++ b/docs/classcmf_1_1upslope_1_1subcatchment-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,23 +93,29 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    subcatchment Member List
    +
    subcatchment Member List

    This is the complete list of members for subcatchment, including all inherited members.

    - + - +
    cellssubcatchment
    inflowcellssubcatchment
    inflowcellssubcatchment
    pourpointsubcatchment
    subcatchment(cmf::upslope::Cell &pourpoint, double area_threshold=1e308)subcatchment
    subcatchment(cmf::upslope::Cell &pourpoint, double area_threshold=1e308)subcatchment
    diff --git a/docs/classcmf_1_1upslope_1_1subcatchment.html b/docs/classcmf_1_1upslope_1_1subcatchment.html index bdeb7134..18b862de 100644 --- a/docs/classcmf_1_1upslope_1_1subcatchment.html +++ b/docs/classcmf_1_1upslope_1_1subcatchment.html @@ -2,33 +2,37 @@ - - - - -cmf: subcatchment Class Reference - - - - + + + + + cmf: subcatchment Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    subcatchment Class Reference
    +
    subcatchment Class Reference

    A class to structure cells in a project using their main outlets. - More...

    -
    + More...

    +
    + Collaboration diagram for subcatchment:

    Detailed Description

    A class to structure cells in a project using their main outlets.

    - - - + +

    +

    Public Member Functions

     subcatchment (cmf::upslope::Cell &pourpoint, double area_threshold=1e308)
     Creates a subcatchment from a pourpoint cell. More...
     subcatchment (cmf::upslope::Cell &pourpoint, double area_threshold=1e308)
     Creates a subcatchment from a pourpoint cell.
     
    - - + - + - +

    +

    Public Attributes

    -cmf::upslope::cell_vector cells
    +cmf::upslope::cell_vector cells
     The cells of the subcatchment.
     
    -cmf::upslope::cell_vector inflowcells
    +cmf::upslope::cell_vector inflowcells
     Cells which are pourpoints for higher subcatchment.
     
    -const cmf::upslope::Cellpourpoint
    +const cmf::upslope::Cellpourpoint
     The outlet cell of the subcatchment.
     

    Constructor & Destructor Documentation

    - -

    ◆ subcatchment()

    + +

    ◆ subcatchment()

    @@ -151,19 +166,12 @@

    subcatchment ( - cmf::upslope::Cell &  - pourpoint, + cmf::upslope::Cell & pourpoint, - double  - area_threshold = 1e308  - - - - ) - + double area_threshold = 1e308 )

    @@ -187,7 +195,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:46 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1upslope_1_1subcatchment__coll__graph.map b/docs/classcmf_1_1upslope_1_1subcatchment__coll__graph.map index 2caadb14..1f78703f 100644 --- a/docs/classcmf_1_1upslope_1_1subcatchment__coll__graph.map +++ b/docs/classcmf_1_1upslope_1_1subcatchment__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1upslope_1_1subcatchment__coll__graph.md5 b/docs/classcmf_1_1upslope_1_1subcatchment__coll__graph.md5 index 6f94b462..b157e3ea 100644 --- a/docs/classcmf_1_1upslope_1_1subcatchment__coll__graph.md5 +++ b/docs/classcmf_1_1upslope_1_1subcatchment__coll__graph.md5 @@ -1 +1 @@ -ad1923a68bba2ca2dc616002612e7b7a \ No newline at end of file +fa0922de41ba18f5e038bba66ca51515 \ No newline at end of file diff --git a/docs/classcmf_1_1upslope_1_1subcatchment__coll__graph.png b/docs/classcmf_1_1upslope_1_1subcatchment__coll__graph.png index b7a9aed7..42453883 100644 Binary files a/docs/classcmf_1_1upslope_1_1subcatchment__coll__graph.png and b/docs/classcmf_1_1upslope_1_1subcatchment__coll__graph.png differ diff --git a/docs/classcmf_1_1upslope_1_1vegetation_1_1_vegetation-members.html b/docs/classcmf_1_1upslope_1_1vegetation_1_1_vegetation-members.html index ef2be770..5b7524bc 100644 --- a/docs/classcmf_1_1upslope_1_1vegetation_1_1_vegetation-members.html +++ b/docs/classcmf_1_1upslope_1_1vegetation_1_1_vegetation-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    diff --git a/docs/classcmf_1_1upslope_1_1vegetation_1_1_vegetation.html b/docs/classcmf_1_1upslope_1_1vegetation_1_1_vegetation.html index d458b068..6f72a67f 100644 --- a/docs/classcmf_1_1upslope_1_1vegetation_1_1_vegetation.html +++ b/docs/classcmf_1_1upslope_1_1vegetation_1_1_vegetation.html @@ -2,33 +2,37 @@ - - - - -cmf: Vegetation Class Reference - - - - + + + + + cmf: Vegetation Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Vegetation Class Reference
    +
    Vegetation Class Reference
    -

    Holds the vegetation parameters for the calculation of ET and fractionating rainfall. Not every ET method uses all parameters. - More...

    +

    Holds the vegetation parameters for the calculation of ET and fractionating rainfall. Not every ET method uses all parameters. + More...

    Detailed Description

    -

    Holds the vegetation parameters for the calculation of ET and fractionating rainfall. Not every ET method uses all parameters.

    +

    Holds the vegetation parameters for the calculation of ET and fractionating rainfall. Not every ET method uses all parameters.

    - - - + + - +

    +

    Public Member Functions

    double RootFraction (double upperBoundary, double lowerBoundary) const
     Returns the fraction of root mass in a segment of the soil column per total root mass. More...
    double RootFraction (double upperBoundary, double lowerBoundary) const
     Returns the fraction of root mass in a segment of the soil column per total root mass.
     
    -double RootLength () const
    +double RootLength () const
     Returns the average root length in m/m2.
     
    - - + - + - + - + - + - + - + - - + + - + - + - + - +

    +

    Public Attributes

    -double albedo
    +double albedo
     Fraction of reflected radiation.
     
    -double CanopyCapacityPerLAI
    +double CanopyCapacityPerLAI
     Capacity of interception storage per LAI unit in mm.
     
    -double CanopyClosure
    +double CanopyClosure
     Fraction of bare soil to the surface, influences the routing of rainfall.
     
    -double CanopyPARExtinction
    +double CanopyPARExtinction
     extinction coefficient for photosynthetically-active radiation in the canopy. Values usually range from 0.5 to 0.7. Values outside this range should be used very cautiously.
     
    -double fraction_at_rootdepth
    +double fraction_at_rootdepth
     Fraction of roots in the rooting zone. If 1 (default), a uniform root distribution is used, otherwise an exponential decay of the root density with depth is used.
     
    -double Height
    +double Height
     Height of the vegetation in m.
     
    -double LAI
    +double LAI
     Leaf area index.
     
    -double LeafWidth
     Average width of leaves in m (only for Shuttleworth-Wallace ET)
    +double LeafWidth
     Average width of leaves in m (only for Shuttleworth-Wallace ET)
     
    -double RootContent
    +double RootContent
     average fine root content in kg/m3 (default 2 kg/m3) in root depth.
     
    -double RootDepth
    +double RootDepth
     Depth of rooting zone in m, see fraction_at_rootdepth. Only used if root_distribution and root_distribution_depth are not set.
     
    -double snow_albedo
    +double snow_albedo
     Fraction of reflected radiation at snow cover.
     
    -double StomatalResistance
    +double StomatalResistance
     optimal stomatal resistence of the plant tissue for vapor, in s/m
     

    Member Function Documentation

    - -

    ◆ RootFraction()

    + +

    ◆ RootFraction()

    @@ -217,7 +221,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_adsorption-members.html b/docs/classcmf_1_1water_1_1_adsorption-members.html index 2007674a..3d8af40e 100644 --- a/docs/classcmf_1_1water_1_1_adsorption-members.html +++ b/docs/classcmf_1_1water_1_1_adsorption-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,21 +93,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Adsorption Member List
    +
    Adsorption Member List

    This is the complete list of members for Adsorption, including all inherited members.

    - - + +
    copy(real m=-1) const =0Adsorptionpure virtual
    freesolute(real xt, real V) const =0Adsorptionpure virtual
    copy(real m=-1) const =0Adsorptionpure virtual
    freesolute(real xt, real V) const =0Adsorptionpure virtual
    totalsolute(real xf, real V) const =0Adsorptionpure virtual
    @@ -112,7 +123,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_adsorption.html b/docs/classcmf_1_1water_1_1_adsorption.html index 1d56a383..2d87c80d 100644 --- a/docs/classcmf_1_1water_1_1_adsorption.html +++ b/docs/classcmf_1_1water_1_1_adsorption.html @@ -2,33 +2,37 @@ - - - - -cmf: Adsorption Class Reference - - - - + + + + + cmf: Adsorption Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,54 +93,63 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Adsorption Class Referenceabstract
    +
    Adsorption Class Referenceabstract

    Abstract class to use adsorption process for tracers on surfaces. - More...

    -
    + More...

    +
    + Inheritance diagram for Adsorption:

    Detailed Description

    Abstract class to use adsorption process for tracers on surfaces.

    Use the derived classes to use a certain isotherm

    - - - - - - + + + + + - - + +

    +

    Public Member Functions

    virtual Adsorptioncopy (real m=-1) const =0
     returns a copy of the Adsorption object. More...
     
    virtual real freesolute (real xt, real V) const =0
     Returns the mass of dissolved tracer as a function of the total tracer mass in the solute storage and the water volume. More...
    virtual Adsorptioncopy (real m=-1) const =0
     returns a copy of the Adsorption object.
     
    virtual real freesolute (real xt, real V) const =0
     Returns the mass of dissolved tracer as a function of the total tracer mass in the solute storage and the water volume.
     
    virtual real totalsolute (real xf, real V) const =0
     Returns the total mass of the tracer from the dissolved concetration in tracer unit/m3. More...
    virtual real totalsolute (real xf, real V) const =0
     Returns the total mass of the tracer from the dissolved concetration in tracer unit/m3.
     

    Member Function Documentation

    - -

    ◆ copy()

    + +

    ◆ copy()

    @@ -144,10 +158,9 @@

    - + - - +
    virtual Adsorption* copy virtual Adsorption * copy (real m = -1)real m = -1) const
    @@ -158,15 +171,15 @@

    -

    returns a copy of the Adsorption object.

    +

    returns a copy of the Adsorption object.

    If the adsorption is depending on the sorbent mass, you can give a positive value for the sorbent mass m. If the value is not given or negative, m is used from the original object.

    -

    Implemented in LangmuirAdsorption, FreundlichAdsorbtion, LinearAdsorption, and NullAdsorption.

    +

    Implemented in NullAdsorption, LinearAdsorption, and LangmuirAdsorption.

    - -

    ◆ freesolute()

    + +

    ◆ freesolute()

    - -

    ◆ totalsolute()

    + +

    ◆ totalsolute()

    @@ -269,7 +268,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_adsorption.js b/docs/classcmf_1_1water_1_1_adsorption.js index d2c32346..a8b44eb7 100644 --- a/docs/classcmf_1_1water_1_1_adsorption.js +++ b/docs/classcmf_1_1water_1_1_adsorption.js @@ -1,6 +1,6 @@ var classcmf_1_1water_1_1_adsorption = [ - [ "copy", "classcmf_1_1water_1_1_adsorption.html#adee0fa9a890e48a17519cef9d5117240", null ], + [ "copy", "classcmf_1_1water_1_1_adsorption.html#a7bbc50a5b882124f45cfcfd30e9f7a06", null ], [ "freesolute", "classcmf_1_1water_1_1_adsorption.html#a3cff752a17ff178fbb64fce9922f5d88", null ], [ "totalsolute", "classcmf_1_1water_1_1_adsorption.html#a0d167e79581c2943a1b04938daaadfee", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_adsorption__inherit__graph.map b/docs/classcmf_1_1water_1_1_adsorption__inherit__graph.map index 48a86248..96e03c57 100644 --- a/docs/classcmf_1_1water_1_1_adsorption__inherit__graph.map +++ b/docs/classcmf_1_1water_1_1_adsorption__inherit__graph.map @@ -1,6 +1,9 @@ - - - - + + + + + + + diff --git a/docs/classcmf_1_1water_1_1_adsorption__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_adsorption__inherit__graph.md5 index 404bab10..60aa7308 100644 --- a/docs/classcmf_1_1water_1_1_adsorption__inherit__graph.md5 +++ b/docs/classcmf_1_1water_1_1_adsorption__inherit__graph.md5 @@ -1 +1 @@ -25e19b39c1bf75557295684795df3cb2 \ No newline at end of file +da0e210439026ac3bf90c83eade1e000 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_adsorption__inherit__graph.png b/docs/classcmf_1_1water_1_1_adsorption__inherit__graph.png index 5a48eb97..39a62265 100644 Binary files a/docs/classcmf_1_1water_1_1_adsorption__inherit__graph.png and b/docs/classcmf_1_1water_1_1_adsorption__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_constant_flux-members.html b/docs/classcmf_1_1water_1_1_constant_flux-members.html new file mode 100644 index 00000000..6e531b47 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constant_flux-members.html @@ -0,0 +1,144 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    ConstantFlux Member List
    +
    +
    + +

    This is the complete list of members for ConstantFlux, including all inherited members.

    + + + + + + + + + + + + + + + + + + +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    ConstantFlux(cmf::water::WaterStorage::ptr source, cmf::water::flux_node::ptr target, real maximum_flux, real minimal_state=0, cmf::math::Time flux_decrease_time=cmf::math::h)ConstantFlux
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    FluxDecreaseTimeConstantFlux
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    MaxFluxConstantFlux
    MinStateConstantFlux
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_constant_flux.html b/docs/classcmf_1_1water_1_1_constant_flux.html new file mode 100644 index 00000000..2d055a2d --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constant_flux.html @@ -0,0 +1,369 @@ + + + + + + + + + cmf: ConstantFlux Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    + +

    Produces a constant but changeable flux from a source to a target, if enough water is present in the source. + More...

    +
    + + Inheritance diagram for ConstantFlux:
    +
    +
    + +
    + + Collaboration diagram for ConstantFlux:
    +
    +
    + +

    Detailed Description

    +

    Produces a constant but changeable flux from a source to a target, if enough water is present in the source.

    +

    +\[ q=\begin{cases}0 & V_{source}\le V_{min}\\ q_0 \frac{V_{source} - V_{min}}{t_{decr} q_{0} - V_{min}} & V_{source} \le t_{decr} q_{0}\\ q_{0} & \end{cases}\] +

    +

    This is similar to a neumann boundary, however this is not a boundary condition, but water is taken from the source (left) water storage and limited by that water storage.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     ConstantFlux (cmf::water::WaterStorage::ptr source, cmf::water::flux_node::ptr target, real maximum_flux, real minimal_state=0, cmf::math::Time flux_decrease_time=cmf::math::h)
     Produces a constant but changeable flux from a source to a target, if enough water is present in the source.
     
    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

    +cmf::math::Time FluxDecreaseTime
     The flux is linearly decreased, if it takes less than FluxDecreaseTime \(t_{decr}\) to reach MinState with MaxFlux.
     
    +real MaxFlux
     The requested flux \(q_{0}\left[frac{m^3}{day}\right]\).
     
    +real MinState
     The minimal volume of the state \(V_{min}\left[m^3\right]\).
     
    +const std::string type
     A string describing the type of the connection.
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ ConstantFlux()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ConstantFlux (cmf::water::WaterStorage::ptr source,
    cmf::water::flux_node::ptr target,
    real maximum_flux,
    real minimal_state = 0,
    cmf::math::Time flux_decrease_time = cmf::math::h )
    +
    + +

    Produces a constant but changeable flux from a source to a target, if enough water is present in the source.

    +
    Parameters
    + + + + + + +
    sourceThe source of the water
    targetThe target of the water
    maximum_fluxThe requested flux \(q_{0} [\frac{m^3}{day}]\)
    minimal_stateMinimal volume of stored water in source in \([m^3]\)
    flux_decrease_time(cmf::math::Time)
    +
    +
    + +
    +
    +

    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

    + +
    +
    +
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_constant_flux.js b/docs/classcmf_1_1water_1_1_constant_flux.js new file mode 100644 index 00000000..57a23873 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constant_flux.js @@ -0,0 +1,19 @@ +var classcmf_1_1water_1_1_constant_flux = +[ + [ "ConstantFlux", "classcmf_1_1water_1_1_constant_flux.html#a17001a75483b2c7e8e265d127038688b", null ], + [ "conc", "classcmf_1_1water_1_1_constant_flux.html#ad7fafdce438d10fb5a35e7870737ce23", null ], + [ "get_target", "classcmf_1_1water_1_1_constant_flux.html#abc8d7bf5d699f04bb717e989dab315ab", null ], + [ "get_target", "classcmf_1_1water_1_1_constant_flux.html#a9452e9ff83a825e3420347a45ba9b313", null ], + [ "get_tracer_filter", "classcmf_1_1water_1_1_constant_flux.html#a73545d13b9544caa52a2a5bd747dadad", null ], + [ "get_tracer_filter", "classcmf_1_1water_1_1_constant_flux.html#a97e72365a8d2e46e7d1cb5c702164561", null ], + [ "kill_me", "classcmf_1_1water_1_1_constant_flux.html#a137cf279253d55feb9629e4423e34191", null ], + [ "left_node", "classcmf_1_1water_1_1_constant_flux.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], + [ "q", "classcmf_1_1water_1_1_constant_flux.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], + [ "refresh", "classcmf_1_1water_1_1_constant_flux.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], + [ "right_node", "classcmf_1_1water_1_1_constant_flux.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], + [ "set_tracer_filter", "classcmf_1_1water_1_1_constant_flux.html#a5edf702b615e8af8d847ecd63d13eb25", null ], + [ "FluxDecreaseTime", "classcmf_1_1water_1_1_constant_flux.html#aa78eb2340296a4d113120862324435e2", null ], + [ "MaxFlux", "classcmf_1_1water_1_1_constant_flux.html#a11e953bb4d99ba85d3216c969c50d780", null ], + [ "MinState", "classcmf_1_1water_1_1_constant_flux.html#a52bb184cb131eb4782749a366a12f568", null ], + [ "type", "classcmf_1_1water_1_1_constant_flux.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_constant_flux__coll__graph.map b/docs/classcmf_1_1water_1_1_constant_flux__coll__graph.map new file mode 100644 index 00000000..bfae4f28 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constant_flux__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/classcmf_1_1water_1_1_constant_flux__coll__graph.md5 b/docs/classcmf_1_1water_1_1_constant_flux__coll__graph.md5 new file mode 100644 index 00000000..3e50376b --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constant_flux__coll__graph.md5 @@ -0,0 +1 @@ +93b0fed47e22bf7ad5e85def62ae9721 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_constant_flux__coll__graph.png b/docs/classcmf_1_1water_1_1_constant_flux__coll__graph.png new file mode 100644 index 00000000..928b6447 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_constant_flux__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_constant_flux__inherit__graph.map b/docs/classcmf_1_1water_1_1_constant_flux__inherit__graph.map new file mode 100644 index 00000000..33cecbe8 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constant_flux__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_constant_flux__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_constant_flux__inherit__graph.md5 new file mode 100644 index 00000000..883a7bdf --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constant_flux__inherit__graph.md5 @@ -0,0 +1 @@ +4ae77cf0fa318096837aa9d8990e32e9 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_constant_flux__inherit__graph.png b/docs/classcmf_1_1water_1_1_constant_flux__inherit__graph.png new file mode 100644 index 00000000..dd4c50a4 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_constant_flux__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_constant_state_flux-members.html b/docs/classcmf_1_1water_1_1_constant_state_flux-members.html new file mode 100644 index 00000000..59bcd26f --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constant_state_flux-members.html @@ -0,0 +1,141 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    ConstantStateFlux Member List
    +
    +
    + +

    This is the complete list of members for ConstantStateFlux, including all inherited members.

    + + + + + + + + + + + + + + + +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    ConstantStateFlux(cmf::water::WaterStorage::ptr controlled_storage, cmf::water::flux_node::ptr other_end, real target_state, cmf::math::Time reaction_time)ConstantStateFlux
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_constant_state_flux.html b/docs/classcmf_1_1water_1_1_constant_state_flux.html new file mode 100644 index 00000000..c23af4a2 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constant_state_flux.html @@ -0,0 +1,356 @@ + + + + + + + + + cmf: ConstantStateFlux Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    ConstantStateFlux Class Reference
    +
    +
    + +

    Calculates a flux to or from a water storage to hold it's state at a more or less constant level. + More...

    +
    + + Inheritance diagram for ConstantStateFlux:
    +
    +
    + +
    + + Collaboration diagram for ConstantStateFlux:
    +
    +
    + +

    Detailed Description

    +

    Calculates a flux to or from a water storage to hold it's state at a more or less constant level.

    +

    +\[ q=\frac{h_1 - h_{target}}{t_c [days]} \] +

    +

    where:

      +
    • \(q\) the resulting flux in m3/day
    • +
    • \(h_1\) the reference state
    • +
    • \(h_{target}\) the state of the target (right) node
    • +
    • \(t_c\) the time to reach the target state
    • +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     ConstantStateFlux (cmf::water::WaterStorage::ptr controlled_storage, cmf::water::flux_node::ptr other_end, real target_state, cmf::math::Time reaction_time)
     Creates a flux connection to control the state of a storage.
     
    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

    +const std::string type
     A string describing the type of the connection.
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ ConstantStateFlux()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    ConstantStateFlux (cmf::water::WaterStorage::ptr controlled_storage,
    cmf::water::flux_node::ptr other_end,
    real target_state,
    cmf::math::Time reaction_time )
    +
    + +

    Creates a flux connection to control the state of a storage.

    +
    Parameters
    + + + + + +
    controlled_storageWater storage, to be controlled
    other_endsource of missing water or target of excessive water
    target_stateState the controlled storage should hold ( \(h_{target}\))
    reaction_timeTime to reach state ( \(t_c\))
    +
    +
    + +
    +
    +

    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

    + +
    +
    +
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_constant_state_flux.js b/docs/classcmf_1_1water_1_1_constant_state_flux.js new file mode 100644 index 00000000..73b1a8a3 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constant_state_flux.js @@ -0,0 +1,16 @@ +var classcmf_1_1water_1_1_constant_state_flux = +[ + [ "ConstantStateFlux", "classcmf_1_1water_1_1_constant_state_flux.html#af1646bb267fc93dfc1183e73512feb9b", null ], + [ "conc", "classcmf_1_1water_1_1_constant_state_flux.html#ad7fafdce438d10fb5a35e7870737ce23", null ], + [ "get_target", "classcmf_1_1water_1_1_constant_state_flux.html#abc8d7bf5d699f04bb717e989dab315ab", null ], + [ "get_target", "classcmf_1_1water_1_1_constant_state_flux.html#a9452e9ff83a825e3420347a45ba9b313", null ], + [ "get_tracer_filter", "classcmf_1_1water_1_1_constant_state_flux.html#a73545d13b9544caa52a2a5bd747dadad", null ], + [ "get_tracer_filter", "classcmf_1_1water_1_1_constant_state_flux.html#a97e72365a8d2e46e7d1cb5c702164561", null ], + [ "kill_me", "classcmf_1_1water_1_1_constant_state_flux.html#a137cf279253d55feb9629e4423e34191", null ], + [ "left_node", "classcmf_1_1water_1_1_constant_state_flux.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], + [ "q", "classcmf_1_1water_1_1_constant_state_flux.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], + [ "refresh", "classcmf_1_1water_1_1_constant_state_flux.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], + [ "right_node", "classcmf_1_1water_1_1_constant_state_flux.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], + [ "set_tracer_filter", "classcmf_1_1water_1_1_constant_state_flux.html#a5edf702b615e8af8d847ecd63d13eb25", null ], + [ "type", "classcmf_1_1water_1_1_constant_state_flux.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_constant_state_flux__coll__graph.map b/docs/classcmf_1_1water_1_1_constant_state_flux__coll__graph.map new file mode 100644 index 00000000..084922e9 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constant_state_flux__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/classcmf_1_1water_1_1_constant_state_flux__coll__graph.md5 b/docs/classcmf_1_1water_1_1_constant_state_flux__coll__graph.md5 new file mode 100644 index 00000000..f6070768 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constant_state_flux__coll__graph.md5 @@ -0,0 +1 @@ +eccea84fcbd806cfa4b1307c4fd10cb8 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_constant_state_flux__coll__graph.png b/docs/classcmf_1_1water_1_1_constant_state_flux__coll__graph.png new file mode 100644 index 00000000..9042f01a Binary files /dev/null and b/docs/classcmf_1_1water_1_1_constant_state_flux__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_constant_state_flux__inherit__graph.map b/docs/classcmf_1_1water_1_1_constant_state_flux__inherit__graph.map new file mode 100644 index 00000000..4b307477 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constant_state_flux__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_constant_state_flux__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_constant_state_flux__inherit__graph.md5 new file mode 100644 index 00000000..3f3738ea --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constant_state_flux__inherit__graph.md5 @@ -0,0 +1 @@ +8dcfe049759de6f4b5ab3e346749144e \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_constant_state_flux__inherit__graph.png b/docs/classcmf_1_1water_1_1_constant_state_flux__inherit__graph.png new file mode 100644 index 00000000..7410194b Binary files /dev/null and b/docs/classcmf_1_1water_1_1_constant_state_flux__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection-members.html b/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection-members.html deleted file mode 100644 index b43df647..00000000 --- a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection-members.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    ConstraintLinearStorageConnection Member List
    -
    -
    - -

    This is the complete list of members for ConstraintLinearStorageConnection, including all inherited members.

    - - - - - - - - - - - - - - - - - - -
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    ConstraintLinearStorageConnection(WaterStorage::ptr source, WaterStorage::ptr target, real residencetime=1.0, real Vlmin=0.0, real Vrmax=1.0)ConstraintLinearStorageConnection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    residencetimeConstraintLinearStorageConnection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    VlminConstraintLinearStorageConnection
    VrmaxConstraintLinearStorageConnection
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection.html b/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection.html deleted file mode 100644 index 9a01b81f..00000000 --- a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection.html +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - -cmf: ConstraintLinearStorageConnection Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    ConstraintLinearStorageConnection Class Reference
    -
    -
    - -

    Calculates flux out of a storage as a linear function of its volume, constraint by the volume stored in the target storage. - More...

    -
    - + Inheritance diagram for ConstraintLinearStorageConnection:
    -
    -
    - -
    - + Collaboration diagram for ConstraintLinearStorageConnection:
    -
    -
    - -

    Detailed Description

    -

    Calculates flux out of a storage as a linear function of its volume, constraint by the volume stored in the target storage.

    -

    -\[ q = \frac {1}{t_r} \left({V_{l} - V_{l,min}}\right) \cdot \left(\frac{V_{r,max}-V_{r}}{V_{r,max}}\right)\] -

    -

    where:

      -
    • \(V_l\) The actual volume stored by the left water storage
    • -
    • \(V_{l,min} [m^3]\) The volume of water not flowing out (default = 0)
    • -
    • \(\beta\) A parameter to shape the response curve. In case of \(\beta \neq 1\), \(t_r\) is not a residence time, but just a parameter.
    • -
    • \(t_r [days]\) The residence time of the water in this storage in days
    • -
    • \(V_{r,max}\) The capacity of the right water storage in m3
    • -
    • \(V_{r}\) The actual volume of the right water storage
    • -
    • \(\gamma\) A shape parameter for the target capacity constriction
    • -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

     ConstraintLinearStorageConnection (WaterStorage::ptr source, WaterStorage::ptr target, real residencetime=1.0, real Vlmin=0.0, real Vrmax=1.0)
     Creates a linear storage connection, constrained by the fill level of the source

    -\[ q = \frac 1 {t_r} {\left(\frac{V - V_{residual}}{V_0} \right)^\beta} \] -

    -

    . More...

     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
     
    -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. More...
     
    -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. More...
     
    - - - - - - - - - - - - - -

    -Public Attributes

    -real residencetime
     Linear flow parameter traveltime in days.
     
    -const std::string type
     A string describing the type of the connection.
     
    -real Vlmin
     residual volume \(V_{l,min}\) in left storage
     
    -real Vrmax
     Target capacity \(V_{r,max}\).
     
    -

    Constructor & Destructor Documentation

    - -

    ◆ ConstraintLinearStorageConnection()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ConstraintLinearStorageConnection (WaterStorage::ptr source,
    WaterStorage::ptr target,
    real residencetime = 1.0,
    real Vlmin = 0.0,
    real Vrmax = 1.0 
    )
    -
    - -

    Creates a linear storage connection, constrained by the fill level of the source

    -\[ q = \frac 1 {t_r} {\left(\frac{V - V_{residual}}{V_0} \right)^\beta} \] -

    -

    .

    -
    Parameters
    - - - - - - -
    sourceWater storage from which the water flows out. Flux is a function of source.volume
    targetTarget node (boundary condition or storage). Does not influence the strength of the flow
    residencetime\(t_r [days]\) The residence time of the water in this storage
    Vlmin\(V_{l,min} [m^3]\) The volume of water not flowing out (default = 0)
    Vrmax\(V_{r,max}\) Capacity of the target water storage in m3
    -
    -
    - -
    -
    -

    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

    - -
    -
    -
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection.js b/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection.js deleted file mode 100644 index 0cc4b3a5..00000000 --- a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection.js +++ /dev/null @@ -1,19 +0,0 @@ -var classcmf_1_1water_1_1_constraint_linear_storage_connection = -[ - [ "ConstraintLinearStorageConnection", "classcmf_1_1water_1_1_constraint_linear_storage_connection.html#a4b3f4a094415b233c52897bbb71dfdce", null ], - [ "conc", "classcmf_1_1water_1_1_constraint_linear_storage_connection.html#ad7fafdce438d10fb5a35e7870737ce23", null ], - [ "get_target", "classcmf_1_1water_1_1_constraint_linear_storage_connection.html#abc8d7bf5d699f04bb717e989dab315ab", null ], - [ "get_target", "classcmf_1_1water_1_1_constraint_linear_storage_connection.html#a9452e9ff83a825e3420347a45ba9b313", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1_constraint_linear_storage_connection.html#a73545d13b9544caa52a2a5bd747dadad", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1_constraint_linear_storage_connection.html#a97e72365a8d2e46e7d1cb5c702164561", null ], - [ "kill_me", "classcmf_1_1water_1_1_constraint_linear_storage_connection.html#a137cf279253d55feb9629e4423e34191", null ], - [ "left_node", "classcmf_1_1water_1_1_constraint_linear_storage_connection.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], - [ "q", "classcmf_1_1water_1_1_constraint_linear_storage_connection.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], - [ "refresh", "classcmf_1_1water_1_1_constraint_linear_storage_connection.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], - [ "right_node", "classcmf_1_1water_1_1_constraint_linear_storage_connection.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], - [ "set_tracer_filter", "classcmf_1_1water_1_1_constraint_linear_storage_connection.html#a5edf702b615e8af8d847ecd63d13eb25", null ], - [ "residencetime", "classcmf_1_1water_1_1_constraint_linear_storage_connection.html#a5449f87977cc863816e8df46fee04f7e", null ], - [ "type", "classcmf_1_1water_1_1_constraint_linear_storage_connection.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ], - [ "Vlmin", "classcmf_1_1water_1_1_constraint_linear_storage_connection.html#ac8988865ac431ea182b69e1497ce4893", null ], - [ "Vrmax", "classcmf_1_1water_1_1_constraint_linear_storage_connection.html#a016af530b9992121b015d5faf94b1bd4", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__coll__graph.map b/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__coll__graph.map deleted file mode 100644 index 5327b343..00000000 --- a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__coll__graph.md5 b/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__coll__graph.md5 deleted file mode 100644 index b1c2e050..00000000 --- a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -621545b028af9fa0eba0afdec69cc627 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__coll__graph.png b/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__coll__graph.png deleted file mode 100644 index 8ee93620..00000000 Binary files a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__inherit__graph.map b/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__inherit__graph.map deleted file mode 100644 index 5327b343..00000000 --- a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__inherit__graph.md5 deleted file mode 100644 index 59e3f90e..00000000 --- a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c8da9e23f4f947305eb40b69034e5ae8 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__inherit__graph.png b/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__inherit__graph.png deleted file mode 100644 index 8ee93620..00000000 Binary files a/docs/classcmf_1_1water_1_1_constraint_linear_storage_connection__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux-members.html b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux-members.html new file mode 100644 index 00000000..57919e58 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux-members.html @@ -0,0 +1,144 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    ConstraintLinearStorageFlux Member List
    +
    +
    + +

    This is the complete list of members for ConstraintLinearStorageFlux, including all inherited members.

    + + + + + + + + + + + + + + + + + + +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    ConstraintLinearStorageFlux(WaterStorage::ptr source, WaterStorage::ptr target, real residencetime=1.0, real Vlmin=0.0, real Vrmax=1.0)ConstraintLinearStorageFlux
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    residencetimeConstraintLinearStorageFlux
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    VlminConstraintLinearStorageFlux
    VrmaxConstraintLinearStorageFlux
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux.html b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux.html new file mode 100644 index 00000000..c9e797b4 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux.html @@ -0,0 +1,378 @@ + + + + + + + + + cmf: ConstraintLinearStorageFlux Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    ConstraintLinearStorageFlux Class Reference
    +
    +
    + +

    Calculates flux out of a storage as a linear function of its volume, constraint by the volume stored in the target storage. + More...

    +
    + + Inheritance diagram for ConstraintLinearStorageFlux:
    +
    +
    + +
    + + Collaboration diagram for ConstraintLinearStorageFlux:
    +
    +
    + +

    Detailed Description

    +

    Calculates flux out of a storage as a linear function of its volume, constraint by the volume stored in the target storage.

    +

    +\[ q = \frac {1}{t_r} \left({V_{l} - V_{l,min}}\right) \cdot \left(\frac{V_{r,max}-V_{r}}{V_{r,max}}\right)\] +

    +

    where:

      +
    • \(V_l\) The actual volume stored by the left water storage
    • +
    • \(V_{l,min} [m^3]\) The volume of water not flowing out (default = 0)
    • +
    • \(\beta\) A parameter to shape the response curve. In case of \(\beta \neq 1\), \(t_r\) is not a residence time, but just a parameter.
    • +
    • \(t_r [days]\) The residence time of the water in this storage in days
    • +
    • \(V_{r,max}\) The capacity of the right water storage in m3
    • +
    • \(V_{r}\) The actual volume of the right water storage
    • +
    • \(\gamma\) A shape parameter for the target capacity constriction
    • +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     ConstraintLinearStorageFlux (WaterStorage::ptr source, WaterStorage::ptr target, real residencetime=1.0, real Vlmin=0.0, real Vrmax=1.0)
     Creates a linear storage connection, constrained by the fill level of the source.
     
    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 residencetime
     Linear flow parameter traveltime in days.
     
    +const std::string type
     A string describing the type of the connection.
     
    +real Vlmin
     residual volume \(V_{l,min}\) in left storage
     
    +real Vrmax
     Target capacity \(V_{r,max}\).
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ ConstraintLinearStorageFlux()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ConstraintLinearStorageFlux (WaterStorage::ptr source,
    WaterStorage::ptr target,
    real residencetime = 1.0,
    real Vlmin = 0.0,
    real Vrmax = 1.0 )
    +
    + +

    Creates a linear storage connection, constrained by the fill level of the source.

    +

    +\[ q = \frac 1 {t_r} {\left(\frac{V - V_{residual}}{V_0} \right)^\beta} \] +

    +
    Parameters
    + + + + + + +
    sourceWater storage from which the water flows out. Flux is a function of source.volume
    targetTarget node (boundary condition or storage). Does not influence the strength of the flow
    residencetime\(t_r [days]\) The residence time of the water in this storage
    Vlmin\(V_{l,min} [m^3]\) The volume of water not flowing out (default = 0)
    Vrmax\(V_{r,max}\) Capacity of the target water storage in m3
    +
    +
    + +
    +
    +

    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

    + +
    +
    +
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux.js b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux.js new file mode 100644 index 00000000..39e84c74 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux.js @@ -0,0 +1,19 @@ +var classcmf_1_1water_1_1_constraint_linear_storage_flux = +[ + [ "ConstraintLinearStorageFlux", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html#ab5673177b146206efadea4065e7d6a23", null ], + [ "conc", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html#ad7fafdce438d10fb5a35e7870737ce23", null ], + [ "get_target", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html#abc8d7bf5d699f04bb717e989dab315ab", null ], + [ "get_target", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html#a9452e9ff83a825e3420347a45ba9b313", null ], + [ "get_tracer_filter", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html#a73545d13b9544caa52a2a5bd747dadad", null ], + [ "get_tracer_filter", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html#a97e72365a8d2e46e7d1cb5c702164561", null ], + [ "kill_me", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html#a137cf279253d55feb9629e4423e34191", null ], + [ "left_node", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], + [ "q", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], + [ "refresh", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], + [ "right_node", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], + [ "set_tracer_filter", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html#a5edf702b615e8af8d847ecd63d13eb25", null ], + [ "residencetime", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html#a5449f87977cc863816e8df46fee04f7e", null ], + [ "type", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ], + [ "Vlmin", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html#ac8988865ac431ea182b69e1497ce4893", null ], + [ "Vrmax", "classcmf_1_1water_1_1_constraint_linear_storage_flux.html#a016af530b9992121b015d5faf94b1bd4", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__coll__graph.map b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__coll__graph.map new file mode 100644 index 00000000..0cb60519 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__coll__graph.md5 b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__coll__graph.md5 new file mode 100644 index 00000000..68a7fbe5 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__coll__graph.md5 @@ -0,0 +1 @@ +e497e8961458d7c956c3c99cc45717b5 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__coll__graph.png b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__coll__graph.png new file mode 100644 index 00000000..79b8ac28 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__inherit__graph.map b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__inherit__graph.map new file mode 100644 index 00000000..0cb60519 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__inherit__graph.md5 new file mode 100644 index 00000000..68a7fbe5 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__inherit__graph.md5 @@ -0,0 +1 @@ +e497e8961458d7c956c3c99cc45717b5 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__inherit__graph.png b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__inherit__graph.png new file mode 100644 index 00000000..79b8ac28 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_constraint_linear_storage_flux__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_dirichlet_boundary-members.html b/docs/classcmf_1_1water_1_1_dirichlet_boundary-members.html index a92cb589..85882231 100644 --- a/docs/classcmf_1_1water_1_1_dirichlet_boundary-members.html +++ b/docs/classcmf_1_1water_1_1_dirichlet_boundary-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,36 +93,43 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    DirichletBoundary Member List
    +
    DirichletBoundary Member List

    This is the complete list of members for DirichletBoundary, including all inherited members.

    - + - - - + + + - + - + - + - - - - + + + + +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute) constDirichletBoundaryvirtual
    connection_to(const cmf::water::flux_node &target)flux_node
    connection_to(const cmf::water::flux_node &target)flux_node
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_potential() constDirichletBoundaryvirtual
    get_project() constflux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_potential(cmf::math::Time t=cmf::math::never) const overrideDirichletBoundaryvirtual
    get_project() constflux_node
    is_empty() constDirichletBoundaryvirtual
    is_storage() constflux_nodevirtual
    is_storage() constflux_nodevirtual
    Nameflux_node
    node_idflux_node
    node_idflux_node
    operator()(cmf::math::Time t) constflux_node
    positionflux_node
    positionflux_node
    cmf::water::flux_node::RecalcFluxes(cmf::math::Time t)flux_nodevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_potential(real new_potential)DirichletBoundaryvirtual
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    ~flux_node()flux_nodevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_dynamic_potential(cmf::math::timeseries ts)DirichletBoundary
    set_potential(real new_potential) overrideDirichletBoundaryvirtual
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    ~flux_node()flux_nodevirtual
    diff --git a/docs/classcmf_1_1water_1_1_dirichlet_boundary.html b/docs/classcmf_1_1water_1_1_dirichlet_boundary.html index cd70090e..c45a5a59 100644 --- a/docs/classcmf_1_1water_1_1_dirichlet_boundary.html +++ b/docs/classcmf_1_1water_1_1_dirichlet_boundary.html @@ -2,33 +2,37 @@ - - - - -cmf: DirichletBoundary Class Reference - - - - + + + + + cmf: DirichletBoundary Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    DirichletBoundary Class Reference
    +
    DirichletBoundary Class Reference

    Dirichlet (constant head) boundary condition. - More...

    -
    + More...

    +
    + Inheritance diagram for DirichletBoundary:
    -
    +
    + Collaboration diagram for DirichletBoundary:

    Detailed Description

    Dirichlet (constant head) boundary condition.

    This boundary condition can be used either as a pure sink boundary condition or as a conditional source / sink boundary condition. The constant head of the boundary condition is interpreted and handled by the connections of the boundary condition. Not head aware connections, should not be used, since they are ignoring the constant head.

    - - - + + - - - - + + + + - + - - - - - - - + + + + + + + - + - + - - + + - + - - - - - + + + + + + + +

    +

    Public Member Functions

    -virtual 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.
    +virtual 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.
     
    -cmf::water::flux_connectionconnection_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)
    +cmf::water::flux_connectionconnection_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)
    +cmf::geometry::point get_3d_flux (cmf::math::Time t)
     Returns the sum of all flux vectors.
     
    real get_potential () const
     Returns the water potential of the node in m waterhead. More...
     
    -cmf::projectget_project () const
     Returns the project, this node is part of.
     
    -double is_empty () const
    real get_potential (cmf::math::Time t=cmf::math::never) const override
     Returns the water potential of the node in m waterhead.
     
    +cmf::projectget_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
    +virtual bool is_storage () const
     true, if this is a waterstorage
     
    -real operator() (cmf::math::Time t) const
    +real operator() (cmf::math::Time t) const
     returns the waterblance
     
    virtual bool RecalcFluxes (cmf::math::Time t)
     Pure flux_nodes do not influence fluxes, therefore no recalculation of fluxes is required by flux_node. More...
    virtual 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)
    +bool remove_connection (cmf::water::flux_node::ptr To)
     Remove the connection.
     
    -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. More...
    +void set_dynamic_potential (cmf::math::timeseries ts)
     Sets the potential of the boundary condition as a timeseries.
     
    +void set_potential (real new_potential) override
     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.
     
    - - + - + - +

    +

    Public Attributes

    -std::string Name
    +std::string Name
     The Name of this node.
     
    -const int node_id
    +const int node_id
     The Id of the node.
     
    -cmf::geometry::point position
    +cmf::geometry::point position
     The spatial position of the node.
     

    Member Function Documentation

    - -

    ◆ get_potential()

    + +

    ◆ get_potential()

    @@ -210,13 +232,13 @@

    real get_potential ( - ) + cmf::math::Time = cmf::math::never) const -virtual +overridevirtual

    @@ -224,12 +246,12 @@

    flux_node.

    +

    Reimplemented from flux_node.

    - -

    ◆ RecalcFluxes()

    + +

    ◆ RecalcFluxes()

    @@ -240,8 +262,7 @@

    virtual bool RecalcFluxes ( - cmf::math::Time  - t) + cmf::math::Time t) @@ -252,15 +273,15 @@

    -

    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

    +

    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 in WaterStorage, NeumannBoundary, and RainSource.

    +

    Reimplemented in RainSource, NeumannBoundary, and WaterStorage.

    - -

    ◆ waterbalance()

    + +

    ◆ waterbalance()

    @@ -271,19 +292,12 @@

    real waterbalance ( - cmf::math::Time  - t, + cmf::math::Time t, - const flux_connection *  - Without = 0  - - - - ) - const + const flux_connection * Without = 0 ) const @@ -294,7 +308,8 @@

    Returns the sum of all fluxes (positive and negative) at time t.

    -

    Single fluxes can be excluded from the calculation

    Parameters
    +


    + Single fluxes can be excluded from the calculation

    Parameters
    @@ -312,7 +327,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    tTime of the query
    WithoutA flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits)
    Generated: Fri Apr 26 2019 12:43:49Generated: Fri Jan 19 2024 16:10:57
    diff --git a/docs/classcmf_1_1water_1_1_dirichlet_boundary.js b/docs/classcmf_1_1water_1_1_dirichlet_boundary.js index 1f0eb697..3679361e 100644 --- a/docs/classcmf_1_1water_1_1_dirichlet_boundary.js +++ b/docs/classcmf_1_1water_1_1_dirichlet_boundary.js @@ -1,17 +1,18 @@ var classcmf_1_1water_1_1_dirichlet_boundary = [ [ "conc", "classcmf_1_1water_1_1_dirichlet_boundary.html#a6869e4c17b100086993d743d2109f8d5", null ], - [ "connection_to", "classcmf_1_1water_1_1_dirichlet_boundary.html#a5bd6810024edaf9bd5d5747d91ce5f1b", null ], + [ "connection_to", "classcmf_1_1water_1_1_dirichlet_boundary.html#abc9aed3e3aae59d1b4c383fb6e6385eb", null ], [ "flux_to", "classcmf_1_1water_1_1_dirichlet_boundary.html#a66f1b6a9698be9ffce574833de835bd1", null ], [ "get_3d_flux", "classcmf_1_1water_1_1_dirichlet_boundary.html#a8cba494467e1ffc036c47f1bcd60eccb", null ], - [ "get_potential", "classcmf_1_1water_1_1_dirichlet_boundary.html#aea058cbf85a0c1da0df71668c014d29a", null ], - [ "get_project", "classcmf_1_1water_1_1_dirichlet_boundary.html#ae4c3731109c42d8e7f70eb646fb573ec", null ], + [ "get_potential", "classcmf_1_1water_1_1_dirichlet_boundary.html#a5b80f0e67ce2c58785c148b78a9515df", null ], + [ "get_project", "classcmf_1_1water_1_1_dirichlet_boundary.html#aac16760bdca4fd53f80987ee5affa734", null ], [ "is_empty", "classcmf_1_1water_1_1_dirichlet_boundary.html#ac037cbc67fd2f4e4ccafa59904cca202", null ], [ "is_storage", "classcmf_1_1water_1_1_dirichlet_boundary.html#ace09b97c37ded843368a00c04e89b55f", null ], [ "operator()", "classcmf_1_1water_1_1_dirichlet_boundary.html#a1ac09266985df622ef90ce40783058cb", null ], [ "RecalcFluxes", "classcmf_1_1water_1_1_dirichlet_boundary.html#ad4e4534513b31d5a3596b072ad4cd42f", null ], [ "remove_connection", "classcmf_1_1water_1_1_dirichlet_boundary.html#ab933615f7c65dfd492770c3e1475a881", null ], - [ "set_potential", "classcmf_1_1water_1_1_dirichlet_boundary.html#a027f97030fe463aaa9dda4dcd7c43683", null ], + [ "set_dynamic_potential", "classcmf_1_1water_1_1_dirichlet_boundary.html#ac3ff518cb9d49f27d97b47fc4f153948", null ], + [ "set_potential", "classcmf_1_1water_1_1_dirichlet_boundary.html#a4be7fed1b70a9c5e5d9ff5cfd2ae0ed1", null ], [ "waterbalance", "classcmf_1_1water_1_1_dirichlet_boundary.html#a2b14436c9dfb7b52bad2784c81a31eab", null ], [ "Name", "classcmf_1_1water_1_1_dirichlet_boundary.html#adc852f586959ce13117d737cf3f14899", null ], [ "node_id", "classcmf_1_1water_1_1_dirichlet_boundary.html#ac4c7b16573e373dd2677dc667fba9acc", null ], diff --git a/docs/classcmf_1_1water_1_1_dirichlet_boundary__coll__graph.map b/docs/classcmf_1_1water_1_1_dirichlet_boundary__coll__graph.map index a3b2d1fa..2b302137 100644 --- a/docs/classcmf_1_1water_1_1_dirichlet_boundary__coll__graph.map +++ b/docs/classcmf_1_1water_1_1_dirichlet_boundary__coll__graph.map @@ -1,4 +1,9 @@ - - + + + + + + + diff --git a/docs/classcmf_1_1water_1_1_dirichlet_boundary__coll__graph.md5 b/docs/classcmf_1_1water_1_1_dirichlet_boundary__coll__graph.md5 index c90e4e4e..025dd135 100644 --- a/docs/classcmf_1_1water_1_1_dirichlet_boundary__coll__graph.md5 +++ b/docs/classcmf_1_1water_1_1_dirichlet_boundary__coll__graph.md5 @@ -1 +1 @@ -4452d05367a65fdae9491f4718289785 \ No newline at end of file +649c0a6728ae87b6a32d7fe17b36d53e \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_dirichlet_boundary__coll__graph.png b/docs/classcmf_1_1water_1_1_dirichlet_boundary__coll__graph.png index d13b494d..6352a564 100644 Binary files a/docs/classcmf_1_1water_1_1_dirichlet_boundary__coll__graph.png and b/docs/classcmf_1_1water_1_1_dirichlet_boundary__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_dirichlet_boundary__inherit__graph.map b/docs/classcmf_1_1water_1_1_dirichlet_boundary__inherit__graph.map index f1e88651..b6f1efa1 100644 --- a/docs/classcmf_1_1water_1_1_dirichlet_boundary__inherit__graph.map +++ b/docs/classcmf_1_1water_1_1_dirichlet_boundary__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_dirichlet_boundary__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_dirichlet_boundary__inherit__graph.md5 index 73bc7c3b..c54f76a3 100644 --- a/docs/classcmf_1_1water_1_1_dirichlet_boundary__inherit__graph.md5 +++ b/docs/classcmf_1_1water_1_1_dirichlet_boundary__inherit__graph.md5 @@ -1 +1 @@ -ed8d7312b9fdea30a7406b9cc3c495c9 \ No newline at end of file +91bfa435325397fc82d561d1e365c62d \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_dirichlet_boundary__inherit__graph.png b/docs/classcmf_1_1water_1_1_dirichlet_boundary__inherit__graph.png index 71de4a7c..07319cf6 100644 Binary files a/docs/classcmf_1_1water_1_1_dirichlet_boundary__inherit__graph.png and b/docs/classcmf_1_1water_1_1_dirichlet_boundary__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_exponential_decline_connection-members.html b/docs/classcmf_1_1water_1_1_exponential_decline_connection-members.html index c9faece4..0ffdde47 100644 --- a/docs/classcmf_1_1water_1_1_exponential_decline_connection-members.html +++ b/docs/classcmf_1_1water_1_1_exponential_decline_connection-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,35 +93,41 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    ExponentialDeclineConnection Member List
    +
    ExponentialDeclineConnection Member List

    This is the complete list of members for ExponentialDeclineConnection, including all inherited members.

    - + - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    ExponentialDeclineConnection(WaterStorage::ptr source, flux_node::ptr target, real Q0, real V0, real m)ExponentialDeclineConnection
    ExponentialDeclineConnection(WaterStorage::ptr source, flux_node::ptr target, real Q0, real V0, real m)ExponentialDeclineConnection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    mExponentialDeclineConnection
    mExponentialDeclineConnection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    Q0ExponentialDeclineConnection
    Q0ExponentialDeclineConnection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    typeflux_connection
    V0ExponentialDeclineConnection
    @@ -126,7 +137,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_exponential_decline_connection.html b/docs/classcmf_1_1water_1_1_exponential_decline_connection.html index 6dd6fc33..236cd616 100644 --- a/docs/classcmf_1_1water_1_1_exponential_decline_connection.html +++ b/docs/classcmf_1_1water_1_1_exponential_decline_connection.html @@ -2,33 +2,37 @@ - - - - -cmf: ExponentialDeclineConnection Class Reference - - - - + + + + + cmf: ExponentialDeclineConnection Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    ExponentialDeclineConnection Class Reference
    +
    ExponentialDeclineConnection Class Reference

    A conceptual TOPmodel inspired connection. - More...

    -
    + More...

    +
    + Inheritance diagram for ExponentialDeclineConnection:
    -
    +
    + Collaboration diagram for ExponentialDeclineConnection:

    Detailed Description

    @@ -131,76 +146,76 @@ \[ q = Q_0 \cdot e^{(V-V_0)/m} \]

    - - + - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    ExponentialDeclineConnection (WaterStorage::ptr source, flux_node::ptr target, real Q0, real V0, real m)
    ExponentialDeclineConnection (WaterStorage::ptr source, flux_node::ptr target, real Q0, real V0, real m)
     creates the exponential decline connection
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - + - + - + - +

    +

    Public Attributes

    -real m
    +real m
     Shape parameter of the curve, \(\beta\).
     
    -real Q0
    +real Q0
     outflow from the source in \(\frac{m^3}{day}\), when \(V = V_0\).
     
    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     
    -real V0
    +real V0
     Reference volume \(V_0\).
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -250,7 +259,7 @@

    real get_tracer_filter ( - ) + ) @@ -266,8 +275,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -278,8 +287,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -303,7 +311,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_exponential_decline_connection__coll__graph.map b/docs/classcmf_1_1water_1_1_exponential_decline_connection__coll__graph.map index 7fab08a2..006838fe 100644 --- a/docs/classcmf_1_1water_1_1_exponential_decline_connection__coll__graph.map +++ b/docs/classcmf_1_1water_1_1_exponential_decline_connection__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_exponential_decline_connection__coll__graph.md5 b/docs/classcmf_1_1water_1_1_exponential_decline_connection__coll__graph.md5 index b60f31e0..17830cb0 100644 --- a/docs/classcmf_1_1water_1_1_exponential_decline_connection__coll__graph.md5 +++ b/docs/classcmf_1_1water_1_1_exponential_decline_connection__coll__graph.md5 @@ -1 +1 @@ -193913c0f6e5c24d0039b9036c40e886 \ No newline at end of file +4ae484892d58839a80097cb6c0a00cd8 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_exponential_decline_connection__coll__graph.png b/docs/classcmf_1_1water_1_1_exponential_decline_connection__coll__graph.png index ae53f8c1..2f3faa85 100644 Binary files a/docs/classcmf_1_1water_1_1_exponential_decline_connection__coll__graph.png and b/docs/classcmf_1_1water_1_1_exponential_decline_connection__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_exponential_decline_connection__inherit__graph.map b/docs/classcmf_1_1water_1_1_exponential_decline_connection__inherit__graph.map index 7fab08a2..006838fe 100644 --- a/docs/classcmf_1_1water_1_1_exponential_decline_connection__inherit__graph.map +++ b/docs/classcmf_1_1water_1_1_exponential_decline_connection__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_exponential_decline_connection__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_exponential_decline_connection__inherit__graph.md5 index dd910929..17830cb0 100644 --- a/docs/classcmf_1_1water_1_1_exponential_decline_connection__inherit__graph.md5 +++ b/docs/classcmf_1_1water_1_1_exponential_decline_connection__inherit__graph.md5 @@ -1 +1 @@ -21b2beb8d7c689aa49b3a0c14e57ad7e \ No newline at end of file +4ae484892d58839a80097cb6c0a00cd8 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_exponential_decline_connection__inherit__graph.png b/docs/classcmf_1_1water_1_1_exponential_decline_connection__inherit__graph.png index ae53f8c1..2f3faa85 100644 Binary files a/docs/classcmf_1_1water_1_1_exponential_decline_connection__inherit__graph.png and b/docs/classcmf_1_1water_1_1_exponential_decline_connection__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1waterbalance__connection-members.html b/docs/classcmf_1_1water_1_1_externally_controlled_flux-members.html similarity index 51% rename from docs/classcmf_1_1water_1_1waterbalance__connection-members.html rename to docs/classcmf_1_1water_1_1_externally_controlled_flux-members.html index 720aa52f..0f5b5e18 100644 --- a/docs/classcmf_1_1water_1_1waterbalance__connection-members.html +++ b/docs/classcmf_1_1water_1_1_externally_controlled_flux-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -36,31 +40,32 @@ - +
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    +
    2.0.0b10
    +
    catchment modelling framework
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    waterbalance_connection Member List
    +
    ExternallyControlledFlux Member List
    -

    This is the complete list of members for waterbalance_connection, including all inherited members.

    +

    This is the complete list of members for ExternallyControlledFlux, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Thu Mar 28 2019 14:40:17 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_externally_controlled_flux.html b/docs/classcmf_1_1water_1_1_externally_controlled_flux.html new file mode 100644 index 00000000..001eccef --- /dev/null +++ b/docs/classcmf_1_1water_1_1_externally_controlled_flux.html @@ -0,0 +1,300 @@ + + + + + + + + + cmf: ExternallyControlledFlux Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    ExternallyControlledFlux Class Reference
    +
    +
    + +

    Flux from one node to another, controlled by the user or an external program, by changing the flux constant. + More...

    +
    + + Inheritance diagram for ExternallyControlledFlux:
    +
    +
    + +
    + + Collaboration diagram for ExternallyControlledFlux:
    +
    +
    + +

    Detailed Description

    +

    Flux from one node to another, controlled by the user or an external program, by changing the flux constant.

    +
    Note
    It is easy to create negative volumes in water storages with this connection, which can be hazard to the solver, since most connections rely on a positive volume in a storage. Handle with care!
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +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

    +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

    + +
    +
    +
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_externally_controlled_flux.js b/docs/classcmf_1_1water_1_1_externally_controlled_flux.js new file mode 100644 index 00000000..2e431437 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_externally_controlled_flux.js @@ -0,0 +1,15 @@ +var classcmf_1_1water_1_1_externally_controlled_flux = +[ + [ "conc", "classcmf_1_1water_1_1_externally_controlled_flux.html#ad7fafdce438d10fb5a35e7870737ce23", null ], + [ "get_target", "classcmf_1_1water_1_1_externally_controlled_flux.html#abc8d7bf5d699f04bb717e989dab315ab", null ], + [ "get_target", "classcmf_1_1water_1_1_externally_controlled_flux.html#a9452e9ff83a825e3420347a45ba9b313", null ], + [ "get_tracer_filter", "classcmf_1_1water_1_1_externally_controlled_flux.html#a73545d13b9544caa52a2a5bd747dadad", null ], + [ "get_tracer_filter", "classcmf_1_1water_1_1_externally_controlled_flux.html#a97e72365a8d2e46e7d1cb5c702164561", null ], + [ "kill_me", "classcmf_1_1water_1_1_externally_controlled_flux.html#a137cf279253d55feb9629e4423e34191", null ], + [ "left_node", "classcmf_1_1water_1_1_externally_controlled_flux.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], + [ "q", "classcmf_1_1water_1_1_externally_controlled_flux.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], + [ "refresh", "classcmf_1_1water_1_1_externally_controlled_flux.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], + [ "right_node", "classcmf_1_1water_1_1_externally_controlled_flux.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], + [ "set_tracer_filter", "classcmf_1_1water_1_1_externally_controlled_flux.html#a5edf702b615e8af8d847ecd63d13eb25", null ], + [ "type", "classcmf_1_1water_1_1_externally_controlled_flux.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_externally_controlled_flux__coll__graph.map b/docs/classcmf_1_1water_1_1_externally_controlled_flux__coll__graph.map new file mode 100644 index 00000000..37748c18 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_externally_controlled_flux__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_externally_controlled_flux__coll__graph.md5 b/docs/classcmf_1_1water_1_1_externally_controlled_flux__coll__graph.md5 new file mode 100644 index 00000000..895010a0 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_externally_controlled_flux__coll__graph.md5 @@ -0,0 +1 @@ +bace19a2737fd5cb0d3682779daed88a \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_externally_controlled_flux__coll__graph.png b/docs/classcmf_1_1water_1_1_externally_controlled_flux__coll__graph.png new file mode 100644 index 00000000..697f5636 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_externally_controlled_flux__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_externally_controlled_flux__inherit__graph.map b/docs/classcmf_1_1water_1_1_externally_controlled_flux__inherit__graph.map new file mode 100644 index 00000000..37748c18 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_externally_controlled_flux__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_externally_controlled_flux__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_externally_controlled_flux__inherit__graph.md5 new file mode 100644 index 00000000..895010a0 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_externally_controlled_flux__inherit__graph.md5 @@ -0,0 +1 @@ +bace19a2737fd5cb0d3682779daed88a \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_externally_controlled_flux__inherit__graph.png b/docs/classcmf_1_1water_1_1_externally_controlled_flux__inherit__graph.png new file mode 100644 index 00000000..697f5636 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_externally_controlled_flux__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion-members.html b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion-members.html index b32c5b79..8d984025 100644 --- a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion-members.html +++ b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b8
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,27 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    FreundlichAdsorbtion Member List
    +
    FreundlichAdsorbtion Member List

    This is the complete list of members for FreundlichAdsorbtion, including all inherited members.

    - - + + - + - + - +
    copy(real m=-1) constFreundlichAdsorbtionvirtual
    epsilonFreundlichAdsorbtion
    copy(real m=-1) constFreundlichAdsorbtionvirtual
    epsilonFreundlichAdsorbtion
    freesolute(real xt, real V) constFreundlichAdsorbtionvirtual
    FreundlichAdsorbtion(real K, real n, real m, real epsilon=1e-12, int maxiter=100)FreundlichAdsorbtion
    FreundlichAdsorbtion(real K, real n, real m, real epsilon=1e-12, int maxiter=100)FreundlichAdsorbtion
    KFreundlichAdsorbtion
    mFreundlichAdsorbtion
    mFreundlichAdsorbtion
    maxiterFreundlichAdsorbtion
    nFreundlichAdsorbtion
    nFreundlichAdsorbtion
    totalsolute(real xf, real V) constFreundlichAdsorbtionvirtual
    @@ -118,7 +129,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 11:36:08 diff --git a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion.html b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion.html index d90432f3..5ce15b5b 100644 --- a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion.html +++ b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion.html @@ -2,33 +2,37 @@ - - - - -cmf: FreundlichAdsorbtion Class Reference - - - - + + + + + cmf: FreundlichAdsorbtion Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b8
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    FreundlichAdsorbtion Class Reference
    +
    FreundlichAdsorbtion Class Reference

    BROKEN: This class calculates the adsorption equilibrium between sorbat and sorbent using the Freundlich isotherme. - More...

    -
    + More...

    +
    + Inheritance diagram for FreundlichAdsorbtion:
    -
    +
    + Collaboration diagram for FreundlichAdsorbtion:

    Detailed Description

    @@ -145,46 +160,46 @@

    CMF stores in a solute storage the total mass of a tracer and needs to calculate the free tracer mass. The eq. above can not be rearanged to get \(x_{free}\) from \(x_{tot}\). Instead, the value is iterated using regula falsi. If n is near to 1, using LinearAdsorption will speed up your calculations.

    The simplest physically based adsorption model by Langmuir (LangmuirAdsorption) has also a analytical solution and is hence calculated faster then Freundlich.

    - - + - - - - - + + + + + - - + +

    +

    Public Member Functions

     FreundlichAdsorbtion (real K, real n, real m, real epsilon=1e-12, int maxiter=100)
     FreundlichAdsorbtion (real K, real n, real m, real epsilon=1e-12, int maxiter=100)
     
    FreundlichAdsorbtioncopy (real m=-1) const
     returns a copy of the Adsorption object. More...
     
    real freesolute (real xt, real V) const
     Returns the mass of dissolved tracer as a function of the total tracer mass in the solute storage and the water volume. More...
    FreundlichAdsorbtioncopy (real m=-1) const
     returns a copy of the Adsorption object.
     
    real freesolute (real xt, real V) const
     Returns the mass of dissolved tracer as a function of the total tracer mass in the solute storage and the water volume.
     
    real totalsolute (real xf, real V) const
     Returns the total mass of the tracer from the dissolved concetration in tracer unit/m3. More...
    real totalsolute (real xf, real V) const
     Returns the total mass of the tracer from the dissolved concetration in tracer unit/m3.
     
    - - + - + - + - + - +

    +

    Public Attributes

    -real epsilon
    +real epsilon
     Tolerable error for Newton iteration.
     
    -real K
    +real K
     Freundlich half saturation.
     
    -real m
    +real m
     Mass of sorbent (CEC, clay mass etc.)
     
    -int maxiter
    +int maxiter
     Maximum number of iterations.
     
    -real n
    +real n
     Freundlich n.
     

    Constructor & Destructor Documentation

    - -

    ◆ FreundlichAdsorbtion()

    + +

    ◆ FreundlichAdsorbtion()

    @@ -192,37 +207,27 @@

    FreundlichAdsorbtion ( - real  - K, + real K, - real  - n, + real n, - real  - m, + real m, - real  - epsilon = 1e-12, + real epsilon = 1e-12, - int  - maxiter = 100  - - - - ) - + int maxiter = 100 )

    @@ -239,8 +244,8 @@

    Member Function Documentation

    - -

    ◆ copy()

    + +

    ◆ copy()

    @@ -249,10 +254,9 @@

    - + - - +
    FreundlichAdsorbtion* copy FreundlichAdsorbtion * copy (real m = -1)real m = -1) const
    @@ -263,15 +267,15 @@

    -

    returns a copy of the Adsorption object.

    +

    returns a copy of the Adsorption object.

    If the adsorption is depending on the sorbent mass, you can give a positive value for the sorbent mass m. If the value is not given or negative, m is used from the original object.

    -

    Implements Adsorption.

    +

    Implements Adsorption.

    - -

    ◆ freesolute()

    + +

    ◆ freesolute()

    @@ -282,19 +286,12 @@

    real freesolute ( - real  - xt, + real xt, - real  - V  - - - - ) - const + real V ) const @@ -318,8 +315,8 @@

    -

    ◆ totalsolute()

    + +

    ◆ totalsolute()

    @@ -330,19 +327,12 @@

    real totalsolute ( - real  - xf, + real xf, - real  - V  - - - - ) - const + real V ) const @@ -374,7 +364,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 11:36:08 diff --git a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion.js b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion.js index a2b98d67..2665b1c6 100644 --- a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion.js +++ b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion.js @@ -1,7 +1,7 @@ var classcmf_1_1water_1_1_freundlich_adsorbtion = [ [ "FreundlichAdsorbtion", "classcmf_1_1water_1_1_freundlich_adsorbtion.html#aa8baba9f906455b942c1d94fb05d1125", null ], - [ "copy", "classcmf_1_1water_1_1_freundlich_adsorbtion.html#a7fddb8e8f9ae139fd67906f1b7001020", null ], + [ "copy", "classcmf_1_1water_1_1_freundlich_adsorbtion.html#a4ac1dcb9e459e5e66b24845d247f5da5", null ], [ "freesolute", "classcmf_1_1water_1_1_freundlich_adsorbtion.html#a7e415e3d549f3005130ad55c32052ad6", null ], [ "totalsolute", "classcmf_1_1water_1_1_freundlich_adsorbtion.html#ab0924159cc4b6999b069b73c08e963fb", null ], [ "epsilon", "classcmf_1_1water_1_1_freundlich_adsorbtion.html#a3ec4d4518a7b5cb7cba8a12cf4dff084", null ], diff --git a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__coll__graph.map b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__coll__graph.map index e4213b8d..85896b94 100644 --- a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__coll__graph.map +++ b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__coll__graph.md5 b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__coll__graph.md5 index e0060e83..80a72864 100644 --- a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__coll__graph.md5 +++ b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__coll__graph.md5 @@ -1 +1 @@ -194ce962a52c60dbc563a5c6adcc60bf \ No newline at end of file +fa8374a80f94af6640cd36a7a9f7a142 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__coll__graph.png b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__coll__graph.png index 9493a801..e86cd2b4 100644 Binary files a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__coll__graph.png and b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__inherit__graph.map b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__inherit__graph.map index e4213b8d..85896b94 100644 --- a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__inherit__graph.map +++ b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__inherit__graph.md5 index de25f9cd..80a72864 100644 --- a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__inherit__graph.md5 +++ b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__inherit__graph.md5 @@ -1 +1 @@ -5266f585e135f91649fe55a665f36cd5 \ No newline at end of file +fa8374a80f94af6640cd36a7a9f7a142 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__inherit__graph.png b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__inherit__graph.png index 9493a801..e86cd2b4 100644 Binary files a/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__inherit__graph.png and b/docs/classcmf_1_1water_1_1_freundlich_adsorbtion__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_langmuir_adsorption-members.html b/docs/classcmf_1_1water_1_1_langmuir_adsorption-members.html index 7bcfdbcf..13d6e5e9 100644 --- a/docs/classcmf_1_1water_1_1_langmuir_adsorption-members.html +++ b/docs/classcmf_1_1water_1_1_langmuir_adsorption-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,21 +93,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    LangmuirAdsorption Member List
    +
    LangmuirAdsorption Member List

    This is the complete list of members for LangmuirAdsorption, including all inherited members.

    - - + +
    copy(real m=-1) constLangmuirAdsorptionvirtual
    freesolute(real xt, real V) constLangmuirAdsorptionvirtual
    copy(real m=-1) constLangmuirAdsorptionvirtual
    freesolute(real xt, real V) constLangmuirAdsorptionvirtual
    totalsolute(real xf, real V) constLangmuirAdsorptionvirtual
    @@ -112,7 +123,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:50 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_langmuir_adsorption.html b/docs/classcmf_1_1water_1_1_langmuir_adsorption.html index 5b695c5c..fb90425e 100644 --- a/docs/classcmf_1_1water_1_1_langmuir_adsorption.html +++ b/docs/classcmf_1_1water_1_1_langmuir_adsorption.html @@ -2,33 +2,37 @@ - - - - -cmf: LangmuirAdsorption Class Reference - - - - + + + + + cmf: LangmuirAdsorption Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,45 +93,55 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    LangmuirAdsorption Class Reference
    +
    LangmuirAdsorption Class Reference

    This class calculates the adsorption equilibrium between sorbat and sorbent using the Langmuir isotherme. - More...

    -
    + More...

    +
    + Inheritance diagram for LangmuirAdsorption:
    -
    +
    + Collaboration diagram for LangmuirAdsorption:

    Detailed Description

    This class calculates the adsorption equilibrium between sorbat and sorbent using the Langmuir isotherme.

    -

    Langmuir Adsorption:

    +

    Langmuir Adsorption:

    \[\frac{x_{ad}}{m} = q = \frac{K c}{1 + K c}\]

    @@ -143,21 +158,21 @@

    CMF stores in a solute storage the total mass of a tracer and needs to calculate the free tracer mass. The analytical solution for \(x_{free}\) from \(x_{tot}\) is implemented in freesolute and derived using sympy. If you really want to see it, look in the code.

    http://en.wikipedia.org/wiki/Langmuir_equation

    - - - - - - + + + + + - - + +

    +

    Public Member Functions

    LangmuirAdsorptioncopy (real m=-1) const
     returns a copy of the Adsorption object. More...
     
    real freesolute (real xt, real V) const
     Returns the mass of dissolved tracer as a function of the total tracer mass in the solute storage and the water volume. More...
    LangmuirAdsorptioncopy (real m=-1) const
     returns a copy of the Adsorption object.
     
    real freesolute (real xt, real V) const
     Returns the mass of dissolved tracer as a function of the total tracer mass in the solute storage and the water volume.
     
    real totalsolute (real xf, real V) const
     Returns the total mass of the tracer from the dissolved concetration in tracer unit/m3. More...
    real totalsolute (real xf, real V) const
     Returns the total mass of the tracer from the dissolved concetration in tracer unit/m3.
     

    Member Function Documentation

    - -

    ◆ copy()

    + +

    ◆ copy()

    @@ -166,10 +181,9 @@

    - + - - +
    LangmuirAdsorption* copy LangmuirAdsorption * copy (real m = -1)real m = -1) const
    @@ -180,15 +194,15 @@

    -

    returns a copy of the Adsorption object.

    +

    returns a copy of the Adsorption object.

    If the adsorption is depending on the sorbent mass, you can give a positive value for the sorbent mass m. If the value is not given or negative, m is used from the original object.

    -

    Implements Adsorption.

    +

    Implements Adsorption.

    - -

    ◆ freesolute()

    + +

    ◆ freesolute()

    @@ -199,19 +213,12 @@

    real freesolute ( - real  - xt, + real xt, - real  - V  - - - - ) - const + real V ) const @@ -235,8 +242,8 @@

    -

    ◆ totalsolute()

    + +

    ◆ totalsolute()

    @@ -247,19 +254,12 @@

    real totalsolute ( - real  - xf, + real xf, - real  - V  - - - - ) - const + real V ) const @@ -291,7 +291,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:50 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_langmuir_adsorption.js b/docs/classcmf_1_1water_1_1_langmuir_adsorption.js index bc252acf..ef2d8755 100644 --- a/docs/classcmf_1_1water_1_1_langmuir_adsorption.js +++ b/docs/classcmf_1_1water_1_1_langmuir_adsorption.js @@ -1,6 +1,6 @@ var classcmf_1_1water_1_1_langmuir_adsorption = [ - [ "copy", "classcmf_1_1water_1_1_langmuir_adsorption.html#aaf923b823cbeac868183de1a52d50d84", null ], + [ "copy", "classcmf_1_1water_1_1_langmuir_adsorption.html#a0bd27024182a77a04e405a3a2b7ea98d", null ], [ "freesolute", "classcmf_1_1water_1_1_langmuir_adsorption.html#a7e415e3d549f3005130ad55c32052ad6", null ], [ "totalsolute", "classcmf_1_1water_1_1_langmuir_adsorption.html#ab0924159cc4b6999b069b73c08e963fb", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_langmuir_adsorption__coll__graph.map b/docs/classcmf_1_1water_1_1_langmuir_adsorption__coll__graph.map index 1e855334..7aa0e23e 100644 --- a/docs/classcmf_1_1water_1_1_langmuir_adsorption__coll__graph.map +++ b/docs/classcmf_1_1water_1_1_langmuir_adsorption__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_langmuir_adsorption__coll__graph.md5 b/docs/classcmf_1_1water_1_1_langmuir_adsorption__coll__graph.md5 index fe3fb9db..37a7c408 100644 --- a/docs/classcmf_1_1water_1_1_langmuir_adsorption__coll__graph.md5 +++ b/docs/classcmf_1_1water_1_1_langmuir_adsorption__coll__graph.md5 @@ -1 +1 @@ -55e9e4aa7420bcb4fec78fa36a7162d5 \ No newline at end of file +adb81f92baef706d6464bd74fa76688b \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_langmuir_adsorption__coll__graph.png b/docs/classcmf_1_1water_1_1_langmuir_adsorption__coll__graph.png index c555ff9b..dce5de42 100644 Binary files a/docs/classcmf_1_1water_1_1_langmuir_adsorption__coll__graph.png and b/docs/classcmf_1_1water_1_1_langmuir_adsorption__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_langmuir_adsorption__inherit__graph.map b/docs/classcmf_1_1water_1_1_langmuir_adsorption__inherit__graph.map index 1e855334..7aa0e23e 100644 --- a/docs/classcmf_1_1water_1_1_langmuir_adsorption__inherit__graph.map +++ b/docs/classcmf_1_1water_1_1_langmuir_adsorption__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_langmuir_adsorption__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_langmuir_adsorption__inherit__graph.md5 index b53f5218..37a7c408 100644 --- a/docs/classcmf_1_1water_1_1_langmuir_adsorption__inherit__graph.md5 +++ b/docs/classcmf_1_1water_1_1_langmuir_adsorption__inherit__graph.md5 @@ -1 +1 @@ -93d438901d1ea4be6f63a98a84c5eb44 \ No newline at end of file +adb81f92baef706d6464bd74fa76688b \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_langmuir_adsorption__inherit__graph.png b/docs/classcmf_1_1water_1_1_langmuir_adsorption__inherit__graph.png index c555ff9b..dce5de42 100644 Binary files a/docs/classcmf_1_1water_1_1_langmuir_adsorption__inherit__graph.png and b/docs/classcmf_1_1water_1_1_langmuir_adsorption__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_linear_adsorption-members.html b/docs/classcmf_1_1water_1_1_linear_adsorption-members.html index 7f49d782..b12774e7 100644 --- a/docs/classcmf_1_1water_1_1_linear_adsorption-members.html +++ b/docs/classcmf_1_1water_1_1_linear_adsorption-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,23 +93,29 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    LinearAdsorption Member List
    +
    LinearAdsorption Member List

    This is the complete list of members for LinearAdsorption, including all inherited members.

    - - + + - +
    copy(real m=-1) constLinearAdsorptionvirtual
    freesolute(real xt, real V) constLinearAdsorptionvirtual
    copy(real m=-1) constLinearAdsorptionvirtual
    freesolute(real xt, real V) constLinearAdsorptionvirtual
    KLinearAdsorption
    mLinearAdsorption
    mLinearAdsorption
    totalsolute(real xf, real V) constLinearAdsorptionvirtual
    @@ -114,7 +125,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:50 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_linear_adsorption.html b/docs/classcmf_1_1water_1_1_linear_adsorption.html index d65abb36..ae2ff4cc 100644 --- a/docs/classcmf_1_1water_1_1_linear_adsorption.html +++ b/docs/classcmf_1_1water_1_1_linear_adsorption.html @@ -2,33 +2,37 @@ - - - - -cmf: LinearAdsorption Class Reference - - - - + + + + + cmf: LinearAdsorption Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    LinearAdsorption Class Reference
    +
    LinearAdsorption Class Reference

    This class calculates the adsorption equilibrium between sorbat and sorbent using the linear (Henry) isotherme. - More...

    -
    + More...

    +
    + Inheritance diagram for LinearAdsorption:
    -
    +
    + Collaboration diagram for LinearAdsorption:

    Detailed Description

    @@ -145,32 +160,32 @@ \[x_{free} = x_{tot} \frac{V}{K m + V}\]

    - - - - - - + + + + + - - + +

    +

    Public Member Functions

    LinearAdsorptioncopy (real m=-1) const
     returns a copy of the Adsorption object. More...
     
    real freesolute (real xt, real V) const
     Returns the mass of dissolved tracer as a function of the total tracer mass in the solute storage and the water volume. More...
    LinearAdsorptioncopy (real m=-1) const
     returns a copy of the Adsorption object.
     
    real freesolute (real xt, real V) const
     Returns the mass of dissolved tracer as a function of the total tracer mass in the solute storage and the water volume.
     
    real totalsolute (real xf, real V) const
     Returns the total mass of the tracer from the dissolved concetration in tracer unit/m3. More...
    real totalsolute (real xf, real V) const
     Returns the total mass of the tracer from the dissolved concetration in tracer unit/m3.
     
    - - + - +

    +

    Public Attributes

    -real K
    +real K
     Henry sorption coefficient.
     
    -real m
    +real m
     Mass of sorbent in storage (CEC, clay mass etc.) in unit of tracer.
     

    Member Function Documentation

    - -

    ◆ copy()

    + +

    ◆ copy()

    @@ -179,10 +194,9 @@

    - + - - +
    LinearAdsorption* copy LinearAdsorption * copy (real m = -1)real m = -1) const
    @@ -193,15 +207,15 @@

    -

    returns a copy of the Adsorption object.

    +

    returns a copy of the Adsorption object.

    If the adsorption is depending on the sorbent mass, you can give a positive value for the sorbent mass m. If the value is not given or negative, m is used from the original object.

    -

    Implements Adsorption.

    +

    Implements Adsorption.

    - -

    ◆ freesolute()

    + +

    ◆ freesolute()

    @@ -212,19 +226,12 @@

    real freesolute ( - real  - xt, + real xt, - real  - V  - - - - ) - const + real V ) const @@ -248,8 +255,8 @@

    -

    ◆ totalsolute()

    + +

    ◆ totalsolute()

    @@ -260,19 +267,12 @@

    real totalsolute ( - real  - xf, + real xf, - real  - V  - - - - ) - const + real V ) const @@ -304,7 +304,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:50 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_linear_adsorption.js b/docs/classcmf_1_1water_1_1_linear_adsorption.js index 4d5d642a..4261c2e4 100644 --- a/docs/classcmf_1_1water_1_1_linear_adsorption.js +++ b/docs/classcmf_1_1water_1_1_linear_adsorption.js @@ -1,6 +1,6 @@ var classcmf_1_1water_1_1_linear_adsorption = [ - [ "copy", "classcmf_1_1water_1_1_linear_adsorption.html#a29a46a6ed88235369750925e53f09d01", null ], + [ "copy", "classcmf_1_1water_1_1_linear_adsorption.html#a1cb580d3f1edfb7c9a3f17370e21d11f", null ], [ "freesolute", "classcmf_1_1water_1_1_linear_adsorption.html#a7e415e3d549f3005130ad55c32052ad6", null ], [ "totalsolute", "classcmf_1_1water_1_1_linear_adsorption.html#ab0924159cc4b6999b069b73c08e963fb", null ], [ "K", "classcmf_1_1water_1_1_linear_adsorption.html#a7d90b68e1f2278aef5d76dc8279058bc", null ], diff --git a/docs/classcmf_1_1water_1_1_linear_adsorption__coll__graph.map b/docs/classcmf_1_1water_1_1_linear_adsorption__coll__graph.map index bde46639..e64b55f7 100644 --- a/docs/classcmf_1_1water_1_1_linear_adsorption__coll__graph.map +++ b/docs/classcmf_1_1water_1_1_linear_adsorption__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_linear_adsorption__coll__graph.md5 b/docs/classcmf_1_1water_1_1_linear_adsorption__coll__graph.md5 index bcf34d2b..23abee8e 100644 --- a/docs/classcmf_1_1water_1_1_linear_adsorption__coll__graph.md5 +++ b/docs/classcmf_1_1water_1_1_linear_adsorption__coll__graph.md5 @@ -1 +1 @@ -1c4f9edfec87b09769a2d59a84cc99ed \ No newline at end of file +4e0c6d8f220eaaf3fff7f37e613653a4 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_linear_adsorption__coll__graph.png b/docs/classcmf_1_1water_1_1_linear_adsorption__coll__graph.png index f33a6908..18d8f49b 100644 Binary files a/docs/classcmf_1_1water_1_1_linear_adsorption__coll__graph.png and b/docs/classcmf_1_1water_1_1_linear_adsorption__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_linear_adsorption__inherit__graph.map b/docs/classcmf_1_1water_1_1_linear_adsorption__inherit__graph.map index bde46639..e64b55f7 100644 --- a/docs/classcmf_1_1water_1_1_linear_adsorption__inherit__graph.map +++ b/docs/classcmf_1_1water_1_1_linear_adsorption__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_linear_adsorption__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_linear_adsorption__inherit__graph.md5 index 1dd1bfe1..23abee8e 100644 --- a/docs/classcmf_1_1water_1_1_linear_adsorption__inherit__graph.md5 +++ b/docs/classcmf_1_1water_1_1_linear_adsorption__inherit__graph.md5 @@ -1 +1 @@ -5fa9997694764a26bda725032ec8fcda \ No newline at end of file +4e0c6d8f220eaaf3fff7f37e613653a4 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_linear_adsorption__inherit__graph.png b/docs/classcmf_1_1water_1_1_linear_adsorption__inherit__graph.png index f33a6908..18d8f49b 100644 Binary files a/docs/classcmf_1_1water_1_1_linear_adsorption__inherit__graph.png and b/docs/classcmf_1_1water_1_1_linear_adsorption__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_linear_gradient_flux-members.html b/docs/classcmf_1_1water_1_1_linear_gradient_flux-members.html new file mode 100644 index 00000000..1607fae3 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_linear_gradient_flux-members.html @@ -0,0 +1,143 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    LinearGradientFlux Member List
    +
    +
    + +

    This is the complete list of members for LinearGradientFlux, including all inherited members.

    + + + + + + + + + + + + + + + + + +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    dLinearGradientFlux
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    LinearGradientFlux(cmf::water::flux_node::ptr left, cmf::water::flux_node::ptr right, real Q1, real d=-1.0)LinearGradientFlux
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    Q1LinearGradientFlux
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    +
    +

    +Generated: Fri Jan 19 2024 16:10:57 + + + + diff --git a/docs/classcmf_1_1water_1_1_linear_gradient_flux.html b/docs/classcmf_1_1water_1_1_linear_gradient_flux.html new file mode 100644 index 00000000..33d16beb --- /dev/null +++ b/docs/classcmf_1_1water_1_1_linear_gradient_flux.html @@ -0,0 +1,364 @@ + + + + + + + + + cmf: LinearGradientFlux Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    LinearGradientFlux Class Reference
    +
    +
    + +

    A generic node-to-node gradient based connection. + More...

    +
    + + Inheritance diagram for LinearGradientFlux:
    +
    +
    + +
    + + Collaboration diagram for LinearGradientFlux:
    +
    +
    + +

    Detailed Description

    +

    A generic node-to-node gradient based connection.

    +

    This connection is similar to the Darcy-connection, but there are no restrictions concerning the type of nodes. However, the left side needs to be a water storage

    +\[ +q = Q_1 \nabla \Psi +\] +

    +

    where:

      +
    • \(q\): the resulting flux in \(m^3/day\)
    • +
    • \(Q_1\): Flux over the connection for a unity gradient ( \(\nabla \Psi = 1\)) in \(\frac{m^3}{day}\)
    • +
    • \(\nabla \Psi = \frac{\Psi_{l}-\Psi_{r}}{d}\): The hydraulic gradient of the (l)eft, resp. (r)ight node of the connection
    • +
    • \(d\): The topographic length of the connection in m
    • +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     LinearGradientFlux (cmf::water::flux_node::ptr left, cmf::water::flux_node::ptr right, real Q1, real d=-1.0)
     Creates a generic gradient based flux, if enough water is present in the source.
     
    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 d
     distance of the gradient (use negative value for calculation from the node positions)
     
    +real Q1
     Flux over the connection for a unity gradient ( \(\nabla \Psi = 1 \)) in \(\frac{m^3}{day}\).
     
    +const std::string type
     A string describing the type of the connection.
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ LinearGradientFlux()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    LinearGradientFlux (cmf::water::flux_node::ptr left,
    cmf::water::flux_node::ptr right,
    real Q1,
    real d = -1.0 )
    +
    + +

    Creates a generic gradient based flux, if enough water is present in the source.

    +
    Parameters
    + + + + + +
    leftThe left node of the connection
    rightThe right node of the connection
    Q1Flux over the connection for a unity gradient ( \(\nabla \Psi = 1\)) in \(\frac{m^3}{day}\)
    dthe topographic lenght of the connection in m
    +
    +
    + +
    +
    +

    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

    + +
    +
    +
    +
    +

    +Generated: Fri Jan 19 2024 16:10:57 + + + + diff --git a/docs/classcmf_1_1water_1_1_linear_gradient_flux.js b/docs/classcmf_1_1water_1_1_linear_gradient_flux.js new file mode 100644 index 00000000..23d580da --- /dev/null +++ b/docs/classcmf_1_1water_1_1_linear_gradient_flux.js @@ -0,0 +1,18 @@ +var classcmf_1_1water_1_1_linear_gradient_flux = +[ + [ "LinearGradientFlux", "classcmf_1_1water_1_1_linear_gradient_flux.html#a9e1d2f9c566baaf94b05ef4d75f26a36", null ], + [ "conc", "classcmf_1_1water_1_1_linear_gradient_flux.html#ad7fafdce438d10fb5a35e7870737ce23", null ], + [ "get_target", "classcmf_1_1water_1_1_linear_gradient_flux.html#abc8d7bf5d699f04bb717e989dab315ab", null ], + [ "get_target", "classcmf_1_1water_1_1_linear_gradient_flux.html#a9452e9ff83a825e3420347a45ba9b313", null ], + [ "get_tracer_filter", "classcmf_1_1water_1_1_linear_gradient_flux.html#a73545d13b9544caa52a2a5bd747dadad", null ], + [ "get_tracer_filter", "classcmf_1_1water_1_1_linear_gradient_flux.html#a97e72365a8d2e46e7d1cb5c702164561", null ], + [ "kill_me", "classcmf_1_1water_1_1_linear_gradient_flux.html#a137cf279253d55feb9629e4423e34191", null ], + [ "left_node", "classcmf_1_1water_1_1_linear_gradient_flux.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], + [ "q", "classcmf_1_1water_1_1_linear_gradient_flux.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], + [ "refresh", "classcmf_1_1water_1_1_linear_gradient_flux.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], + [ "right_node", "classcmf_1_1water_1_1_linear_gradient_flux.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], + [ "set_tracer_filter", "classcmf_1_1water_1_1_linear_gradient_flux.html#a5edf702b615e8af8d847ecd63d13eb25", null ], + [ "d", "classcmf_1_1water_1_1_linear_gradient_flux.html#a412ac02aa43d02e6d986bf0f07a96f8e", null ], + [ "Q1", "classcmf_1_1water_1_1_linear_gradient_flux.html#a35940258404df51961db7719a84588ad", null ], + [ "type", "classcmf_1_1water_1_1_linear_gradient_flux.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_linear_gradient_flux__coll__graph.map b/docs/classcmf_1_1water_1_1_linear_gradient_flux__coll__graph.map new file mode 100644 index 00000000..a8bfe3f4 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_linear_gradient_flux__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_linear_gradient_flux__coll__graph.md5 b/docs/classcmf_1_1water_1_1_linear_gradient_flux__coll__graph.md5 new file mode 100644 index 00000000..7bb227f5 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_linear_gradient_flux__coll__graph.md5 @@ -0,0 +1 @@ +113f1803282346ae9061842570cc9f36 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_linear_gradient_flux__coll__graph.png b/docs/classcmf_1_1water_1_1_linear_gradient_flux__coll__graph.png new file mode 100644 index 00000000..9802b56c Binary files /dev/null and b/docs/classcmf_1_1water_1_1_linear_gradient_flux__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_linear_gradient_flux__inherit__graph.map b/docs/classcmf_1_1water_1_1_linear_gradient_flux__inherit__graph.map new file mode 100644 index 00000000..a8bfe3f4 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_linear_gradient_flux__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_linear_gradient_flux__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_linear_gradient_flux__inherit__graph.md5 new file mode 100644 index 00000000..7bb227f5 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_linear_gradient_flux__inherit__graph.md5 @@ -0,0 +1 @@ +113f1803282346ae9061842570cc9f36 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_linear_gradient_flux__inherit__graph.png b/docs/classcmf_1_1water_1_1_linear_gradient_flux__inherit__graph.png new file mode 100644 index 00000000..9802b56c Binary files /dev/null and b/docs/classcmf_1_1water_1_1_linear_gradient_flux__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_linear_storage_connection-members.html b/docs/classcmf_1_1water_1_1_linear_storage_connection-members.html index 48a0b4fc..991f46f8 100644 --- a/docs/classcmf_1_1water_1_1_linear_storage_connection-members.html +++ b/docs/classcmf_1_1water_1_1_linear_storage_connection-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,35 +93,41 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    LinearStorageConnection Member List
    +
    LinearStorageConnection Member List

    This is the complete list of members for LinearStorageConnection, including all inherited members.

    - + - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    LinearStorageConnection(WaterStorage::ptr source, flux_node::ptr target, real residencetime, real residual=0.0)LinearStorageConnection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    residencetimeLinearStorageConnection
    residencetimeLinearStorageConnection
    residualLinearStorageConnection
    right_node() constflux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    typeflux_connection
    diff --git a/docs/classcmf_1_1water_1_1_linear_storage_connection.html b/docs/classcmf_1_1water_1_1_linear_storage_connection.html index 317eaf2f..9a9b6363 100644 --- a/docs/classcmf_1_1water_1_1_linear_storage_connection.html +++ b/docs/classcmf_1_1water_1_1_linear_storage_connection.html @@ -2,33 +2,37 @@ - - - - -cmf: LinearStorageConnection Class Reference - - - - + + + + + cmf: LinearStorageConnection Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    LinearStorageConnection Class Reference
    +
    LinearStorageConnection Class Reference

    Calculates flux out of a storage as a linear function of its volume. - More...

    -
    + More...

    +
    + Inheritance diagram for LinearStorageConnection:
    -
    +
    + Collaboration diagram for LinearStorageConnection:

    Detailed Description

    @@ -133,74 +148,75 @@

    where:

    • \(V\) The actual volume of water stored in source
    • -
    • \(V_{residual} [m^3]\) The volume of water not flowing out (default = 0) \(t_r\) is the residence time in the source.
    • +
    • \(V_{residual} [m^3]\) The volume of water not flowing out (default = 0) \(t_r\) is the residence time in the source.
      +
    - - - + + - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

     LinearStorageConnection (WaterStorage::ptr source, flux_node::ptr target, real residencetime, real residual=0.0)
     Creates a linear storage connection or Nash-box. More...
     LinearStorageConnection (WaterStorage::ptr source, flux_node::ptr target, real residencetime, real residual=0.0)
     Creates a linear storage connection or Nash-box.
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - + - + - +

    +

    Public Attributes

    -real residencetime
    +real residencetime
     Linear flow parameter traveltime in days.
     
    -real residual
    +real residual
     residual volume of source
     
    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Constructor & Destructor Documentation

    - -

    ◆ LinearStorageConnection()

    + +

    ◆ LinearStorageConnection()

    @@ -208,31 +224,22 @@

    LinearStorageConnection ( - WaterStorage::ptr  - source, + WaterStorage::ptr source, - flux_node::ptr  - target, + flux_node::ptr target, - real  - residencetime, + real residencetime, - real  - residual = 0.0  - - - - ) - + real residual = 0.0 )

    @@ -254,8 +261,8 @@

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -305,7 +306,7 @@

    real get_tracer_filter ( - ) + ) @@ -321,8 +322,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -333,8 +334,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -358,7 +358,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:50 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_linear_storage_connection__coll__graph.map b/docs/classcmf_1_1water_1_1_linear_storage_connection__coll__graph.map index a6c3ce64..a55c99d9 100644 --- a/docs/classcmf_1_1water_1_1_linear_storage_connection__coll__graph.map +++ b/docs/classcmf_1_1water_1_1_linear_storage_connection__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_linear_storage_connection__coll__graph.md5 b/docs/classcmf_1_1water_1_1_linear_storage_connection__coll__graph.md5 index a59855fc..c8f7d851 100644 --- a/docs/classcmf_1_1water_1_1_linear_storage_connection__coll__graph.md5 +++ b/docs/classcmf_1_1water_1_1_linear_storage_connection__coll__graph.md5 @@ -1 +1 @@ -602c50c53bd568cb99848a67c6d7ae56 \ No newline at end of file +17eb783c7e34612f7745fe40a51a6263 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_linear_storage_connection__coll__graph.png b/docs/classcmf_1_1water_1_1_linear_storage_connection__coll__graph.png index 53978f01..29567656 100644 Binary files a/docs/classcmf_1_1water_1_1_linear_storage_connection__coll__graph.png and b/docs/classcmf_1_1water_1_1_linear_storage_connection__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_linear_storage_connection__inherit__graph.map b/docs/classcmf_1_1water_1_1_linear_storage_connection__inherit__graph.map index a6c3ce64..a55c99d9 100644 --- a/docs/classcmf_1_1water_1_1_linear_storage_connection__inherit__graph.map +++ b/docs/classcmf_1_1water_1_1_linear_storage_connection__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_linear_storage_connection__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_linear_storage_connection__inherit__graph.md5 index 39165cc8..c8f7d851 100644 --- a/docs/classcmf_1_1water_1_1_linear_storage_connection__inherit__graph.md5 +++ b/docs/classcmf_1_1water_1_1_linear_storage_connection__inherit__graph.md5 @@ -1 +1 @@ -2668b47fc695892e18b804c291dc57ba \ No newline at end of file +17eb783c7e34612f7745fe40a51a6263 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_linear_storage_connection__inherit__graph.png b/docs/classcmf_1_1water_1_1_linear_storage_connection__inherit__graph.png index 53978f01..29567656 100644 Binary files a/docs/classcmf_1_1water_1_1_linear_storage_connection__inherit__graph.png and b/docs/classcmf_1_1water_1_1_linear_storage_connection__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_neumann_boundary-members.html b/docs/classcmf_1_1water_1_1_neumann_boundary-members.html index ecc7412f..df0a8b9d 100644 --- a/docs/classcmf_1_1water_1_1_neumann_boundary-members.html +++ b/docs/classcmf_1_1water_1_1_neumann_boundary-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,43 +93,49 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    NeumannBoundary Member List
    +
    NeumannBoundary Member List

    This is the complete list of members for NeumannBoundary, including all inherited members.

    - - - + + + - + - - - + + + - + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute) constNeumannBoundaryvirtual
    concentrationNeumannBoundary
    connection_to(const cmf::water::flux_node &target)flux_node
    create(cmf::water::flux_node::ptr target)NeumannBoundarystatic
    concentrationNeumannBoundary
    connection_to(const cmf::water::flux_node &target)flux_node
    create(cmf::water::flux_node::ptr target)NeumannBoundarystatic
    flux_scaleNeumannBoundary
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_flux()NeumannBoundary
    get_potential() constflux_nodevirtual
    get_project() constflux_node
    get_flux()NeumannBoundary
    get_potential(cmf::math::Time=cmf::math::never) constflux_nodevirtual
    get_project() constflux_node
    is_empty() constNeumannBoundaryvirtual
    is_storage() constflux_nodevirtual
    is_storage() constflux_nodevirtual
    Nameflux_node
    NeumannBoundary(cmf::project &_project, cmf::math::timeseries _flux, cmf::water::SoluteTimeseries _concentration=cmf::water::SoluteTimeseries(), cmf::geometry::point loc=cmf::geometry::point())NeumannBoundary
    NeumannBoundary(cmf::project &_project, cmf::math::timeseries _flux, cmf::water::SoluteTimeseries _concentration=cmf::water::SoluteTimeseries(), cmf::geometry::point loc=cmf::geometry::point())NeumannBoundary
    node_idflux_node
    operator()(cmf::math::Time t) constNeumannBoundary
    operator()(cmf::math::Time t) constNeumannBoundary
    positionflux_node
    RecalcFluxes(cmf::math::Time t)NeumannBoundaryvirtual
    RecalcFluxes(cmf::math::Time t)NeumannBoundaryvirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_flux(cmf::math::timeseries new_flux)NeumannBoundary
    set_flux(cmf::math::timeseries new_flux)NeumannBoundary
    set_flux(double new_flux)NeumannBoundary
    set_potential(real new_potential)flux_nodevirtual
    set_potential(real new_potential)flux_nodevirtual
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    ~flux_node()flux_nodevirtual
    ~flux_node()flux_nodevirtual

    -Generated: Fri Apr 26 2019 12:43:50 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_neumann_boundary.html b/docs/classcmf_1_1water_1_1_neumann_boundary.html index bb8566bc..77566611 100644 --- a/docs/classcmf_1_1water_1_1_neumann_boundary.html +++ b/docs/classcmf_1_1water_1_1_neumann_boundary.html @@ -2,33 +2,37 @@ - - - - -cmf: NeumannBoundary Class Reference - - - - + + + + + cmf: NeumannBoundary Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    NeumannBoundary Class Reference
    +
    NeumannBoundary Class Reference

    A Neumann boundary condition (constant flux boundary condition) - More...

    -
    + More...

    +
    + Inheritance diagram for NeumannBoundary:
    -
    +
    + Collaboration diagram for NeumannBoundary:

    Detailed Description

    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.

    +

    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. More...
     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
    +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_connectionconnection_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)
    +cmf::water::flux_connectionconnection_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)
    +cmf::geometry::point get_3d_flux (cmf::math::Time t)
     Returns the sum of all flux vectors.
     
    -cmf::math::timeseries get_flux ()
    +cmf::math::timeseries get_flux ()
     The timeseries of the boundary flux.
     
    virtual real get_potential () const
     Returns the water potential of the node in m waterhead. More...
     
    -cmf::projectget_project () const
     Returns the project, this node is part of.
     
    -double is_empty () const
    virtual real get_potential (cmf::math::Time=cmf::math::never) const
     Returns the water potential of the node in m waterhead.
     
    +cmf::projectget_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
    +virtual bool is_storage () const
     true, if this is a waterstorage
     
    -real operator() (cmf::math::Time t) const
    +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. More...
    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)
    +bool remove_connection (cmf::water::flux_node::ptr To)
     Remove the connection.
     
    -void set_flux (cmf::math::timeseries new_flux)
    +void set_flux (cmf::math::timeseries new_flux)
     Set a timeseries as the boundary flux.
     
    -void set_flux (double new_flux)
    +void set_flux (double new_flux)
     Set a constant as the boundary flux.
     
    -virtual void set_potential (real new_potential)
    +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. More...
    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)
    +static NeumannBoundary::ptr create (cmf::water::flux_node::ptr target)
     Creates a Neumann Boundary condition connected with target.
     
    - - + - + - + - + - +

    +

    Public Attributes

    -cmf::water::SoluteTimeseries concentration
    +cmf::water::SoluteTimeseries concentration
     The concentration timeseries of the flux.
     
    -linear_scale flux_scale
    +linear_scale flux_scale
     The scaling of the flux timeseries.
     
    -std::string Name
    +std::string Name
     The Name of this node.
     
    -const int node_id
    +const int node_id
     The Id of the node.
     
    -cmf::geometry::point position
    +cmf::geometry::point position
     The spatial position of the node.
     

    Constructor & Destructor Documentation

    - -

    ◆ NeumannBoundary()

    + +

    ◆ NeumannBoundary()

    @@ -284,8 +294,8 @@

    Member Function Documentation

    - -

    ◆ get_potential()

    + +

    ◆ get_potential()

    - -

    ◆ RecalcFluxes()

    + +

    ◆ RecalcFluxes()

    @@ -326,8 +336,7 @@

    bool RecalcFluxes ( - cmf::math::Time  - t) + cmf::math::Time t) @@ -338,15 +347,15 @@

    -

    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

    +

    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.

    - -

    ◆ waterbalance()

    + +

    ◆ waterbalance()

    @@ -357,19 +366,12 @@

    real waterbalance ( - cmf::math::Time  - t, + cmf::math::Time t, - const flux_connection *  - Without = 0  - - - - ) - const + const flux_connection * Without = 0 ) const @@ -380,7 +382,8 @@

    Returns the sum of all fluxes (positive and negative) at time t.

    -

    Single fluxes can be excluded from the calculation

    Parameters
    +


    + Single fluxes can be excluded from the calculation

    Parameters
    @@ -398,7 +401,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    tTime of the query
    WithoutA flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits)
    Generated: Fri Apr 26 2019 12:43:50Generated: Fri Jan 19 2024 16:10:57
    diff --git a/docs/classcmf_1_1water_1_1_neumann_boundary.js b/docs/classcmf_1_1water_1_1_neumann_boundary.js index e289af76..4893f05b 100644 --- a/docs/classcmf_1_1water_1_1_neumann_boundary.js +++ b/docs/classcmf_1_1water_1_1_neumann_boundary.js @@ -2,12 +2,12 @@ var classcmf_1_1water_1_1_neumann_boundary = [ [ "NeumannBoundary", "classcmf_1_1water_1_1_neumann_boundary.html#aef83f9128980b09053655934fe163ad1", null ], [ "conc", "classcmf_1_1water_1_1_neumann_boundary.html#ad7aa4277a82890dc86f7bca2b828d75f", null ], - [ "connection_to", "classcmf_1_1water_1_1_neumann_boundary.html#a5bd6810024edaf9bd5d5747d91ce5f1b", null ], + [ "connection_to", "classcmf_1_1water_1_1_neumann_boundary.html#abc9aed3e3aae59d1b4c383fb6e6385eb", null ], [ "flux_to", "classcmf_1_1water_1_1_neumann_boundary.html#a66f1b6a9698be9ffce574833de835bd1", null ], [ "get_3d_flux", "classcmf_1_1water_1_1_neumann_boundary.html#a8cba494467e1ffc036c47f1bcd60eccb", null ], [ "get_flux", "classcmf_1_1water_1_1_neumann_boundary.html#a4110a6132ae2080c0a2ccc54561f2aac", null ], - [ "get_potential", "classcmf_1_1water_1_1_neumann_boundary.html#a923af9ca71ce3a008d07d88216f1a351", null ], - [ "get_project", "classcmf_1_1water_1_1_neumann_boundary.html#ae4c3731109c42d8e7f70eb646fb573ec", null ], + [ "get_potential", "classcmf_1_1water_1_1_neumann_boundary.html#a222a8a63b7dbb2f3cfb8ab33c0c5e590", null ], + [ "get_project", "classcmf_1_1water_1_1_neumann_boundary.html#aac16760bdca4fd53f80987ee5affa734", null ], [ "is_empty", "classcmf_1_1water_1_1_neumann_boundary.html#ac037cbc67fd2f4e4ccafa59904cca202", null ], [ "is_storage", "classcmf_1_1water_1_1_neumann_boundary.html#ace09b97c37ded843368a00c04e89b55f", null ], [ "operator()", "classcmf_1_1water_1_1_neumann_boundary.html#a1ac09266985df622ef90ce40783058cb", null ], diff --git a/docs/classcmf_1_1water_1_1_neumann_boundary__coll__graph.map b/docs/classcmf_1_1water_1_1_neumann_boundary__coll__graph.map index b9bb2c0b..86bbe340 100644 --- a/docs/classcmf_1_1water_1_1_neumann_boundary__coll__graph.map +++ b/docs/classcmf_1_1water_1_1_neumann_boundary__coll__graph.map @@ -1,7 +1,13 @@ - - - - - + + + + + + + + + + + diff --git a/docs/classcmf_1_1water_1_1_neumann_boundary__coll__graph.md5 b/docs/classcmf_1_1water_1_1_neumann_boundary__coll__graph.md5 index 988956b2..a14e97d0 100644 --- a/docs/classcmf_1_1water_1_1_neumann_boundary__coll__graph.md5 +++ b/docs/classcmf_1_1water_1_1_neumann_boundary__coll__graph.md5 @@ -1 +1 @@ -01a8fa3e73c0cc3864ca984765ee97fb \ No newline at end of file +b0da4801845d6a222863dcded13e927b \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_neumann_boundary__coll__graph.png b/docs/classcmf_1_1water_1_1_neumann_boundary__coll__graph.png index bf16019d..ec1faa63 100644 Binary files a/docs/classcmf_1_1water_1_1_neumann_boundary__coll__graph.png and b/docs/classcmf_1_1water_1_1_neumann_boundary__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_neumann_boundary__inherit__graph.map b/docs/classcmf_1_1water_1_1_neumann_boundary__inherit__graph.map index d7881ae2..1938135d 100644 --- a/docs/classcmf_1_1water_1_1_neumann_boundary__inherit__graph.map +++ b/docs/classcmf_1_1water_1_1_neumann_boundary__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_neumann_boundary__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_neumann_boundary__inherit__graph.md5 index e48d0dd2..42a53625 100644 --- a/docs/classcmf_1_1water_1_1_neumann_boundary__inherit__graph.md5 +++ b/docs/classcmf_1_1water_1_1_neumann_boundary__inherit__graph.md5 @@ -1 +1 @@ -e0d48877e7c357ace777396937b30adb \ No newline at end of file +6982bdb387d7c503ce9d223f80c55b99 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_neumann_boundary__inherit__graph.png b/docs/classcmf_1_1water_1_1_neumann_boundary__inherit__graph.png index 47b9cb2c..595a5e86 100644 Binary files a/docs/classcmf_1_1water_1_1_neumann_boundary__inherit__graph.png and b/docs/classcmf_1_1water_1_1_neumann_boundary__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_neumann_boundary__list-members.html b/docs/classcmf_1_1water_1_1_neumann_boundary__list-members.html index ce509ebd..d12b54f4 100644 --- a/docs/classcmf_1_1water_1_1_neumann_boundary__list-members.html +++ b/docs/classcmf_1_1water_1_1_neumann_boundary__list-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,27 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    NeumannBoundary_list Member List
    +
    NeumannBoundary_list Member List

    This is the complete list of members for NeumannBoundary_list, including all inherited members.

    - + - + - + - +
    append(NeumannBoundary::ptr nbc)NeumannBoundary_list
    get(ptrdiff_t index) constNeumannBoundary_list
    get(ptrdiff_t index) constNeumannBoundary_list
    get_fluxes(cmf::math::Time t=cmf::math::Time()) constNeumannBoundary_list
    global_water_balance(cmf::math::Time t) constNeumannBoundary_list
    global_water_balance(cmf::math::Time t) constNeumannBoundary_list
    set_fluxes(cmf::math::num_array values)NeumannBoundary_list
    size() constNeumannBoundary_list
    size() constNeumannBoundary_list
    to_node_list() constNeumannBoundary_list
    water_balance(cmf::math::Time t) constNeumannBoundary_list
    water_balance(cmf::math::Time t) constNeumannBoundary_list
    diff --git a/docs/classcmf_1_1water_1_1_neumann_boundary__list.html b/docs/classcmf_1_1water_1_1_neumann_boundary__list.html index abd2e7a5..249a6e1d 100644 --- a/docs/classcmf_1_1water_1_1_neumann_boundary__list.html +++ b/docs/classcmf_1_1water_1_1_neumann_boundary__list.html @@ -2,33 +2,37 @@ - - - - -cmf: NeumannBoundary_list Class Reference - - - - + + + + + cmf: NeumannBoundary_list Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,65 +93,69 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    NeumannBoundary_list Class Reference
    +
    NeumannBoundary_list Class Reference

    Provides fast access to Neumann boundaries for flux update. - More...

    + More...

    Detailed Description

    Provides fast access to Neumann boundaries for flux update.

    If many Neumann boundary conditions are present in a project, a fast data exchange to update the fluxes might be needed.

    -

    With this specialized list a num_array can be passed to the boundary conditions for a fast flux update If a multiple system layout for the cmf setup is chosen, we might have a node_list Dirichlet boundary conditions (dbc), a corresponding NeumannBoundary_list (nbc) of Neumann boundaries and a node_list containing the storages connected with the NeumannBoundary_list (storages). The fast data exchange is written in Python as:

    # Update the fluxes at the Neumann boundary conditions with net fluxes at the Dirichlet boundary conditions
    nbc.fluxes = dbc.water_balance(t)
    # Update the potentials at the Dirichlet boundary conditions
    dbc.potentials = storages.potentials
    - - - +

    +

    With this specialized list a num_array can be passed to the boundary conditions for a fast flux update If a multiple system layout for the cmf setup is chosen, we might have a node_list Dirichlet boundary conditions (dbc), a corresponding NeumannBoundary_list (nbc) of Neumann boundaries and a node_list containing the storages connected with the NeumannBoundary_list (storages). The fast data exchange is written in Python as:

    # Update the fluxes at the Neumann boundary conditions with net fluxes at the Dirichlet boundary conditions
    +
    nbc.fluxes = dbc.water_balance(t)
    +
    # Update the potentials at the Dirichlet boundary conditions
    +
    dbc.potentials = storages.potentials
    +
    + - + - - + + - - + + - - + + - - + + - + - - + + - - + +

    Public Member Functions

    -void append (NeumannBoundary::ptr nbc)
    +void append (NeumannBoundary::ptr nbc)
     Appends a neumann boundary to this list.
     
    NeumannBoundary::ptr get (ptrdiff_t index) const
     Returns the Neumann boundary condition at position index. More...
    NeumannBoundary::ptr get (ptrdiff_t index) const
     Returns the Neumann boundary condition at position index.
     
    cmf::math::num_array get_fluxes (cmf::math::Time t=cmf::math::Time()) const
     Returns the fluxes of the items as an array. More...
    cmf::math::num_array get_fluxes (cmf::math::Time t=cmf::math::Time()) const
     Returns the fluxes of the items as an array.
     
    real global_water_balance (cmf::math::Time t) const
     Returns the sum of the water balances of the nodes

    -\[\sigma_{global} = \sum_{i=0}^N{\sum_{j=0}^{C_i}{q_{ij}(t)}} \] -

    -

    . More...

    real global_water_balance (cmf::math::Time t) const
     Returns the sum of the water balances of the nodes.
     
    void set_fluxes (cmf::math::num_array values)
     Sets the fluxes of the items from an array. More...
    void set_fluxes (cmf::math::num_array values)
     Sets the fluxes of the items from an array.
     
    -size_t size () const
    +size_t size () const
     returns the number of stored boundary conditions
     
    -cmf::water::node_list to_node_list () const
     Creates a node_list from this NeumannBoundary_list.
    +cmf::water::node_list to_node_list () const
     Creates a node_list from this NeumannBoundary_list.
     
    cmf::math::num_array water_balance (cmf::math::Time t) const
     Returns the water balance of each vector as a vector

    -\[ \sigma_i = \sum_{j=0}^{C_i}{q_{ij}(t)} \] -

    -

    . More...

    cmf::math::num_array water_balance (cmf::math::Time t) const
     Returns the water balance of each vector as a vector.
     

    Member Function Documentation

    - -

    ◆ get()

    + +

    ◆ get()

    @@ -154,8 +163,7 @@

    NeumannBoundary::ptr get

    (ptrdiff_t index)ptrdiff_t index) const
    @@ -166,8 +174,8 @@

    -

    ◆ get_fluxes()

    + +

    ◆ get_fluxes()

    @@ -175,8 +183,7 @@

    cmf::math::num_array get_fluxes ( - cmf::math::Time  - t = cmf::math::Time()) + cmf::math::Time t = cmf::math::Time()) const @@ -187,8 +194,8 @@

    -

    ◆ global_water_balance()

    + +

    ◆ global_water_balance()

    @@ -196,22 +203,24 @@

    real global_water_balance ( - cmf::math::Time  - t) + cmf::math::Time t) const

    -

    Returns the sum of the water balances of the nodes

    +

    Returns the sum of the water balances of the nodes.

    +

    \[\sigma_{global} = \sum_{i=0}^N{\sum_{j=0}^{C_i}{q_{ij}(t)}} \]

    -

    .

    -

    Replaces slow Python code like:

    sum=0
    for n in nodes:
    sum+=n.water_balance(t)
    +

    Replaces slow Python code like:

    sum=0
    +
    for n in nodes:
    +
    sum+=n.water_balance(t)
    +
    - -

    ◆ set_fluxes()

    + +

    ◆ set_fluxes()

    @@ -219,8 +228,7 @@

    void set_fluxes ( - cmf::math::num_array  - values) + cmf::math::num_array values) @@ -231,8 +239,8 @@

    -

    ◆ water_balance()

    + +

    ◆ water_balance()

    @@ -240,18 +248,18 @@

    cmf::math::num_array water_balance ( - cmf::math::Time  - t) + cmf::math::Time t) const

    -

    Returns the water balance of each vector as a vector

    +

    Returns the water balance of each vector as a vector.

    +

    \[ \sigma_i = \sum_{j=0}^{C_i}{q_{ij}(t)} \]

    -

    .

    -

    Replaces slow Python code like:

    balances=[n.water_balance(t) for n in nodes]
    +

    Replaces slow Python code like:

    balances=[n.water_balance(t) for n in nodes]
    +

    @@ -262,7 +270,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:50 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_neumann_flux-members.html b/docs/classcmf_1_1water_1_1_neumann_flux-members.html index 62af035a..bffa7ba7 100644 --- a/docs/classcmf_1_1water_1_1_neumann_flux-members.html +++ b/docs/classcmf_1_1water_1_1_neumann_flux-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@

    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    NeumannFlux Member List
    +
    NeumannFlux Member List

    This is the complete list of members for NeumannFlux, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:51 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_neumann_flux.html b/docs/classcmf_1_1water_1_1_neumann_flux.html index 2a9fe804..d4902812 100644 --- a/docs/classcmf_1_1water_1_1_neumann_flux.html +++ b/docs/classcmf_1_1water_1_1_neumann_flux.html @@ -2,33 +2,37 @@ - - - - -cmf: NeumannFlux Class Reference - - - - + + + + + cmf: NeumannFlux Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    NeumannFlux Class Reference
    +
    NeumannFlux Class Reference

    Connection between Neumann-boundary and a flux node. - More...

    -
    + More...

    +
    + Inheritance diagram for NeumannFlux:
    -
    +
    + Collaboration diagram for NeumannFlux:

    Detailed Description

    Connection between Neumann-boundary and a flux node.

    This flux_connection is created, when connecting a Neumann boundary condition with a state variable using Neumann::connect_to

    - - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -232,7 +241,7 @@

    real get_tracer_filter ( - ) + ) @@ -248,8 +257,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -260,8 +269,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -285,7 +293,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:50 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_neumann_flux__coll__graph.map b/docs/classcmf_1_1water_1_1_neumann_flux__coll__graph.map index 6c4efbd4..8757893f 100644 --- a/docs/classcmf_1_1water_1_1_neumann_flux__coll__graph.map +++ b/docs/classcmf_1_1water_1_1_neumann_flux__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_neumann_flux__coll__graph.md5 b/docs/classcmf_1_1water_1_1_neumann_flux__coll__graph.md5 index 09910656..ffe10211 100644 --- a/docs/classcmf_1_1water_1_1_neumann_flux__coll__graph.md5 +++ b/docs/classcmf_1_1water_1_1_neumann_flux__coll__graph.md5 @@ -1 +1 @@ -1da9cf928a58ba0e3f91fe973f678232 \ No newline at end of file +1a7d19df6037499c00c521a0a91bae9c \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_neumann_flux__coll__graph.png b/docs/classcmf_1_1water_1_1_neumann_flux__coll__graph.png index d6597610..d2028363 100644 Binary files a/docs/classcmf_1_1water_1_1_neumann_flux__coll__graph.png and b/docs/classcmf_1_1water_1_1_neumann_flux__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_neumann_flux__inherit__graph.map b/docs/classcmf_1_1water_1_1_neumann_flux__inherit__graph.map index 6c4efbd4..8757893f 100644 --- a/docs/classcmf_1_1water_1_1_neumann_flux__inherit__graph.map +++ b/docs/classcmf_1_1water_1_1_neumann_flux__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_neumann_flux__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_neumann_flux__inherit__graph.md5 index 23906fe2..ffe10211 100644 --- a/docs/classcmf_1_1water_1_1_neumann_flux__inherit__graph.md5 +++ b/docs/classcmf_1_1water_1_1_neumann_flux__inherit__graph.md5 @@ -1 +1 @@ -2be32805ef98a03558c08a0304e12bc7 \ No newline at end of file +1a7d19df6037499c00c521a0a91bae9c \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_neumann_flux__inherit__graph.png b/docs/classcmf_1_1water_1_1_neumann_flux__inherit__graph.png index d6597610..d2028363 100644 Binary files a/docs/classcmf_1_1water_1_1_neumann_flux__inherit__graph.png and b/docs/classcmf_1_1water_1_1_neumann_flux__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_null_adsorption-members.html b/docs/classcmf_1_1water_1_1_null_adsorption-members.html index bbe2e317..a39182c3 100644 --- a/docs/classcmf_1_1water_1_1_null_adsorption-members.html +++ b/docs/classcmf_1_1water_1_1_null_adsorption-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,21 +93,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    NullAdsorption Member List
    +
    NullAdsorption Member List

    This is the complete list of members for NullAdsorption, including all inherited members.

    - - + +
    copy(real m=-1) constNullAdsorptionvirtual
    freesolute(real xt, real V) constNullAdsorptionvirtual
    copy(real m=-1) constNullAdsorptionvirtual
    freesolute(real xt, real V) constNullAdsorptionvirtual
    totalsolute(real xf, real V) constNullAdsorptionvirtual
    @@ -112,7 +123,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:51 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_null_adsorption.html b/docs/classcmf_1_1water_1_1_null_adsorption.html index 41e4a514..7116a4c8 100644 --- a/docs/classcmf_1_1water_1_1_null_adsorption.html +++ b/docs/classcmf_1_1water_1_1_null_adsorption.html @@ -2,33 +2,37 @@ - - - - -cmf: NullAdsorption Class Reference - - - - + + + + + cmf: NullAdsorption Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,60 +93,70 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    NullAdsorption Class Reference
    +
    NullAdsorption Class Reference

    A class for tracers without interaction with the storage container. freesolute returns xt. - More...

    -
    + More...

    +
    + Inheritance diagram for NullAdsorption:
    -
    +
    + Collaboration diagram for NullAdsorption:

    Detailed Description

    A class for tracers without interaction with the storage container. freesolute returns xt.

    - - - - - - + + + + + - - + +

    +

    Public Member Functions

    virtual NullAdsorptioncopy (real m=-1) const
     returns a copy of the Adsorption object. More...
     
    virtual real freesolute (real xt, real V) const
     Returns the mass of dissolved tracer as a function of the total tracer mass in the solute storage and the water volume. More...
    virtual NullAdsorptioncopy (real m=-1) const
     returns a copy of the Adsorption object.
     
    virtual real freesolute (real xt, real V) const
     Returns the mass of dissolved tracer as a function of the total tracer mass in the solute storage and the water volume.
     
    virtual real totalsolute (real xf, real V) const
     Returns the total mass of the tracer from the dissolved concetration in tracer unit/m3. More...
    virtual real totalsolute (real xf, real V) const
     Returns the total mass of the tracer from the dissolved concetration in tracer unit/m3.
     

    Member Function Documentation

    - -

    ◆ copy()

    + +

    ◆ copy()

    @@ -150,10 +165,9 @@

    - + - - +
    virtual NullAdsorption* copy virtual NullAdsorption * copy (real m = -1)real m = -1) const
    @@ -164,15 +178,15 @@

    -

    returns a copy of the Adsorption object.

    +

    returns a copy of the Adsorption object.

    If the adsorption is depending on the sorbent mass, you can give a positive value for the sorbent mass m. If the value is not given or negative, m is used from the original object.

    -

    Implements Adsorption.

    +

    Implements Adsorption.

    - -

    ◆ freesolute()

    + +

    ◆ freesolute()

    @@ -183,19 +197,12 @@

    virtual real freesolute ( - real  - xt, + real xt, - real  - V  - - - - ) - const + real V ) const @@ -219,8 +226,8 @@

    -

    ◆ totalsolute()

    + +

    ◆ totalsolute()

    @@ -231,19 +238,12 @@

    virtual real totalsolute ( - real  - xf, + real xf, - real  - V  - - - - ) - const + real V ) const @@ -275,7 +275,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:51 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_null_adsorption.js b/docs/classcmf_1_1water_1_1_null_adsorption.js index 37431217..94613e34 100644 --- a/docs/classcmf_1_1water_1_1_null_adsorption.js +++ b/docs/classcmf_1_1water_1_1_null_adsorption.js @@ -1,6 +1,6 @@ var classcmf_1_1water_1_1_null_adsorption = [ - [ "copy", "classcmf_1_1water_1_1_null_adsorption.html#a95659c4d86b9f9d5daf02ec02d59315a", null ], + [ "copy", "classcmf_1_1water_1_1_null_adsorption.html#a0303517351a618172abf77937bb39c93", null ], [ "freesolute", "classcmf_1_1water_1_1_null_adsorption.html#ad64db026a886a0967699943ab3a9b300", null ], [ "totalsolute", "classcmf_1_1water_1_1_null_adsorption.html#a1de04853f4000ce16ffdc90a6a4bea93", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_null_adsorption__coll__graph.map b/docs/classcmf_1_1water_1_1_null_adsorption__coll__graph.map index c0ad198d..c9dc205c 100644 --- a/docs/classcmf_1_1water_1_1_null_adsorption__coll__graph.map +++ b/docs/classcmf_1_1water_1_1_null_adsorption__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_null_adsorption__coll__graph.md5 b/docs/classcmf_1_1water_1_1_null_adsorption__coll__graph.md5 index 35888ef2..bc4477db 100644 --- a/docs/classcmf_1_1water_1_1_null_adsorption__coll__graph.md5 +++ b/docs/classcmf_1_1water_1_1_null_adsorption__coll__graph.md5 @@ -1 +1 @@ -bf84db1732d2facf04f5f119d549f8ca \ No newline at end of file +946ed7a1eb6a3bc4545ab07bdbacc924 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_null_adsorption__coll__graph.png b/docs/classcmf_1_1water_1_1_null_adsorption__coll__graph.png index 65af62b3..fb695fb2 100644 Binary files a/docs/classcmf_1_1water_1_1_null_adsorption__coll__graph.png and b/docs/classcmf_1_1water_1_1_null_adsorption__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_null_adsorption__inherit__graph.map b/docs/classcmf_1_1water_1_1_null_adsorption__inherit__graph.map index c0ad198d..c9dc205c 100644 --- a/docs/classcmf_1_1water_1_1_null_adsorption__inherit__graph.map +++ b/docs/classcmf_1_1water_1_1_null_adsorption__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_null_adsorption__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_null_adsorption__inherit__graph.md5 index 3c7e983b..bc4477db 100644 --- a/docs/classcmf_1_1water_1_1_null_adsorption__inherit__graph.md5 +++ b/docs/classcmf_1_1water_1_1_null_adsorption__inherit__graph.md5 @@ -1 +1 @@ -732a0627d0f33f4ff7150e715bff38c2 \ No newline at end of file +946ed7a1eb6a3bc4545ab07bdbacc924 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_null_adsorption__inherit__graph.png b/docs/classcmf_1_1water_1_1_null_adsorption__inherit__graph.png index 65af62b3..fb695fb2 100644 Binary files a/docs/classcmf_1_1water_1_1_null_adsorption__inherit__graph.png and b/docs/classcmf_1_1water_1_1_null_adsorption__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_partition_flux_route-members.html b/docs/classcmf_1_1water_1_1_partition_flux_route-members.html new file mode 100644 index 00000000..d6d25659 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_partition_flux_route-members.html @@ -0,0 +1,141 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    PartitionFluxRoute Member List
    +
    +
    + +

    This is the complete list of members for PartitionFluxRoute, including all inherited members.

    + + + + + + + + + + + + + + + +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    PartitionFluxRoute(flux_node::ptr source, flux_node::ptr target1, flux_node::ptr target2, real fraction, bool no_back_flow=true)PartitionFluxRoute
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    +
    +

    +Generated: Fri Jan 19 2024 16:10:57 + + + + diff --git a/docs/classcmf_1_1water_1_1_partition_flux_route.html b/docs/classcmf_1_1water_1_1_partition_flux_route.html new file mode 100644 index 00000000..955ac343 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_partition_flux_route.html @@ -0,0 +1,353 @@ + + + + + + + + + cmf: PartitionFluxRoute Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    PartitionFluxRoute Class Reference
    +
    +
    + +

    Routes a fraction of the flux calculated from a master flux_connection between source to target1 directly further to target2 without any timelag. + More...

    +
    + + Inheritance diagram for PartitionFluxRoute:
    +
    +
    + +
    + + Collaboration diagram for PartitionFluxRoute:
    +
    +
    + +

    Detailed Description

    +

    Routes a fraction of the flux calculated from a master flux_connection between source to target1 directly further to target2 without any timelag.

    +

    The connection connects target 1 and target 2.

    +

    +\[ q_{t1,t2} = f \cdot q_{s, t1}(t) \] +

    +

    Where \( q_{t1,t2}\) is the flux from t1 to t2, f is the fraction and \( q_{s,t1}(t)\) is the original flux

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     PartitionFluxRoute (flux_node::ptr source, flux_node::ptr target1, flux_node::ptr target2, real fraction, bool no_back_flow=true)
     
    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

    +const std::string type
     A string describing the type of the connection.
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ PartitionFluxRoute()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PartitionFluxRoute (flux_node::ptr source,
    flux_node::ptr target1,
    flux_node::ptr target2,
    real fraction,
    bool no_back_flow = true )
    +
    +
    Parameters
    + + + + + + +
    sourceWater storage from which the water flows out. The flux is defined by some other flux connection between
    target1Target node (boundary condition or storage). The target of the master flux connection
    target2Target node (boundary condition or storage). Does not influence the strength of the flow
    fractionFraction of the source->target1 flow to be routed further to target2
    no_back_flowIf true (default), no flow between target 1 and target 2 occurs, if water is flowing from target 1 to source. If set to false, in the case of water flowing from target 1 to source, the fraction is also flowing from target 2 to target 1. No test if target 2 has water is made.
    +
    +
    + +
    +
    +

    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

    + +
    +
    +
    +
    +

    +Generated: Fri Jan 19 2024 16:10:57 + + + + diff --git a/docs/classcmf_1_1water_1_1_partition_flux_route.js b/docs/classcmf_1_1water_1_1_partition_flux_route.js new file mode 100644 index 00000000..d861a9f5 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_partition_flux_route.js @@ -0,0 +1,16 @@ +var classcmf_1_1water_1_1_partition_flux_route = +[ + [ "PartitionFluxRoute", "classcmf_1_1water_1_1_partition_flux_route.html#a0d421750360e4d7b7fddb022e48d01a0", null ], + [ "conc", "classcmf_1_1water_1_1_partition_flux_route.html#ad7fafdce438d10fb5a35e7870737ce23", null ], + [ "get_target", "classcmf_1_1water_1_1_partition_flux_route.html#abc8d7bf5d699f04bb717e989dab315ab", null ], + [ "get_target", "classcmf_1_1water_1_1_partition_flux_route.html#a9452e9ff83a825e3420347a45ba9b313", null ], + [ "get_tracer_filter", "classcmf_1_1water_1_1_partition_flux_route.html#a73545d13b9544caa52a2a5bd747dadad", null ], + [ "get_tracer_filter", "classcmf_1_1water_1_1_partition_flux_route.html#a97e72365a8d2e46e7d1cb5c702164561", null ], + [ "kill_me", "classcmf_1_1water_1_1_partition_flux_route.html#a137cf279253d55feb9629e4423e34191", null ], + [ "left_node", "classcmf_1_1water_1_1_partition_flux_route.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], + [ "q", "classcmf_1_1water_1_1_partition_flux_route.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], + [ "refresh", "classcmf_1_1water_1_1_partition_flux_route.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], + [ "right_node", "classcmf_1_1water_1_1_partition_flux_route.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], + [ "set_tracer_filter", "classcmf_1_1water_1_1_partition_flux_route.html#a5edf702b615e8af8d847ecd63d13eb25", null ], + [ "type", "classcmf_1_1water_1_1_partition_flux_route.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_partition_flux_route__coll__graph.map b/docs/classcmf_1_1water_1_1_partition_flux_route__coll__graph.map new file mode 100644 index 00000000..4557755f --- /dev/null +++ b/docs/classcmf_1_1water_1_1_partition_flux_route__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_partition_flux_route__coll__graph.md5 b/docs/classcmf_1_1water_1_1_partition_flux_route__coll__graph.md5 new file mode 100644 index 00000000..d3464cab --- /dev/null +++ b/docs/classcmf_1_1water_1_1_partition_flux_route__coll__graph.md5 @@ -0,0 +1 @@ +0bd3cf4715b78f7bc29ff7720d99bd0b \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_partition_flux_route__coll__graph.png b/docs/classcmf_1_1water_1_1_partition_flux_route__coll__graph.png new file mode 100644 index 00000000..c585f2f4 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_partition_flux_route__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_partition_flux_route__inherit__graph.map b/docs/classcmf_1_1water_1_1_partition_flux_route__inherit__graph.map new file mode 100644 index 00000000..4557755f --- /dev/null +++ b/docs/classcmf_1_1water_1_1_partition_flux_route__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_partition_flux_route__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_partition_flux_route__inherit__graph.md5 new file mode 100644 index 00000000..d3464cab --- /dev/null +++ b/docs/classcmf_1_1water_1_1_partition_flux_route__inherit__graph.md5 @@ -0,0 +1 @@ +0bd3cf4715b78f7bc29ff7720d99bd0b \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_partition_flux_route__inherit__graph.png b/docs/classcmf_1_1water_1_1_partition_flux_route__inherit__graph.png new file mode 100644 index 00000000..c585f2f4 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_partition_flux_route__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_power_law_connection-members.html b/docs/classcmf_1_1water_1_1_power_law_connection-members.html index 9b1552ca..c31d8b40 100644 --- a/docs/classcmf_1_1water_1_1_power_law_connection-members.html +++ b/docs/classcmf_1_1water_1_1_power_law_connection-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,37 +93,43 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    PowerLawConnection Member List
    +
    PowerLawConnection Member List

    This is the complete list of members for PowerLawConnection, including all inherited members.

    - + - + - + - + - + - + - + - + - +
    betaPowerLawConnection
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    PowerLawConnection(WaterStorage::ptr source, flux_node::ptr target, real Q0, real V0, real beta=1.0, real residual=0.0)PowerLawConnection
    PowerLawConnection(WaterStorage::ptr source, flux_node::ptr target, real Q0, real V0, real beta=1.0, real residual=0.0)PowerLawConnection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    Q0PowerLawConnection
    Q0PowerLawConnection
    refresh(cmf::math::Time t)flux_connection
    residualPowerLawConnection
    residualPowerLawConnection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    V0PowerLawConnection
    V0PowerLawConnection
    diff --git a/docs/classcmf_1_1water_1_1_power_law_connection.html b/docs/classcmf_1_1water_1_1_power_law_connection.html index 8c34c624..92da60c8 100644 --- a/docs/classcmf_1_1water_1_1_power_law_connection.html +++ b/docs/classcmf_1_1water_1_1_power_law_connection.html @@ -2,33 +2,37 @@ - - - - -cmf: PowerLawConnection Class Reference - - - - + + + + + cmf: PowerLawConnection Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    PowerLawConnection Class Reference
    +
    PowerLawConnection Class Reference

    Calculates flux out of a storage as a linear function of its volume to a power. - More...

    -
    + More...

    +
    + Inheritance diagram for PowerLawConnection:
    -
    +
    + Collaboration diagram for PowerLawConnection:

    Detailed Description

    @@ -139,79 +154,79 @@
    Warning
    \(\beta < 0.5\) may lead to numerical troubles and have a dubious hydrological meaning. Please avoid.
    - - - + + - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

     PowerLawConnection (WaterStorage::ptr source, flux_node::ptr target, real Q0, real V0, real beta=1.0, real residual=0.0)
     Creates a power law connection. More...
     PowerLawConnection (WaterStorage::ptr source, flux_node::ptr target, real Q0, real V0, real beta=1.0, real residual=0.0)
     Creates a power law connection.
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - + - + - + - + - +

    +

    Public Attributes

    -real beta
    +real beta
     Shape parameter of the curve, \(\beta\).
     
    -real Q0
    +real Q0
     outflow from the source in \(\frac{m^3}{day}\), when \(V = V_0\).
     
    -real residual
    +real residual
     residual volume of source
     
    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     
    -real V0
    +real V0
     Reference volume \(V_0\).
     

    Constructor & Destructor Documentation

    - -

    ◆ PowerLawConnection()

    + +

    ◆ PowerLawConnection()

    @@ -219,43 +234,32 @@

    PowerLawConnection ( - WaterStorage::ptr  - source, + WaterStorage::ptr source, - flux_node::ptr  - target, + flux_node::ptr target, - real  - Q0, + real Q0, - real  - V0, + real V0, - real  - beta = 1.0, + real beta = 1.0, - real  - residual = 0.0  - - - - ) - + real residual = 0.0 )

    @@ -276,8 +280,8 @@

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -327,7 +325,7 @@

    real get_tracer_filter ( - ) + ) @@ -343,8 +341,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -355,8 +353,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -380,7 +377,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:52 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_power_law_connection__coll__graph.map b/docs/classcmf_1_1water_1_1_power_law_connection__coll__graph.map index 55a1156f..44e4d5cf 100644 --- a/docs/classcmf_1_1water_1_1_power_law_connection__coll__graph.map +++ b/docs/classcmf_1_1water_1_1_power_law_connection__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_power_law_connection__coll__graph.md5 b/docs/classcmf_1_1water_1_1_power_law_connection__coll__graph.md5 index e5d45009..dd92bf56 100644 --- a/docs/classcmf_1_1water_1_1_power_law_connection__coll__graph.md5 +++ b/docs/classcmf_1_1water_1_1_power_law_connection__coll__graph.md5 @@ -1 +1 @@ -ba8f1424bb7958a7f7fbd71711b36fed \ No newline at end of file +36a01be6a5772637ea6b84fe56fe9358 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_power_law_connection__coll__graph.png b/docs/classcmf_1_1water_1_1_power_law_connection__coll__graph.png index f6972e09..7a412012 100644 Binary files a/docs/classcmf_1_1water_1_1_power_law_connection__coll__graph.png and b/docs/classcmf_1_1water_1_1_power_law_connection__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_power_law_connection__inherit__graph.map b/docs/classcmf_1_1water_1_1_power_law_connection__inherit__graph.map index 55a1156f..44e4d5cf 100644 --- a/docs/classcmf_1_1water_1_1_power_law_connection__inherit__graph.map +++ b/docs/classcmf_1_1water_1_1_power_law_connection__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_power_law_connection__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_power_law_connection__inherit__graph.md5 index bfba1c0e..dd92bf56 100644 --- a/docs/classcmf_1_1water_1_1_power_law_connection__inherit__graph.md5 +++ b/docs/classcmf_1_1water_1_1_power_law_connection__inherit__graph.md5 @@ -1 +1 @@ -ef7c86f795e2d131bbf39e1388679f96 \ No newline at end of file +36a01be6a5772637ea6b84fe56fe9358 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_power_law_connection__inherit__graph.png b/docs/classcmf_1_1water_1_1_power_law_connection__inherit__graph.png index f6972e09..7a412012 100644 Binary files a/docs/classcmf_1_1water_1_1_power_law_connection__inherit__graph.png and b/docs/classcmf_1_1water_1_1_power_law_connection__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute1st_order_reaction-members.html b/docs/classcmf_1_1water_1_1_solute1st_order_reaction-members.html new file mode 100644 index 00000000..5e338fe6 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute1st_order_reaction-members.html @@ -0,0 +1,131 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Solute1stOrderReaction Member List
    +
    +
    + +

    This is the complete list of members for Solute1stOrderReaction, including all inherited members.

    + + + + + +
    get_flux(const SoluteStorage &solute_storage, const cmf::math::Time &t) const overrideSolute1stOrderReactionvirtual
    is_compatible(const SoluteStorage &solute_storage) overrideSolute1stOrderReactionvirtual
    kSolute1stOrderReaction
    operator()(const SoluteStorage &solute_storage, const cmf::math::Time &t) constSoluteReaction
    +
    +

    +Generated: Fri Jan 19 2024 16:10:57 + + + + diff --git a/docs/classcmf_1_1water_1_1_solute1st_order_reaction.html b/docs/classcmf_1_1water_1_1_solute1st_order_reaction.html new file mode 100644 index 00000000..344489e3 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute1st_order_reaction.html @@ -0,0 +1,189 @@ + + + + + + + + + cmf: Solute1stOrderReaction Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    Solute1stOrderReaction Class Reference
    +
    +
    + +

    A solute reaction of 1st order kinetics (linear decline to product) A->B. + More...

    +
    + + Inheritance diagram for Solute1stOrderReaction:
    +
    +
    + +
    + + Collaboration diagram for Solute1stOrderReaction:
    +
    +
    + +

    Detailed Description

    +

    A solute reaction of 1st order kinetics (linear decline to product) A->B.

    +

    +\[ A \rightarrow B \] +

    +

    +\[\frac{d[B]}{dt} = -\frac{d[A]}{dt} = k [A]\] +

    +

    Where A is the educt and B is the product.

    +
    + + + + + + + + + + +

    +Public Member Functions

    +real get_flux (const SoluteStorage &solute_storage, const cmf::math::Time &t) const override
     Calculates the reactive flux from / to the given solute storage at time t.
     
    +bool is_compatible (const SoluteStorage &solute_storage) override
     Tests if the reaction is compatible to a solute storage. Returns true if not overwritten by a child class.
     
    +real operator() (const SoluteStorage &solute_storage, const cmf::math::Time &t) const
     Calculates the reactive flux from / to the given solute storage at time t.
     
    + + + + +

    +Public Attributes

    +real k
     The reaction rate in 1/day.
     
    +
    +
    +

    +Generated: Fri Jan 19 2024 16:10:57 + + + + diff --git a/docs/classcmf_1_1water_1_1_solute1st_order_reaction.js b/docs/classcmf_1_1water_1_1_solute1st_order_reaction.js new file mode 100644 index 00000000..098f201d --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute1st_order_reaction.js @@ -0,0 +1,7 @@ +var classcmf_1_1water_1_1_solute1st_order_reaction = +[ + [ "get_flux", "classcmf_1_1water_1_1_solute1st_order_reaction.html#a5fe4bc94e062950b9322fd72bc4eb6a0", null ], + [ "is_compatible", "classcmf_1_1water_1_1_solute1st_order_reaction.html#ab8e1f849c461158aac3d2ec2559eb625", null ], + [ "operator()", "classcmf_1_1water_1_1_solute1st_order_reaction.html#a5d9943c41ad2bc572da2cc58abb89c69", null ], + [ "k", "classcmf_1_1water_1_1_solute1st_order_reaction.html#aedd812393356955cdc23971e491e4486", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute1st_order_reaction__coll__graph.map b/docs/classcmf_1_1water_1_1_solute1st_order_reaction__coll__graph.map new file mode 100644 index 00000000..abfb416c --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute1st_order_reaction__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/classcmf_1_1water_1_1_solute1st_order_reaction__coll__graph.md5 b/docs/classcmf_1_1water_1_1_solute1st_order_reaction__coll__graph.md5 new file mode 100644 index 00000000..b78994c6 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute1st_order_reaction__coll__graph.md5 @@ -0,0 +1 @@ +1b48a25bb11ab003c7f1a07a3bcb3a8a \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute1st_order_reaction__coll__graph.png b/docs/classcmf_1_1water_1_1_solute1st_order_reaction__coll__graph.png new file mode 100644 index 00000000..21289ab4 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_solute1st_order_reaction__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute1st_order_reaction__inherit__graph.map b/docs/classcmf_1_1water_1_1_solute1st_order_reaction__inherit__graph.map new file mode 100644 index 00000000..563a0c13 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute1st_order_reaction__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_solute1st_order_reaction__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_solute1st_order_reaction__inherit__graph.md5 new file mode 100644 index 00000000..befd8770 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute1st_order_reaction__inherit__graph.md5 @@ -0,0 +1 @@ +515331069a0acd8f0c3271be4677c831 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute1st_order_reaction__inherit__graph.png b/docs/classcmf_1_1water_1_1_solute1st_order_reaction__inherit__graph.png new file mode 100644 index 00000000..1d9f06b4 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_solute1st_order_reaction__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute2nd_order_reaction-members.html b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction-members.html new file mode 100644 index 00000000..5bfd4c8b --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction-members.html @@ -0,0 +1,134 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Solute2ndOrderReaction Member List
    +
    +
    + +

    This is the complete list of members for Solute2ndOrderReaction, including all inherited members.

    + + + + + + + + +
    ASolute2ndOrderReaction
    BSolute2ndOrderReaction
    CSolute2ndOrderReaction
    get_flux(const SoluteStorage &solute_storage, const cmf::math::Time &t) const overrideSolute2ndOrderReactionvirtual
    is_compatible(const SoluteStorage &solute_storage) overrideSolute2ndOrderReactionvirtual
    operator()(const SoluteStorage &solute_storage, const cmf::math::Time &t) constSoluteReaction
    Solute2ndOrderReaction(const solute &A, const solute &B, const solute &C, real k)Solute2ndOrderReaction
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_solute2nd_order_reaction.html b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction.html new file mode 100644 index 00000000..a79df77b --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction.html @@ -0,0 +1,204 @@ + + + + + + + + + cmf: Solute2ndOrderReaction Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    Solute2ndOrderReaction Class Reference
    +
    +
    + +

    A solute reaction of 2nd order kinetics A + B -> C. + More...

    +
    + + Inheritance diagram for Solute2ndOrderReaction:
    +
    +
    + +
    + + Collaboration diagram for Solute2ndOrderReaction:
    +
    +
    + +

    Detailed Description

    +

    A solute reaction of 2nd order kinetics A + B -> C.

    +

    +\[ A + B \rightarrow C \] +

    +

    +\[\frac{d[C]}{dt} = -\frac{d[A]}{dt} = -\frac{d[B]}{dt} = k [A] [B]\] +

    +

    Where A and B are the educts and C is the product. For a 2nd order reaction of a single educt A just write:

    +
    solute C
    Product.
    Definition reaction.h:213
    +
    Solute2ndOrderReaction(const solute &A, const solute &B, const solute &C, real k)
    Creates a 2nd order kinetic reaction.
    +
    solute A
    Educt 1.
    Definition reaction.h:211
    +
    + + + + + + + + + + + + + +

    +Public Member Functions

    Solute2ndOrderReaction (const solute &A, const solute &B, const solute &C, real k)
     Creates a 2nd order kinetic reaction.
     
    +real get_flux (const SoluteStorage &solute_storage, const cmf::math::Time &t) const override
     Calculates the reactive flux from / to the given solute storage at time t.
     
    +bool is_compatible (const SoluteStorage &solute_storage) override
     Tests if the reaction is compatible to a solute storage. Returns true if not overwritten by a child class.
     
    +real operator() (const SoluteStorage &solute_storage, const cmf::math::Time &t) const
     Calculates the reactive flux from / to the given solute storage at time t.
     
    + + + + + + + + + + +

    +Public Attributes

    +solute A
     Educt 1.
     
    +solute B
     Educt 2.
     
    +solute C
     Product.
     
    +
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_solute2nd_order_reaction.js b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction.js new file mode 100644 index 00000000..597ab935 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction.js @@ -0,0 +1,10 @@ +var classcmf_1_1water_1_1_solute2nd_order_reaction = +[ + [ "Solute2ndOrderReaction", "classcmf_1_1water_1_1_solute2nd_order_reaction.html#a576ce5b52624db526ebfafd719babca0", null ], + [ "get_flux", "classcmf_1_1water_1_1_solute2nd_order_reaction.html#a5fe4bc94e062950b9322fd72bc4eb6a0", null ], + [ "is_compatible", "classcmf_1_1water_1_1_solute2nd_order_reaction.html#ab8e1f849c461158aac3d2ec2559eb625", null ], + [ "operator()", "classcmf_1_1water_1_1_solute2nd_order_reaction.html#a5d9943c41ad2bc572da2cc58abb89c69", null ], + [ "A", "classcmf_1_1water_1_1_solute2nd_order_reaction.html#a95dd1f0ac27bdcabbdd14f5ab4755401", null ], + [ "B", "classcmf_1_1water_1_1_solute2nd_order_reaction.html#af96842bc08152d5abf62331cca28b4f9", null ], + [ "C", "classcmf_1_1water_1_1_solute2nd_order_reaction.html#a1c935dd2d0eb971c0371272a9d42eeac", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__coll__graph.map b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__coll__graph.map new file mode 100644 index 00000000..9406a685 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__coll__graph.md5 b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__coll__graph.md5 new file mode 100644 index 00000000..c89e3e8b --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__coll__graph.md5 @@ -0,0 +1 @@ +237d27e846063b8af2ab778b956cefc3 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__coll__graph.png b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__coll__graph.png new file mode 100644 index 00000000..1a73608b Binary files /dev/null and b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__inherit__graph.map b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__inherit__graph.map new file mode 100644 index 00000000..0a1108e2 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__inherit__graph.md5 new file mode 100644 index 00000000..76163012 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__inherit__graph.md5 @@ -0,0 +1 @@ +7d0f124cd8a0d76c3ff1ea568039b7b8 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__inherit__graph.png b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__inherit__graph.png new file mode 100644 index 00000000..89586f96 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_solute2nd_order_reaction__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction-members.html b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction-members.html new file mode 100644 index 00000000..1b6cf9cf --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction-members.html @@ -0,0 +1,130 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    SoluteConstantFluxReaction Member List
    +
    +
    + +

    This is the complete list of members for SoluteConstantFluxReaction, including all inherited members.

    + + + + +
    get_flux(const SoluteStorage &solute_storage, const cmf::math::Time &t) const overrideSoluteConstantFluxReactionvirtual
    is_compatible(const SoluteStorage &solute_storage)SoluteReactionvirtual
    operator()(const SoluteStorage &solute_storage, const cmf::math::Time &t) constSoluteReaction
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction.html b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction.html new file mode 100644 index 00000000..39c61198 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction.html @@ -0,0 +1,181 @@ + + + + + + + + + cmf: SoluteConstantFluxReaction Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    SoluteConstantFluxReaction Class Reference
    +
    +
    + +

    Adds a constant flux to the solute storage. + More...

    +
    + + Inheritance diagram for SoluteConstantFluxReaction:
    +
    +
    + +
    + + Collaboration diagram for SoluteConstantFluxReaction:
    +
    +
    + +

    Detailed Description

    +

    Adds a constant flux to the solute storage.

    +

    Normally used for operator split model coupling. Use this to replace the old source parameter of a solute storage

    +

    Usage:

    p = cmf.project('X')
    +
    X = p.solutes[0]
    +
    S = p.NewStorage('S')
    +
    S[X].reactions = [cmf.SoluteConstantReaction(1.0)]
    +
    assert S[X].dxdt(cmf.Time()) == 1.0
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +
    const cmf::water::solute_vector solutes
    The solutes transported by the model.
    Definition project.h:71
    +
    The main namespace of the model framework. Contains the other namespaces and the project class.
    Definition __init__.py:1
    +
    + + + + + + + + + + +

    +Public Member Functions

    +real get_flux (const SoluteStorage &solute_storage, const cmf::math::Time &t) const override
     Calculates the reactive flux from / to the given solute storage at time t.
     
    +virtual bool is_compatible (const SoluteStorage &solute_storage)
     Tests if the reaction is compatible to a solute storage. Returns true if not overwritten by a child class.
     
    +real operator() (const SoluteStorage &solute_storage, const cmf::math::Time &t) const
     Calculates the reactive flux from / to the given solute storage at time t.
     
    +
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction.js b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction.js new file mode 100644 index 00000000..7fc82022 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction.js @@ -0,0 +1,6 @@ +var classcmf_1_1water_1_1_solute_constant_flux_reaction = +[ + [ "get_flux", "classcmf_1_1water_1_1_solute_constant_flux_reaction.html#a5fe4bc94e062950b9322fd72bc4eb6a0", null ], + [ "is_compatible", "classcmf_1_1water_1_1_solute_constant_flux_reaction.html#a7a70ef456d384cbb1355ec22e3d981d2", null ], + [ "operator()", "classcmf_1_1water_1_1_solute_constant_flux_reaction.html#a5d9943c41ad2bc572da2cc58abb89c69", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__coll__graph.map b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__coll__graph.map new file mode 100644 index 00000000..0536c19c --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__coll__graph.md5 b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__coll__graph.md5 new file mode 100644 index 00000000..6111222a --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__coll__graph.md5 @@ -0,0 +1 @@ +f06a9212a0910e5862bd26de136405de \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__coll__graph.png b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__coll__graph.png new file mode 100644 index 00000000..fea58acc Binary files /dev/null and b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__inherit__graph.map b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__inherit__graph.map new file mode 100644 index 00000000..0536c19c --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__inherit__graph.md5 new file mode 100644 index 00000000..6111222a --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__inherit__graph.md5 @@ -0,0 +1 @@ +f06a9212a0910e5862bd26de136405de \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__inherit__graph.png b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__inherit__graph.png new file mode 100644 index 00000000..fea58acc Binary files /dev/null and b/docs/classcmf_1_1water_1_1_solute_constant_flux_reaction__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute_decay_reaction-members.html b/docs/classcmf_1_1water_1_1_solute_decay_reaction-members.html new file mode 100644 index 00000000..12161607 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_decay_reaction-members.html @@ -0,0 +1,130 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    SoluteDecayReaction Member List
    +
    +
    + +

    This is the complete list of members for SoluteDecayReaction, including all inherited members.

    + + + + +
    get_flux(const SoluteStorage &solute_storage, const cmf::math::Time &t) const overrideSoluteDecayReactionvirtual
    is_compatible(const SoluteStorage &solute_storage)SoluteReactionvirtual
    operator()(const SoluteStorage &solute_storage, const cmf::math::Time &t) constSoluteReaction
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_solute_decay_reaction.html b/docs/classcmf_1_1water_1_1_solute_decay_reaction.html new file mode 100644 index 00000000..7e67a843 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_decay_reaction.html @@ -0,0 +1,182 @@ + + + + + + + + + cmf: SoluteDecayReaction Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    SoluteDecayReaction Class Reference
    +
    +
    + +

    Adds a linear decay to solute storages. + More...

    +
    + + Inheritance diagram for SoluteDecayReaction:
    +
    +
    + +
    + + Collaboration diagram for SoluteDecayReaction:
    +
    +
    + +

    Detailed Description

    +

    Adds a linear decay to solute storages.

    +

    Normally used for operator split model coupling. Use this to replace the old source parameter of a solute storage

    +

    Usage:

    p = cmf.project('X')
    +
    X = p.solutes[0]
    +
    S = p.NewStorage('S')
    +
    S[X].set_state(2.0)
    +
    S[X].reactions = [cmf.SoluteDecayReaction(0.5)]
    +
    assert S[X].dxdt(cmf.Time()) = S[X].state * 0.5
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +
    const cmf::water::solute_vector solutes
    The solutes transported by the model.
    Definition project.h:71
    +
    The main namespace of the model framework. Contains the other namespaces and the project class.
    Definition __init__.py:1
    +
    + + + + + + + + + + +

    +Public Member Functions

    +real get_flux (const SoluteStorage &solute_storage, const cmf::math::Time &t) const override
     Calculates the reactive flux from / to the given solute storage at time t.
     
    +virtual bool is_compatible (const SoluteStorage &solute_storage)
     Tests if the reaction is compatible to a solute storage. Returns true if not overwritten by a child class.
     
    +real operator() (const SoluteStorage &solute_storage, const cmf::math::Time &t) const
     Calculates the reactive flux from / to the given solute storage at time t.
     
    +
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_solute_decay_reaction.js b/docs/classcmf_1_1water_1_1_solute_decay_reaction.js new file mode 100644 index 00000000..69d29f97 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_decay_reaction.js @@ -0,0 +1,6 @@ +var classcmf_1_1water_1_1_solute_decay_reaction = +[ + [ "get_flux", "classcmf_1_1water_1_1_solute_decay_reaction.html#a5fe4bc94e062950b9322fd72bc4eb6a0", null ], + [ "is_compatible", "classcmf_1_1water_1_1_solute_decay_reaction.html#a7a70ef456d384cbb1355ec22e3d981d2", null ], + [ "operator()", "classcmf_1_1water_1_1_solute_decay_reaction.html#a5d9943c41ad2bc572da2cc58abb89c69", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_decay_reaction__coll__graph.map b/docs/classcmf_1_1water_1_1_solute_decay_reaction__coll__graph.map new file mode 100644 index 00000000..f5523b7b --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_decay_reaction__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_solute_decay_reaction__coll__graph.md5 b/docs/classcmf_1_1water_1_1_solute_decay_reaction__coll__graph.md5 new file mode 100644 index 00000000..f52fd0de --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_decay_reaction__coll__graph.md5 @@ -0,0 +1 @@ +5d41f0599464b1fe804b0bccb930e807 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_decay_reaction__coll__graph.png b/docs/classcmf_1_1water_1_1_solute_decay_reaction__coll__graph.png new file mode 100644 index 00000000..7f200c0b Binary files /dev/null and b/docs/classcmf_1_1water_1_1_solute_decay_reaction__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute_decay_reaction__inherit__graph.map b/docs/classcmf_1_1water_1_1_solute_decay_reaction__inherit__graph.map new file mode 100644 index 00000000..f5523b7b --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_decay_reaction__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_solute_decay_reaction__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_solute_decay_reaction__inherit__graph.md5 new file mode 100644 index 00000000..f52fd0de --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_decay_reaction__inherit__graph.md5 @@ -0,0 +1 @@ +5d41f0599464b1fe804b0bccb930e807 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_decay_reaction__inherit__graph.png b/docs/classcmf_1_1water_1_1_solute_decay_reaction__inherit__graph.png new file mode 100644 index 00000000..7f200c0b Binary files /dev/null and b/docs/classcmf_1_1water_1_1_solute_decay_reaction__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute_diffusive_transport-members.html b/docs/classcmf_1_1water_1_1_solute_diffusive_transport-members.html new file mode 100644 index 00000000..8cbb5bbd --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_diffusive_transport-members.html @@ -0,0 +1,132 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    SoluteDiffusiveTransport Member List
    +
    +
    + +

    This is the complete list of members for SoluteDiffusiveTransport, including all inherited members.

    + + + + + + +
    alphaSoluteDiffusiveTransport
    get_flux(const SoluteStorage &solute_storage, const cmf::math::Time &t) const overrideSoluteDiffusiveTransportvirtual
    is_compatible(const SoluteStorage &solute_storage)SoluteReactionvirtual
    leftSoluteDiffusiveTransport
    operator()(const SoluteStorage &solute_storage, const cmf::math::Time &t) constSoluteReaction
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_solute_diffusive_transport.html b/docs/classcmf_1_1water_1_1_solute_diffusive_transport.html new file mode 100644 index 00000000..895848c6 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_diffusive_transport.html @@ -0,0 +1,199 @@ + + + + + + + + + cmf: SoluteDiffusiveTransport Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    SoluteDiffusiveTransport Class Reference
    +
    +
    + +

    Calculates a diffusive flux between solute storages. + More...

    +
    + + Inheritance diagram for SoluteDiffusiveTransport:
    +
    +
    + +
    + + Collaboration diagram for SoluteDiffusiveTransport:
    +
    +
    + +

    Detailed Description

    +

    Calculates a diffusive flux between solute storages.

    +
    Warning
    Experimental feature! The math might not be a correct diffusion equation
    +

    +\[ q = \alpha \cdot \left([A]_1 - [A]_2\right) V_2 \] +

    +
      +
    • \( [A]_n \) Concentration of solute A in storage n in mol/m³ or a similar unit
    • +
    • \( \alpha \) Diffusion velocity in 1/day. Depends on the distance between the storages. To calculate it from a distance independent diffusion velocity \( D [m/day] \) over a distance d use \( \alpha = D / d \)
    • +
    • \( V_2 \) the water volume of the source water storage
    • +
    +
    + + + + + + + + + + +

    +Public Member Functions

    +real get_flux (const SoluteStorage &solute_storage, const cmf::math::Time &t) const override
     Calculates the reactive flux from / to the given solute storage at time t.
     
    +virtual bool is_compatible (const SoluteStorage &solute_storage)
     Tests if the reaction is compatible to a solute storage. Returns true if not overwritten by a child class.
     
    +real operator() (const SoluteStorage &solute_storage, const cmf::math::Time &t) const
     Calculates the reactive flux from / to the given solute storage at time t.
     
    + + + + + + + +

    +Public Attributes

    +real alpha
     Diffusion rate in 1/day.
     
    +const SoluteStorageleft
     SoluteStorages that are connected.
     
    +
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_solute_diffusive_transport.js b/docs/classcmf_1_1water_1_1_solute_diffusive_transport.js new file mode 100644 index 00000000..cacb0321 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_diffusive_transport.js @@ -0,0 +1,8 @@ +var classcmf_1_1water_1_1_solute_diffusive_transport = +[ + [ "get_flux", "classcmf_1_1water_1_1_solute_diffusive_transport.html#a5fe4bc94e062950b9322fd72bc4eb6a0", null ], + [ "is_compatible", "classcmf_1_1water_1_1_solute_diffusive_transport.html#a7a70ef456d384cbb1355ec22e3d981d2", null ], + [ "operator()", "classcmf_1_1water_1_1_solute_diffusive_transport.html#a5d9943c41ad2bc572da2cc58abb89c69", null ], + [ "alpha", "classcmf_1_1water_1_1_solute_diffusive_transport.html#a31930e3dee5d8184c0b9825800594a0a", null ], + [ "left", "classcmf_1_1water_1_1_solute_diffusive_transport.html#a048c11b7144b35609e460317f3904b15", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_diffusive_transport__coll__graph.map b/docs/classcmf_1_1water_1_1_solute_diffusive_transport__coll__graph.map new file mode 100644 index 00000000..09f5343f --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_diffusive_transport__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/classcmf_1_1water_1_1_solute_diffusive_transport__coll__graph.md5 b/docs/classcmf_1_1water_1_1_solute_diffusive_transport__coll__graph.md5 new file mode 100644 index 00000000..ad30dc32 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_diffusive_transport__coll__graph.md5 @@ -0,0 +1 @@ +b70d7917726d7c8f8d17d0cf93936d97 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_diffusive_transport__coll__graph.png b/docs/classcmf_1_1water_1_1_solute_diffusive_transport__coll__graph.png new file mode 100644 index 00000000..c8c2a326 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_solute_diffusive_transport__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute_diffusive_transport__inherit__graph.map b/docs/classcmf_1_1water_1_1_solute_diffusive_transport__inherit__graph.map new file mode 100644 index 00000000..8a775ecd --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_diffusive_transport__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_solute_diffusive_transport__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_solute_diffusive_transport__inherit__graph.md5 new file mode 100644 index 00000000..002bdede --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_diffusive_transport__inherit__graph.md5 @@ -0,0 +1 @@ +1a83fb4b9d76b45a58d2023720bd9736 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_diffusive_transport__inherit__graph.png b/docs/classcmf_1_1water_1_1_solute_diffusive_transport__inherit__graph.png new file mode 100644 index 00000000..3e055264 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_solute_diffusive_transport__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction-members.html b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction-members.html new file mode 100644 index 00000000..63ea7c79 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction-members.html @@ -0,0 +1,133 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    SoluteEquilibriumReaction Member List
    +
    +
    + +

    This is the complete list of members for SoluteEquilibriumReaction, including all inherited members.

    + + + + + + + +
    get_flux(const SoluteStorage &solute_storage, const cmf::math::Time &t) const overrideSoluteEquilibriumReactionvirtual
    is_compatible(const SoluteStorage &solute_storage) overrideSoluteEquilibriumReactionvirtual
    k_abSoluteEquilibriumReaction
    k_baSoluteEquilibriumReaction
    operator()(const SoluteStorage &solute_storage, const cmf::math::Time &t) constSoluteReaction
    SoluteEquilibriumReaction(const solute &A, const solute &B, real k_ab, real k_ba)SoluteEquilibriumReaction
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction.html b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction.html new file mode 100644 index 00000000..3874d157 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction.html @@ -0,0 +1,196 @@ + + + + + + + + + cmf: SoluteEquilibriumReaction Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    SoluteEquilibriumReaction Class Reference
    +
    +
    + +

    An equilibrium reaction between two solutes A<->B. + More...

    +
    + + Inheritance diagram for SoluteEquilibriumReaction:
    +
    +
    + +
    + + Collaboration diagram for SoluteEquilibriumReaction:
    +
    +
    + +

    Detailed Description

    +

    An equilibrium reaction between two solutes A<->B.

    +

    +\[ A \rightleftharpoons B \] +

    +

    +\[\frac{d[B]}{dt} = -\frac{d[A]}{dt} = k_{AB} [A] - k_{BA} [B] \] +

    +
    + + + + + + + + + + + + + +

    +Public Member Functions

    SoluteEquilibriumReaction (const solute &A, const solute &B, real k_ab, real k_ba)
     Creates a solute equilibrium reaction A<->B.
     
    +real get_flux (const SoluteStorage &solute_storage, const cmf::math::Time &t) const override
     Calculates the reactive flux from / to the given solute storage at time t.
     
    +bool is_compatible (const SoluteStorage &solute_storage) override
     Tests if the reaction is compatible to a solute storage. Returns true if not overwritten by a child class.
     
    +real operator() (const SoluteStorage &solute_storage, const cmf::math::Time &t) const
     Calculates the reactive flux from / to the given solute storage at time t.
     
    + + + + + + + +

    +Public Attributes

    +real k_ab
     The reaction rate A->B in 1/day.
     
    +real k_ba
     The reaction rate B->A in 1/day.
     
    +
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction.js b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction.js new file mode 100644 index 00000000..4f21493d --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction.js @@ -0,0 +1,9 @@ +var classcmf_1_1water_1_1_solute_equilibrium_reaction = +[ + [ "SoluteEquilibriumReaction", "classcmf_1_1water_1_1_solute_equilibrium_reaction.html#a9b9c1e55ec5f96b6b37b08ce1955e1a9", null ], + [ "get_flux", "classcmf_1_1water_1_1_solute_equilibrium_reaction.html#a5fe4bc94e062950b9322fd72bc4eb6a0", null ], + [ "is_compatible", "classcmf_1_1water_1_1_solute_equilibrium_reaction.html#ab8e1f849c461158aac3d2ec2559eb625", null ], + [ "operator()", "classcmf_1_1water_1_1_solute_equilibrium_reaction.html#a5d9943c41ad2bc572da2cc58abb89c69", null ], + [ "k_ab", "classcmf_1_1water_1_1_solute_equilibrium_reaction.html#a19125c5158b53665c9d89e0346216662", null ], + [ "k_ba", "classcmf_1_1water_1_1_solute_equilibrium_reaction.html#a6f19a3a3be70a5dc13fed464a89bb66e", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__coll__graph.map b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__coll__graph.map new file mode 100644 index 00000000..035a877f --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__coll__graph.md5 b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__coll__graph.md5 new file mode 100644 index 00000000..a2dbd137 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__coll__graph.md5 @@ -0,0 +1 @@ +336410dc3203c6c3d0eae44ab028880a \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__coll__graph.png b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__coll__graph.png new file mode 100644 index 00000000..4d0ccd6a Binary files /dev/null and b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__inherit__graph.map b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__inherit__graph.map new file mode 100644 index 00000000..2a10bc98 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__inherit__graph.md5 new file mode 100644 index 00000000..d3a29fa8 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__inherit__graph.md5 @@ -0,0 +1 @@ +318cefeb616ed54b7bf34846c4e13074 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__inherit__graph.png b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__inherit__graph.png new file mode 100644 index 00000000..b6a0d435 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_solute_equilibrium_reaction__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute_rate_reaction-members.html b/docs/classcmf_1_1water_1_1_solute_rate_reaction-members.html new file mode 100644 index 00000000..d1cfac44 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_rate_reaction-members.html @@ -0,0 +1,133 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    SoluteRateReaction Member List
    +
    +
    + +

    This is the complete list of members for SoluteRateReaction, including all inherited members.

    + + + + + + + +
    add_reactance(const solute &solute, real stoichiometric_coefficient, real partial_order=-999)SoluteRateReaction
    get_flux(const SoluteStorage &solute_storage, const cmf::math::Time &t) const overrideSoluteRateReactionvirtual
    is_compatible(const SoluteStorage &solute_storage) overrideSoluteRateReactionvirtual
    k_backSoluteRateReaction
    k_forwardSoluteRateReaction
    operator()(const SoluteStorage &solute_storage, const cmf::math::Time &t) constSoluteReaction
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_solute_rate_reaction.html b/docs/classcmf_1_1water_1_1_solute_rate_reaction.html new file mode 100644 index 00000000..ad047c52 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_rate_reaction.html @@ -0,0 +1,206 @@ + + + + + + + + + cmf: SoluteRateReaction Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    SoluteRateReaction Class Reference
    +
    +
    + +

    A general solute reaction system to describe multi-species kinetics with a power law. + More...

    +
    + + Inheritance diagram for SoluteRateReaction:
    +
    +
    + +
    + + Collaboration diagram for SoluteRateReaction:
    +
    +
    + +

    Detailed Description

    +

    A general solute reaction system to describe multi-species kinetics with a power law.

    +
    Warning
    Experimental feature!
    +

    cf. to https://en.wikipedia.org/wiki/Rate_equation

    +

    +\[ A + 2B \rightarrow 3C \Rightarrow 0 = -1A - 2B + 3C \] +

    +

    Where \( -1, -2, 3 \) are the stoichiometric coefficients \(v_i\) corresponding to the substance \(X_i\).

    +

    The reaction rate \(r^+\) is given by a power law:

    +

    +\[ r = k \prod [X_i]^{m_i} \forall v_i < 0 \] +

    +

    With \(m_i\) as the partial order, which is sometimes equal to the stoichiometric coefficient.

    +

    Which gives the following differential equation system

    +

    +\[\frac{dX_i}{dt} = v_i r^+([X]) V \] +

    +

    If the opposite reaction is taking place at the same time (equilibrium reaction), with the reaction rate \(r^-\) for the backwards reaction we get:

    +\[\frac{dX_i}{dt} = V \left(v_i r^+([X]) - v_i r^-([X])\right)\] +

    +
    + + + + + + + + + + + + + +

    +Public Member Functions

    +void add_reactance (const solute &solute, real stoichiometric_coefficient, real partial_order=-999)
     Use positive stoichiometric_coefficient for products and negative for educts.
     
    +real get_flux (const SoluteStorage &solute_storage, const cmf::math::Time &t) const override
     Calculates the reactive flux from / to the given solute storage at time t.
     
    +bool is_compatible (const SoluteStorage &solute_storage) override
     Tests if the reaction is compatible to a solute storage. Returns true if not overwritten by a child class.
     
    +real operator() (const SoluteStorage &solute_storage, const cmf::math::Time &t) const
     Calculates the reactive flux from / to the given solute storage at time t.
     
    + + + + + + + +

    +Public Attributes

    +real k_back
     Rate constant for backward reaction.
     
    +real k_forward
     Rate constant for forward reaction.
     
    +
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_solute_rate_reaction.js b/docs/classcmf_1_1water_1_1_solute_rate_reaction.js new file mode 100644 index 00000000..8e17ae45 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_rate_reaction.js @@ -0,0 +1,9 @@ +var classcmf_1_1water_1_1_solute_rate_reaction = +[ + [ "add_reactance", "classcmf_1_1water_1_1_solute_rate_reaction.html#a57cea6df7877ae8cbb85f126db797035", null ], + [ "get_flux", "classcmf_1_1water_1_1_solute_rate_reaction.html#a5fe4bc94e062950b9322fd72bc4eb6a0", null ], + [ "is_compatible", "classcmf_1_1water_1_1_solute_rate_reaction.html#ab8e1f849c461158aac3d2ec2559eb625", null ], + [ "operator()", "classcmf_1_1water_1_1_solute_rate_reaction.html#a5d9943c41ad2bc572da2cc58abb89c69", null ], + [ "k_back", "classcmf_1_1water_1_1_solute_rate_reaction.html#af9a0affecc39a0fe1854fcbaf60bc42d", null ], + [ "k_forward", "classcmf_1_1water_1_1_solute_rate_reaction.html#accb2ecd133d2df39e355f915e7238389", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_rate_reaction__coll__graph.map b/docs/classcmf_1_1water_1_1_solute_rate_reaction__coll__graph.map new file mode 100644 index 00000000..a4a46a13 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_rate_reaction__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_solute_rate_reaction__coll__graph.md5 b/docs/classcmf_1_1water_1_1_solute_rate_reaction__coll__graph.md5 new file mode 100644 index 00000000..14c9eae3 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_rate_reaction__coll__graph.md5 @@ -0,0 +1 @@ +bae8d98c3f52110f4905cf3e0e04b833 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_rate_reaction__coll__graph.png b/docs/classcmf_1_1water_1_1_solute_rate_reaction__coll__graph.png new file mode 100644 index 00000000..384e7dd1 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_solute_rate_reaction__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute_rate_reaction__inherit__graph.map b/docs/classcmf_1_1water_1_1_solute_rate_reaction__inherit__graph.map new file mode 100644 index 00000000..a4a46a13 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_rate_reaction__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_solute_rate_reaction__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_solute_rate_reaction__inherit__graph.md5 new file mode 100644 index 00000000..14c9eae3 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_rate_reaction__inherit__graph.md5 @@ -0,0 +1 @@ +bae8d98c3f52110f4905cf3e0e04b833 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_rate_reaction__inherit__graph.png b/docs/classcmf_1_1water_1_1_solute_rate_reaction__inherit__graph.png new file mode 100644 index 00000000..384e7dd1 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_solute_rate_reaction__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute_reaction-members.html b/docs/classcmf_1_1water_1_1_solute_reaction-members.html new file mode 100644 index 00000000..57f75cc5 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_reaction-members.html @@ -0,0 +1,130 @@ + + + + + + + + + cmf: Member List + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    SoluteReaction Member List
    +
    +
    + +

    This is the complete list of members for SoluteReaction, including all inherited members.

    + + + + +
    get_flux(const SoluteStorage &solute_storage, const cmf::math::Time &t) const =0SoluteReactionpure virtual
    is_compatible(const SoluteStorage &solute_storage)SoluteReactionvirtual
    operator()(const SoluteStorage &solute_storage, const cmf::math::Time &t) constSoluteReaction
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_solute_reaction.html b/docs/classcmf_1_1water_1_1_solute_reaction.html new file mode 100644 index 00000000..7ed1cf2d --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_reaction.html @@ -0,0 +1,173 @@ + + + + + + + + + cmf: SoluteReaction Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    SoluteReaction Class Referenceabstract
    +
    +
    + +

    Abstract class for a solute reaction. + More...

    +
    + + Inheritance diagram for SoluteReaction:
    +
    +
    + +

    Detailed Description

    +

    Abstract class for a solute reaction.

    +

    Can be derived with python.

    +
    + + + + + + + + + + +

    +Public Member Functions

    +virtual real get_flux (const SoluteStorage &solute_storage, const cmf::math::Time &t) const =0
     Calculates the reactive flux from / to the given solute storage at time t.
     
    +virtual bool is_compatible (const SoluteStorage &solute_storage)
     Tests if the reaction is compatible to a solute storage. Returns true if not overwritten by a child class.
     
    +real operator() (const SoluteStorage &solute_storage, const cmf::math::Time &t) const
     Calculates the reactive flux from / to the given solute storage at time t.
     
    +
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_solute_reaction.js b/docs/classcmf_1_1water_1_1_solute_reaction.js new file mode 100644 index 00000000..01a9c100 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_reaction.js @@ -0,0 +1,6 @@ +var classcmf_1_1water_1_1_solute_reaction = +[ + [ "get_flux", "classcmf_1_1water_1_1_solute_reaction.html#a7b5b71b7aaf8856d5b38d96a8c3873c7", null ], + [ "is_compatible", "classcmf_1_1water_1_1_solute_reaction.html#a7a70ef456d384cbb1355ec22e3d981d2", null ], + [ "operator()", "classcmf_1_1water_1_1_solute_reaction.html#a5d9943c41ad2bc572da2cc58abb89c69", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_reaction__inherit__graph.map b/docs/classcmf_1_1water_1_1_solute_reaction__inherit__graph.map new file mode 100644 index 00000000..5e561390 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_reaction__inherit__graph.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/classcmf_1_1water_1_1_solute_reaction__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_solute_reaction__inherit__graph.md5 new file mode 100644 index 00000000..2275c556 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_solute_reaction__inherit__graph.md5 @@ -0,0 +1 @@ +52cac6a03b9bc15299b45931e459f065 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_reaction__inherit__graph.png b/docs/classcmf_1_1water_1_1_solute_reaction__inherit__graph.png new file mode 100644 index 00000000..e1610a89 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_solute_reaction__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute_storage-members.html b/docs/classcmf_1_1water_1_1_solute_storage-members.html index 3fbadf2e..2e8cb43e 100644 --- a/docs/classcmf_1_1water_1_1_solute_storage-members.html +++ b/docs/classcmf_1_1water_1_1_solute_storage-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,33 +93,38 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SoluteStorage Member List
    +
    SoluteStorage Member List

    This is the complete list of members for SoluteStorage, including all inherited members.

    - - - - - - - - + + + + + + + + - + - - - + +
    decaySoluteStorage
    dxdt(const cmf::math::Time &time)SoluteStoragevirtual
    get_conc() constSoluteStorage
    get_state() constStateVariable
    get_water() constSoluteStorage
    is_connected(const cmf::math::StateVariable &other) constSoluteStoragevirtual
    list typedefStateVariable
    MarkStateChangeHandled()StateVariableprotected
    dxdt(const cmf::math::Time &time)SoluteStoragevirtual
    get_conc() constSoluteStorage
    get_state() constStateVariable
    get_water() constSoluteStorage
    is_connected(const cmf::math::StateVariable &other) constSoluteStoragevirtual
    MarkStateChangeHandled()StateVariableprotected
    reactionsSoluteStorage
    set_abs_errtol(real scale)SoluteStorage
    set_conc(real NewConcentration)SoluteStorage
    set_state(real newState)StateVariable
    set_state(real newState)StateVariable
    SoluteSoluteStorage
    sourceSoluteStorage
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    diff --git a/docs/classcmf_1_1water_1_1_solute_storage.html b/docs/classcmf_1_1water_1_1_solute_storage.html index b264d54e..faef60b6 100644 --- a/docs/classcmf_1_1water_1_1_solute_storage.html +++ b/docs/classcmf_1_1water_1_1_solute_storage.html @@ -2,33 +2,37 @@ - - - - -cmf: SoluteStorage Class Reference - - - - + + + + + cmf: SoluteStorage Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,119 +93,147 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SoluteStorage Class Reference
    +
    SoluteStorage Class Reference

    A class for the storage of any tracer. - More...

    -
    + More...

    +
    + Inheritance diagram for SoluteStorage:
    -
    +
    + Collaboration diagram for SoluteStorage:

    Detailed Description

    A class for the storage of any tracer.

    -

    The state is the amount (mol, kg etc. see cmf::water) of the tracer in the storage.

    +

    The state is the amount (mol, kg etc. see cmf::water) of the tracer in the storage.

    The derivative function is given by:

    -\begin{eqnarray*} \frac{dX}{dt}&=&\sum_{f=1}^{F}\left( q_f [X]_f\right) + X_{in} - r^-X \left[\frac{mol}{day}\right]\\ F&=& \mbox{Number of fluxes in water storage} \\ q_f&=& \mbox{Water flux in } \frac{m^3}{day} \\ \left[X\right]_f &=& \mbox{Concentration of solute X in flux }q_f \mbox{ in } \frac{mol}{m^3} \\ X_{in} &=& \mbox{Absolute source or sink term} \frac{mol}{day} \\ r^- &=& \mbox{Decay rate} \frac 1{day} \\ V &=& \mbox{Volume of water in water storage }\left[m^3\right] \end{eqnarray*} +\[\frac{dX}{dt} = \sum_{f=1}^{F}{q_f \cdot [X]_f} + \sum_{r=1}^{R}{q_r([X], t)} \left[\frac{mol}{day}\right] \]

    -
    - - - - -

    -Public Types

    -typedef std::vector< StateVariable * > list
     Not part of the API, used to create sparse structure.
     
    - - - +

    +
      +
    • \(F\) = Number of fluxes in water storage
    • +
    • \(q_f\) = Water flux in \(\frac{m^3}{day}\)
    • +
    • \(\left[X\right]_f \) = Concentration of solute X in flux \(q_f\) in \(\frac{mol}{m^3} \)
    • +
    • \(q_r([X], t)\) = Production or loss rate from R cmf::water::SoluteReaction objects \(\frac{mol}{day}\)
    • +
    + + - + - + - + - - - - + + + + - - + + + + + - +

    Public Member Functions

    -virtual real dxdt (const cmf::math::Time &time)
    +virtual real dxdt (const cmf::math::Time &time)
     Returns the derivate of the state variable at time time.
     
    -real get_conc () const
    +real get_conc () const
     Returns the concentration of the solute.
     
    -real get_state () const
    +real get_state () const
     Returns the current state of the variable.
     
    -const WaterStorageget_water () const
     get the waterstorge of the solute storage
     
    -virtual bool is_connected (const cmf::math::StateVariable &other) const
    +const WaterStorageget_water () const
     get the waterstorge of the solute storage
     
    +virtual bool is_connected (const cmf::math::StateVariable &other) const
     Returns True if this solute storage is effected by another state.
     
    void set_conc (real NewConcentration)
     set a new concentration of dissolved tracers. More...
    void set_abs_errtol (real scale)
     Sets a scaling factor for the absolute error tolerance of this storage in terms of the absolute error tolerance of the owning waterstorage.
     
    void set_conc (real NewConcentration)
     set a new concentration of dissolved tracers.
     
    -void set_state (real newState)
    +void set_state (real newState)
     Gives access to the state variable.
     
    - - - - - - + + + + + - - -

    +

    Public Attributes

    -real decay
     Rate of decay of the solute (in 1/day)
     
    -const cmf::water::soluteSolute
     The solute, which is stored in this.
    +cmf::List< cmf::water::SoluteReaction::ptr > reactions
     Attached reactions.
     
    +const cmf::water::soluteSolute
     The solute, which is stored in this storage.
     
    -real source
     A source or sink term of the solute as an absolute matter flux in state unit/day.
     
    - - + - +

    +

    Protected Member Functions

    -void MarkStateChangeHandled ()
    +void MarkStateChangeHandled ()
     Sets the updated flag (m_StateIsNew) to false.
     
    -bool StateIsChanged ()
    +bool StateIsChanged ()
     Returns if the state was currently updated.
     

    Member Function Documentation

    - -

    ◆ set_conc()

    + +

    ◆ set_abs_errtol()

    + +
    +
    + + + + + + + +
    void set_abs_errtol (real scale)
    +
    + +

    Sets a scaling factor for the absolute error tolerance of this storage in terms of the absolute error tolerance of the owning waterstorage.

    +

    The absolute error tolerance

    + +
    +
    + +

    ◆ set_conc()

    @@ -208,8 +241,7 @@

    void set_conc

    (real NewConcentration)real NewConcentration)
    @@ -228,7 +260,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:52 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_solute_storage.js b/docs/classcmf_1_1water_1_1_solute_storage.js index 69b39a64..e8c6d0b7 100644 --- a/docs/classcmf_1_1water_1_1_solute_storage.js +++ b/docs/classcmf_1_1water_1_1_solute_storage.js @@ -1,16 +1,15 @@ var classcmf_1_1water_1_1_solute_storage = [ - [ "list", "classcmf_1_1water_1_1_solute_storage.html#a65038c02ffb04ca17a7479ad20b0b63c", null ], [ "dxdt", "classcmf_1_1water_1_1_solute_storage.html#a5cfe4250c9c98fc0bc752a565bdd90d7", null ], [ "get_conc", "classcmf_1_1water_1_1_solute_storage.html#a762becb695283c4398ae33a155eea5ee", null ], [ "get_state", "classcmf_1_1water_1_1_solute_storage.html#a5b794a3d74e0b878ff0a4200015e7cc2", null ], - [ "get_water", "classcmf_1_1water_1_1_solute_storage.html#a9c2e209032b3378850ee8d387c6b4b92", null ], + [ "get_water", "classcmf_1_1water_1_1_solute_storage.html#a617878e03700efc4c47c16954d5d0c2a", null ], [ "is_connected", "classcmf_1_1water_1_1_solute_storage.html#adc4ae437d7a2f33ee85fe811fc8b6d0f", null ], [ "MarkStateChangeHandled", "classcmf_1_1water_1_1_solute_storage.html#ae45a5bd291cb989067417aba8e565d0c", null ], + [ "set_abs_errtol", "classcmf_1_1water_1_1_solute_storage.html#a4a7df46415f3c79c16bdac7f331ed94d", null ], [ "set_conc", "classcmf_1_1water_1_1_solute_storage.html#a812d6746d18e89eb269470365a89daaf", null ], [ "set_state", "classcmf_1_1water_1_1_solute_storage.html#a0d5dd145810bcfdea803d83d12302c96", null ], [ "StateIsChanged", "classcmf_1_1water_1_1_solute_storage.html#a2cf1e9d2df8900cf74cbc0773726ca91", null ], - [ "decay", "classcmf_1_1water_1_1_solute_storage.html#a9c2ffef8532bc19ee3514a12af74c3f6", null ], - [ "Solute", "classcmf_1_1water_1_1_solute_storage.html#aaa98981289fd0d2a0a90ef31770622fa", null ], - [ "source", "classcmf_1_1water_1_1_solute_storage.html#ab86bb64741cf612ead0fcb06bf202827", null ] + [ "reactions", "classcmf_1_1water_1_1_solute_storage.html#afb5dd8eec560ed2b5c268e696d0d9fbe", null ], + [ "Solute", "classcmf_1_1water_1_1_solute_storage.html#aaa98981289fd0d2a0a90ef31770622fa", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_storage__coll__graph.map b/docs/classcmf_1_1water_1_1_solute_storage__coll__graph.map index d60d5232..641058ea 100644 --- a/docs/classcmf_1_1water_1_1_solute_storage__coll__graph.map +++ b/docs/classcmf_1_1water_1_1_solute_storage__coll__graph.map @@ -1,4 +1,7 @@ - - + + + + + diff --git a/docs/classcmf_1_1water_1_1_solute_storage__coll__graph.md5 b/docs/classcmf_1_1water_1_1_solute_storage__coll__graph.md5 index 02da2b39..a6ce35fd 100644 --- a/docs/classcmf_1_1water_1_1_solute_storage__coll__graph.md5 +++ b/docs/classcmf_1_1water_1_1_solute_storage__coll__graph.md5 @@ -1 +1 @@ -d9a6ea9a655027eb772af2bdd715ea11 \ No newline at end of file +d06dfb5b509523efca1acf5a981fcf1a \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_storage__coll__graph.png b/docs/classcmf_1_1water_1_1_solute_storage__coll__graph.png index 21fb9770..b0e27364 100644 Binary files a/docs/classcmf_1_1water_1_1_solute_storage__coll__graph.png and b/docs/classcmf_1_1water_1_1_solute_storage__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute_storage__inherit__graph.map b/docs/classcmf_1_1water_1_1_solute_storage__inherit__graph.map index a2ab4ba8..324ca486 100644 --- a/docs/classcmf_1_1water_1_1_solute_storage__inherit__graph.map +++ b/docs/classcmf_1_1water_1_1_solute_storage__inherit__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1_solute_storage__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_solute_storage__inherit__graph.md5 index d08dee31..90bf0bcc 100644 --- a/docs/classcmf_1_1water_1_1_solute_storage__inherit__graph.md5 +++ b/docs/classcmf_1_1water_1_1_solute_storage__inherit__graph.md5 @@ -1 +1 @@ -55311e6bc8e4e930965cb2b51926b138 \ No newline at end of file +b6ec42160a6e49338baec028e0c5ce53 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_solute_storage__inherit__graph.png b/docs/classcmf_1_1water_1_1_solute_storage__inherit__graph.png index 0628f7ac..240097a1 100644 Binary files a/docs/classcmf_1_1water_1_1_solute_storage__inherit__graph.png and b/docs/classcmf_1_1water_1_1_solute_storage__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_solute_timeseries-members.html b/docs/classcmf_1_1water_1_1_solute_timeseries-members.html index f9db343f..ccda9064 100644 --- a/docs/classcmf_1_1water_1_1_solute_timeseries-members.html +++ b/docs/classcmf_1_1water_1_1_solute_timeseries-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,21 +93,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SoluteTimeseries Member List
    +
    SoluteTimeseries Member List

    This is the complete list of members for SoluteTimeseries, including all inherited members.

    - - + +
    operator[](const cmf::water::solute &_Solute)SoluteTimeseries
    size() constSoluteTimeseries
    operator[](const cmf::water::solute &_Solute)SoluteTimeseries
    size() constSoluteTimeseries
    diff --git a/docs/classcmf_1_1water_1_1_solute_timeseries.html b/docs/classcmf_1_1water_1_1_solute_timeseries.html index 78f5857d..2e992876 100644 --- a/docs/classcmf_1_1water_1_1_solute_timeseries.html +++ b/docs/classcmf_1_1water_1_1_solute_timeseries.html @@ -2,33 +2,37 @@ - - - - -cmf: SoluteTimeseries Class Reference - - - - + + + + + cmf: SoluteTimeseries Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,33 +93,39 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SoluteTimeseries Class Reference
    +
    SoluteTimeseries Class Reference

    A map of concentration time series for solutes. - More...

    + More...

    Detailed Description

    A map of concentration time series for solutes.

    - - - - - + + + +

    +

    Public Member Functions

    -cmf::math::timeseriesoperator[] (const cmf::water::solute &_Solute)
     Returns a reference to the time series of the solute.
     
    -size_t size () const
    +cmf::math::timeseriesoperator[] (const cmf::water::solute &_Solute)
     Returns a reference to the time series of the solute.
     
    +size_t size () const
     Returns the number of solutes in the solution.
     
    @@ -126,7 +137,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:52 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1_solute_timeseries.js b/docs/classcmf_1_1water_1_1_solute_timeseries.js index 1223af2d..283e8b5c 100644 --- a/docs/classcmf_1_1water_1_1_solute_timeseries.js +++ b/docs/classcmf_1_1water_1_1_solute_timeseries.js @@ -1,5 +1,5 @@ var classcmf_1_1water_1_1_solute_timeseries = [ - [ "operator[]", "classcmf_1_1water_1_1_solute_timeseries.html#a8cf054158699b1183ed0680442eda842", null ], + [ "operator[]", "classcmf_1_1water_1_1_solute_timeseries.html#aea0323af469097a3247c3a10d091a3db", null ], [ "size", "classcmf_1_1water_1_1_solute_timeseries.html#a259cb5a711406a8c3e5d937eb9350cca", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_system_bridge-members.html b/docs/classcmf_1_1water_1_1_system_bridge-members.html deleted file mode 100644 index d977ce0c..00000000 --- a/docs/classcmf_1_1water_1_1_system_bridge-members.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0b2
    -
    catchment modelling framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    SystemBridge Member List
    -
    -
    - -

    This is the complete list of members for SystemBridge, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - -
    conc(cmf::math::Time t, const cmf::water::solute &Solute) constflux_nodevirtual
    connection_to(const cmf::water::flux_node &target)flux_node
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_down_flux() constSystemBridge
    get_lower_node() constSystemBridge
    get_potential() constSystemBridgevirtual
    get_project() constflux_node
    get_upper_node() constSystemBridge
    is_empty() constflux_nodevirtual
    is_storage() constflux_nodevirtual
    Nameflux_node
    node_idflux_node
    operator()(cmf::math::Time t) constflux_node
    positionflux_node
    RecalcFluxes(cmf::math::Time t)flux_nodevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_potential(real new_potential)flux_nodevirtual
    system_bridge(cmf::project &, flux_node::ptr, flux_node::ptr)SystemBridgefriend
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    ~flux_node()flux_nodevirtual
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1_system_bridge.html b/docs/classcmf_1_1water_1_1_system_bridge.html deleted file mode 100644 index 4ab38a61..00000000 --- a/docs/classcmf_1_1water_1_1_system_bridge.html +++ /dev/null @@ -1,385 +0,0 @@ - - - - - - - - -cmf: SystemBridge Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0b2
    -
    catchment modelling framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    SystemBridge Class Reference
    -
    -
    - -

    A SystemBridge is an advanced feature for tuning of the calculation time. - More...

    -
    - + Inheritance diagram for SystemBridge:
    -
    -
    - -
    - + Collaboration diagram for SystemBridge:
    -
    -
    - -

    Detailed Description

    -

    A SystemBridge is an advanced feature for tuning of the calculation time.

    -

    A SystemBridge can be used to replace an existing connection between nodes. It is created using the system_bridge function. After installation, the two nodes can more safely be added to different integrator systems. One node (called upper) is connected with the system bridge with the connection formerly connecting the nodes, the second node (called lower) is connected to the system bridge with as a Neumann boundary condition. The flux equals the average flux of the connection upper <-> SystemBridge. Therefore, the downward flux needs to be integrated over time by the solver the upper node belongs to. Use as an upper system (system upper node is belonging to) the faster reacting system. For the connection between upper and SystemBridge, the SystemBridge reacts as an Dirichlet boundary condition, providing the potential of the lower node.

    -

    The following example code creates a system bridge between the nodes upper and lower. To integrate the flux over each timestep automatically, the systembridge is added to the solver of upper, as an integratable

    sys_bridge = cmf.system_bridge(p,upper,lower)
    upper_solver.add_integratable(sys_bridge.down_flux_integrator())
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

    -virtual 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.
     
    -cmf::water::flux_connectionconnection_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.
     
    -double get_down_flux () const
     Returns the currently integrated flux to the lower node.
     
    -flux_node::ptr get_lower_node () const
     Returns the lower node.
     
    double get_potential () const
     Returns the water potential of the node in m waterhead. More...
     
    -cmf::projectget_project () const
     Returns the project, this node is part of.
     
    -flux_node::ptr get_upper_node () const
     Returns the upper node.
     
    -virtual 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 waterblance
     
    virtual bool RecalcFluxes (cmf::math::Time t)
     Pure flux_nodes do not influence fluxes, therefore no recalculation of fluxes is required by flux_node. More...
     
    -bool remove_connection (cmf::water::flux_node::ptr To)
     Remove the connection.
     
    -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. More...
     
    - - - - - - - - - - -

    -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.
     
    - - - - -

    -Friends

    SystemBridge::ptr system_bridge (cmf::project &, flux_node::ptr, flux_node::ptr)
     Creates a SystemBridge object. More...
     
    -

    Member Function Documentation

    - -

    ◆ get_potential()

    - -
    -
    - - - - - -
    - - - - - - - -
    double get_potential () const
    -
    -virtual
    -
    - -

    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.

    - -
    -
    - -

    ◆ RecalcFluxes()

    - -
    -
    - - - - - -
    - - - - - - - - -
    virtual bool RecalcFluxes (cmf::math::Time t)
    -
    -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 in WaterStorage, NeumannBoundary, and RainSource.

    - -
    -
    - -

    ◆ waterbalance()

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - -
    real waterbalance (cmf::math::Time t,
    const flux_connectionWithout = 0 
    ) const
    -
    -inherited
    -
    - -

    Returns the sum of all fluxes (positive and negative) at time t.

    -

    Single fluxes can be excluded from the calculation

    Parameters
    - - - -
    tTime of the query
    WithoutA flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits)
    -
    -
    - -
    -
    -

    Friends And Related Function Documentation

    - -

    ◆ system_bridge

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    SystemBridge::ptr system_bridge (cmf::project,
    flux_node::ptr ,
    flux_node::ptr  
    )
    -
    -friend
    -
    - -

    Creates a SystemBridge object.

    -

    This is an advanced feature for tuning of the calculation time.

    -

    A SystemBridge can be used to replace an existing connection between nodes. After installation, the two nodes can more safely be added to different integrator systems. One node (called upper) is connected with the system bridge with the connection formerly connecting the nodes, the second node (called lower) is connected to the system bridge with as a Neumann boundary condition. The flux equals the average flux of the connection upper <-> SystemBridge. Therefore, the system bridge must become an integratable of the integrator system the upper node belongs to. Use as an upper system (system upper node is belonging to) the faster reacting system. For the connection between upper and SystemBridge, the SystemBridge reacts as an Dirichlet boundary condition, providing the potential of the lower node.

    - -
    -
    -
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1_system_bridge.js b/docs/classcmf_1_1water_1_1_system_bridge.js deleted file mode 100644 index 06aa2ce6..00000000 --- a/docs/classcmf_1_1water_1_1_system_bridge.js +++ /dev/null @@ -1,23 +0,0 @@ -var classcmf_1_1water_1_1_system_bridge = -[ - [ "conc", "classcmf_1_1water_1_1_system_bridge.html#ae7781687f7d9720757a9311874686289", null ], - [ "connection_to", "classcmf_1_1water_1_1_system_bridge.html#a5bd6810024edaf9bd5d5747d91ce5f1b", null ], - [ "flux_to", "classcmf_1_1water_1_1_system_bridge.html#a66f1b6a9698be9ffce574833de835bd1", null ], - [ "get_3d_flux", "classcmf_1_1water_1_1_system_bridge.html#a8cba494467e1ffc036c47f1bcd60eccb", null ], - [ "get_down_flux", "classcmf_1_1water_1_1_system_bridge.html#acfc88ea83afb09e99d0e28aa6de738be", null ], - [ "get_lower_node", "classcmf_1_1water_1_1_system_bridge.html#ac2ffd49a2638bcb8a98259ead40e0869", null ], - [ "get_potential", "classcmf_1_1water_1_1_system_bridge.html#a81e1d41e78578896b42ea254d560dbd3", null ], - [ "get_project", "classcmf_1_1water_1_1_system_bridge.html#ae4c3731109c42d8e7f70eb646fb573ec", null ], - [ "get_upper_node", "classcmf_1_1water_1_1_system_bridge.html#a631604c98933c5ea25a0467264640f68", null ], - [ "is_empty", "classcmf_1_1water_1_1_system_bridge.html#ab3f02f11f233972d7c26cf26a9090613", null ], - [ "is_storage", "classcmf_1_1water_1_1_system_bridge.html#ace09b97c37ded843368a00c04e89b55f", null ], - [ "operator()", "classcmf_1_1water_1_1_system_bridge.html#a1ac09266985df622ef90ce40783058cb", null ], - [ "RecalcFluxes", "classcmf_1_1water_1_1_system_bridge.html#ad4e4534513b31d5a3596b072ad4cd42f", null ], - [ "remove_connection", "classcmf_1_1water_1_1_system_bridge.html#ab933615f7c65dfd492770c3e1475a881", null ], - [ "set_potential", "classcmf_1_1water_1_1_system_bridge.html#a96266d8458980cb69da782028dbb7eb7", null ], - [ "waterbalance", "classcmf_1_1water_1_1_system_bridge.html#a2b14436c9dfb7b52bad2784c81a31eab", null ], - [ "system_bridge", "classcmf_1_1water_1_1_system_bridge.html#a790a213dfe68dab10289fc7c58c25868", null ], - [ "Name", "classcmf_1_1water_1_1_system_bridge.html#adc852f586959ce13117d737cf3f14899", null ], - [ "node_id", "classcmf_1_1water_1_1_system_bridge.html#ac4c7b16573e373dd2677dc667fba9acc", null ], - [ "position", "classcmf_1_1water_1_1_system_bridge.html#a8ed0f24ab14c3bcc91bd51796fb61b6a", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_system_bridge__coll__graph.map b/docs/classcmf_1_1water_1_1_system_bridge__coll__graph.map deleted file mode 100644 index 784dbd05..00000000 --- a/docs/classcmf_1_1water_1_1_system_bridge__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classcmf_1_1water_1_1_system_bridge__coll__graph.md5 b/docs/classcmf_1_1water_1_1_system_bridge__coll__graph.md5 deleted file mode 100644 index 9e1d0387..00000000 --- a/docs/classcmf_1_1water_1_1_system_bridge__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -be75deb68c3f383eaee71c409a1f9f04 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_system_bridge__coll__graph.png b/docs/classcmf_1_1water_1_1_system_bridge__coll__graph.png deleted file mode 100644 index 9663dece..00000000 Binary files a/docs/classcmf_1_1water_1_1_system_bridge__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1_system_bridge__inherit__graph.map b/docs/classcmf_1_1water_1_1_system_bridge__inherit__graph.map deleted file mode 100644 index 898634bf..00000000 --- a/docs/classcmf_1_1water_1_1_system_bridge__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1_system_bridge__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_system_bridge__inherit__graph.md5 deleted file mode 100644 index 97adce6c..00000000 --- a/docs/classcmf_1_1water_1_1_system_bridge__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -07259cb6a9d0ae3290c82304d84de1f2 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_system_bridge__inherit__graph.png b/docs/classcmf_1_1water_1_1_system_bridge__inherit__graph.png deleted file mode 100644 index 20f2d586..00000000 Binary files a/docs/classcmf_1_1water_1_1_system_bridge__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1_system_bridge_connection.html b/docs/classcmf_1_1water_1_1_system_bridge_connection.html deleted file mode 100644 index 40cf9329..00000000 --- a/docs/classcmf_1_1water_1_1_system_bridge_connection.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - - -cmf: SystemBridgeConnection Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0b2
    -
    catchment modelling framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    SystemBridgeConnection Class Reference
    -
    -
    - -

    Connects a system bridge with its lower node. Is created automatically when creating a SystemBridge. - More...

    -
    - + Inheritance diagram for SystemBridgeConnection:
    -
    -
    - -
    - + Collaboration diagram for SystemBridgeConnection:
    -
    -
    - -

    Detailed Description

    -

    Connects a system bridge with its lower node. Is created automatically when creating a SystemBridge.

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
     
    -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. More...
     
    -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. More...
     
    - - - - -

    -Public Attributes

    -const std::string type
     A string describing the type of the connection.
     
    - - - - -

    -Friends

    SystemBridge::ptr system_bridge (cmf::project &, flux_node::ptr, flux_node::ptr)
     Creates a SystemBridge object. More...
     
    -

    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

    - -
    -
    -

    Friends And Related Function Documentation

    - -

    ◆ system_bridge

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    SystemBridge::ptr system_bridge (cmf::project,
    flux_node::ptr ,
    flux_node::ptr  
    )
    -
    -friend
    -
    - -

    Creates a SystemBridge object.

    -

    This is an advanced feature for tuning of the calculation time.

    -

    A SystemBridge can be used to replace an existing connection between nodes. After installation, the two nodes can more safely be added to different integrator systems. One node (called upper) is connected with the system bridge with the connection formerly connecting the nodes, the second node (called lower) is connected to the system bridge with as a Neumann boundary condition. The flux equals the average flux of the connection upper <-> SystemBridge. Therefore, the system bridge must become an integratable of the integrator system the upper node belongs to. Use as an upper system (system upper node is belonging to) the faster reacting system. For the connection between upper and SystemBridge, the SystemBridge reacts as an Dirichlet boundary condition, providing the potential of the lower node.

    - -
    -
    -
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1_system_bridge_connection.js b/docs/classcmf_1_1water_1_1_system_bridge_connection.js deleted file mode 100644 index d76c52e7..00000000 --- a/docs/classcmf_1_1water_1_1_system_bridge_connection.js +++ /dev/null @@ -1,16 +0,0 @@ -var classcmf_1_1water_1_1_system_bridge_connection = -[ - [ "conc", "classcmf_1_1water_1_1_system_bridge_connection.html#ad7fafdce438d10fb5a35e7870737ce23", null ], - [ "get_target", "classcmf_1_1water_1_1_system_bridge_connection.html#abc8d7bf5d699f04bb717e989dab315ab", null ], - [ "get_target", "classcmf_1_1water_1_1_system_bridge_connection.html#a9452e9ff83a825e3420347a45ba9b313", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1_system_bridge_connection.html#a73545d13b9544caa52a2a5bd747dadad", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1_system_bridge_connection.html#a97e72365a8d2e46e7d1cb5c702164561", null ], - [ "kill_me", "classcmf_1_1water_1_1_system_bridge_connection.html#a137cf279253d55feb9629e4423e34191", null ], - [ "left_node", "classcmf_1_1water_1_1_system_bridge_connection.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], - [ "q", "classcmf_1_1water_1_1_system_bridge_connection.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], - [ "refresh", "classcmf_1_1water_1_1_system_bridge_connection.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], - [ "right_node", "classcmf_1_1water_1_1_system_bridge_connection.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], - [ "set_tracer_filter", "classcmf_1_1water_1_1_system_bridge_connection.html#a5edf702b615e8af8d847ecd63d13eb25", null ], - [ "system_bridge", "classcmf_1_1water_1_1_system_bridge_connection.html#a790a213dfe68dab10289fc7c58c25868", null ], - [ "type", "classcmf_1_1water_1_1_system_bridge_connection.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_system_bridge_connection__coll__graph.map b/docs/classcmf_1_1water_1_1_system_bridge_connection__coll__graph.map deleted file mode 100644 index 9a7e1b83..00000000 --- a/docs/classcmf_1_1water_1_1_system_bridge_connection__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1_system_bridge_connection__coll__graph.md5 b/docs/classcmf_1_1water_1_1_system_bridge_connection__coll__graph.md5 deleted file mode 100644 index a1b06466..00000000 --- a/docs/classcmf_1_1water_1_1_system_bridge_connection__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -83f0679e6b6491b485b2b25ac0e8e5dd \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_system_bridge_connection__coll__graph.png b/docs/classcmf_1_1water_1_1_system_bridge_connection__coll__graph.png deleted file mode 100644 index 87137935..00000000 Binary files a/docs/classcmf_1_1water_1_1_system_bridge_connection__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1_system_bridge_connection__inherit__graph.map b/docs/classcmf_1_1water_1_1_system_bridge_connection__inherit__graph.map deleted file mode 100644 index 9a7e1b83..00000000 --- a/docs/classcmf_1_1water_1_1_system_bridge_connection__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1_system_bridge_connection__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_system_bridge_connection__inherit__graph.md5 deleted file mode 100644 index 221946a2..00000000 --- a/docs/classcmf_1_1water_1_1_system_bridge_connection__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -0c40a698df1e41d13bad165cfa537af0 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_system_bridge_connection__inherit__graph.png b/docs/classcmf_1_1water_1_1_system_bridge_connection__inherit__graph.png deleted file mode 100644 index 87137935..00000000 Binary files a/docs/classcmf_1_1water_1_1_system_bridge_connection__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1_technical_flux-members.html b/docs/classcmf_1_1water_1_1_technical_flux-members.html deleted file mode 100644 index 2e9fc09a..00000000 --- a/docs/classcmf_1_1water_1_1_technical_flux-members.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    TechnicalFlux Member List
    -
    -
    - -

    This is the complete list of members for TechnicalFlux, including all inherited members.

    - - - - - - - - - - - - - - - - - - -
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    FluxDecreaseTimeTechnicalFlux
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    MaxFluxTechnicalFlux
    MinStateTechnicalFlux
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    TechnicalFlux(cmf::water::WaterStorage::ptr source, cmf::water::flux_node::ptr target, real maximum_flux, real minimal_state=0, cmf::math::Time flux_decrease_time=cmf::math::h)TechnicalFlux
    typeflux_connection
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1_technical_flux.html b/docs/classcmf_1_1water_1_1_technical_flux.html deleted file mode 100644 index acf4e494..00000000 --- a/docs/classcmf_1_1water_1_1_technical_flux.html +++ /dev/null @@ -1,370 +0,0 @@ - - - - - - - - -cmf: TechnicalFlux Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - - -
    - -

    Produces a constant but changeable flux from a source to a target, if enough water is present in the source. - More...

    -
    - + Inheritance diagram for TechnicalFlux:
    -
    -
    - -
    - + Collaboration diagram for TechnicalFlux:
    -
    -
    - -

    Detailed Description

    -

    Produces a constant but changeable flux from a source to a target, if enough water is present in the source.

    -

    -\[ q=\begin{cases}0 & V_{source}\le V_{min}\\ q_0 \frac{V_{source} - V_{min}}{t_{decr} q_{0} - V_{min}} & V_{source} \le t_{decr} q_{0}\\ q_{0} & \end{cases}\] -

    -

    This is similar to a neumann boundary, however this is not a boundary condition, but water is taken from the source (left) water storage and limited by that water storage.

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

     TechnicalFlux (cmf::water::WaterStorage::ptr source, cmf::water::flux_node::ptr target, real maximum_flux, real minimal_state=0, cmf::math::Time flux_decrease_time=cmf::math::h)
     Produces a constant but changeable flux from a source to a target, if enough water is present in the source. More...
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
     
    -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. More...
     
    -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. More...
     
    - - - - - - - - - - - - - -

    -Public Attributes

    -cmf::math::Time FluxDecreaseTime
     The flux is linearly decreased, if it takes less than FluxDecreaseTime \(t_{decr}\) to reach MinState with MaxFlux.
     
    -real MaxFlux
     The requested flux \(q_{0}\left[frac{m^3}{day}\right]\).
     
    -real MinState
     The minimal volume of the state \(V_{min}\left[m^3\right]\).
     
    -const std::string type
     A string describing the type of the connection.
     
    -

    Constructor & Destructor Documentation

    - -

    ◆ TechnicalFlux()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TechnicalFlux (cmf::water::WaterStorage::ptr source,
    cmf::water::flux_node::ptr target,
    real maximum_flux,
    real minimal_state = 0,
    cmf::math::Time flux_decrease_time = cmf::math::h 
    )
    -
    - -

    Produces a constant but changeable flux from a source to a target, if enough water is present in the source.

    -
    Parameters
    - - - - - - -
    sourceThe source of the water
    targetThe target of the water
    maximum_fluxThe requested flux \(q_{0}\)
    minimal_stateMinimal volume of stored water in source
    flux_decrease_time(cmf::math::Time)
    -
    -
    - -
    -
    -

    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

    - -
    -
    -
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1_technical_flux.js b/docs/classcmf_1_1water_1_1_technical_flux.js deleted file mode 100644 index dd1d0a79..00000000 --- a/docs/classcmf_1_1water_1_1_technical_flux.js +++ /dev/null @@ -1,19 +0,0 @@ -var classcmf_1_1water_1_1_technical_flux = -[ - [ "TechnicalFlux", "classcmf_1_1water_1_1_technical_flux.html#a22a23463bd8a7a7d1fa2fe9ff87aef53", null ], - [ "conc", "classcmf_1_1water_1_1_technical_flux.html#ad7fafdce438d10fb5a35e7870737ce23", null ], - [ "get_target", "classcmf_1_1water_1_1_technical_flux.html#abc8d7bf5d699f04bb717e989dab315ab", null ], - [ "get_target", "classcmf_1_1water_1_1_technical_flux.html#a9452e9ff83a825e3420347a45ba9b313", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1_technical_flux.html#a73545d13b9544caa52a2a5bd747dadad", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1_technical_flux.html#a97e72365a8d2e46e7d1cb5c702164561", null ], - [ "kill_me", "classcmf_1_1water_1_1_technical_flux.html#a137cf279253d55feb9629e4423e34191", null ], - [ "left_node", "classcmf_1_1water_1_1_technical_flux.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], - [ "q", "classcmf_1_1water_1_1_technical_flux.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], - [ "refresh", "classcmf_1_1water_1_1_technical_flux.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], - [ "right_node", "classcmf_1_1water_1_1_technical_flux.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], - [ "set_tracer_filter", "classcmf_1_1water_1_1_technical_flux.html#a5edf702b615e8af8d847ecd63d13eb25", null ], - [ "FluxDecreaseTime", "classcmf_1_1water_1_1_technical_flux.html#aa78eb2340296a4d113120862324435e2", null ], - [ "MaxFlux", "classcmf_1_1water_1_1_technical_flux.html#a11e953bb4d99ba85d3216c969c50d780", null ], - [ "MinState", "classcmf_1_1water_1_1_technical_flux.html#a52bb184cb131eb4782749a366a12f568", null ], - [ "type", "classcmf_1_1water_1_1_technical_flux.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_technical_flux__coll__graph.map b/docs/classcmf_1_1water_1_1_technical_flux__coll__graph.map deleted file mode 100644 index 0b9e5e6c..00000000 --- a/docs/classcmf_1_1water_1_1_technical_flux__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classcmf_1_1water_1_1_technical_flux__coll__graph.md5 b/docs/classcmf_1_1water_1_1_technical_flux__coll__graph.md5 deleted file mode 100644 index 4eb432d7..00000000 --- a/docs/classcmf_1_1water_1_1_technical_flux__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d2f97cc49a848b91e5411ff4f33902cf \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_technical_flux__coll__graph.png b/docs/classcmf_1_1water_1_1_technical_flux__coll__graph.png deleted file mode 100644 index 57362cac..00000000 Binary files a/docs/classcmf_1_1water_1_1_technical_flux__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1_technical_flux__inherit__graph.map b/docs/classcmf_1_1water_1_1_technical_flux__inherit__graph.map deleted file mode 100644 index 91ea2266..00000000 --- a/docs/classcmf_1_1water_1_1_technical_flux__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1_technical_flux__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_technical_flux__inherit__graph.md5 deleted file mode 100644 index 741208f2..00000000 --- a/docs/classcmf_1_1water_1_1_technical_flux__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -bb97326e933ec6082e4f70ec2ae8453e \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_technical_flux__inherit__graph.png b/docs/classcmf_1_1water_1_1_technical_flux__inherit__graph.png deleted file mode 100644 index 2f150486..00000000 Binary files a/docs/classcmf_1_1water_1_1_technical_flux__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1_water_storage-members.html b/docs/classcmf_1_1water_1_1_water_storage-members.html index 1fe44e64..e82e444d 100644 --- a/docs/classcmf_1_1water_1_1_water_storage-members.html +++ b/docs/classcmf_1_1water_1_1_water_storage-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,50 +93,57 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    WaterStorage Member List
    +
    WaterStorage Member List

    This is the complete list of members for WaterStorage, including all inherited members.

    - + - + - + - - - - - - - - - + + + + + + + + + - + - + - - - - - - - - - - + + + + + + + + + + +
    conc(const cmf::water::solute &_Solute) constWaterStorage
    conc(cmf::math::Time t, const cmf::water::solute &_Solute) constWaterStoragevirtual
    conc(cmf::math::Time t, const cmf::water::solute &_Solute) const overrideWaterStoragevirtual
    conc(const cmf::water::solute &_Solute, real NewConcetration)WaterStorage
    connection_to(const cmf::water::flux_node &target)flux_node
    connection_to(const cmf::water::flux_node &target)flux_node
    dxdt(const cmf::math::Time &time)WaterStoragevirtual
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_potential() constWaterStoragevirtual
    get_project() constflux_node
    get_state_variable_content() constWaterStorage
    get_volume() constWaterStoragevirtual
    is_connected(const cmf::math::StateVariable &other) constWaterStoragevirtual
    is_empty() constWaterStoragevirtual
    is_storage() constWaterStoragevirtual
    list typedefStateVariable
    MarkStateChangeHandled()StateVariableprotected
    get_potential(cmf::math::Time t=cmf::math::never) const overrideWaterStoragevirtual
    get_project() constflux_node
    get_state() constStateVariable
    get_state_variable_content() constWaterStorage
    get_volume() constWaterStoragevirtual
    is_connected(const cmf::math::StateVariable &other) constWaterStoragevirtual
    is_empty() constWaterStoragevirtual
    is_storage() const overrideWaterStoragevirtual
    MarkStateChangeHandled()StateVariableprotected
    Nameflux_node
    node_idflux_node
    node_idflux_node
    operator()(cmf::math::Time t) constflux_node
    positionflux_node
    positionflux_node
    RecalcFluxes(cmf::math::Time t)WaterStoragevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_potential(real newpotential)WaterStoragevirtual
    set_state_variable_content(char content)WaterStorage
    set_volume(real newwatercontent)WaterStoragevirtual
    Solute(const cmf::water::solute _Solute)WaterStorage
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    WaterStorage(cmf::project &project, const std::string &Name="", double InitialState=0, double scale=1)WaterStorage
    ~flux_node()flux_nodevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_potential(real newpotential) overrideWaterStoragevirtual
    set_state(real newState)StateVariable
    set_state_variable_content(char content)WaterStorage
    set_volume(real newwatercontent)WaterStoragevirtual
    Solute(const cmf::water::solute _Solute)WaterStorage
    StateIsChanged()StateVariableprotected
    StateVariable(real InitialState=0, real scale=1)StateVariable
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    WaterStorage(cmf::project &project, const std::string &Name="", double InitialState=0, double scale=1)WaterStorage
    ~flux_node()flux_nodevirtual
    diff --git a/docs/classcmf_1_1water_1_1_water_storage.html b/docs/classcmf_1_1water_1_1_water_storage.html index 0548f28e..6dbf440f 100644 --- a/docs/classcmf_1_1water_1_1_water_storage.html +++ b/docs/classcmf_1_1water_1_1_water_storage.html @@ -2,33 +2,37 @@ - - - - -cmf: WaterStorage Class Reference - - - - + + + + + cmf: WaterStorage Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,192 +93,214 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +

    A state variable for the storage of water. - More...

    -
    + More...

    +
    + Inheritance diagram for WaterStorage:
    -
    +
    + Collaboration diagram for WaterStorage:

    Detailed Description

    A state variable for the storage of water.

    -

    A class for the storage of water. The state is the volume of water stored in \(m^3\) The derivative function is given by:

    -\begin{eqnarray*} \frac{dV}{dt}&=&\sum_{f=1}^{F} q_f \\ F&=& \mbox{Number of fluxes in water storage} \\ q_f&=& \mbox{Water flux in } \frac{m^3}{day} \\ \end{eqnarray*} +

    A class for the storage of water. The state is the volume of water stored in \(m^3\) The derivative function is given by:

    +\begin{eqnarray*} +\frac{dV}{dt}&=&\sum_{f=1}^{F} q_f \\ +F&=& \mbox{Number of fluxes in water storage} \\ +q_f&=& \mbox{Water flux in } \frac{m^3}{day} \\ +\end{eqnarray*}

    -
    Todo:
    Check the head based state mode
    +
    Todo
    Check the head based state mode
    +
    - - - - -

    -Public Types

    -typedef std::vector< StateVariable * > list
     Not part of the API, used to create sparse structure.
     
    - - - + + - + + + + - - - - + - - - - + + + + - + - + - - - - - - - + + + + + + + + + + - + - + - - - - + + + + - + - - - - + + + + + + + - + - - - - - + + + + + - - - - - - - - -

    +

    Public Member Functions

     WaterStorage (cmf::project &project, const std::string &Name="", double InitialState=0, double scale=1)
     creates a water storage (abstract class) More...
     WaterStorage (cmf::project &project, const std::string &Name="", double InitialState=0, double scale=1)
     creates a water storage (abstract class)
     
    -real conc (const cmf::water::solute &_Solute) const
    +real conc (cmf::math::Time t, const cmf::water::solute &_Solute) const override
     Returns the current WaterQuality (concentration of all solutes)
     
    +real conc (const cmf::water::solute &_Solute) const
     Returns the concentration of the given solute.
     
    -real conc (cmf::math::Time t, const cmf::water::solute &_Solute) const
     Returns the current WaterQuality (concentration of all solutes)
     
    -void conc (const cmf::water::solute &_Solute, real NewConcetration)
    +void conc (const cmf::water::solute &_Solute, real NewConcetration)
     Sets a new concentration.
     
    -cmf::water::flux_connectionconnection_to (const cmf::water::flux_node &target)
     Returns the connection between this and target.
     
    -virtual real dxdt (const cmf::math::Time &time)
    +cmf::water::flux_connectionconnection_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)
    +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)
    +cmf::geometry::point get_3d_flux (cmf::math::Time t)
     Returns the sum of all flux vectors.
     
    virtual real get_potential () const
     Returns the water potential of the node in m waterhead. More...
     
    -cmf::projectget_project () const
     Returns the project, this node is part of.
     
    -char get_state_variable_content () const
    real get_potential (cmf::math::Time t=cmf::math::never) const override
     Returns the water potential of the node in m waterhead.
     
    +cmf::projectget_project () const
     Returns the project, this node is part of.
     
    +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
    +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
    +virtual bool is_connected (const cmf::math::StateVariable &other) const
     Returns True if this waterstorage is effected by another state.
     
    -virtual bool is_storage () const
     Returns true, since this is a storage.
     
    -real operator() (cmf::math::Time t) const
    +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)
    +bool remove_connection (cmf::water::flux_node::ptr To)
     Remove the connection.
     
    -virtual void set_potential (real newpotential)
     Sets the potential of this flux node.
     
    -void set_state_variable_content (char content)
    +void set_potential (real newpotential) override
     Sets the potential of this flux node.
     
    +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)
    +virtual void set_volume (real newwatercontent)
     Sets the volume of water in this storage in m3
     
    -SoluteStorageSolute (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. More...
    +SoluteStorageSolute (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.
     
    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. More...
     
    -virtual double is_empty () const
     Returns true if the node has no water.
     
    -virtual std::string to_string () const
     
    - - + - + - +

    +

    Public Attributes

    -std::string Name
    +std::string Name
     The Name of this node.
     
    -const int node_id
    +const int node_id
     The Id of the node.
     
    -cmf::geometry::point position
    +cmf::geometry::point position
     The spatial position of the node.
     
    - - + - + +

    +

    Protected Member Functions

    -void MarkStateChangeHandled ()
    +void MarkStateChangeHandled ()
     Sets the updated flag (m_StateIsNew) to false.
     
    -bool StateIsChanged ()
    +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.
     

    Constructor & Destructor Documentation

    - -

    ◆ WaterStorage()

    + +

    ◆ WaterStorage()

    @@ -281,31 +308,22 @@

    WaterStorage ( - cmf::project &  - project, + cmf::project & project, - const std::string &  - Name = "", + const std::string & Name = "", - double  - InitialState = 0, + double InitialState = 0, - double  - scale = 1  - - - - ) - + double scale = 1 )

    @@ -324,8 +342,8 @@

    Member Function Documentation

    - -

    ◆ get_potential()

    + +

    ◆ get_potential()

    - -

    ◆ RecalcFluxes()

    + +

    ◆ RecalcFluxes()

    @@ -368,8 +384,7 @@

    virtual bool RecalcFluxes ( - cmf::math::Time  - t) + cmf::math::Time t) @@ -380,15 +395,15 @@

    -

    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

    +

    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.

    - -

    ◆ waterbalance()

    + +

    ◆ waterbalance()

    @@ -399,19 +414,12 @@

    real waterbalance ( - cmf::math::Time  - t, + cmf::math::Time t, - const flux_connection *  - Without = 0  - - - - ) - const + const flux_connection * Without = 0 ) const @@ -422,7 +430,8 @@

    Returns the sum of all fluxes (positive and negative) at time t.

    -

    Single fluxes can be excluded from the calculation

    Parameters
    +


    + Single fluxes can be excluded from the calculation

    Parameters
    @@ -440,7 +449,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    tTime of the query
    WithoutA flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits)
    Generated: Fri Apr 26 2019 12:43:53Generated: Fri Jan 19 2024 16:10:57
    diff --git a/docs/classcmf_1_1water_1_1_water_storage.js b/docs/classcmf_1_1water_1_1_water_storage.js index 2cef6eb8..aa95c57f 100644 --- a/docs/classcmf_1_1water_1_1_water_storage.js +++ b/docs/classcmf_1_1water_1_1_water_storage.js @@ -1,29 +1,30 @@ var classcmf_1_1water_1_1_water_storage = [ - [ "list", "classcmf_1_1water_1_1_water_storage.html#a65038c02ffb04ca17a7479ad20b0b63c", null ], [ "WaterStorage", "classcmf_1_1water_1_1_water_storage.html#aaa0194994b182306d6553a3b8579c3cc", null ], + [ "conc", "classcmf_1_1water_1_1_water_storage.html#adaae35910275a38c86d51e68d3877fdd", null ], [ "conc", "classcmf_1_1water_1_1_water_storage.html#ababf4d22a9d3952540e2204915dbc15b", null ], - [ "conc", "classcmf_1_1water_1_1_water_storage.html#ad7aa4277a82890dc86f7bca2b828d75f", null ], [ "conc", "classcmf_1_1water_1_1_water_storage.html#a09c41a9b1f92c291ae72ffad3e3ff44d", null ], - [ "connection_to", "classcmf_1_1water_1_1_water_storage.html#a5bd6810024edaf9bd5d5747d91ce5f1b", null ], + [ "connection_to", "classcmf_1_1water_1_1_water_storage.html#abc9aed3e3aae59d1b4c383fb6e6385eb", null ], [ "dxdt", "classcmf_1_1water_1_1_water_storage.html#a5cfe4250c9c98fc0bc752a565bdd90d7", null ], [ "flux_to", "classcmf_1_1water_1_1_water_storage.html#a66f1b6a9698be9ffce574833de835bd1", null ], [ "get_3d_flux", "classcmf_1_1water_1_1_water_storage.html#a8cba494467e1ffc036c47f1bcd60eccb", null ], - [ "get_potential", "classcmf_1_1water_1_1_water_storage.html#a923af9ca71ce3a008d07d88216f1a351", null ], - [ "get_project", "classcmf_1_1water_1_1_water_storage.html#ae4c3731109c42d8e7f70eb646fb573ec", null ], + [ "get_potential", "classcmf_1_1water_1_1_water_storage.html#a5b80f0e67ce2c58785c148b78a9515df", null ], + [ "get_project", "classcmf_1_1water_1_1_water_storage.html#aac16760bdca4fd53f80987ee5affa734", null ], + [ "get_state", "classcmf_1_1water_1_1_water_storage.html#a5b794a3d74e0b878ff0a4200015e7cc2", null ], [ "get_state_variable_content", "classcmf_1_1water_1_1_water_storage.html#afac22fccd2df2d35c22acfcb75239427", null ], [ "get_volume", "classcmf_1_1water_1_1_water_storage.html#a56a03fc6fead8765d35e9b54a5b6ad08", null ], [ "is_connected", "classcmf_1_1water_1_1_water_storage.html#adc4ae437d7a2f33ee85fe811fc8b6d0f", null ], [ "is_empty", "classcmf_1_1water_1_1_water_storage.html#ab3f02f11f233972d7c26cf26a9090613", null ], - [ "is_storage", "classcmf_1_1water_1_1_water_storage.html#ace09b97c37ded843368a00c04e89b55f", null ], + [ "is_storage", "classcmf_1_1water_1_1_water_storage.html#a3f0f2248157d3eb5ffc9dc5c5e747c21", null ], [ "MarkStateChangeHandled", "classcmf_1_1water_1_1_water_storage.html#ae45a5bd291cb989067417aba8e565d0c", null ], [ "operator()", "classcmf_1_1water_1_1_water_storage.html#a1ac09266985df622ef90ce40783058cb", null ], [ "RecalcFluxes", "classcmf_1_1water_1_1_water_storage.html#ad4e4534513b31d5a3596b072ad4cd42f", null ], [ "remove_connection", "classcmf_1_1water_1_1_water_storage.html#ab933615f7c65dfd492770c3e1475a881", null ], - [ "set_potential", "classcmf_1_1water_1_1_water_storage.html#a0f6a1659d1942fbb2d1df4ca933a9d63", null ], + [ "set_potential", "classcmf_1_1water_1_1_water_storage.html#a20a14278c2bfb0dec3b1b64fe62ee9db", null ], + [ "set_state", "classcmf_1_1water_1_1_water_storage.html#a0d5dd145810bcfdea803d83d12302c96", null ], [ "set_state_variable_content", "classcmf_1_1water_1_1_water_storage.html#af4e317b28d48091741e40af5e9da79a1", null ], [ "set_volume", "classcmf_1_1water_1_1_water_storage.html#a31b0a05543af754adf863c0bd7934a3e", null ], - [ "Solute", "classcmf_1_1water_1_1_water_storage.html#ac7af103f4eabcabd46289fc96329e9bb", null ], + [ "Solute", "classcmf_1_1water_1_1_water_storage.html#a8ff1638803c38f89f1bf018e65241681", null ], [ "StateIsChanged", "classcmf_1_1water_1_1_water_storage.html#a2cf1e9d2df8900cf74cbc0773726ca91", null ], [ "waterbalance", "classcmf_1_1water_1_1_water_storage.html#a2b14436c9dfb7b52bad2784c81a31eab", null ], [ "Name", "classcmf_1_1water_1_1_water_storage.html#adc852f586959ce13117d737cf3f14899", null ], diff --git a/docs/classcmf_1_1water_1_1_water_storage__coll__graph.map b/docs/classcmf_1_1water_1_1_water_storage__coll__graph.map index a09868dd..9671f7b8 100644 --- a/docs/classcmf_1_1water_1_1_water_storage__coll__graph.map +++ b/docs/classcmf_1_1water_1_1_water_storage__coll__graph.map @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/docs/classcmf_1_1water_1_1_water_storage__coll__graph.md5 b/docs/classcmf_1_1water_1_1_water_storage__coll__graph.md5 index 17bdf70c..78c1101f 100644 --- a/docs/classcmf_1_1water_1_1_water_storage__coll__graph.md5 +++ b/docs/classcmf_1_1water_1_1_water_storage__coll__graph.md5 @@ -1 +1 @@ -c69487c4c1c131ee34e93713537d15d3 \ No newline at end of file +21d9bf47502b6432840ac7169afbc1c5 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_water_storage__coll__graph.png b/docs/classcmf_1_1water_1_1_water_storage__coll__graph.png index fb476d20..af6f365a 100644 Binary files a/docs/classcmf_1_1water_1_1_water_storage__coll__graph.png and b/docs/classcmf_1_1water_1_1_water_storage__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_water_storage__inherit__graph.map b/docs/classcmf_1_1water_1_1_water_storage__inherit__graph.map index 67b8a17e..a856f83e 100644 --- a/docs/classcmf_1_1water_1_1_water_storage__inherit__graph.map +++ b/docs/classcmf_1_1water_1_1_water_storage__inherit__graph.map @@ -1,10 +1,19 @@ - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/docs/classcmf_1_1water_1_1_water_storage__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_water_storage__inherit__graph.md5 index 35710f4d..81d7d860 100644 --- a/docs/classcmf_1_1water_1_1_water_storage__inherit__graph.md5 +++ b/docs/classcmf_1_1water_1_1_water_storage__inherit__graph.md5 @@ -1 +1 @@ -47329b92796b31b51bd30b05e93c8a9e \ No newline at end of file +787a1767f44e867d267ed78a9f2971ce \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_water_storage__inherit__graph.png b/docs/classcmf_1_1water_1_1_water_storage__inherit__graph.png index 3c50b7ce..d34a88ee 100644 Binary files a/docs/classcmf_1_1water_1_1_water_storage__inherit__graph.png and b/docs/classcmf_1_1water_1_1_water_storage__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_system_bridge_connection-members.html b/docs/classcmf_1_1water_1_1_waterbalance_flux-members.html similarity index 51% rename from docs/classcmf_1_1water_1_1_system_bridge_connection-members.html rename to docs/classcmf_1_1water_1_1_waterbalance_flux-members.html index 103539dc..13c34f4a 100644 --- a/docs/classcmf_1_1water_1_1_system_bridge_connection-members.html +++ b/docs/classcmf_1_1water_1_1_waterbalance_flux-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +

    @@ -74,8 +79,8 @@
    @@ -88,33 +93,38 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    SystemBridgeConnection Member List
    +
    WaterbalanceFlux Member List
    -

    This is the complete list of members for SystemBridgeConnection, including all inherited members.

    +

    This is the complete list of members for WaterbalanceFlux, including all inherited members.

    - + - + - + - + - + - - - + +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    system_bridge(cmf::project &, flux_node::ptr, flux_node::ptr)SystemBridgeConnectionfriend
    typeflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    diff --git a/docs/classcmf_1_1water_1_1_waterbalance_flux.html b/docs/classcmf_1_1water_1_1_waterbalance_flux.html new file mode 100644 index 00000000..5ca5cafb --- /dev/null +++ b/docs/classcmf_1_1water_1_1_waterbalance_flux.html @@ -0,0 +1,305 @@ + + + + + + + + + cmf: WaterbalanceFlux Class Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    + +

    Routes the sum of all other fluxes to a target. + More...

    +
    + + Inheritance diagram for WaterbalanceFlux:
    +
    +
    + +
    + + Collaboration diagram for WaterbalanceFlux:
    +
    +
    + +

    Detailed Description

    +

    Routes the sum of all other fluxes to a target.

    +

    +\[ q_{1,0} = \sum_{i=2}^N{q_{1,i}(V_1,V_i,t)}\] +

    +

    where:

      +
    • \(q_{i,j}\) is the flux between the two node i and j. Subscript 0 is the right node, subscript 1 is the left node and 2..N are the nodes connected to the left node, except for the right node
    • +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +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

    +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

    + +
    +
    +
    +
    + + + diff --git a/docs/classcmf_1_1water_1_1_waterbalance_flux.js b/docs/classcmf_1_1water_1_1_waterbalance_flux.js new file mode 100644 index 00000000..fda58d5c --- /dev/null +++ b/docs/classcmf_1_1water_1_1_waterbalance_flux.js @@ -0,0 +1,15 @@ +var classcmf_1_1water_1_1_waterbalance_flux = +[ + [ "conc", "classcmf_1_1water_1_1_waterbalance_flux.html#ad7fafdce438d10fb5a35e7870737ce23", null ], + [ "get_target", "classcmf_1_1water_1_1_waterbalance_flux.html#abc8d7bf5d699f04bb717e989dab315ab", null ], + [ "get_target", "classcmf_1_1water_1_1_waterbalance_flux.html#a9452e9ff83a825e3420347a45ba9b313", null ], + [ "get_tracer_filter", "classcmf_1_1water_1_1_waterbalance_flux.html#a73545d13b9544caa52a2a5bd747dadad", null ], + [ "get_tracer_filter", "classcmf_1_1water_1_1_waterbalance_flux.html#a97e72365a8d2e46e7d1cb5c702164561", null ], + [ "kill_me", "classcmf_1_1water_1_1_waterbalance_flux.html#a137cf279253d55feb9629e4423e34191", null ], + [ "left_node", "classcmf_1_1water_1_1_waterbalance_flux.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], + [ "q", "classcmf_1_1water_1_1_waterbalance_flux.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], + [ "refresh", "classcmf_1_1water_1_1_waterbalance_flux.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], + [ "right_node", "classcmf_1_1water_1_1_waterbalance_flux.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], + [ "set_tracer_filter", "classcmf_1_1water_1_1_waterbalance_flux.html#a5edf702b615e8af8d847ecd63d13eb25", null ], + [ "type", "classcmf_1_1water_1_1_waterbalance_flux.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] +]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_waterbalance_flux__coll__graph.map b/docs/classcmf_1_1water_1_1_waterbalance_flux__coll__graph.map new file mode 100644 index 00000000..f0f19136 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_waterbalance_flux__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_waterbalance_flux__coll__graph.md5 b/docs/classcmf_1_1water_1_1_waterbalance_flux__coll__graph.md5 new file mode 100644 index 00000000..be894967 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_waterbalance_flux__coll__graph.md5 @@ -0,0 +1 @@ +1ffc7f7087016697728625a53aad1e5d \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_waterbalance_flux__coll__graph.png b/docs/classcmf_1_1water_1_1_waterbalance_flux__coll__graph.png new file mode 100644 index 00000000..bfc8a0f5 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_waterbalance_flux__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1_waterbalance_flux__inherit__graph.map b/docs/classcmf_1_1water_1_1_waterbalance_flux__inherit__graph.map new file mode 100644 index 00000000..f0f19136 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_waterbalance_flux__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classcmf_1_1water_1_1_waterbalance_flux__inherit__graph.md5 b/docs/classcmf_1_1water_1_1_waterbalance_flux__inherit__graph.md5 new file mode 100644 index 00000000..be894967 --- /dev/null +++ b/docs/classcmf_1_1water_1_1_waterbalance_flux__inherit__graph.md5 @@ -0,0 +1 @@ +1ffc7f7087016697728625a53aad1e5d \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1_waterbalance_flux__inherit__graph.png b/docs/classcmf_1_1water_1_1_waterbalance_flux__inherit__graph.png new file mode 100644 index 00000000..bfc8a0f5 Binary files /dev/null and b/docs/classcmf_1_1water_1_1_waterbalance_flux__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange-members.html b/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange-members.html deleted file mode 100644 index f6763a8f..00000000 --- a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange-members.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    bidirectional_kinematic_exchange Member List
    -
    -
    - -

    This is the complete list of members for bidirectional_kinematic_exchange, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - -
    beta_spillbidirectional_kinematic_exchange
    beta_sucbidirectional_kinematic_exchange
    bidirectional_kinematic_exchange(WaterStorage::ptr source, flux_node::ptr target, real Vminspill, real Vmaxsuc, real qspill, real qsuc, real beta_spill, real beta_suc)bidirectional_kinematic_exchange
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    qspillbidirectional_kinematic_exchange
    qsucbidirectional_kinematic_exchange
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    Vmaxsucbidirectional_kinematic_exchange
    Vminspillbidirectional_kinematic_exchange
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange.html b/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange.html deleted file mode 100644 index 532ab86d..00000000 --- a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - - -cmf: bidirectional_kinematic_exchange Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    bidirectional_kinematic_exchange Class Reference
    -
    -
    - -

    A conceptual flux between two storages that can be positive as well as negative. - More...

    -
    - + Inheritance diagram for bidirectional_kinematic_exchange:
    -
    -
    - -
    - + Collaboration diagram for bidirectional_kinematic_exchange:
    -
    -
    - -

    Detailed Description

    -

    A conceptual flux between two storages that can be positive as well as negative.

    -
    Note
    The state of the right node is not monitored, hence negative volumes of the right node can occur!
    -
    Deprecated:
    Behaviour unclear, will be removed

    -\[ q = q_{spill}^*-q_{suc}^* \\ q_{spill}^* = q_{spill} \left(\frac{V-V_{spill,min}}{V_{spill,min}}\right)^{\beta_{spill}} \\ q_{suc}^* = q_{suc} \left(\frac{V_{suc,max}-V}{V_{suc,max}}\right)^{\beta_{suc}} \] -

    -
    -

    where:

      -
    • \(q\) is the flow to the target
    • -
    • \(q_{spill}^*\) is the actual spill flow to the target
    • -
    • \(q_{spill}\) is the spill flow at \(V = 2V_{spill}\)
    • -
    • \(q_{suc}^*\) is the actual suction flow from the target
    • -
    • \(q_{suc}\) is the sucked flow from the target when \(V=0.0\)
    • -
    • \(\beta\) is a shape forming exponent for spill and suction flow.
    • -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

     bidirectional_kinematic_exchange (WaterStorage::ptr source, flux_node::ptr target, real Vminspill, real Vmaxsuc, real qspill, real qsuc, real beta_spill, real beta_suc)
     Creates a kinematic wave connection. More...
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
     
    -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. More...
     
    -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. More...
     
    - - - - - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    -real beta_spill
     Exponent for spilling.
     
    -real beta_suc
     Exponent for suction.
     
    -real qspill
     Spill flow at 2*Vminspill in m3/day.
     
    -real qsuc
     Suction flow at V=0 m3.
     
    -const std::string type
     A string describing the type of the connection.
     
    -real Vmaxsuc
     Suction starts below this threshold volume of source.
     
    -real Vminspill
     Spilling starts above this threshold volume of source.
     
    -

    Constructor & Destructor Documentation

    - -

    ◆ bidirectional_kinematic_exchange()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    bidirectional_kinematic_exchange (WaterStorage::ptr source,
    flux_node::ptr target,
    real Vminspill,
    real Vmaxsuc,
    real qspill,
    real qsuc,
    real beta_spill,
    real beta_suc 
    )
    -
    - -

    Creates a kinematic wave connection.

    -
    Parameters
    - - - - - - - - -
    sourceWater storage from which the water flows out. Flux is a function of source.volume
    targetTarget node (boundary condition or storage). Does not influence the strength of the flow
    VmaxsucSuction starts below this threshold volume of source
    VminspillSpilling starts above this threshold volume of source
    qspillSpill flow at 2*Vminspill in m3/day
    qsucSuction flow at V=0 m3
    beta_suc,beta_spillExponent for spill / suction flow
    -
    -
    - -
    -
    -

    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

    - -
    -
    -
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange.js b/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange.js deleted file mode 100644 index f59e289f..00000000 --- a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange.js +++ /dev/null @@ -1,22 +0,0 @@ -var classcmf_1_1water_1_1bidirectional__kinematic__exchange = -[ - [ "bidirectional_kinematic_exchange", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#a1aa736c30cc27078996d663db6a5b41a", null ], - [ "conc", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#ad7fafdce438d10fb5a35e7870737ce23", null ], - [ "get_target", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#abc8d7bf5d699f04bb717e989dab315ab", null ], - [ "get_target", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#a9452e9ff83a825e3420347a45ba9b313", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#a73545d13b9544caa52a2a5bd747dadad", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#a97e72365a8d2e46e7d1cb5c702164561", null ], - [ "kill_me", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#a137cf279253d55feb9629e4423e34191", null ], - [ "left_node", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], - [ "q", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], - [ "refresh", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], - [ "right_node", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], - [ "set_tracer_filter", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#a5edf702b615e8af8d847ecd63d13eb25", null ], - [ "beta_spill", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#a55af0d10e76b736d17a106961c9e6a6e", null ], - [ "beta_suc", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#afc19734c89439704f2af0d1ee37af81c", null ], - [ "qspill", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#a808c96222e280b2811a9a7685d589aec", null ], - [ "qsuc", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#a759b55dc444a3a7a16746af962cb2f4f", null ], - [ "type", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ], - [ "Vmaxsuc", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#aacc31c6bb899004a37e41c6dadc1339b", null ], - [ "Vminspill", "classcmf_1_1water_1_1bidirectional__kinematic__exchange.html#a8aad88ed148633c6b7830b4766cf4334", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__coll__graph.map b/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__coll__graph.map deleted file mode 100644 index 7d52341a..00000000 --- a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__coll__graph.md5 b/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__coll__graph.md5 deleted file mode 100644 index 61bdfd4b..00000000 --- a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -3fb0f326cb51c5ecec42d5f565902f4d \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__coll__graph.png b/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__coll__graph.png deleted file mode 100644 index 42e39da3..00000000 Binary files a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__inherit__graph.map b/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__inherit__graph.map deleted file mode 100644 index 7d52341a..00000000 --- a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__inherit__graph.md5 b/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__inherit__graph.md5 deleted file mode 100644 index e252cadf..00000000 --- a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c7ad3eae6ee28cf8eef046e36346631d \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__inherit__graph.png b/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__inherit__graph.png deleted file mode 100644 index 42e39da3..00000000 Binary files a/docs/classcmf_1_1water_1_1bidirectional__kinematic__exchange__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1connection__list-members.html b/docs/classcmf_1_1water_1_1connection__list-members.html index 30d53438..4f53dd03 100644 --- a/docs/classcmf_1_1water_1_1connection__list-members.html +++ b/docs/classcmf_1_1water_1_1connection__list-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,20 +93,25 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    connection_list Member List
    +
    connection_list Member List

    This is the complete list of members for connection_list, including all inherited members.

    - -
    +
    diff --git a/docs/classcmf_1_1water_1_1connection__list.html b/docs/classcmf_1_1water_1_1connection__list.html index aa430db9..75d3ee5a 100644 --- a/docs/classcmf_1_1water_1_1connection__list.html +++ b/docs/classcmf_1_1water_1_1connection__list.html @@ -2,33 +2,37 @@ - - - - -cmf: connection_list Class Reference - - - - + + + + + cmf: connection_list Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,23 +93,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    connection_list Class Reference
    +
    connection_list Class Reference

    A self sorting list of connections. - More...

    - -

    Inherits precalculatable.

    + More...

    Detailed Description

    A self sorting list of connections.

    @@ -115,7 +124,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1constraint__kinematic__wave-members.html b/docs/classcmf_1_1water_1_1constraint__kinematic__wave-members.html deleted file mode 100644 index 027da681..00000000 --- a/docs/classcmf_1_1water_1_1constraint__kinematic__wave-members.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    constraint_kinematic_wave Member List
    -
    -
    - -

    This is the complete list of members for constraint_kinematic_wave, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - -
    betaconstraint_kinematic_wave
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    constraint_kinematic_wave(WaterStorage::ptr source, WaterStorage::ptr target, real residencetime=1.0, real exponent=1.0, real residual=0.0, real V0=1.0, real Vrmax=1.0, real gamma=1.0)constraint_kinematic_wave
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    gammaconstraint_kinematic_wave
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    residencetimeconstraint_kinematic_wave
    residualconstraint_kinematic_wave
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    V0constraint_kinematic_wave
    Vrmaxconstraint_kinematic_wave
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1constraint__kinematic__wave.html b/docs/classcmf_1_1water_1_1constraint__kinematic__wave.html deleted file mode 100644 index 403dfc4a..00000000 --- a/docs/classcmf_1_1water_1_1constraint__kinematic__wave.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - - - -cmf: constraint_kinematic_wave Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    constraint_kinematic_wave Class Reference
    -
    -
    - -

    Calculates flux out of a storage as a linear function of its volume to a power, constraint by the volume stored in the target storage. - More...

    -
    - + Inheritance diagram for constraint_kinematic_wave:
    -
    -
    - -
    - + Collaboration diagram for constraint_kinematic_wave:
    -
    -
    - -

    Detailed Description

    -

    Calculates flux out of a storage as a linear function of its volume to a power, constraint by the volume stored in the target storage.

    -
    Deprecated:
    Will be replaced by ConstraintLinearStorageConnection, without beta and gamma.

    -\[ q = \frac 1 {t_r} {\left(\frac{V_{l} - V_{residual}}{V_0} \right)^\beta} \left(\frac{V_{r,max}-V_{r}}{V_{r,max}}\right)^\gamma\] -

    - where:
      -
    • \(V_l\) The actual volume stored by the left water storage
    • -
    • \(V_{residual} [m^3]\) The volume of water not flowing out (default = 0)
    • -
    • \(V_0\) The reference volume to scale the exponent (default = 1m3/day)
    • -
    • \(\beta\) A parameter to shape the response curve. In case of \(\beta \neq 1\), \(t_r\) is not a residence time, but just a parameter.
    • -
    • \(t_r [days]\) The residence time of the water in this storage in days
    • -
    • \(V_{r,max}\) The capacity of the right water storage in m3
    • -
    • \(V_{r}\) The actual volume of the right water storage
    • -
    • \(\gamma\) A shape parameter for the target capacity constriction
    • -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

     constraint_kinematic_wave (WaterStorage::ptr source, WaterStorage::ptr target, real residencetime=1.0, real exponent=1.0, real residual=0.0, real V0=1.0, real Vrmax=1.0, real gamma=1.0)
     Creates a kinematic wave connection. More...
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
     
    -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. More...
     
    -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. More...
     
    - - - - - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    -real beta
     Exponent of volume, \(\beta\).
     
    -real gamma
     Target capacity constriction curve shape.
     
    -real residencetime
     Linear flow parameter traveltime in days.
     
    -real residual
     residual fraction \(f_r\) of reference volume V0
     
    -const std::string type
     A string describing the type of the connection.
     
    -real V0
     Reference volume \(V_0\).
     
    -real Vrmax
     Target capacity \(V_{r,max}\).
     
    -

    Constructor & Destructor Documentation

    - -

    ◆ constraint_kinematic_wave()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    constraint_kinematic_wave (WaterStorage::ptr source,
    WaterStorage::ptr target,
    real residencetime = 1.0,
    real exponent = 1.0,
    real residual = 0.0,
    real V0 = 1.0,
    real Vrmax = 1.0,
    real gamma = 1.0 
    )
    -
    - -

    Creates a kinematic wave connection.

    -

    -\[ q = \frac 1 {t_r} {\left(\frac{V - V_{residual}}{V_0} \right)^\beta} \] -

    -
    Parameters
    - - - - - - - - - -
    sourceWater storage from which the water flows out. Flux is a function of source.volume
    targetTarget node (boundary condition or storage). Does not influence the strength of the flow
    residencetime\(t_r [days]\) The residence time of the water in this storage
    exponent\(\beta [-]\) An empirical exponent to shape the flux function (default = 1 (linear function))
    residual\(V_{residual} [m^3]\) The volume of water not flowing out (default = 0)
    V0\(V_0\) The reference volume to scale the exponent
    Vrmax\(V_{r,max}\) Capacity of the target water storage in m3
    gamma\(\gamma\) Target capacity constriction curve shape
    -
    -
    - -
    -
    -

    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

    - -
    -
    -
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1constraint__kinematic__wave.js b/docs/classcmf_1_1water_1_1constraint__kinematic__wave.js deleted file mode 100644 index c2aa89aa..00000000 --- a/docs/classcmf_1_1water_1_1constraint__kinematic__wave.js +++ /dev/null @@ -1,22 +0,0 @@ -var classcmf_1_1water_1_1constraint__kinematic__wave = -[ - [ "constraint_kinematic_wave", "classcmf_1_1water_1_1constraint__kinematic__wave.html#a5f533ca7bd18f9c5d89c3a4c36f9135c", null ], - [ "conc", "classcmf_1_1water_1_1constraint__kinematic__wave.html#ad7fafdce438d10fb5a35e7870737ce23", null ], - [ "get_target", "classcmf_1_1water_1_1constraint__kinematic__wave.html#abc8d7bf5d699f04bb717e989dab315ab", null ], - [ "get_target", "classcmf_1_1water_1_1constraint__kinematic__wave.html#a9452e9ff83a825e3420347a45ba9b313", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1constraint__kinematic__wave.html#a73545d13b9544caa52a2a5bd747dadad", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1constraint__kinematic__wave.html#a97e72365a8d2e46e7d1cb5c702164561", null ], - [ "kill_me", "classcmf_1_1water_1_1constraint__kinematic__wave.html#a137cf279253d55feb9629e4423e34191", null ], - [ "left_node", "classcmf_1_1water_1_1constraint__kinematic__wave.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], - [ "q", "classcmf_1_1water_1_1constraint__kinematic__wave.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], - [ "refresh", "classcmf_1_1water_1_1constraint__kinematic__wave.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], - [ "right_node", "classcmf_1_1water_1_1constraint__kinematic__wave.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], - [ "set_tracer_filter", "classcmf_1_1water_1_1constraint__kinematic__wave.html#a5edf702b615e8af8d847ecd63d13eb25", null ], - [ "beta", "classcmf_1_1water_1_1constraint__kinematic__wave.html#a945c063c0e994cafdba54334617fc986", null ], - [ "gamma", "classcmf_1_1water_1_1constraint__kinematic__wave.html#a3abd8e7267de24b912bbcfc3e796edb9", null ], - [ "residencetime", "classcmf_1_1water_1_1constraint__kinematic__wave.html#a5449f87977cc863816e8df46fee04f7e", null ], - [ "residual", "classcmf_1_1water_1_1constraint__kinematic__wave.html#a0a2d8ffaad999b6bc6fe6078b0e26353", null ], - [ "type", "classcmf_1_1water_1_1constraint__kinematic__wave.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ], - [ "V0", "classcmf_1_1water_1_1constraint__kinematic__wave.html#ab5836250e49a427048223f0aaa4d4df8", null ], - [ "Vrmax", "classcmf_1_1water_1_1constraint__kinematic__wave.html#a016af530b9992121b015d5faf94b1bd4", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1constraint__kinematic__wave__coll__graph.map b/docs/classcmf_1_1water_1_1constraint__kinematic__wave__coll__graph.map deleted file mode 100644 index 0584093d..00000000 --- a/docs/classcmf_1_1water_1_1constraint__kinematic__wave__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1constraint__kinematic__wave__coll__graph.md5 b/docs/classcmf_1_1water_1_1constraint__kinematic__wave__coll__graph.md5 deleted file mode 100644 index 6fb483f2..00000000 --- a/docs/classcmf_1_1water_1_1constraint__kinematic__wave__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -00c30af9b7b25adaf46ff9469179a358 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1constraint__kinematic__wave__coll__graph.png b/docs/classcmf_1_1water_1_1constraint__kinematic__wave__coll__graph.png deleted file mode 100644 index cdf1ea5c..00000000 Binary files a/docs/classcmf_1_1water_1_1constraint__kinematic__wave__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1constraint__kinematic__wave__inherit__graph.map b/docs/classcmf_1_1water_1_1constraint__kinematic__wave__inherit__graph.map deleted file mode 100644 index 0584093d..00000000 --- a/docs/classcmf_1_1water_1_1constraint__kinematic__wave__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1constraint__kinematic__wave__inherit__graph.md5 b/docs/classcmf_1_1water_1_1constraint__kinematic__wave__inherit__graph.md5 deleted file mode 100644 index e4c9a6ee..00000000 --- a/docs/classcmf_1_1water_1_1constraint__kinematic__wave__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -ca34be5e8661541da4efb193067c95c9 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1constraint__kinematic__wave__inherit__graph.png b/docs/classcmf_1_1water_1_1constraint__kinematic__wave__inherit__graph.png deleted file mode 100644 index cdf1ea5c..00000000 Binary files a/docs/classcmf_1_1water_1_1constraint__kinematic__wave__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1external__control__connection-members.html b/docs/classcmf_1_1water_1_1external__control__connection-members.html deleted file mode 100644 index 6bef7761..00000000 --- a/docs/classcmf_1_1water_1_1external__control__connection-members.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    external_control_connection Member List
    -
    -
    - -

    This is the complete list of members for external_control_connection, including all inherited members.

    - - - - - - - - - - - - - - -
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1external__control__connection.html b/docs/classcmf_1_1water_1_1external__control__connection.html deleted file mode 100644 index a2b59439..00000000 --- a/docs/classcmf_1_1water_1_1external__control__connection.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - - -cmf: external_control_connection Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    external_control_connection Class Reference
    -
    -
    - -

    Flux from one node to another, controlled by the user or an external program, by changing the flux constant. - More...

    -
    - + Inheritance diagram for external_control_connection:
    -
    -
    - -
    - + Collaboration diagram for external_control_connection:
    -
    -
    - -

    Detailed Description

    -

    Flux from one node to another, controlled by the user or an external program, by changing the flux constant.

    -
    Note
    It is easy to create negative volumes in water storages with this connection, which can be hazard to the solver, since most connections rely on a positive volume in a storage. Handle with care!
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
     
    -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. More...
     
    -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. More...
     
    - - - - -

    -Public Attributes

    -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

    - -
    -
    -
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1external__control__connection.js b/docs/classcmf_1_1water_1_1external__control__connection.js deleted file mode 100644 index cc66ae4f..00000000 --- a/docs/classcmf_1_1water_1_1external__control__connection.js +++ /dev/null @@ -1,15 +0,0 @@ -var classcmf_1_1water_1_1external__control__connection = -[ - [ "conc", "classcmf_1_1water_1_1external__control__connection.html#ad7fafdce438d10fb5a35e7870737ce23", null ], - [ "get_target", "classcmf_1_1water_1_1external__control__connection.html#abc8d7bf5d699f04bb717e989dab315ab", null ], - [ "get_target", "classcmf_1_1water_1_1external__control__connection.html#a9452e9ff83a825e3420347a45ba9b313", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1external__control__connection.html#a73545d13b9544caa52a2a5bd747dadad", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1external__control__connection.html#a97e72365a8d2e46e7d1cb5c702164561", null ], - [ "kill_me", "classcmf_1_1water_1_1external__control__connection.html#a137cf279253d55feb9629e4423e34191", null ], - [ "left_node", "classcmf_1_1water_1_1external__control__connection.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], - [ "q", "classcmf_1_1water_1_1external__control__connection.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], - [ "refresh", "classcmf_1_1water_1_1external__control__connection.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], - [ "right_node", "classcmf_1_1water_1_1external__control__connection.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], - [ "set_tracer_filter", "classcmf_1_1water_1_1external__control__connection.html#a5edf702b615e8af8d847ecd63d13eb25", null ], - [ "type", "classcmf_1_1water_1_1external__control__connection.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1external__control__connection__coll__graph.map b/docs/classcmf_1_1water_1_1external__control__connection__coll__graph.map deleted file mode 100644 index 605d5e84..00000000 --- a/docs/classcmf_1_1water_1_1external__control__connection__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1external__control__connection__coll__graph.md5 b/docs/classcmf_1_1water_1_1external__control__connection__coll__graph.md5 deleted file mode 100644 index 1f5ac62d..00000000 --- a/docs/classcmf_1_1water_1_1external__control__connection__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -f2090bcbfa9c80d5eec86784d2e151fd \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1external__control__connection__coll__graph.png b/docs/classcmf_1_1water_1_1external__control__connection__coll__graph.png deleted file mode 100644 index 296881fc..00000000 Binary files a/docs/classcmf_1_1water_1_1external__control__connection__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1external__control__connection__inherit__graph.map b/docs/classcmf_1_1water_1_1external__control__connection__inherit__graph.map deleted file mode 100644 index 605d5e84..00000000 --- a/docs/classcmf_1_1water_1_1external__control__connection__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1external__control__connection__inherit__graph.md5 b/docs/classcmf_1_1water_1_1external__control__connection__inherit__graph.md5 deleted file mode 100644 index 6771df9d..00000000 --- a/docs/classcmf_1_1water_1_1external__control__connection__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -deac98a3c0cc6913edcc60918e235eaa \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1external__control__connection__inherit__graph.png b/docs/classcmf_1_1water_1_1external__control__connection__inherit__graph.png deleted file mode 100644 index 296881fc..00000000 Binary files a/docs/classcmf_1_1water_1_1external__control__connection__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1flux__connection-members.html b/docs/classcmf_1_1water_1_1flux__connection-members.html index b4d356cc..e50957f1 100644 --- a/docs/classcmf_1_1water_1_1flux__connection-members.html +++ b/docs/classcmf_1_1water_1_1flux__connection-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,31 +93,37 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    flux_connection Member List
    +
    flux_connection Member List

    This is the complete list of members for flux_connection, including all inherited members.

    - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1flux__connection.html b/docs/classcmf_1_1water_1_1flux__connection.html index 8ea97195..c2b00c95 100644 --- a/docs/classcmf_1_1water_1_1flux__connection.html +++ b/docs/classcmf_1_1water_1_1flux__connection.html @@ -2,33 +2,37 @@ - - - - -cmf: flux_connection Class Reference - - - - + + + + + cmf: flux_connection Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    flux_connection Class Referenceabstract
    +
    flux_connection Class Referenceabstract

    The connections in cmf hold the processes for the calculation of fluxes between water storages and model boundaries. - More...

    -
    + More...

    +
    + Inheritance diagram for flux_connection:

    Detailed Description

    The connections in cmf hold the processes for the calculation of fluxes between water storages and model boundaries.

    -
    Todo:
    Elaborate on this
    -

    Represents a connection between flux_nodes, where water fluxes occur.

    +

    Represents a connection between flux_nodes, where water fluxes occur.
    +

    - - - + + - - + + - + - + - - + + - + - + - + - + - + - + - - + +

    +

    Public Member Functions

     flux_connection (flux_node::ptr left, flux_node::ptr right, std::string _type)
     Creates a flux connection between the flux_node left and right. More...
     flux_connection (flux_node::ptr left, flux_node::ptr right, std::string _type)
     Creates a flux connection between the flux_node left and right.
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
    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)
    +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
    +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. More...
    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)
    +real get_tracer_filter (solute S)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    -bool kill_me ()
    +bool kill_me ()
     Deregisters this connection from its nodes. Returns true if only one reference is left.
     
    -flux_node::ptr left_node () const
    +flux_node::ptr left_node () const
     Returns the left node of this connection.
     
    -real q (const flux_node &inquirer, cmf::math::Time t)
    +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)
    +void refresh (cmf::math::Time t)
     Performes a new calculation of the flux.
     
    -flux_node::ptr right_node () const
    +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. More...
    void set_tracer_filter (real value)
     A value ranging from 0 to 1 to filter tracers out of the water flux.
     
    - - +

    +

    Public Attributes

    -const std::string type
    +const std::string type
     A string describing the type of the connection.
     

    Constructor & Destructor Documentation

    - -

    ◆ flux_connection()

    + +

    ◆ flux_connection()

    @@ -231,34 +291,26 @@

    flux_connection ( - flux_node::ptr  - left, + flux_node::ptr left, - flux_node::ptr  - right, + flux_node::ptr right, - std::string  - _type  - - - - ) - + std::string _type )

    -

    Creates a flux connection between the flux_node left and right.

    +

    Creates a flux connection between the flux_node left and right.

    Parameters
    - - + +
    leftflux_node on the one side of the connection
    rightflux_node on the other side of the connection
    leftflux_node on the one side of the connection
    rightflux_node on the other side of the connection
    _typeType of the flux connection
    @@ -267,8 +319,8 @@

    Member Function Documentation

    - -

    ◆ conc()

    + +

    ◆ conc()

    @@ -276,30 +328,24 @@

    real conc ( - cmf::math::Time  - t, + cmf::math::Time t, - const cmf::water::solute &  - _Solute  - - - - ) - + const cmf::water::solute & _Solute )

    Returns the concentration of the flux.

    -

    If not overridden, it returns the concentration of the source of the flux (direction depending)

    +


    + If not overridden, it returns the concentration of the source of the flux (direction depending)

    - -

    ◆ get_tracer_filter()

    + +

    ◆ get_tracer_filter()

    @@ -307,7 +353,7 @@

    real get_tracer_filter ( - ) + ) @@ -318,8 +364,8 @@

    -

    ◆ set_tracer_filter()

    + +

    ◆ set_tracer_filter()

    @@ -327,8 +373,7 @@

    void set_tracer_filter ( - real  - value) + real value) @@ -347,7 +392,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:49 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1flux__connection__inherit__graph.map b/docs/classcmf_1_1water_1_1flux__connection__inherit__graph.map index 778e663c..d5cc5cb0 100644 --- a/docs/classcmf_1_1water_1_1flux__connection__inherit__graph.map +++ b/docs/classcmf_1_1water_1_1flux__connection__inherit__graph.map @@ -1,50 +1,99 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/classcmf_1_1water_1_1flux__connection__inherit__graph.md5 b/docs/classcmf_1_1water_1_1flux__connection__inherit__graph.md5 index 6e1d790f..feaaa009 100644 --- a/docs/classcmf_1_1water_1_1flux__connection__inherit__graph.md5 +++ b/docs/classcmf_1_1water_1_1flux__connection__inherit__graph.md5 @@ -1 +1 @@ -4f17cf3f45434900789d08aea7c145c6 \ No newline at end of file +45376f5d4d9d17d7a7f973efc438fdd8 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1flux__connection__inherit__graph.png b/docs/classcmf_1_1water_1_1flux__connection__inherit__graph.png index 5f69c153..bef4ebb8 100644 Binary files a/docs/classcmf_1_1water_1_1flux__connection__inherit__graph.png and b/docs/classcmf_1_1water_1_1flux__connection__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1flux__integrator-members.html b/docs/classcmf_1_1water_1_1flux__integrator-members.html deleted file mode 100644 index d017ac9d..00000000 --- a/docs/classcmf_1_1water_1_1flux__integrator-members.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0b2
    -
    catchment modelling framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    flux_integrator Member List
    -
    -
    - -

    This is the complete list of members for flux_integrator, including all inherited members.

    - - - - - - - - - - - -
    avg() constflux_integratorvirtual
    connection() constflux_integrator
    flux_integrator(cmf::water::flux_connection &connection)flux_integrator
    flux_integrator(cmf::water::flux_node::ptr left, cmf::water::flux_node::ptr right)flux_integrator
    integrate(cmf::math::Time until)flux_integratorvirtual
    integration_t() constflux_integrator
    invertflux_integrator
    reset(cmf::math::Time t)flux_integratorvirtual
    sum() constflux_integratorvirtual
    t0() constflux_integrator
    -
    -

    -Generated: Fri Apr 26 2019 12:43:49 - - - - diff --git a/docs/classcmf_1_1water_1_1flux__integrator.html b/docs/classcmf_1_1water_1_1flux__integrator.html deleted file mode 100644 index c494686b..00000000 --- a/docs/classcmf_1_1water_1_1flux__integrator.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - - -cmf: flux_integrator Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0b2
    -
    catchment modelling framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    flux_integrator Class Reference
    -
    -
    - -

    The flux_integrator is an integratable for precise output of average fluxes over time. - More...

    -
    - + Inheritance diagram for flux_integrator:
    -
    -
    - -
    - + Collaboration diagram for flux_integrator:
    -
    -
    - -

    Detailed Description

    -

    The flux_integrator is an integratable for precise output of average fluxes over time.

    -

    It can be added to solver (any cmf::math::Integrator), which is then calling the integrate method at each substep.

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

    flux_integrator (cmf::water::flux_connection &connection)
     Creates a flux_integrator from an connection.
     
    flux_integrator (cmf::water::flux_node::ptr left, cmf::water::flux_node::ptr right)
     Creates a flux_integrator from the endpoints of a connection. Throws if there is no connection between the endpoints.
     
    -double avg () const
     Returns the average flux of the integration time in m3/day.
     
    -flux_connection::ptr connection () const
     Returns the flux_connection.
     
    -void integrate (cmf::math::Time until)
     Integrates the flux a timestep further. Note: until is an absolute time. If until is before t0, the integration is initilized again.
     
    -cmf::math::Time integration_t () const
     Returns the duration of the integration.
     
    -void reset (cmf::math::Time t)
     Initializes the integration.
     
    -double sum () const
     Returns the amount of water along this connection in the integration time in m3.
     
    -cmf::math::Time t0 () const
     Returns the start time of the integration.
     
    - - - - -

    -Public Attributes

    -bool invert
     If invert is true, then integrate over the negetive flux.
     
    -
    -
    -

    -Generated: Fri Apr 26 2019 12:43:49 - - - - diff --git a/docs/classcmf_1_1water_1_1flux__integrator.js b/docs/classcmf_1_1water_1_1flux__integrator.js deleted file mode 100644 index 4a612f77..00000000 --- a/docs/classcmf_1_1water_1_1flux__integrator.js +++ /dev/null @@ -1,13 +0,0 @@ -var classcmf_1_1water_1_1flux__integrator = -[ - [ "flux_integrator", "classcmf_1_1water_1_1flux__integrator.html#a2750568c2f050395d226c0c58a2dfccc", null ], - [ "flux_integrator", "classcmf_1_1water_1_1flux__integrator.html#a534f5017b8131a5d46572e4decaccfa1", null ], - [ "avg", "classcmf_1_1water_1_1flux__integrator.html#af6704c19264632250c618ac059feff2a", null ], - [ "connection", "classcmf_1_1water_1_1flux__integrator.html#ae0fd1034957b69731273f1a093079feb", null ], - [ "integrate", "classcmf_1_1water_1_1flux__integrator.html#a58e8c2849c70ffaf737b055d201434c9", null ], - [ "integration_t", "classcmf_1_1water_1_1flux__integrator.html#a7df4d048773f7a4de92942a7e8ef6203", null ], - [ "reset", "classcmf_1_1water_1_1flux__integrator.html#a1e0c4127a58252db6774ab01352d5489", null ], - [ "sum", "classcmf_1_1water_1_1flux__integrator.html#af31d07521e522dfbd377eebf1652053f", null ], - [ "t0", "classcmf_1_1water_1_1flux__integrator.html#a2e3f37787a00ad985d8f5c4c6d045bf9", null ], - [ "invert", "classcmf_1_1water_1_1flux__integrator.html#a1ce68ee7353ca42c590d37a84deeb5d1", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1flux__integrator__coll__graph.map b/docs/classcmf_1_1water_1_1flux__integrator__coll__graph.map deleted file mode 100644 index f8d9f34f..00000000 --- a/docs/classcmf_1_1water_1_1flux__integrator__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1flux__integrator__coll__graph.md5 b/docs/classcmf_1_1water_1_1flux__integrator__coll__graph.md5 deleted file mode 100644 index 780076ff..00000000 --- a/docs/classcmf_1_1water_1_1flux__integrator__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -460d757296f0bf4b75be3b1a697fbd47 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1flux__integrator__coll__graph.png b/docs/classcmf_1_1water_1_1flux__integrator__coll__graph.png deleted file mode 100644 index 5498e5db..00000000 Binary files a/docs/classcmf_1_1water_1_1flux__integrator__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1flux__integrator__inherit__graph.map b/docs/classcmf_1_1water_1_1flux__integrator__inherit__graph.map deleted file mode 100644 index f8d9f34f..00000000 --- a/docs/classcmf_1_1water_1_1flux__integrator__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1flux__integrator__inherit__graph.md5 b/docs/classcmf_1_1water_1_1flux__integrator__inherit__graph.md5 deleted file mode 100644 index b921a80d..00000000 --- a/docs/classcmf_1_1water_1_1flux__integrator__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d9e9c42a2a0f619c8b53612a1b289e8a \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1flux__integrator__inherit__graph.png b/docs/classcmf_1_1water_1_1flux__integrator__inherit__graph.png deleted file mode 100644 index 5498e5db..00000000 Binary files a/docs/classcmf_1_1water_1_1flux__integrator__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1flux__node-members.html b/docs/classcmf_1_1water_1_1flux__node-members.html index dbd5206a..231957d6 100644 --- a/docs/classcmf_1_1water_1_1flux__node-members.html +++ b/docs/classcmf_1_1water_1_1flux__node-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,37 +93,43 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    flux_node Member List
    +
    flux_node Member List

    This is the complete list of members for flux_node, including all inherited members.

    - + - - - + + + - + - + - + - + - + - +
    conc(cmf::math::Time t, const cmf::water::solute &Solute) constflux_nodevirtual
    connection_to(const cmf::water::flux_node &target)flux_node
    connection_to(const cmf::water::flux_node &target)flux_node
    flux_to(const cmf::water::flux_node &target, cmf::math::Time t)flux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_potential() constflux_nodevirtual
    get_project() constflux_node
    get_3d_flux(cmf::math::Time t)flux_node
    get_potential(cmf::math::Time=cmf::math::never) constflux_nodevirtual
    get_project() constflux_node
    is_empty() constflux_nodevirtual
    is_storage() constflux_nodevirtual
    is_storage() constflux_nodevirtual
    Nameflux_node
    node_idflux_node
    node_idflux_node
    operator()(cmf::math::Time t) constflux_node
    positionflux_node
    positionflux_node
    ptr typedefflux_node
    RecalcFluxes(cmf::math::Time t)flux_nodevirtual
    RecalcFluxes(cmf::math::Time t)flux_nodevirtual
    remove_connection(cmf::water::flux_node::ptr To)flux_node
    set_potential(real new_potential)flux_nodevirtual
    set_potential(real new_potential)flux_nodevirtual
    waterbalance(cmf::math::Time t, const flux_connection *Without=0) constflux_node
    ~flux_node()flux_nodevirtual
    ~flux_node()flux_nodevirtual
    diff --git a/docs/classcmf_1_1water_1_1flux__node.html b/docs/classcmf_1_1water_1_1flux__node.html index 32ef02b4..58f1deb3 100644 --- a/docs/classcmf_1_1water_1_1flux__node.html +++ b/docs/classcmf_1_1water_1_1flux__node.html @@ -2,33 +2,37 @@ - - - - -cmf: flux_node Class Reference - - - - + + + + + cmf: flux_node Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    flux_node Class Reference
    +
    flux_node Class Reference

    Base class for everything that can be connected by fluxes. - More...

    -
    + More...

    +
    + Inheritance diagram for flux_node:
    -
    +
    + Collaboration diagram for flux_node:

    Detailed Description

    Base class for everything that can be connected by fluxes.

    Flux nodes can be WaterStorages, flux end points, sinks, sources and bridges to other model domains (e.g. Ponded water to river system). The base class can be used where a simple routing, potentially with mixing, is needed.

    - - +

    +

    Public Types

    -typedef std::shared_ptr< cmf::water::flux_nodeptr
    +typedef std::shared_ptr< cmf::water::flux_nodeptr
     Shortcut to the shared pointer.
     
    - - + - - + + - - - - + + + + - + - - - - - - - + + + + + + + - + - + - - + + - + - + - - + +

    +

    Public Member Functions

    -virtual ~flux_node ()
    +virtual ~flux_node ()
     The destructor deletes all connections.
     
    -virtual 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.
    +virtual 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.
     
    -cmf::water::flux_connectionconnection_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)
    +cmf::water::flux_connectionconnection_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)
    +cmf::geometry::point get_3d_flux (cmf::math::Time t)
     Returns the sum of all flux vectors.
     
    virtual real get_potential () const
     Returns the water potential of the node in m waterhead. More...
     
    -cmf::projectget_project () const
     Returns the project, this node is part of.
     
    -virtual double is_empty () const
    virtual real get_potential (cmf::math::Time=cmf::math::never) const
     Returns the water potential of the node in m waterhead.
     
    +cmf::projectget_project () const
     Returns the project, this node is part of.
     
    +virtual double is_empty () const
     Returns true if the node has no water.
     
    -virtual bool is_storage () const
    +virtual bool is_storage () const
     true, if this is a waterstorage
     
    -real operator() (cmf::math::Time t) const
    +real operator() (cmf::math::Time t) const
     returns the waterblance
     
    virtual bool RecalcFluxes (cmf::math::Time t)
     Pure flux_nodes do not influence fluxes, therefore no recalculation of fluxes is required by flux_node. More...
    virtual 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)
    +bool remove_connection (cmf::water::flux_node::ptr To)
     Remove the connection.
     
    -virtual void set_potential (real new_potential)
    +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. More...
    real waterbalance (cmf::math::Time t, const flux_connection *Without=0) const
     Returns the sum of all fluxes (positive and negative) at time t.
     
    - - + - + - +

    +

    Public Attributes

    -std::string Name
    +std::string Name
     The Name of this node.
     
    -const int node_id
    +const int node_id
     The Id of the node.
     
    -cmf::geometry::point position
    +cmf::geometry::point position
     The spatial position of the node.
     

    Member Function Documentation

    - -

    ◆ get_potential()

    + +

    ◆ get_potential()

    - -

    ◆ RecalcFluxes()

    + +

    ◆ RecalcFluxes()

    @@ -265,8 +292,7 @@

    virtual bool RecalcFluxes ( - cmf::math::Time  - t) + cmf::math::Time t) @@ -277,15 +303,15 @@

    -

    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

    +

    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 in WaterStorage, NeumannBoundary, and RainSource.

    +

    Reimplemented in RainSource, NeumannBoundary, and WaterStorage.

    - -

    ◆ waterbalance()

    + +

    ◆ waterbalance()

    @@ -293,25 +319,19 @@

    real waterbalance ( - cmf::math::Time  - t, + cmf::math::Time t, - const flux_connection *  - Without = 0  - - - - ) - const + const flux_connection * Without = 0 ) const

    Returns the sum of all fluxes (positive and negative) at time t.

    -

    Single fluxes can be excluded from the calculation

    Parameters
    +


    + Single fluxes can be excluded from the calculation

    Parameters
    @@ -329,7 +349,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    - +
    tTime of the query
    WithoutA flux_connection that is excluded from the waterbalance (e.g. to prevent closed circuits)
    Generated: Fri Apr 26 2019 12:43:49Generated: Fri Jan 19 2024 16:10:57
    diff --git a/docs/classcmf_1_1water_1_1flux__node.js b/docs/classcmf_1_1water_1_1flux__node.js index afebbafd..7db2901b 100644 --- a/docs/classcmf_1_1water_1_1flux__node.js +++ b/docs/classcmf_1_1water_1_1flux__node.js @@ -3,11 +3,11 @@ var classcmf_1_1water_1_1flux__node = [ "ptr", "classcmf_1_1water_1_1flux__node.html#a8639fccad8de481d6f5d4d2faeab3709", null ], [ "~flux_node", "classcmf_1_1water_1_1flux__node.html#a2af5152c6437f23d8e1f8d2817bad85b", null ], [ "conc", "classcmf_1_1water_1_1flux__node.html#ae7781687f7d9720757a9311874686289", null ], - [ "connection_to", "classcmf_1_1water_1_1flux__node.html#a5bd6810024edaf9bd5d5747d91ce5f1b", null ], + [ "connection_to", "classcmf_1_1water_1_1flux__node.html#abc9aed3e3aae59d1b4c383fb6e6385eb", null ], [ "flux_to", "classcmf_1_1water_1_1flux__node.html#a66f1b6a9698be9ffce574833de835bd1", null ], [ "get_3d_flux", "classcmf_1_1water_1_1flux__node.html#a8cba494467e1ffc036c47f1bcd60eccb", null ], - [ "get_potential", "classcmf_1_1water_1_1flux__node.html#a923af9ca71ce3a008d07d88216f1a351", null ], - [ "get_project", "classcmf_1_1water_1_1flux__node.html#ae4c3731109c42d8e7f70eb646fb573ec", null ], + [ "get_potential", "classcmf_1_1water_1_1flux__node.html#a222a8a63b7dbb2f3cfb8ab33c0c5e590", null ], + [ "get_project", "classcmf_1_1water_1_1flux__node.html#aac16760bdca4fd53f80987ee5affa734", null ], [ "is_empty", "classcmf_1_1water_1_1flux__node.html#ab3f02f11f233972d7c26cf26a9090613", null ], [ "is_storage", "classcmf_1_1water_1_1flux__node.html#ace09b97c37ded843368a00c04e89b55f", null ], [ "operator()", "classcmf_1_1water_1_1flux__node.html#a1ac09266985df622ef90ce40783058cb", null ], diff --git a/docs/classcmf_1_1water_1_1flux__node__coll__graph.map b/docs/classcmf_1_1water_1_1flux__node__coll__graph.map index 9834f943..77e4066f 100644 --- a/docs/classcmf_1_1water_1_1flux__node__coll__graph.map +++ b/docs/classcmf_1_1water_1_1flux__node__coll__graph.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/classcmf_1_1water_1_1flux__node__coll__graph.md5 b/docs/classcmf_1_1water_1_1flux__node__coll__graph.md5 index 1758f752..ebc19d1a 100644 --- a/docs/classcmf_1_1water_1_1flux__node__coll__graph.md5 +++ b/docs/classcmf_1_1water_1_1flux__node__coll__graph.md5 @@ -1 +1 @@ -901b236d7098518f69f912e2d377a72a \ No newline at end of file +c17dc88b193d296b7d1e4cce22cfd24e \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1flux__node__coll__graph.png b/docs/classcmf_1_1water_1_1flux__node__coll__graph.png index aa6a9385..40175f50 100644 Binary files a/docs/classcmf_1_1water_1_1flux__node__coll__graph.png and b/docs/classcmf_1_1water_1_1flux__node__coll__graph.png differ diff --git a/docs/classcmf_1_1water_1_1flux__node__inherit__graph.map b/docs/classcmf_1_1water_1_1flux__node__inherit__graph.map index b3183cb2..bd9a56ae 100644 --- a/docs/classcmf_1_1water_1_1flux__node__inherit__graph.map +++ b/docs/classcmf_1_1water_1_1flux__node__inherit__graph.map @@ -1,17 +1,31 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/classcmf_1_1water_1_1flux__node__inherit__graph.md5 b/docs/classcmf_1_1water_1_1flux__node__inherit__graph.md5 index e497df5a..8d42772f 100644 --- a/docs/classcmf_1_1water_1_1flux__node__inherit__graph.md5 +++ b/docs/classcmf_1_1water_1_1flux__node__inherit__graph.md5 @@ -1 +1 @@ -fb8c100867397e39b1ea14d010121694 \ No newline at end of file +17f295d7c7d66db0f0cb2340111f7c2d \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1flux__node__inherit__graph.png b/docs/classcmf_1_1water_1_1flux__node__inherit__graph.png index a56a71d8..56271002 100644 Binary files a/docs/classcmf_1_1water_1_1flux__node__inherit__graph.png and b/docs/classcmf_1_1water_1_1flux__node__inherit__graph.png differ diff --git a/docs/classcmf_1_1water_1_1generic__gradient__connection-members.html b/docs/classcmf_1_1water_1_1generic__gradient__connection-members.html deleted file mode 100644 index 3ce1183b..00000000 --- a/docs/classcmf_1_1water_1_1generic__gradient__connection-members.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    generic_gradient_connection Member List
    -
    -
    - -

    This is the complete list of members for generic_gradient_connection, including all inherited members.

    - - - - - - - - - - - - - - - - - - -
    Ageneric_gradient_connection
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    dgeneric_gradient_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    generic_gradient_connection(cmf::water::WaterStorage::ptr left, cmf::water::WaterStorage::ptr right, real K, real d=1.0, real A=1.0)generic_gradient_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    Kgeneric_gradient_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1generic__gradient__connection.html b/docs/classcmf_1_1water_1_1generic__gradient__connection.html deleted file mode 100644 index 65b63de2..00000000 --- a/docs/classcmf_1_1water_1_1generic__gradient__connection.html +++ /dev/null @@ -1,375 +0,0 @@ - - - - - - - - -cmf: generic_gradient_connection Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    generic_gradient_connection Class Reference
    -
    -
    - -

    A generic node-to-node gradient based connection. - More...

    -
    - + Inheritance diagram for generic_gradient_connection:
    -
    -
    - -
    - + Collaboration diagram for generic_gradient_connection:
    -
    -
    - -

    Detailed Description

    -

    A generic node-to-node gradient based connection.

    -

    This connection is similar to the Darcy-connection, but there are no restrictions concerning the type of nodes. However, the left side needs to be a water storage

    -\[ q = K A \frac{\Psi_{l}-\Psi_{r}}{d} \] -

    -

    where:

      -
    • \(q\): the resulting flux in \(m^3/day\)
    • -
    • \(K\): the conductivity of the connection
    • -
    • \(A\): the area of the connection cross section
    • -
    • \(\Psi\): The hydraulic head of the (l)eft, resp. (r)ight node of the connection
    • -
    • \(d\): The topographic length of the connection in m
    • -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

     generic_gradient_connection (cmf::water::WaterStorage::ptr left, cmf::water::WaterStorage::ptr right, real K, real d=1.0, real A=1.0)
     Creates a generic gradient based flux, if enough water is present in the source. More...
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
     
    -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. More...
     
    -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. More...
     
    - - - - - - - - - - - - - -

    -Public Attributes

    -real A
     Area of the connection cross section in m2.
     
    -real d
     distance of the gradient
     
    -real K
     Conductivity of the connection in m/day.
     
    -const std::string type
     A string describing the type of the connection.
     
    -

    Constructor & Destructor Documentation

    - -

    ◆ generic_gradient_connection()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    generic_gradient_connection (cmf::water::WaterStorage::ptr left,
    cmf::water::WaterStorage::ptr right,
    real K,
    real d = 1.0,
    real A = 1.0 
    )
    -
    - -

    Creates a generic gradient based flux, if enough water is present in the source.

    -
    Parameters
    - - - - - - -
    leftThe left node of the connection
    rightThe right node of the connection
    Kthe conductivity of the connection in m/day
    dthe topographic lenght of the connection in m
    Athe area of the connection cross section in m2
    -
    -
    - -
    -
    -

    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

    - -
    -
    -
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1generic__gradient__connection.js b/docs/classcmf_1_1water_1_1generic__gradient__connection.js deleted file mode 100644 index 95faab77..00000000 --- a/docs/classcmf_1_1water_1_1generic__gradient__connection.js +++ /dev/null @@ -1,19 +0,0 @@ -var classcmf_1_1water_1_1generic__gradient__connection = -[ - [ "generic_gradient_connection", "classcmf_1_1water_1_1generic__gradient__connection.html#a3295d2db278af38d985cfa067795d89c", null ], - [ "conc", "classcmf_1_1water_1_1generic__gradient__connection.html#ad7fafdce438d10fb5a35e7870737ce23", null ], - [ "get_target", "classcmf_1_1water_1_1generic__gradient__connection.html#abc8d7bf5d699f04bb717e989dab315ab", null ], - [ "get_target", "classcmf_1_1water_1_1generic__gradient__connection.html#a9452e9ff83a825e3420347a45ba9b313", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1generic__gradient__connection.html#a73545d13b9544caa52a2a5bd747dadad", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1generic__gradient__connection.html#a97e72365a8d2e46e7d1cb5c702164561", null ], - [ "kill_me", "classcmf_1_1water_1_1generic__gradient__connection.html#a137cf279253d55feb9629e4423e34191", null ], - [ "left_node", "classcmf_1_1water_1_1generic__gradient__connection.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], - [ "q", "classcmf_1_1water_1_1generic__gradient__connection.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], - [ "refresh", "classcmf_1_1water_1_1generic__gradient__connection.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], - [ "right_node", "classcmf_1_1water_1_1generic__gradient__connection.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], - [ "set_tracer_filter", "classcmf_1_1water_1_1generic__gradient__connection.html#a5edf702b615e8af8d847ecd63d13eb25", null ], - [ "A", "classcmf_1_1water_1_1generic__gradient__connection.html#aacaa5b9630e45bd7f464005e7eb9ce14", null ], - [ "d", "classcmf_1_1water_1_1generic__gradient__connection.html#a412ac02aa43d02e6d986bf0f07a96f8e", null ], - [ "K", "classcmf_1_1water_1_1generic__gradient__connection.html#a7d90b68e1f2278aef5d76dc8279058bc", null ], - [ "type", "classcmf_1_1water_1_1generic__gradient__connection.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1generic__gradient__connection__coll__graph.map b/docs/classcmf_1_1water_1_1generic__gradient__connection__coll__graph.map deleted file mode 100644 index 0861db40..00000000 --- a/docs/classcmf_1_1water_1_1generic__gradient__connection__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1generic__gradient__connection__coll__graph.md5 b/docs/classcmf_1_1water_1_1generic__gradient__connection__coll__graph.md5 deleted file mode 100644 index af4d425d..00000000 --- a/docs/classcmf_1_1water_1_1generic__gradient__connection__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -264b1823bcfc1a1c1b4f839bdacb5ca8 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1generic__gradient__connection__coll__graph.png b/docs/classcmf_1_1water_1_1generic__gradient__connection__coll__graph.png deleted file mode 100644 index 7aeae9cf..00000000 Binary files a/docs/classcmf_1_1water_1_1generic__gradient__connection__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1generic__gradient__connection__inherit__graph.map b/docs/classcmf_1_1water_1_1generic__gradient__connection__inherit__graph.map deleted file mode 100644 index 0861db40..00000000 --- a/docs/classcmf_1_1water_1_1generic__gradient__connection__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1generic__gradient__connection__inherit__graph.md5 b/docs/classcmf_1_1water_1_1generic__gradient__connection__inherit__graph.md5 deleted file mode 100644 index 3250af6c..00000000 --- a/docs/classcmf_1_1water_1_1generic__gradient__connection__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -76b852011c93addd6f63701717759124 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1generic__gradient__connection__inherit__graph.png b/docs/classcmf_1_1water_1_1generic__gradient__connection__inherit__graph.png deleted file mode 100644 index 7aeae9cf..00000000 Binary files a/docs/classcmf_1_1water_1_1generic__gradient__connection__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1kinematic__wave-members.html b/docs/classcmf_1_1water_1_1kinematic__wave-members.html deleted file mode 100644 index 5ad7fffd..00000000 --- a/docs/classcmf_1_1water_1_1kinematic__wave-members.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    kinematic_wave Member List
    -
    -
    - -

    This is the complete list of members for kinematic_wave, including all inherited members.

    - - - - - - - - - - - - - - - - - - - -
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    exponentkinematic_wave
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    kinematic_wave(WaterStorage::ptr source, flux_node::ptr target, real residencetime, real exponent=1.0, real residual=0.0, real V0=1.0)kinematic_wave
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    residencetimekinematic_wave
    residualkinematic_wave
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    typeflux_connection
    V0kinematic_wave
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1kinematic__wave.html b/docs/classcmf_1_1water_1_1kinematic__wave.html deleted file mode 100644 index a86088da..00000000 --- a/docs/classcmf_1_1water_1_1kinematic__wave.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - -cmf: kinematic_wave Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - - -
    - -

    Calculates flux out of a storage as a linear function of its volume to a power. - More...

    -
    - + Inheritance diagram for kinematic_wave:
    -
    -
    - -
    - + Collaboration diagram for kinematic_wave:
    -
    -
    - -

    Detailed Description

    -

    Calculates flux out of a storage as a linear function of its volume to a power.

    -
    Deprecated:
    kinematic_wave is superseeded by LinearStorageConnection and PowerLawConnection
    -

    -\[ q = \frac 1 {t_r} {\left(\frac{V - V_{residual}}{V_0} \right)^\beta} \] -

    -

    where:

      -
    • \(V_{residual} [m^3]\) The volume of water not flowing out (default = 0)
    • -
    • \(V_0\) The reference volume to scale the exponent (default = 1m3/day)
    • -
    • \(\beta\) A parameter to shape the response curve. In case of \(\beta \neq 1\), \(t_r\) is not a residence time, but just a parameter.
    • -
    • \(t_r [days]\) The residence time of the water in this storage in days
    • -
    -
    Warning
    \(\beta < 0.5\) may lead to numerical troubles and have a dubious hydrological meaning. Please avoid.
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

     kinematic_wave (WaterStorage::ptr source, flux_node::ptr target, real residencetime, real exponent=1.0, real residual=0.0, real V0=1.0)
     Creates a kinematic wave connection. More...
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
     
    -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. More...
     
    -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. More...
     
    - - - - - - - - - - - - - - - - -

    -Public Attributes

    -real exponent
     Exponent of volume, \(\beta\).
     
    -real residencetime
     Linear flow parameter traveltime in days.
     
    -real residual
     residual fraction \(f_r\) of reference volume V0
     
    -const std::string type
     A string describing the type of the connection.
     
    -real V0
     Reference volume \(V_0\).
     
    -

    Constructor & Destructor Documentation

    - -

    ◆ kinematic_wave()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    kinematic_wave (WaterStorage::ptr source,
    flux_node::ptr target,
    real residencetime,
    real exponent = 1.0,
    real residual = 0.0,
    real V0 = 1.0 
    )
    -
    - -

    Creates a kinematic wave connection.

    -

    -\[ q = \frac 1 {t_r} {\left(\frac{V - V_{residual}}{V_0} \right)^\beta} \] -

    -
    Parameters
    - - - - - - - -
    sourceWater storage from which the water flows out. Flux is a function of source.volume
    targetTarget node (boundary condition or storage). Does not influence the strength of the flow
    residencetime\(t_r [days]\) The residence time of the water in this storage
    exponent\(\beta [-]\) An empirical exponent to shape the flux function (default = 1 (linear function))
    residual\(V_{residual} [m^3]\) The volume of water not flowing out (default = 0)
    V0\(V_0\) The reference volume to scale the exponent
    -
    -
    - -
    -
    -

    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

    - -
    -
    -
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1kinematic__wave.js b/docs/classcmf_1_1water_1_1kinematic__wave.js deleted file mode 100644 index 1d08d03c..00000000 --- a/docs/classcmf_1_1water_1_1kinematic__wave.js +++ /dev/null @@ -1,20 +0,0 @@ -var classcmf_1_1water_1_1kinematic__wave = -[ - [ "kinematic_wave", "classcmf_1_1water_1_1kinematic__wave.html#ac62e2a0dceac29a8d16aab5e78537384", null ], - [ "conc", "classcmf_1_1water_1_1kinematic__wave.html#ad7fafdce438d10fb5a35e7870737ce23", null ], - [ "get_target", "classcmf_1_1water_1_1kinematic__wave.html#abc8d7bf5d699f04bb717e989dab315ab", null ], - [ "get_target", "classcmf_1_1water_1_1kinematic__wave.html#a9452e9ff83a825e3420347a45ba9b313", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1kinematic__wave.html#a73545d13b9544caa52a2a5bd747dadad", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1kinematic__wave.html#a97e72365a8d2e46e7d1cb5c702164561", null ], - [ "kill_me", "classcmf_1_1water_1_1kinematic__wave.html#a137cf279253d55feb9629e4423e34191", null ], - [ "left_node", "classcmf_1_1water_1_1kinematic__wave.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], - [ "q", "classcmf_1_1water_1_1kinematic__wave.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], - [ "refresh", "classcmf_1_1water_1_1kinematic__wave.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], - [ "right_node", "classcmf_1_1water_1_1kinematic__wave.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], - [ "set_tracer_filter", "classcmf_1_1water_1_1kinematic__wave.html#a5edf702b615e8af8d847ecd63d13eb25", null ], - [ "exponent", "classcmf_1_1water_1_1kinematic__wave.html#aa2f413795ff2564bb7772e1406dc2fc4", null ], - [ "residencetime", "classcmf_1_1water_1_1kinematic__wave.html#a5449f87977cc863816e8df46fee04f7e", null ], - [ "residual", "classcmf_1_1water_1_1kinematic__wave.html#a0a2d8ffaad999b6bc6fe6078b0e26353", null ], - [ "type", "classcmf_1_1water_1_1kinematic__wave.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ], - [ "V0", "classcmf_1_1water_1_1kinematic__wave.html#ab5836250e49a427048223f0aaa4d4df8", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1kinematic__wave__coll__graph.map b/docs/classcmf_1_1water_1_1kinematic__wave__coll__graph.map deleted file mode 100644 index e028c66e..00000000 --- a/docs/classcmf_1_1water_1_1kinematic__wave__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1kinematic__wave__coll__graph.md5 b/docs/classcmf_1_1water_1_1kinematic__wave__coll__graph.md5 deleted file mode 100644 index 61baa992..00000000 --- a/docs/classcmf_1_1water_1_1kinematic__wave__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -81235008863221b210c7ca335f876ca9 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1kinematic__wave__coll__graph.png b/docs/classcmf_1_1water_1_1kinematic__wave__coll__graph.png deleted file mode 100644 index 7640d894..00000000 Binary files a/docs/classcmf_1_1water_1_1kinematic__wave__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1kinematic__wave__inherit__graph.map b/docs/classcmf_1_1water_1_1kinematic__wave__inherit__graph.map deleted file mode 100644 index e028c66e..00000000 --- a/docs/classcmf_1_1water_1_1kinematic__wave__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1kinematic__wave__inherit__graph.md5 b/docs/classcmf_1_1water_1_1kinematic__wave__inherit__graph.md5 deleted file mode 100644 index b961a4fb..00000000 --- a/docs/classcmf_1_1water_1_1kinematic__wave__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8c71979cddf6ed8e5aa453c1e13cdce9 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1kinematic__wave__inherit__graph.png b/docs/classcmf_1_1water_1_1kinematic__wave__inherit__graph.png deleted file mode 100644 index 7640d894..00000000 Binary files a/docs/classcmf_1_1water_1_1kinematic__wave__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1linear__scale-members.html b/docs/classcmf_1_1water_1_1linear__scale-members.html index 88bdd01f..7caf0404 100644 --- a/docs/classcmf_1_1water_1_1linear__scale-members.html +++ b/docs/classcmf_1_1water_1_1linear__scale-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,23 +93,29 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    linear_scale Member List
    +
    linear_scale Member List

    This is the complete list of members for linear_scale, including all inherited members.

    - + - +
    displacementlinear_scale
    linear_scale(real _slope=1, real _displacement=0)linear_scale
    linear_scale(real _slope=1, real _displacement=0)linear_scale
    operator()(real value) constlinear_scale
    slopelinear_scale
    slopelinear_scale
    diff --git a/docs/classcmf_1_1water_1_1linear__scale.html b/docs/classcmf_1_1water_1_1linear__scale.html index 01302fc8..e26cfca6 100644 --- a/docs/classcmf_1_1water_1_1linear__scale.html +++ b/docs/classcmf_1_1water_1_1linear__scale.html @@ -2,33 +2,37 @@ - - - - -cmf: linear_scale Class Reference - - - - + + + + + cmf: linear_scale Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,9 +93,16 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    linear_scale Class Reference
    +
    linear_scale Class Reference

    A linear scaling functor, with slope and displacement. - More...

    + More...

    Detailed Description

    A linear scaling functor, with slope and displacement.

    - - + - +

    +

    Public Member Functions

    linear_scale (real _slope=1, real _displacement=0)
    linear_scale (real _slope=1, real _displacement=0)
     Creates a linear scale (by default it is a unity scale, $a=1; b=0$)
     
    -real operator() (real value) const
    +real operator() (real value) const
     Returns the scaled value $y_{scale}=a\ y+b$.
     
    - - + - +

    +

    Public Attributes

    -real displacement
    +real displacement
     Displacement of the scale ($b$ in scale function)
     
    -real slope
    +real slope
     Slope of the scale ($a$ in scale function)
     
    @@ -138,7 +149,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:50 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1node__list-members.html b/docs/classcmf_1_1water_1_1node__list-members.html index c715f2ad..95a97ef1 100644 --- a/docs/classcmf_1_1water_1_1node__list-members.html +++ b/docs/classcmf_1_1water_1_1node__list-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,39 +93,44 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    node_list Member List
    +
    node_list Member List

    This is the complete list of members for node_list, including all inherited members.

    - + - + - + - + - + - + - - - + + + - - - + +
    append(flux_node::ptr node)node_list
    conc(cmf::math::Time t, const cmf::water::solute &_Solute) constnode_list
    conc(cmf::math::Time t, const cmf::water::solute &_Solute) constnode_list
    get(ptrdiff_t index) constnode_list
    get_fluxes3d(cmf::math::Time t) constnode_list
    get_fluxes3d(cmf::math::Time t) constnode_list
    get_fluxes3d_to(const cmf::water::node_list &targets, cmf::math::Time t) constnode_list
    get_fluxes_to(const cmf::water::node_list &targets, cmf::math::Time t) constnode_list
    get_fluxes_to(const cmf::water::node_list &targets, cmf::math::Time t) constnode_list
    get_positions() constnode_list
    get_potentials()node_list
    get_potentials(cmf::math::Time t=cmf::math::never)node_list
    getslice(ptrdiff_t begin, ptrdiff_t end, ptrdiff_t step=1) constnode_list
    global_water_balance(cmf::math::Time t) constnode_list
    global_water_balance(cmf::math::Time t) constnode_list
    node_list()node_list
    node_list(const cmf::water::node_list &forcopy)node_list
    node_list(const cmf::water::node_list &forcopy)node_list
    operator cmf::math::state_list()node_list
    operator+(const cmf::water::node_list &right) constnode_list
    operator+=(const cmf::water::node_list &right)node_list
    remove(flux_node::ptr node)node_list
    operator+(const cmf::water::node_list &right) constnode_list
    operator+=(const cmf::water::node_list &right)node_list
    remove(flux_node::ptr node)node_list
    set_potentials(const cmf::math::num_array &potentials)node_list
    set_solute_source(const cmf::water::solute &_Solute, cmf::math::num_array source_fluxes)node_list
    size() constnode_list
    water_balance(cmf::math::Time t) constnode_list
    size() constnode_list
    water_balance(cmf::math::Time t) constnode_list
    diff --git a/docs/classcmf_1_1water_1_1node__list.html b/docs/classcmf_1_1water_1_1node__list.html index 3e1537db..f9b655fd 100644 --- a/docs/classcmf_1_1water_1_1node__list.html +++ b/docs/classcmf_1_1water_1_1node__list.html @@ -2,33 +2,37 @@ - - - - -cmf: node_list Class Reference - - - - + + + + + cmf: node_list Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,109 +93,112 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    node_list Class Reference
    +
    node_list Class Reference

    A collection of nodes for fast access of the waterbalance. - More...

    + More...

    Detailed Description

    A collection of nodes for fast access of the waterbalance.

    -

    In setups with many storages and rather fast computations, the speed of data access for output generation can take a high portion of the total run time. To accelerate data access, one can use the node_list object

    -
    Todo:
    Add a get_volume / set_volume function pair, to complement get_potential / set_potential
    +

    In setups with many storages and rather fast computations, the speed of data access for output generation can take a high portion of the total run time. To accelerate data access, one can use the node_list object

    +
    Todo
    Add a get_volume / set_volume function pair, to complement get_potential / set_potential
    - - - + + - - + + - + - + - - + + - + - - + + - - + + - + - - - - - + + + + + - - + + - + - + - - - - + + + + - - + + - - - - + - - + +

    +

    Public Member Functions

    node_list ()
     Creates an empty node_lust.
    node_list ()
     Creates an empty node_lust
    +
     
    node_list (const cmf::water::node_list &forcopy)
     Copy the node_list.
    node_list (const cmf::water::node_list &forcopy)
     Copy the node_list.
     
    -void append (flux_node::ptr node)
    +void append (flux_node::ptr node)
     Adds a flux node to the list.
     
    -cmf::math::num_array conc (cmf::math::Time t, const cmf::water::solute &_Solute) const
    +cmf::math::num_array conc (cmf::math::Time t, const cmf::water::solute &_Solute) const
     Returns an array holding the concentration of all the flux nodes for the given solute.
     
    -flux_node::ptr get (ptrdiff_t index) const
     Returns a node in the node_list.
    +flux_node::ptr get (ptrdiff_t index) const
     Returns a node in the node_list.
     
    -cmf::geometry::point_vector get_fluxes3d (cmf::math::Time t) const
    +cmf::geometry::point_vector get_fluxes3d (cmf::math::Time t) const
     Returns the current flow vector for each node.
     
    -cmf::geometry::point_vector get_fluxes3d_to (const cmf::water::node_list &targets, cmf::math::Time t) const
     Returns the flux vectors to the nodes of a given target node_list.
    +cmf::geometry::point_vector get_fluxes3d_to (const cmf::water::node_list &targets, cmf::math::Time t) const
     Returns the flux vectors to the nodes of a given target node_list.
     
    cmf::math::num_array get_fluxes_to (const cmf::water::node_list &targets, cmf::math::Time t) const
     A fast method to perform flux queries as a batch. More...
    cmf::math::num_array get_fluxes_to (const cmf::water::node_list &targets, cmf::math::Time t) const
     A fast method to perform flux queries as a batch.
     
    -cmf::geometry::point_vector get_positions () const
    +cmf::geometry::point_vector get_positions () const
     Returns the positions of the nodes.
     
    -cmf::math::num_array get_potentials ()
     Returns the potential of the nodes.
     
    -node_list getslice (ptrdiff_t begin, ptrdiff_t end, ptrdiff_t step=1) const
     Returns a slice of the node_list.
    +cmf::math::num_array get_potentials (cmf::math::Time t=cmf::math::never)
     Returns the potential of the nodes.
     
    +node_list getslice (ptrdiff_t begin, ptrdiff_t end, ptrdiff_t step=1) const
     Returns a slice of the node_list.
     
    real global_water_balance (cmf::math::Time t) const
     Returns the sum of the water balances of the nodes. More...
    real global_water_balance (cmf::math::Time t) const
     Returns the sum of the water balances of the nodes.
     
    operator cmf::math::state_list ()
    operator cmf::math::state_list ()
     Implements StateVariableOwner.
     
    -cmf::water::node_list operator+ (const cmf::water::node_list &right) const
    +cmf::water::node_list operator+ (const cmf::water::node_list &right) const
     Returns the union of two node_lists.
     
    -node_listoperator+= (const cmf::water::node_list &right)
     Extends the node_list with another.
     
    -bool remove (flux_node::ptr node)
    +node_listoperator+= (const cmf::water::node_list &right)
     Extends the node_list with another.
     
    +bool remove (flux_node::ptr node)
     Removes a flux node from the list, returns true if successful.
     
    ptrdiff_t set_potentials (const cmf::math::num_array &potentials)
     Sets the potentials of the node_list. More...
    ptrdiff_t set_potentials (const cmf::math::num_array &potentials)
     Sets the potentials of the node_list.
     
    -ptrdiff_t set_solute_source (const cmf::water::solute &_Solute, cmf::math::num_array source_fluxes)
     Sets the source flux of a solute storage associated with a node (node has to be a water storage)
     
    -size_t size () const
    +size_t size () const
     The number of nodes.
     
    cmf::math::num_array water_balance (cmf::math::Time t) const
     Returns the water balance of each vector as a vector. More...
    cmf::math::num_array water_balance (cmf::math::Time t) const
     Returns the water balance of each vector as a vector.
     

    Member Function Documentation

    - -

    ◆ get_fluxes_to()

    + +

    ◆ get_fluxes_to()

    - -

    ◆ global_water_balance()

    + +

    ◆ global_water_balance()

    - -

    ◆ set_potentials()

    + +

    ◆ set_potentials()

    @@ -260,20 +264,19 @@

    ptrdiff_t set_potentials ( - const cmf::math::num_array &  - potentials) + const cmf::math::num_array & potentials)

    -

    Sets the potentials of the node_list.

    +

    Sets the potentials of the node_list.

    If nodes do not have changeable potentials, they are skipped silently

    Returns
    The number of nodes with changed potential
    - -

    ◆ water_balance()

    + +

    ◆ water_balance()

    @@ -303,7 +306,7 @@

    Institute of Landscape Ecology and Resources Management,University of Gießen

    -Generated: Fri Apr 26 2019 12:43:51 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1node__list.js b/docs/classcmf_1_1water_1_1node__list.js index c687638b..36df6072 100644 --- a/docs/classcmf_1_1water_1_1node__list.js +++ b/docs/classcmf_1_1water_1_1node__list.js @@ -9,15 +9,14 @@ var classcmf_1_1water_1_1node__list = [ "get_fluxes3d_to", "classcmf_1_1water_1_1node__list.html#a21269324eeebad6d524712f41e1187bb", null ], [ "get_fluxes_to", "classcmf_1_1water_1_1node__list.html#ad35914493005b8499333848a462c495e", null ], [ "get_positions", "classcmf_1_1water_1_1node__list.html#aea1c326c8364a7cc7caaab38dd9e160a", null ], - [ "get_potentials", "classcmf_1_1water_1_1node__list.html#af3c055062ae0df28a164a05db6c1327e", null ], + [ "get_potentials", "classcmf_1_1water_1_1node__list.html#aff2c35430b261c167f7ba896ff6d42ba", null ], [ "getslice", "classcmf_1_1water_1_1node__list.html#a22ec1f20bca3a173a3cbf0b48fbe8637", null ], [ "global_water_balance", "classcmf_1_1water_1_1node__list.html#ae41c46a0213d9546f4fb7b4141d75a65", null ], - [ "operator cmf::math::state_list", "classcmf_1_1water_1_1node__list.html#aad02ec6fbfdc75fc619a054342655b68", null ], + [ "state_list", "classcmf_1_1water_1_1node__list.html#aad02ec6fbfdc75fc619a054342655b68", null ], [ "operator+", "classcmf_1_1water_1_1node__list.html#a4af265093b696b4ec185466517d05aeb", null ], - [ "operator+=", "classcmf_1_1water_1_1node__list.html#afa5c4ee6dbb304da61465faccb4dad15", null ], + [ "operator+=", "classcmf_1_1water_1_1node__list.html#ac4c4868770da55f9c38c512ec0bcec37", null ], [ "remove", "classcmf_1_1water_1_1node__list.html#ab5b0828a92d86d8d0e1f5db6c265694e", null ], [ "set_potentials", "classcmf_1_1water_1_1node__list.html#a4b019e315e982ab97e78b4a33bd50088", null ], - [ "set_solute_source", "classcmf_1_1water_1_1node__list.html#a41102e95e818beaf63ff6111811f5b0e", null ], [ "size", "classcmf_1_1water_1_1node__list.html#a259cb5a711406a8c3e5d937eb9350cca", null ], [ "water_balance", "classcmf_1_1water_1_1node__list.html#ada8c01d1e2064d86a539b8d6381b0d0c", null ] ]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1node__list__coll__graph.map b/docs/classcmf_1_1water_1_1node__list__coll__graph.map deleted file mode 100644 index eed3feac..00000000 --- a/docs/classcmf_1_1water_1_1node__list__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1node__list__coll__graph.md5 b/docs/classcmf_1_1water_1_1node__list__coll__graph.md5 deleted file mode 100644 index 045261b4..00000000 --- a/docs/classcmf_1_1water_1_1node__list__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -dff404a9ff072a3b75ecb7d71d43cc91 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1node__list__coll__graph.png b/docs/classcmf_1_1water_1_1node__list__coll__graph.png deleted file mode 100644 index 8efae83a..00000000 Binary files a/docs/classcmf_1_1water_1_1node__list__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1node__list__inherit__graph.map b/docs/classcmf_1_1water_1_1node__list__inherit__graph.map deleted file mode 100644 index eed3feac..00000000 --- a/docs/classcmf_1_1water_1_1node__list__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1node__list__inherit__graph.md5 b/docs/classcmf_1_1water_1_1node__list__inherit__graph.md5 deleted file mode 100644 index c5c59c8c..00000000 --- a/docs/classcmf_1_1water_1_1node__list__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -7bd28e3008f85829cc06babfe3777185 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1node__list__inherit__graph.png b/docs/classcmf_1_1water_1_1node__list__inherit__graph.png deleted file mode 100644 index 8efae83a..00000000 Binary files a/docs/classcmf_1_1water_1_1node__list__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1solute__vector-members.html b/docs/classcmf_1_1water_1_1solute__vector-members.html index 14a3828a..02440a11 100644 --- a/docs/classcmf_1_1water_1_1solute__vector-members.html +++ b/docs/classcmf_1_1water_1_1solute__vector-members.html @@ -2,33 +2,37 @@ - - - - -cmf: Member List - - - - + + + + + cmf: Member List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    solute_vector Member List
    +
    solute_vector Member List
    @@ -110,7 +121,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:52 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1solute__vector.html b/docs/classcmf_1_1water_1_1solute__vector.html index b0948cef..03e6a7c4 100644 --- a/docs/classcmf_1_1water_1_1solute__vector.html +++ b/docs/classcmf_1_1water_1_1solute__vector.html @@ -2,33 +2,37 @@ - - - - -cmf: solute_vector Class Reference - - - - + + + + + cmf: solute_vector Class Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,30 +93,36 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    solute_vector Class Reference
    +
    solute_vector Class Reference

    Manages the solutes of the model. - More...

    + More...

    Detailed Description

    Manages the solutes of the model.

    - - - + +

    +

    Public Member Functions

    solute_vector (std::string str)
     Creates a solute vector from solute names, separated by whitespace. E.g. solutes=solute_vector("dO18 dH2")
    solute_vector (std::string str)
     Creates a solute vector from solute names, separated by whitespace. E.g. solutes=solute_vector("dO18 dH2")
     
    @@ -122,7 +133,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:52 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/classcmf_1_1water_1_1statecontrol__connection-members.html b/docs/classcmf_1_1water_1_1statecontrol__connection-members.html deleted file mode 100644 index 26eb42ab..00000000 --- a/docs/classcmf_1_1water_1_1statecontrol__connection-members.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    statecontrol_connection Member List
    -
    -
    - -

    This is the complete list of members for statecontrol_connection, including all inherited members.

    - - - - - - - - - - - - - - - -
    conc(cmf::math::Time t, const cmf::water::solute &_Solute)flux_connection
    flux_connection(flux_node::ptr left, flux_node::ptr right, std::string _type)flux_connection
    get_target(const flux_node &inquirer)flux_connection
    get_target(int index) constflux_connection
    get_tracer_filter()flux_connection
    get_tracer_filter(solute S)flux_connection
    kill_me()flux_connection
    left_node() constflux_connection
    q(const flux_node &inquirer, cmf::math::Time t)flux_connection
    refresh(cmf::math::Time t)flux_connection
    right_node() constflux_connection
    set_tracer_filter(real value)flux_connection
    statecontrol_connection(cmf::water::WaterStorage::ptr controlled_storage, cmf::water::flux_node::ptr other_end, real target_state, cmf::math::Time reaction_time)statecontrol_connection
    typeflux_connection
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1statecontrol__connection.html b/docs/classcmf_1_1water_1_1statecontrol__connection.html deleted file mode 100644 index 732f80cb..00000000 --- a/docs/classcmf_1_1water_1_1statecontrol__connection.html +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - - -cmf: statecontrol_connection Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    statecontrol_connection Class Reference
    -
    -
    - -

    Calculates a flux to or from a water storage to hold it's state at a more or less constant level. - More...

    -
    - + Inheritance diagram for statecontrol_connection:
    -
    -
    - -
    - + Collaboration diagram for statecontrol_connection:
    -
    -
    - -

    Detailed Description

    -

    Calculates a flux to or from a water storage to hold it's state at a more or less constant level.

    -

    -\[ q=\frac{h_1 - h_{target}}{t_c [days]} \] -

    -

    where:

      -
    • \(q\) the resulting flux in m3/day
    • -
    • \(h_1\) the reference state
    • -
    • \(h_{target}\) the state of the target (right) node
    • -
    • \(t_c\) the time to reach the target state
    • -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

     statecontrol_connection (cmf::water::WaterStorage::ptr controlled_storage, cmf::water::flux_node::ptr other_end, real target_state, cmf::math::Time reaction_time)
     Creates a flux connection to control the state of a storage. More...
     
    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
     
    -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. More...
     
    -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. More...
     
    - - - - -

    -Public Attributes

    -const std::string type
     A string describing the type of the connection.
     
    -

    Constructor & Destructor Documentation

    - -

    ◆ statecontrol_connection()

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    statecontrol_connection (cmf::water::WaterStorage::ptr controlled_storage,
    cmf::water::flux_node::ptr other_end,
    real target_state,
    cmf::math::Time reaction_time 
    )
    -
    - -

    Creates a flux connection to control the state of a storage.

    -
    Parameters
    - - - - - -
    controlled_storageWater storage, to be controlled
    other_endsource of missing water or target of excessive water
    target_stateState the controlled storage should hold ( \(h_{target}\))
    reaction_timeTime to reach state ( \(t_c\))
    -
    -
    - -
    -
    -

    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

    - -
    -
    -
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1statecontrol__connection.js b/docs/classcmf_1_1water_1_1statecontrol__connection.js deleted file mode 100644 index b1896dff..00000000 --- a/docs/classcmf_1_1water_1_1statecontrol__connection.js +++ /dev/null @@ -1,16 +0,0 @@ -var classcmf_1_1water_1_1statecontrol__connection = -[ - [ "statecontrol_connection", "classcmf_1_1water_1_1statecontrol__connection.html#abef003dabcbcd4d70ed67dc7d294ba93", null ], - [ "conc", "classcmf_1_1water_1_1statecontrol__connection.html#ad7fafdce438d10fb5a35e7870737ce23", null ], - [ "get_target", "classcmf_1_1water_1_1statecontrol__connection.html#abc8d7bf5d699f04bb717e989dab315ab", null ], - [ "get_target", "classcmf_1_1water_1_1statecontrol__connection.html#a9452e9ff83a825e3420347a45ba9b313", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1statecontrol__connection.html#a73545d13b9544caa52a2a5bd747dadad", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1statecontrol__connection.html#a97e72365a8d2e46e7d1cb5c702164561", null ], - [ "kill_me", "classcmf_1_1water_1_1statecontrol__connection.html#a137cf279253d55feb9629e4423e34191", null ], - [ "left_node", "classcmf_1_1water_1_1statecontrol__connection.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], - [ "q", "classcmf_1_1water_1_1statecontrol__connection.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], - [ "refresh", "classcmf_1_1water_1_1statecontrol__connection.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], - [ "right_node", "classcmf_1_1water_1_1statecontrol__connection.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], - [ "set_tracer_filter", "classcmf_1_1water_1_1statecontrol__connection.html#a5edf702b615e8af8d847ecd63d13eb25", null ], - [ "type", "classcmf_1_1water_1_1statecontrol__connection.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1statecontrol__connection__coll__graph.map b/docs/classcmf_1_1water_1_1statecontrol__connection__coll__graph.map deleted file mode 100644 index d3dc0c71..00000000 --- a/docs/classcmf_1_1water_1_1statecontrol__connection__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/classcmf_1_1water_1_1statecontrol__connection__coll__graph.md5 b/docs/classcmf_1_1water_1_1statecontrol__connection__coll__graph.md5 deleted file mode 100644 index 9026aba8..00000000 --- a/docs/classcmf_1_1water_1_1statecontrol__connection__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -f50ded823c597374814e6f05ea304225 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1statecontrol__connection__coll__graph.png b/docs/classcmf_1_1water_1_1statecontrol__connection__coll__graph.png deleted file mode 100644 index 9da6219b..00000000 Binary files a/docs/classcmf_1_1water_1_1statecontrol__connection__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1statecontrol__connection__inherit__graph.map b/docs/classcmf_1_1water_1_1statecontrol__connection__inherit__graph.map deleted file mode 100644 index b2949b9d..00000000 --- a/docs/classcmf_1_1water_1_1statecontrol__connection__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1statecontrol__connection__inherit__graph.md5 b/docs/classcmf_1_1water_1_1statecontrol__connection__inherit__graph.md5 deleted file mode 100644 index 4c1b23ec..00000000 --- a/docs/classcmf_1_1water_1_1statecontrol__connection__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c318656cdc48375874c038b5062b58f4 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1statecontrol__connection__inherit__graph.png b/docs/classcmf_1_1water_1_1statecontrol__connection__inherit__graph.png deleted file mode 100644 index 9e97bc96..00000000 Binary files a/docs/classcmf_1_1water_1_1statecontrol__connection__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1waterbalance__connection.html b/docs/classcmf_1_1water_1_1waterbalance__connection.html deleted file mode 100644 index 68117121..00000000 --- a/docs/classcmf_1_1water_1_1waterbalance__connection.html +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - - - -cmf: waterbalance_connection Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    waterbalance_connection Class Reference
    -
    -
    - -

    Routes the sum of all other fluxes to a target. - More...

    -
    - + Inheritance diagram for waterbalance_connection:
    -
    -
    - -
    - + Collaboration diagram for waterbalance_connection:
    -
    -
    - -

    Detailed Description

    -

    Routes the sum of all other fluxes to a target.

    -

    -\[ q_{1,0} = \sum_{i=2}^N{q_{1,i}(V_1,V_i,t)}\] -

    -

    where:

      -
    • \(q_{i,j}\) is the flux between the two node i and j. Subscript 0 is the right node, subscript 1 is the left node and 2..N are the nodes connected to the left node, except for the right node
    • -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

    real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
     Returns the concentration of the flux. More...
     
    -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. More...
     
    -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. More...
     
    - - - - -

    -Public Attributes

    -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

    - -
    -
    -
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1waterbalance__connection.js b/docs/classcmf_1_1water_1_1waterbalance__connection.js deleted file mode 100644 index a9f22428..00000000 --- a/docs/classcmf_1_1water_1_1waterbalance__connection.js +++ /dev/null @@ -1,15 +0,0 @@ -var classcmf_1_1water_1_1waterbalance__connection = -[ - [ "conc", "classcmf_1_1water_1_1waterbalance__connection.html#ad7fafdce438d10fb5a35e7870737ce23", null ], - [ "get_target", "classcmf_1_1water_1_1waterbalance__connection.html#abc8d7bf5d699f04bb717e989dab315ab", null ], - [ "get_target", "classcmf_1_1water_1_1waterbalance__connection.html#a9452e9ff83a825e3420347a45ba9b313", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1waterbalance__connection.html#a73545d13b9544caa52a2a5bd747dadad", null ], - [ "get_tracer_filter", "classcmf_1_1water_1_1waterbalance__connection.html#a97e72365a8d2e46e7d1cb5c702164561", null ], - [ "kill_me", "classcmf_1_1water_1_1waterbalance__connection.html#a137cf279253d55feb9629e4423e34191", null ], - [ "left_node", "classcmf_1_1water_1_1waterbalance__connection.html#ae0e9b5abf63f318991ef48c7636ea92e", null ], - [ "q", "classcmf_1_1water_1_1waterbalance__connection.html#a2cf1a197d5e389c8da4df31b4e8ae112", null ], - [ "refresh", "classcmf_1_1water_1_1waterbalance__connection.html#a61a28d902eac9e4a2ffacaba4ad7d70c", null ], - [ "right_node", "classcmf_1_1water_1_1waterbalance__connection.html#ac62da234b5e528b9783dd4dcd81f5f47", null ], - [ "set_tracer_filter", "classcmf_1_1water_1_1waterbalance__connection.html#a5edf702b615e8af8d847ecd63d13eb25", null ], - [ "type", "classcmf_1_1water_1_1waterbalance__connection.html#ab42edbb29efb41e4c3e0de59be4e4cf7", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1waterbalance__connection__coll__graph.map b/docs/classcmf_1_1water_1_1waterbalance__connection__coll__graph.map deleted file mode 100644 index cbad5921..00000000 --- a/docs/classcmf_1_1water_1_1waterbalance__connection__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1waterbalance__connection__coll__graph.md5 b/docs/classcmf_1_1water_1_1waterbalance__connection__coll__graph.md5 deleted file mode 100644 index 3337eeff..00000000 --- a/docs/classcmf_1_1water_1_1waterbalance__connection__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -3f0bfe60db74be5b0967baedf84f69f4 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1waterbalance__connection__coll__graph.png b/docs/classcmf_1_1water_1_1waterbalance__connection__coll__graph.png deleted file mode 100644 index 2729aeb1..00000000 Binary files a/docs/classcmf_1_1water_1_1waterbalance__connection__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1waterbalance__connection__inherit__graph.map b/docs/classcmf_1_1water_1_1waterbalance__connection__inherit__graph.map deleted file mode 100644 index cbad5921..00000000 --- a/docs/classcmf_1_1water_1_1waterbalance__connection__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1waterbalance__connection__inherit__graph.md5 b/docs/classcmf_1_1water_1_1waterbalance__connection__inherit__graph.md5 deleted file mode 100644 index ff77e9c3..00000000 --- a/docs/classcmf_1_1water_1_1waterbalance__connection__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -f387832b1d9f3b8fab9df35c89b031e5 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1waterbalance__connection__inherit__graph.png b/docs/classcmf_1_1water_1_1waterbalance__connection__inherit__graph.png deleted file mode 100644 index 2729aeb1..00000000 Binary files a/docs/classcmf_1_1water_1_1waterbalance__connection__inherit__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1waterbalance__integrator-members.html b/docs/classcmf_1_1water_1_1waterbalance__integrator-members.html deleted file mode 100644 index 2a44907e..00000000 --- a/docs/classcmf_1_1water_1_1waterbalance__integrator-members.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - -cmf: Member List - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0b2
    -
    catchment modelling framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    waterbalance_integrator Member List
    -
    -
    - -

    This is the complete list of members for waterbalance_integrator, including all inherited members.

    - - - - - - - - -
    avg() constwaterbalance_integratorvirtual
    get_node() constwaterbalance_integrator
    integrate(cmf::math::Time until)waterbalance_integratorvirtual
    integration_t() constwaterbalance_integrator
    reset(cmf::math::Time t)waterbalance_integratorvirtual
    sum() constwaterbalance_integratorvirtual
    t0() constwaterbalance_integrator
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1waterbalance__integrator.html b/docs/classcmf_1_1water_1_1waterbalance__integrator.html deleted file mode 100644 index a84da31c..00000000 --- a/docs/classcmf_1_1water_1_1waterbalance__integrator.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - -cmf: waterbalance_integrator Class Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0b2
    -
    catchment modelling framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    - -
    -
    waterbalance_integrator Class Reference
    -
    -
    - -

    The waterbalance_integrator is an integratable for precise output of the average water balance of a flux_node over time. - More...

    -
    - + Inheritance diagram for waterbalance_integrator:
    -
    -
    - -
    - + Collaboration diagram for waterbalance_integrator:
    -
    -
    - -

    Detailed Description

    -

    The waterbalance_integrator is an integratable for precise output of the average water balance of a flux_node over time.

    -

    It can be added to a solver (any cmf::math::Integrator), which is than calling the integrate method at each substep.

    -
    - - - - - - - - - - - - - - - - - - - - - - -

    -Public Member Functions

    -double avg () const
     Returns the average flux over the integration time in m3/day.
     
    -flux_node::ptr get_node () const
     Returns the node of this integrator.
     
    -void integrate (cmf::math::Time until)
     Integrates the flux a timestep further. Note: until is an absolut time. If until is before t0, the integration is initilized again.
     
    -cmf::math::Time integration_t () const
     Returns the duration of the integration.
     
    -void reset (cmf::math::Time t)
     Initializes the integration.
     
    -double sum () const
     Returns the total absolute waterbalance of the node in integration time [m3].
     
    -cmf::math::Time t0 () const
     Returns the start time of the integration.
     
    -
    -
    - - - diff --git a/docs/classcmf_1_1water_1_1waterbalance__integrator.js b/docs/classcmf_1_1water_1_1waterbalance__integrator.js deleted file mode 100644 index 70200d50..00000000 --- a/docs/classcmf_1_1water_1_1waterbalance__integrator.js +++ /dev/null @@ -1,10 +0,0 @@ -var classcmf_1_1water_1_1waterbalance__integrator = -[ - [ "avg", "classcmf_1_1water_1_1waterbalance__integrator.html#af6704c19264632250c618ac059feff2a", null ], - [ "get_node", "classcmf_1_1water_1_1waterbalance__integrator.html#a5a6ce3441be45d5d1512c235dae14c28", null ], - [ "integrate", "classcmf_1_1water_1_1waterbalance__integrator.html#a58e8c2849c70ffaf737b055d201434c9", null ], - [ "integration_t", "classcmf_1_1water_1_1waterbalance__integrator.html#a7df4d048773f7a4de92942a7e8ef6203", null ], - [ "reset", "classcmf_1_1water_1_1waterbalance__integrator.html#a1e0c4127a58252db6774ab01352d5489", null ], - [ "sum", "classcmf_1_1water_1_1waterbalance__integrator.html#af31d07521e522dfbd377eebf1652053f", null ], - [ "t0", "classcmf_1_1water_1_1waterbalance__integrator.html#a2e3f37787a00ad985d8f5c4c6d045bf9", null ] -]; \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1waterbalance__integrator__coll__graph.map b/docs/classcmf_1_1water_1_1waterbalance__integrator__coll__graph.map deleted file mode 100644 index fd7d36d9..00000000 --- a/docs/classcmf_1_1water_1_1waterbalance__integrator__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1waterbalance__integrator__coll__graph.md5 b/docs/classcmf_1_1water_1_1waterbalance__integrator__coll__graph.md5 deleted file mode 100644 index 172dc512..00000000 --- a/docs/classcmf_1_1water_1_1waterbalance__integrator__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -617e221388f541a105cd019efc9e3103 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1waterbalance__integrator__coll__graph.png b/docs/classcmf_1_1water_1_1waterbalance__integrator__coll__graph.png deleted file mode 100644 index c8cf3446..00000000 Binary files a/docs/classcmf_1_1water_1_1waterbalance__integrator__coll__graph.png and /dev/null differ diff --git a/docs/classcmf_1_1water_1_1waterbalance__integrator__inherit__graph.map b/docs/classcmf_1_1water_1_1waterbalance__integrator__inherit__graph.map deleted file mode 100644 index fd7d36d9..00000000 --- a/docs/classcmf_1_1water_1_1waterbalance__integrator__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/classcmf_1_1water_1_1waterbalance__integrator__inherit__graph.md5 b/docs/classcmf_1_1water_1_1waterbalance__integrator__inherit__graph.md5 deleted file mode 100644 index 5ef6274a..00000000 --- a/docs/classcmf_1_1water_1_1waterbalance__integrator__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d698ee8ecd4023fc6eb01da3d18ce817 \ No newline at end of file diff --git a/docs/classcmf_1_1water_1_1waterbalance__integrator__inherit__graph.png b/docs/classcmf_1_1water_1_1waterbalance__integrator__inherit__graph.png deleted file mode 100644 index c8cf3446..00000000 Binary files a/docs/classcmf_1_1water_1_1waterbalance__integrator__inherit__graph.png and /dev/null differ diff --git a/docs/classes.html b/docs/classes.html index 4f6ee4f9..c4bf7100 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Index - - - - + + + + + cmf: Class Index + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,88 +93,94 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Class Index
    +
    Class Index
    -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | v | w
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      a  
    -
    Date (cmf::math)   KinematicSurfaceRunoff (cmf::upslope::connections)   PenmanMonteithET (cmf::upslope::ET)   SuctionStress (cmf::upslope::ET)   
    DiffusiveMacroMicroExchange (cmf::upslope::connections)   
      l  
    -
    PipeReach (cmf::river)   SurfaceWater (cmf::upslope)   
    Adsorption (cmf::water)   DiffusiveSurfaceRunoff (cmf::upslope::connections)   point (cmf::geometry)   SW_evap_from_canopy (cmf::upslope::ET)   
    aerodynamic_resistance (cmf::atmosphere)   DirichletBoundary (cmf::water)   LangmuirAdsorption (cmf::water)   point_vector (cmf::geometry)   SW_evap_from_layer (cmf::upslope::ET)   
    aquifer (cmf::upslope)   
      e  
    -
    lateral_sub_surface_flux (cmf::upslope::connections)   PolygonMap (cmf.maps)   SW_evap_from_snow (cmf::upslope::ET)   
    aquifer_Darcy (cmf::upslope)   layer_list (cmf::upslope)   PowerLawConnection (cmf::water)   SW_evap_from_surfacewater (cmf::upslope::ET)   
      b  
    -
    EnergyBudgetSnowMelt (cmf::upslope::connections)   LayerBypass (cmf::upslope::connections)   PriestleyTaylorET (cmf::upslope::ET)   SW_transpiration (cmf::upslope::ET)   
    ExplicitEuler_fixed (cmf::math)   linear_scale (cmf::water)   Prism (cmf::river)   SWATPercolation (cmf::upslope::connections)   
    BDF2 (cmf::math)   ExponentialDeclineConnection (cmf::water)   LinearAdsorption (cmf::water)   project (cmf)   SWATReachType (cmf::river)   
    BrooksCoreyRetentionCurve (cmf::upslope)   ExternallyControlledFlux (cmf::water)   LinearGradientFlux (cmf::water)   
      q  
    -
    SystemBridge (cmf::water)   
      c  
    -
      f  
    -
    LinearRetention (cmf::upslope)   SystemBridgeConnection (cmf::water)   
    LinearStorageConnection (cmf::water)   Quadtree (cmf.geometry.qtree)   
      t  
    -
    CanopyOverflow (cmf::upslope::connections)   flux_connection (cmf::water)   log_wind_profile (cmf::atmosphere)   
      r  
    -
    CanopyStorageEvaporation (cmf::upslope::ET)   flux_integrator (cmf::water)   
      m  
    -
    TempIndexSnowMelt (cmf::upslope::connections)   
    Cell (cmf::upslope)   flux_node (cmf::water)   Rainfall (cmf::upslope::connections)   Time (cmf::math)   
    cell_vector (cmf::upslope)   FluxMap (cmf.draw.cellmap)   MACROlikeMacroMicroExchange (cmf::upslope::connections)   RainfallStation (cmf::atmosphere)   timerange (cmf.timetools)   
    CellConnector (cmf::upslope)   FreeDrainagePercolation (cmf::upslope::connections)   MacroPore (cmf::upslope)   RainfallStationList (cmf::atmosphere)   timeseries (cmf::math)   
    CellMap (cmf.draw.cellmap)   FreundlichAdsorbtion (cmf::water)   Manning (cmf::river)   RainfallStationReference (cmf::atmosphere)   timeseriesETpot (cmf::upslope::ET)   
    Channel (cmf::river)   
      g  
    -
    Manning_Diffusive (cmf::river)   RainSource (cmf::atmosphere)   TimeseriesRainSource (cmf::atmosphere)   
    ConceptualInfiltration (cmf::upslope::connections)   Manning_Kinematic (cmf::river)   Reach (cmf::river)   TOPModelFlow (cmf::upslope::connections)   
    conductable (cmf::upslope)   GradientMacroFlow (cmf::upslope::connections)   Map (cmf.maps)   ReachIterator (cmf::river)   TopographicGradientDarcy (cmf::upslope::connections)   
    connection_list (cmf::water)   GradientMacroMicroExchange (cmf::upslope::connections)   MatrixInfiltration (cmf::upslope::connections)   RectangularReach (cmf::river)   Topology (cmf::upslope)   
    constantETpot (cmf::upslope::ET)   GreenAmptInfiltration (cmf::upslope::connections)   MeanChannel (cmf::river)   RetentionCurve (cmf::upslope)   TriangularReach (cmf::river)   
    ConstantFlux (cmf::water)   
      h  
    -
    Meteorology (cmf::atmosphere)   Richards (cmf::upslope::connections)   TurcET (cmf::upslope::ET)   
    ConstantMeteorology (cmf::atmosphere)   MeteoStation (cmf::atmosphere)   Richards_lateral (cmf::upslope::connections)   
      v  
    -
    ConstantRainSource (cmf::atmosphere)   HargreaveET (cmf::upslope::ET)   MeteoStationList (cmf::atmosphere)   RKFIntegrator (cmf::math)   
    ConstantStateFlux (cmf::water)   HeunIntegrator (cmf::math)   MeteoStationReference (cmf::atmosphere)   RootUptakeStressFunction (cmf::upslope::ET)   VanGenuchtenMualem (cmf::upslope)   
    ConstraintLinearStorageFlux (cmf::water)   HillPlot (cmf.draw.hillplot)   MultiIntegrator (cmf::math)   RutterInterception (cmf::upslope::connections)   Vegetation (cmf::upslope::vegetation)   
    ContentStress (cmf::upslope::ET)   
      i  
    -
      n  
    -
      s  
    -
    volume_height_function (cmf::river)   
    CrossSectionReach (cmf::river)   VolumeStress (cmf::upslope::ET)   
    cubicspline (cmf::math)   IChannel (cmf::river)   NearestNeighborMap (cmf.maps)   ShapeMap (cmf.draw.shapemap)   
      w  
    -
    CVodeAdams (cmf::math)   IDW_Meteorology (cmf::atmosphere)   neighbor_iterator (cmf::upslope)   ShuttleworthWallace (cmf::upslope::ET)   
    CVodeBanded (cmf::math)   IDWRainfall (cmf::atmosphere)   NeumannBoundary (cmf::water)   Snowfall (cmf::upslope::connections)   waterbalance_integrator (cmf::water)   
    CVodeBase (cmf::math)   ImplicitEuler (cmf::math)   NeumannBoundary_list (cmf::water)   SoilLayer (cmf::upslope)   WaterbalanceFlux (cmf::water)   
    CVodeDense (cmf::math)   integratable (cmf::math)   NeumannFlux (cmf::water)   solute (cmf::water)   WaterStorage (cmf::water)   
    CVodeDiag (cmf::math)   integratable_list (cmf::math)   node_list (cmf::water)   solute_vector (cmf::water)   Weather (cmf::atmosphere)   
    CVodeInfo (cmf::math)   Integrator (cmf::math)   NullAdsorption (cmf::water)   SoluteStorage (cmf::water)   
    CVodeKrylov (cmf::math)   IVolumeHeightFunction (cmf::river)   num_array (cmf::math)   SoluteTimeseries (cmf::water)   
    CVodeOptions (cmf::math)   
      j  
    -
      o  
    -
    SoluteWaterIntegrator (cmf::math)   
      d  
    -
    StateVariable (cmf::math)   
    Jacobian (cmf.jacobian)   OpenWaterStorage (cmf::river)   StopWatch (cmf.timetools)   
    Darcy (cmf::upslope::connections)   JarvisMacroFlow (cmf::upslope::connections)   OudinET (cmf::upslope::ET)   stressedET (cmf::upslope::ET)   
    DarcyKinematic (cmf::upslope::connections)   
      k  
    -
      p  
    -
    subcatchment (cmf::upslope)   
    KinematicMacroFlow (cmf::upslope::connections)   PenmanEvaporation (cmf::upslope::ET)   
    -
    a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | v | w
    +
    A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | V | W | _
    +
    +
    +
    A
    +
    Adsorption (cmf::water)
    aerodynamic_resistance (cmf::atmosphere)
    aquifer (cmf::upslope)
    aquifer_Darcy (cmf::upslope)
    +
    +
    B
    +
    BDF2 (cmf::math)
    BrooksCoreyRetentionCurve (cmf::upslope)
    +
    +
    C
    +
    CanopyOverflow (cmf::upslope::connections)
    CanopyStorageEvaporation (cmf::upslope::ET)
    Cell (cmf::upslope)
    cell_vector (cmf::upslope)
    CellConnector (cmf::upslope)
    CellMap (cmf.draw.cellmap)
    Channel (cmf::river)
    ConceptualInfiltration (cmf::upslope::connections)
    conductable (cmf::upslope)
    connection_list (cmf::water)
    constantETpot (cmf::upslope::ET)
    ConstantFlux (cmf::water)
    ConstantMeteorology (cmf::atmosphere)
    ConstantRainSource (cmf::atmosphere)
    ConstantStateFlux (cmf::water)
    ConstraintLinearStorageFlux (cmf::water)
    ContentStress (cmf::upslope::ET)
    CrossSectionReach (cmf::river)
    cubicspline (cmf::math)
    CVodeAdams (cmf::math)
    CVodeBanded (cmf::math)
    CVodeBase (cmf::math)
    CVodeDense (cmf::math)
    CVodeDiag (cmf::math)
    CVodeInfo (cmf::math)
    CVodeKrylov (cmf::math)
    CVodeOptions (cmf::math)
    +
    +
    D
    +
    Darcy (cmf::upslope::connections)
    DarcyKinematic (cmf::upslope::connections)
    Date (cmf::math)
    DiffusiveMacroMicroExchange (cmf::upslope::connections)
    DiffusiveSurfaceRunoff (cmf::upslope::connections)
    DirichletBoundary (cmf::water)
    +
    +
    E
    +
    EnergyBudgetSnowMelt (cmf::upslope::connections)
    ExplicitEuler_fixed (cmf::math)
    ExponentialDeclineConnection (cmf::water)
    ExternallyControlledFlux (cmf::water)
    +
    +
    F
    +
    flux_connection (cmf::water)
    flux_node (cmf::water)
    FluxMap (cmf.draw.cellmap)
    FreeDrainagePercolation (cmf::upslope::connections)
    +
    +
    G
    +
    GradientMacroFlow (cmf::upslope::connections)
    GradientMacroMicroExchange (cmf::upslope::connections)
    GreenAmptInfiltration (cmf::upslope::connections)
    +
    +
    H
    +
    HargreaveET (cmf::upslope::ET)
    HeunIntegrator (cmf::math)
    HillPlot (cmf.draw.hillplot)
    +
    +
    I
    +
    IChannel (cmf::river)
    IDW_Meteorology (cmf::atmosphere)
    IDWRainfall (cmf::atmosphere)
    ImplicitEuler (cmf::math)
    Integrator (cmf::math)
    IVolumeHeightFunction (cmf::river)
    +
    +
    J
    +
    Jacobian (cmf.jacobian)
    JarvisMacroFlow (cmf::upslope::connections)
    +
    +
    K
    +
    KinematicMacroFlow (cmf::upslope::connections)
    KinematicSurfaceRunoff (cmf::upslope::connections)
    +
    +
    L
    +
    LangmuirAdsorption (cmf::water)
    lateral_sub_surface_flux (cmf::upslope::connections)
    layer_list (cmf::upslope)
    LayerBypass (cmf::upslope::connections)
    linear_scale (cmf::water)
    LinearAdsorption (cmf::water)
    LinearGradientFlux (cmf::water)
    LinearRetention (cmf::upslope)
    LinearStorageConnection (cmf::water)
    log_wind_profile (cmf::atmosphere)
    +
    +
    M
    +
    MACROlikeMacroMicroExchange (cmf::upslope::connections)
    MacroPore (cmf::upslope)
    Manning (cmf::river)
    Manning_Diffusive (cmf::river)
    Manning_Kinematic (cmf::river)
    Map (cmf.maps)
    MatrixInfiltration (cmf::upslope::connections)
    MeanChannel (cmf::river)
    Meteorology (cmf::atmosphere)
    MeteoStation (cmf::atmosphere)
    MeteoStationList (cmf::atmosphere)
    MeteoStationReference (cmf::atmosphere)
    MultiIntegrator (cmf::math)
    +
    +
    N
    +
    NearestNeighborMap (cmf.maps)
    neighbor_iterator (cmf::upslope)
    NeumannBoundary (cmf::water)
    NeumannBoundary_list (cmf::water)
    NeumannFlux (cmf::water)
    node_list (cmf::water)
    NullAdsorption (cmf::water)
    num_array (cmf::math)
    +
    +
    O
    +
    OpenWaterStorage (cmf::river)
    OudinET (cmf::upslope::ET)
    +
    +
    P
    +
    PartitionFluxRoute (cmf::water)
    PenmanEvaporation (cmf::upslope::ET)
    PenmanMonteithET (cmf::upslope::ET)
    PipeReach (cmf::river)
    point (cmf::geometry)
    point_vector (cmf::geometry)
    PolygonMap (cmf.maps)
    PowerLawConnection (cmf::water)
    PriestleyTaylorET (cmf::upslope::ET)
    Prism (cmf::river)
    project (cmf)
    +
    +
    Q
    +
    Quadtree (cmf.geometry.qtree)
    +
    +
    R
    +
    Rainfall (cmf::upslope::connections)
    RainfallStation (cmf::atmosphere)
    RainfallStationList (cmf::atmosphere)
    RainfallStationReference (cmf::atmosphere)
    RainSource (cmf::atmosphere)
    Reach (cmf::river)
    ReachIterator (cmf::river)
    RectangularReach (cmf::river)
    RetentionCurve (cmf::upslope)
    Richards (cmf::upslope::connections)
    Richards_lateral (cmf::upslope::connections)
    RKFIntegrator (cmf::math)
    RootUptakeStressFunction (cmf::upslope::ET)
    RutterInterception (cmf::upslope::connections)
    +
    +
    S
    +
    ShapeMap (cmf.draw.shapemap)
    ShuttleworthWallace (cmf::upslope::ET)
    Snowfall (cmf::upslope::connections)
    SoilLayer (cmf::upslope)
    solute (cmf::water)
    Solute1stOrderReaction (cmf::water)
    Solute2ndOrderReaction (cmf::water)
    solute_vector (cmf::water)
    SoluteConstantFluxReaction (cmf::water)
    SoluteDecayReaction (cmf::water)
    SoluteDiffusiveTransport (cmf::water)
    SoluteEquilibriumReaction (cmf::water)
    SoluteRateReaction (cmf::water)
    SoluteReaction (cmf::water)
    SoluteStorage (cmf::water)
    SoluteTimeseries (cmf::water)
    SoluteWaterIntegrator (cmf::math)
    StateVariable (cmf::math)
    StopWatch (cmf.timetools)
    stressedET (cmf::upslope::ET)
    subcatchment (cmf::upslope)
    SuctionStress (cmf::upslope::ET)
    SurfaceWater (cmf::upslope)
    SW_evap_from_canopy (cmf::upslope::ET)
    SW_evap_from_layer (cmf::upslope::ET)
    SW_evap_from_snow (cmf::upslope::ET)
    SW_evap_from_surfacewater (cmf::upslope::ET)
    SW_transpiration (cmf::upslope::ET)
    SWATPercolation (cmf::upslope::connections)
    SWATReachType (cmf::river)
    +
    +
    T
    +
    TempIndexSnowMelt (cmf::upslope::connections)
    Time (cmf::math)
    timerange (cmf.timetools)
    timeseries (cmf::math)
    timeseriesETpot (cmf::upslope::ET)
    TimeseriesRainSource (cmf::atmosphere)
    TOPModelFlow (cmf::upslope::connections)
    TopographicGradientDarcy (cmf::upslope::connections)
    Topology (cmf::upslope)
    TriangularReach (cmf::river)
    TurcET (cmf::upslope::ET)
    +
    +
    V
    +
    VanGenuchtenMualem (cmf::upslope)
    Vegetation (cmf::upslope::vegetation)
    volume_height_function (cmf::river)
    VolumeStress (cmf::upslope::ET)
    +
    +
    W
    +
    WaterbalanceFlux (cmf::water)
    WaterStorage (cmf::water)
    Weather (cmf::atmosphere)
    +
    +
    _
    +
    _Options (cmf)
    +
    diff --git a/docs/clipboard.js b/docs/clipboard.js new file mode 100644 index 00000000..42c1fb0e --- /dev/null +++ b/docs/clipboard.js @@ -0,0 +1,61 @@ +/** + +The code below is based on the Doxygen Awesome project, see +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 - 2022 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +let clipboard_title = "Copy to clipboard" +let clipboard_icon = `` +let clipboard_successIcon = `` +let clipboard_successDuration = 1000 + +$(function() { + if(navigator.clipboard) { + const fragments = document.getElementsByClassName("fragment") + for(const fragment of fragments) { + const clipboard_div = document.createElement("div") + clipboard_div.classList.add("clipboard") + clipboard_div.innerHTML = clipboard_icon + clipboard_div.title = clipboard_title + $(clipboard_div).click(function() { + const content = this.parentNode.cloneNode(true) + // filter out line number and folded fragments from file listings + content.querySelectorAll(".lineno, .ttc, .foldclosed").forEach((node) => { node.remove() }) + let text = content.textContent + // remove trailing newlines and trailing spaces from empty lines + text = text.replace(/^\s*\n/gm,'\n').replace(/\n*$/,'') + navigator.clipboard.writeText(text); + this.classList.add("success") + this.innerHTML = clipboard_successIcon + window.setTimeout(() => { // switch back to normal icon after timeout + this.classList.remove("success") + this.innerHTML = clipboard_icon + }, clipboard_successDuration); + }) + fragment.insertBefore(clipboard_div, fragment.firstChild) + } + } +}) diff --git a/docs/cmf-logo-klein.png b/docs/cmf-logo-klein.png deleted file mode 100644 index 828f7c17..00000000 Binary files a/docs/cmf-logo-klein.png and /dev/null differ diff --git a/docs/cmf_install.html b/docs/cmf_install.html index 7f3880bb..95edbd65 100644 --- a/docs/cmf_install.html +++ b/docs/cmf_install.html @@ -2,33 +2,37 @@ - - - - -cmf: Installation instructions - - - - + + + + + cmf: Installation instructions + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,19 +93,25 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Installation instructions
    +
    +
    Installation instructions

    There are numerous ways to install cmf, depending on your operating system, your Python environment and your choice of what you would like to do with cmf. One important question is if you want to use geometric objects in cmf, or not. No tutorial shows the use of these objects and it is no problem to install geometric objects later.

    -

    The actual release of cmf

    -cmf.svg +

    The actual release of cmf

    +

    is available on the Python Package Index.

    +
    diff --git a/docs/cmf_install_hpc.html b/docs/cmf_install_hpc.html index 3ff7bf38..7f45cc27 100644 --- a/docs/cmf_install_hpc.html +++ b/docs/cmf_install_hpc.html @@ -2,33 +2,37 @@ - - - - -cmf: HPC - installation - - - - + + + + + cmf: HPC - installation + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    HPC - installation
    +
    +
    HPC - installation

    back...

    @@ -112,55 +123,55 @@

    Install on a HPC

    Configure environment

    To check modules available use:

    #!sh
     module av
    -

    Python 2.7

    +

    Python 2.7

    Add the follwing modules at start up:

    #!sh
     module initadd gcc python2 numpy GE openmpi/gcc
     module add gcc python2 numpy GE openmpi/gcc
    -

    First check your python version:

    #!sh
    +

    First check your python version:

    #!sh
     python --version
    -

    Make sure you are using python 2.7 indeed.

    +

    Make sure you are using python 2.7 indeed.

    If the version is <=2.7.8 then get the program pip to install more packages. For higher versions, pip is already part of Python

    #!sh
     wget https://bootstrap.pypa.io/get-pip.py
     python get-pip.py --user
    -

    In case numpy is not available as a module do

    #!sh
    +

    In case numpy is not available as a module do

    #!sh
     pip install numpy --user
    -

    Python 3

    +

    Python 3

    Add the follwing modules at start up:

    At our the super computer of the Justus Liebig University, numpy is part of the python3 module.

    #!sh
     module initadd gcc python3 GE openmpi/gcc
     module add gcc python3 GE openmpi/gcc
    -

    Serveral "Module Commands"

    +

    Serveral "Module Commands"

    If you want to switch python version or install or remove other modules, you can use the following commands:

    '''Show''' all installed modules:

    #!sh
     module list
    -

    '''Remove modules''' you dont want anymore from modules list. E.g. for switching from python2 to python3 useing "module rm 'modulename'" (numpy is not needed anymore becaus ist included in python3)

    #!sh
    +

    '''Remove modules''' you dont want anymore from modules list. E.g. for switching from python2 to python3 useing "module rm 'modulename'" (numpy is not needed anymore becaus ist included in python3)

    #!sh
     module rm python2
     module rm numpy
    -

    you also need to '''remove the modules''' from the '''init''' (in case you put them there)[BR](BR)

    +

    you also need to '''remove the modules''' from the '''init''' (in case you put them there)[BR](BR)

    So check whats in your init

    #!sh
     cat .bashrc
    -

    and, in case, remove

    #!sh
    +

    and, in case, remove

    #!sh
     module initrm python2
     module initrm numpy
    -

    Now you got rid of python2 and able to use python3 (remember to use '''python3''' insteand of python to call python [BR](BR)

    +

    Now you got rid of python2 and able to use python3 (remember to use '''python3''' insteand of python to call python [BR](BR)

    and use '''pip3''' instead of pip and dont forget –user ;))

    Compile cmf

    Copy the cmf source code to your user directory and unzip it in /cmf-source

    #!sh
     cd cmf-source
     python setup.py install noopenmp --user
     cd .. # Important! You cannot test your installation from the source folder
    -

    And check your cmf installation:

    #!python
    +

    And check your cmf installation:

    #!python
     python
     import cmf
     p=cmf.project()
     exit()
    -

    Optional packages

    +

    Optional packages

    If you want to use statistics the pandas tables or create graphs, install the following packages. They are also needed by spotpy.

    '''Note''': If you like the HPC to prepare graphs during the run using matplotlib, make sure to do before pylab is imported: ‘import matplotlib; matplotlib.use('Agg’)`. This prevents the creation of a GUI.

    #!sh
     pip install matplotlib --user
     pip install scipy --user
     pip install pandas --user
    -

    Adding geometry

    +

    Adding geometry

    This is only needed if you want to use the geometry support in cmf. In most cases you will not need it.

    First compile and install libgeos to your local lib directory:

    #!sh
     wget http://download.osgeo.org/geos/geos-3.3.5.tar.bz2
    @@ -170,22 +181,24 @@ 

    Compile cmf

    make make install cd .. -

    Now you need to point the path to that directory

    #!sh
    +

    Now you need to point the path to that directory

    #!sh
     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.local/lib
     export PATH=$PATH:$HOME/.local/bin
    -

    To make this permanent (on every start up), add these lines to the file /.bash_profile. You can do that with an editor (eg. nano) or with the commands:

    #!sh
    +

    To make this permanent (on every start up), add these lines to the file /.bash_profile. You can do that with an editor (eg. nano) or with the commands:

    #!sh
     echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.local/lib" >>~/.bash_profile
     echo "export PATH=$PATH:$HOME/.local/bin" >>~/.bash_profile
     pip install shapely --user
    -

    Install spotpy on a HPC

    +

    Install spotpy on a HPC

    To run spotpy on the HPC you need mpi4py installed. While pip install mpi4py should do, it might still not work. In case it fails, compile it by yourself (eg with adjusted version numbers):

    #!sh
     wget https://bitbucket.org/mpi4py/mpi4py/downloads/mpi4py-2.0.0.tar.gz
     tar -xzf mpi4py-2.0.0.tar.gz
     cd mpi4py-2.0.0
     python setup.py install --user
     cd ..
    -

    Now you can install spotpy

    #!sh
    -pip install spotpy --user
    +

    Now you can install spotpy

    #!sh
    +pip install spotpy --user
    +
    +
    diff --git a/docs/cmf_install_ubuntu.html b/docs/cmf_install_ubuntu.html index 39171c65..279468a5 100644 --- a/docs/cmf_install_ubuntu.html +++ b/docs/cmf_install_ubuntu.html @@ -2,33 +2,37 @@ - - - - -cmf: Linux installation - - - - + + + + + cmf: Linux installation + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,60 +93,29 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Linux installation
    +
    +
    Linux installation

    back...

    Install cmf on a Linux with sudo privileges

    -

    First you need to make sure that the dependencies of cmf are fullfilled. It is good practise to get ppackages from your Linux distribution, if they are available and to get only those packages, that you can't get from your distribution to install directly in Python. Any package installed by your OS package manager will be updated by the OS, while other packages need to get updated by yourself.

    -

    I am working mostly with Ubuntu variants, hence i can't say anything about other Linux package managers. However an internet search like "apt-get fedora" will help.

    -

    Python 2.7

    -

    You need sudo privileges to install the dependencies for the system. You will need python-dev and numpy. Recommended are matplotlib, scipyand pandas.

    -

    Dependencies of cmf from the Ubuntu package manager

    -
    #!sh
    -sudo apt-get install python-dev python-numpy python-scipy python-pandas python-matplotlib
    -

    Get dependencies from the Python Package Index (PyPI)

    -

    Follow this steps if you can't get the packages from your OS or if you do not have sudo privileges. This text assumes you want everything only installed for yourself and not for other users.

    -

    First check your python version:

    #!sh
    -python --version
    -

    If the version is <=2.7.8 then get the program pip to install more packages.For higher versions, pip is already part of Python

    #!sh
    -wget https://bootstrap.pypa.io/get-pip.py
    -python get-pip.py --user
    -

    The next steps are only needed if you did not used the apt-get commands from above:

    #!sh
    -pip install numpy --user
    -pip install matplotlib --user
    -pip install scipy --user
    -pip install pandas --user
    -

    Compile cmf

    -

    Get the source code from CmfDownload and unzip it to /cmf-source

    #!sh
    -cd cmf-source
    -python setup.py install --user
    -cd .. # Important! You cannot test your installation from the source folder
    -

    or, without multi core processor support (without OpenMP)

    #!sh
    -cd cmf-source
    -python setup.py install noopenmp --user
    -cd .. # Important! You cannot test your installation from the source folder
    -

    Adding geometric support to CMF

    -

    To added geometric features to cmf, you need to install the geos library and shapely. For the geos library, you need sudo privileges

    #!sh
    -wget http://download.osgeo.org/geos/geos-3.2.2.tar.bz2
    -tar -xjf geos-3.2.2.tar.bz2
    -cd geos-3.2.2
    -./configure
    -make
    -sudo make install
    -cd ..
    -pip install shapely --user
    -

    Python 3.5

    +

    Python 3.7 and higher

    Work in progress..

    Adding geometric support to CMF

    +
    diff --git a/docs/cmf_install_windows.html b/docs/cmf_install_windows.html index 66cddf47..fb78d5db 100644 --- a/docs/cmf_install_windows.html +++ b/docs/cmf_install_windows.html @@ -2,33 +2,37 @@ - - - - -cmf: Windows installation - - - - + + + + + cmf: Windows installation + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,75 +93,90 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Windows installation
    +
    +
    Windows installation

    back...

    -

    Installing cmf on Windows for Python 2.7

    +

    Python 3

    +

    Without geometry

    This is the simplest way to install cmf on Windows. It shows one path, that should be suitable for most computers with a Windows system. Alternatives are listed below

      -
    • Get a recent winpython distribution from (http://sourceforge.net/projects/winpython/). Today the 64bit variant should run on most computers. When in doubt - use 32bit, it fits always.
    • +
    • Get a recent winpython distribution from (http://sourceforge.net/projects/winpython/). Today the 64bit variant should run on most computers.
    • "Install" it to any directory on your computer, eg. C:\Apps
    • -
    • Download cmf - Binary for Python 2.7 32 bit from CmfDownload
    • -
    • Open C:\Apps\Winpython2.732bit in your file explorer and double click on the "Winpython Control Panel.exe"
    • -
    • In that program, click on a "Add packages" and add the downloaded cmf
    • -
    • Click install, and here you go...
    -

    If you already have an existing Python installation you can also use:

    pip install cmf
    -

    More choice

    -

    What you really need to install cmf is a running python 2.7 interpreter with the numpy package. Having other packages from the so called scipy-Stack available, like scipy, matplotlib, pandas is fine. The best way to get the scipy stack is to install a scientific python distribution. winpython is one choice, but Anaconda and python(x,y) are others and they work equally fine. But please follow the instructions to add packages to these distributions, there are some traps around.

    -

    Adding Geometry

    +

    Open the WinPython Command Prompt and type

    pip install cmf
    +

    Adding Geometry

    Just get the shapely binary from:

    http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely

    -

    and install it with the pacakge manager of your python distribution. it is the Winpython Control Panel fro winpython.

    -

    Compile cmf from source for python 2.7

    -

    If you want to use always the most recent version of cmf or if you like to make changes to the C++ source files of cmf, you need to compile the C++ files to machine language.

    -

    '''Note''': Compiling C++ code on Windows is not simple

    -

    To compile sources, you need a compiler - the right compiler. Python 2.7 for Windows is compiled with Visual Studio 2008, and you need the same compiler. However, you cannot buy this compiler and development tool anymore, because it is to old. But Microsoft gives the compiler without the integrated development environment (IDE) away for free.

    -

    Get the right compiler and other prerequisites

    -

    Download the right C++ compiler (called Windows SDK) here: [Microsoft Visual C++ Compiler for Python 2.7](https://www.microsoft.com/download/details.aspx?id=44266)

    -

    And install it. To use the compiler you might need to tweak it a bit, to have the compiler working seamlessly with Python. Save the following batch file to as C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\vcvarsall.bat

    @echo off
    -REM Calls the right environment depending on your architecture
    -if "%1x"=="x86x" "%~dp0\bin\vcvars32.bat"
    -if "%1x"=="amd64x" "%~dp0\bin\vcvars64.bat"
    -

    Next you need to make the compiler a bit more "modern":

    +

    and install it with the pacakge manager of your python distribution. Eg. use the Winpython Control Panel for winpython.

    +

    Compile cmf for Python 3 with Visual Studio

    +

    Prerequisites

    +

    To compile cmf2 you need the following installed on your computer:

      -
    • Download and install the boost library (http://www.boost.org), headers only is fine.
    • -
    • Create an environmental variable called BOOSTDIR pointing to the boost installation directory.
    • +
    • Buildtools for Visual Studio from https://visualstudio.microsoft.com/de/downloads/. Please check Python and Visual Studio compiler version at https://pythondev.readthedocs.io/windows.html
    • +
    • A Python (>3.6)) installation, preferably a scientific distribution like WinPython or Anaconda, including pip
    • +
    • The CMF source code. Get it using Git or download a ZIP from GitHub.com (https://github.com/philippkraft/cmf)
    • +
    • Optional: SWIG from swig.org (in the path). If you plan to change the C++ API of CMF you need to generate the Python interface with SWIG again. accessible from
      +
    -

    Compile

    -
      -
    • Get the cmf source code from CmfDownload and unzip it on your hard drive
    • -
    • Open a command line and navigate to the cmf source directory
    • -
    -

    Compiling cmf and installing it for your computer is than as simple as typing in a command line:

    -

    '''Note''': Do not test the intallation in the source code folder. The compiled library will not be found.

    python setup.py install
    -

    Python 3.5

    -

    Without geometry

    -

    This is the simplest way to install cmf on Windows. It shows one path, that should be suitable for most computers with a Windows system. Alternatives are listed below

    -
      -
    • Get a recent winpython distribution from (http://sourceforge.net/projects/winpython/). Today the 64bit variant should run on most computers. When in doubt - use 32bit, it fits always.
    • -
    • "Install" it to any directory on your computer, eg. C:\Apps
    • -
    • Download cmf - Binary for Python 3.5 32 bit from CmfDownload
    • -
    • Open C:\Apps\Winpython2.732bit in your file explorer and double click on the "Winpython Control Panel.exe"
    • -
    • In that program, click on a "Add packages" and add the downloaded cmf
    • -
    • Click install, and here you go...
    • -
    -

    If you already have an existing Python installation you can also use:

    pip install cmf
    -

    Adding Geometry

    -

    Just get the shapely binary from:

    -

    http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely

    -

    and install it with the pacakge manager of your python distribution. Use again the Winpython Control Panel for winpython.

    -

    Compile cmf for Python 3.5

    -

    Compiling cmf for Python 3.5 works in Windows. However, there is no established procedure by now. The main point is, that Python 3.5 is compiled with Visual Studio 2015, which is actually available and for free (no money, no freedom) available for private persons, academic institutions and small companies. It should also work with: Visual C++ compiler 2015. You can find more references on how to compile C and C++ extensions (like cmf) for Python on Windows here including links to the Microsoft Compiler without Visual Studio

    +

    Installation of requirements

    +

    Open a Visual Studio Development Command Prompt and make sure the right python installation is in the path (eg. python -VV). Navigate to the cmf source code. It is a good idea to create a virtual environment (venv) for the compilation

    +

    Check if nmake is in the path, if you get an error message you are not using the Visual Studio Development Command Prompt or you have not installed the Build Tools properly

    nmake /?
    +

    Install the requirements

    pip install -r requirements.txt
    +

    Install cmake

    pip install cmake
    +

    One-Step installation of CMF

    +

    Installing and compiling CMF takes some time. The easiest way is to just install cmf from the source directory using pip install. In case of problems, it is better to compile CMF step by step (see below)

    pip install . -v
    +

    The -v stands for verbose, to give more output

    +

    Step by step installation of CMF

    +

    Compiling and installing of cmf consists of the following steps

    +
      +
    1. Download the source code of the solvers in CMF (suitesparse and sundials) and build them
    2. +
    3. Build the CMF C++ library linking the solvers
    4. +
    5. Build the Python extension and link it with the libraries
    6. +
    7. Build the Python tools for CMF
    8. +
    9. Install the whole library in your Python installation
    10. +
    11. Test it
    12. +
    +

    Build the solvers (1)

    +
    tools\install_solvers.bat
    +

    The source code for the solvers is downloaded to build\extern, the built libraries are stored in the lib directory

    +

    Build the CMF C++ Library (2)

    +
    tools\install_cmf_core.bat
    +

    There are a couple of test executables build together with cmf. These executables can be found in the directory bin. The static library is together with the solver libraries in lib\lib

    +

    Build and link the Python extension (3)

    +
    python setup.py build_ext
    +

    If the C++ API has been changed, build the wrapper interface newly with

    python setup.py build_ext swig
    +

    Build the Python tools

    +
    python setup.py build_py
    +

    Install the package to the current python version

    +
    python setup.py install
    +

    Test cmf

    +

    Do not fire up a python command prompt and import cmf in the source directory. This will fail.

    +

    Either change the directory first or run the cmf tests with

    tools\test.bat
    +

    This will take care of the necessary directory change

    +

    Deployment of the compiled version

    +

    You can distribute your compiled version to other Windows users by building a binary wheel.

    python setup.py bdist_wheel
    +

    or

    pip wheel .
    +

    The .whl file is in the dist directory and can be easily shared between computers.

    +

    Note:

    +

    The .whl is ony suitable for the same Python version, architecture (x64/x86) and operating system (Windows). If you are distributing a compiled version of CMF, it is required by the licence to give the receivers of the binary package access to the source that has been used to compile the binary. In case of an unchanged CMF a link to the CMF code repository is sufficient. If you have made changes to the source code, you are responsible to provide the receiver with your source code, which inherits the GNU Public Licence from CMF.

    +

    Compile CMF2 for Python 3 with the Windows Subsystem for Linux (WSL)

    +

    Just follow the instructions for installing CMF on Linux

    +
    diff --git a/docs/cmf_introduction.html b/docs/cmf_introduction.html index 6e0b4488..2ec058fd 100644 --- a/docs/cmf_introduction.html +++ b/docs/cmf_introduction.html @@ -2,33 +2,37 @@ - - - - -cmf: Scientific background of cmf - - - - + + + + + cmf: Scientific background of cmf + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Scientific background of cmf
    +
    +
    Scientific background of cmf

    In the last decade, the application of classical hydrological rainfall runoff models is disputed as a valid method for understanding water transport in landscapes (eg. Beven 2002 and 2006, Seibert and McDonnell 2002, Sivapalan et al. 2003, Kirchner 2006, Tetzlaff et al. 2008), since current models lack the ability for formulation and rejection of hypotheses. Vache and McDonnell (2006) developed a framework for the rejection of model structures, where each model structure is understood as a hypothesis on runoff generation. This work is a newly developed generalized form of the Vache-McDonnell rejectionist framework, called the Catchment Modelling Framework (CMF, Kraft et al. 2011 and 2012). It is an extension to the programming language Python, written in C++, offering a toolkit for the set up of a wide range of hydrological models, following the [finite volume approach](FiniteVolumeMethod) by Qu and Duffy (2007). The framework exports objects to set up a network of water and solute fluxes.

    @@ -119,6 +130,7 @@
  • Vache, K.B., McDonnell, J.J., 2006. A process-based rejectionist framework for evaluating catchment runoff model structure. Water Resour.Res. W02409, doi:10.1029/2005WR004247.
  • +
    diff --git a/docs/cmf_lumped_simple.html b/docs/cmf_lumped_simple.html index ae46364d..3166fc3c 100644 --- a/docs/cmf_lumped_simple.html +++ b/docs/cmf_lumped_simple.html @@ -2,33 +2,37 @@ - - - - -cmf: Lumped Model with Spotpy Tutorial - - - - + + + + + cmf: Lumped Model with Spotpy Tutorial + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Lumped Model with Spotpy Tutorial
    +
    +
    Lumped Model with Spotpy Tutorial

    Downloads

    @@ -108,29 +119,138 @@

    Getting started

    In a former tutorial we learned how we can use CMF to build a simple lumped model. There, we also learned that calibration by hand is quite difficult. As we are not the first persons who discover this, smart people have devised solutions for this problem. One of those solutions is Spotpy. Spotpy allows the automated calibration of models with many different algorithms and objective functions. This tutorial here is meant to show you how to use CMF with Spotpy. For this we will be using classes (object oriented programming). So if you do not yet know what classes are, it might be helpful to take a look. Though, for our purposes it is enough when you understand classes are just a fancy way to organize the structure of you code. Obviously you need to have SPOTPY and CMF installed on your computer to make this work. To run the model we will also need data. For the tutorial semi randomly generated data can be downloaded here: discharge, temperature and precipitation.

    Spotpy Interface

    Spotpy makes some assumptions about your model. So to make your model compatible to Spotpy, you need some additional methods which work as an interface to Spotpy. To make them easier recycable it can be handy to shift them to an additional class. You do not neccesary have to fully grasp what those methods do, if you simply want a quick calibration done.

    -
    class SpotpyInterface:

    The first method calls your model and makes it run with the parameters Spotpy provides and returns the results the model calculated.

    -
    def simulation(self,vector):
    """
    SpotPy expects a method simulation. This methods calls setparameters
    and runmodels, so SpotPy is satisfied
    """
    paramdict = dict((pp.name,v) for pp,v in zip(self.params,vector))
    self.setparameters(**paramdict)
    resQ = self.runmodel()
    return np.array(resQ)

    The second method is needed by Spotpy to generate the data with which the model is evaluated. In our case this is the measured discharge.

    -
    def evaluation(self):
    end = self.begin + cmf.day * len(self.Q)
    return np.array(self.Q[self.begin:end])

    The third method calls Spotpy's own method for parameter generation. This means the values for the parameters we need in our model are generated here.

    -
    def parameters(self):
    return spotpy.parameter.generate(self.params)

    The final method of the interface is used to define the objective function. This means on what criteria the model should be judged. In our case we are using the Nash-Sutcliffe Efficieny, which focusses on peak flows.

    -
    def objectivefunction(self,simulation,evaluation):
    return spotpy.objectivefunctions.nashsutcliffe(evaluation,simulation)

    The actual model

    +
    class SpotpyInterface:
    +

    The first method calls your model and makes it run with the parameters Spotpy provides and returns the results the model calculated.

    +
    def simulation(self,vector):
    +
    """
    +
    SpotPy expects a method simulation. This methods calls setparameters
    +
    and runmodels, so SpotPy is satisfied
    +
    """
    +
    paramdict = dict((pp.name,v) for pp,v in zip(self.params,vector))
    +
    self.setparameters(**paramdict)
    +
    resQ = self.runmodel()
    +
    return np.array(resQ)
    +

    The second method is needed by Spotpy to generate the data with which the model is evaluated. In our case this is the measured discharge.

    +
    def evaluation(self):
    +
    end = self.begin + cmf.day * len(self.Q)
    +
    return np.array(self.Q[self.begin:end])
    +

    The third method calls Spotpy's own method for parameter generation. This means the values for the parameters we need in our model are generated here.

    +
    def parameters(self):
    +
    return spotpy.parameter.generate(self.params)
    +

    The final method of the interface is used to define the objective function. This means on what criteria the model should be judged. In our case we are using the Nash-Sutcliffe Efficieny, which focusses on peak flows.

    +
    def objectivefunction(self,simulation,evaluation):
    +
    return spotpy.objectivefunctions.nashsutcliffe(evaluation,simulation)
    +

    The actual model

    The structure of the model is the same as the one we used in the first lumped tutorial. Therefore it should already be a bit familiar. The main difference is that the model code is now structured in a class, instead of writing one line under the next one. For this a class is used. To make use of the Interface we created, we let our model class inherit the methods from the SpotpyInterface class.

    -
    class CMFLumped(SpotpyInterface):

    The first method of the model class initializes all things we need for the model, meaning the project, the cell, the layer, an outlet and out date.

    -
    def __init__(self):
    # create the project
    self.project = cmf.project()
    # For the cell we do not need to specify the x,y,z data as their will only be one cell.
    # A cell size of 1000 comes in handy because then our data is in m³ the same as in mm.
    self.cell = self.project.NewCell(0,0,0,1000)
    # Also we need to define how when our model begins and in what timesteps it should act
    self.begin = datetime.datetime(1979,1,1)
    self.step = datetime.timedelta(days = 1)
    # Add the soil. The parameter is the depth of the layer. In this case the soil is 2 m deep.
    self.soil = self.cell.add_layer(2.0)
    # Create the outlet were all the water of the catchment will be directed to.
    self.outlet = self.project.NewOutlet("Out", 10,0,0)
    # Evaporation
    cmf.HargreaveET(self.soil, self.cell.transpiration)

    This method is also used to define our parameters and their range. For this we need to import a distribution from spotpy. For our case Uniform is sufficient.

    -
    param = spotpy.parameter.Uniform
    # define all parameters and their range
    self.params = [param("Q0", 1., 500),
    param("beta",0.3, 5.),
    param("ETV1", 0., 200),
    param("fEVT0", 0., 1)]
    P, Q, T, Tmin, Tmax = self.loadPETQ()

    Finally the method the method loads in the forcing data and initializes the rainfall and the meteo station by calling another method (described below).

    -
    P, Q, T, Tmin, Tmax = self.loadPETQ()
    self.Q = Q
    self.create_stations(P, Q, T, Tmin, Tmax)

    The method to load in the weather data works the same way as in the model without spotpy.

    -
    def loadPETQ(self):
    # Data (plain text files)
    fnQ = 'discharge.txt' # enter the name of your discharge data here in m³/day
    fnT = 'max_min_avg_temp.txt' # enter the name of your max, min and average temperature here in °C
    fnP = 'prec.txt' # enter the name of your precipitation data here in mm/day
    # create a empty time series that starts at the begin
    # and goes by step for all elements in the file
    P = cmf.timeseries(self.begin, self.step)
    P.extend(float(Pstr) for Pstr in open(fnP))
    Q = cmf.timeseries(self.begin,self.step)
    Q.extend(float(Qstr) for Qstr in open(fnQ))
    # Convert m3/s to mm/day
    Q *= 86400 * 1e3 / (2976.41 * 1e6)
    T = cmf.timeseries(self.begin, self.step)
    Tmin = cmf.timeseries(self.begin, self.step)
    Tmax = cmf.timeseries(self.begin, self.step)
    # Go through all lines in the file
    for line in open(fnT):
    columns = line.split('\t')
    if len(columns) == 3:
    Tmax.add(float(columns[0])) Tmin.add(float(columns[1]))
    T.add(float(columns[2]))
    return P, Q, T, Tmin, Tmax

    Same goes for the method to create the stations.

    -
    def create_stations(self, P, Q, T, Tmin, Tmax):
    # Create the rainstation and give it the freshly loaded precipitaton data
    self.project.rainfall_stations.add('Rain',P,(0,0,0))
    # This tells every cell in the model (in our case one) to use the rainfall station
    # that is nearest to it.
    self.project.use_nearest_rainfall()
    # Create the meteo station
    meteo = self.project.meteo_stations.add_station('Meteo',(0,0,0))
    # add all data to the station
    meteo.T = T
    meteo.Tmin = Tmin
    meteo.Tmax = Tmax
    # Tell the cell to use the nearest station
    self.project.use_nearest_meteo()

    One significant difference to the model without Spotpy is the method to set the values for the parameters. We need this method as we cannot simply hardcode the values as we did in the model without Spotpy. Instead the parameters must be flexibly be filled with the values Spotpy provides. Therefore, we need to create this method to be able to do this.

    -
    def setparameters(self, **params):
    # Flux from soil to outlet (interflow)
    cmf.PowerLawConnection(self.cell.layers[0], self.outlet,
    params["Q0"], V0=500, exponent=params["beta"])
    # Adjustment of the evapotranspiration
    self.cell.set_uptakestress(cmf.VolumeStress(params["ETV1"], params["ETV1"]] * params["fEVT0"))

    Finally, we need a method which lets the model run and creates an array of the output. Here we also create the CMF solver, which solves the differential equations.

    -
    def runmodel(self):
    try:
    # create the solver, tell him which project it should solve and what its
    # maximal error should be
    #print(cmf.describe(self.project))
    solver = cmf.CVodeDense(self.project, 1e-8)
    # create an list to save all discharge data
    discharge = []
    # let the solver run for the given timeperiode (this may take some time)
    for t in solver.run(self.begin, self.begin + cmf.day * len(self.Q), self.step):
    # save the discharge for every timestep
    discharge.append(self.outlet.waterbalance(t))
    return discharge
    except RuntimeError:
    return np.array(self.Q[self.begin:self.end + datetime.timedelta(days=1)])*np.nan

    Running the model

    +
    class CMFLumped(SpotpyInterface):
    +

    The first method of the model class initializes all things we need for the model, meaning the project, the cell, the layer, an outlet and out date.

    +
    def __init__(self):
    +
    # create the project
    +
    self.project = cmf.project()
    +
    # For the cell we do not need to specify the x,y,z data as their will only be one cell.
    +
    # A cell size of 1000 comes in handy because then our data is in m³ the same as in mm.
    +
    self.cell = self.project.NewCell(0,0,0,1000)
    +
    # Also we need to define how when our model begins and in what timesteps it should act
    +
    self.begin = datetime.datetime(1979,1,1)
    +
    self.step = datetime.timedelta(days = 1)
    +
    +
    # Add the soil. The parameter is the depth of the layer. In this case the soil is 2 m deep.
    +
    self.soil = self.cell.add_layer(2.0)
    +
    +
    # Create the outlet were all the water of the catchment will be directed to.
    +
    self.outlet = self.project.NewOutlet("Out", 10,0,0)
    +
    # Evaporation
    +
    cmf.HargreaveET(self.soil, self.cell.transpiration)
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +

    This method is also used to define our parameters and their range. For this we need to import a distribution from spotpy. For our case Uniform is sufficient.

    +
    param = spotpy.parameter.Uniform
    +
    # define all parameters and their range
    +
    self.params = [param("Q0", 1., 500),
    +
    param("beta",0.3, 5.),
    +
    param("ETV1", 0., 200),
    +
    param("fEVT0", 0., 1)]
    +
    P, Q, T, Tmin, Tmax = self.loadPETQ()
    +

    Finally the method the method loads in the forcing data and initializes the rainfall and the meteo station by calling another method (described below).

    +
    P, Q, T, Tmin, Tmax = self.loadPETQ()
    +
    self.Q = Q
    +
    self.create_stations(P, Q, T, Tmin, Tmax)
    +

    The method to load in the weather data works the same way as in the model without spotpy.

    +
    def loadPETQ(self):
    +
    # Data (plain text files)
    +
    fnQ = 'discharge.txt' # enter the name of your discharge data here in m³/day
    +
    fnT = 'max_min_avg_temp.txt' # enter the name of your max, min and average temperature here in °C
    +
    fnP = 'prec.txt' # enter the name of your precipitation data here in mm/day
    +
    # create a empty time series that starts at the begin
    +
    # and goes by step for all elements in the file
    +
    P = cmf.timeseries(self.begin, self.step)
    +
    P.extend(float(Pstr) for Pstr in open(fnP))
    +
    Q = cmf.timeseries(self.begin,self.step)
    +
    Q.extend(float(Qstr) for Qstr in open(fnQ))
    +
    # Convert m3/s to mm/day
    +
    Q *= 86400 * 1e3 / (2976.41 * 1e6)
    +
    T = cmf.timeseries(self.begin, self.step)
    +
    Tmin = cmf.timeseries(self.begin, self.step)
    +
    Tmax = cmf.timeseries(self.begin, self.step)
    +
    +
    # Go through all lines in the file
    +
    for line in open(fnT):
    +
    columns = line.split('\t')
    +
    if len(columns) == 3:
    +
    Tmax.add(float(columns[0])) Tmin.add(float(columns[1]))
    +
    T.add(float(columns[2]))
    +
    return P, Q, T, Tmin, Tmax
    +

    Same goes for the method to create the stations.

    +
    def create_stations(self, P, Q, T, Tmin, Tmax):
    +
    # Create the rainstation and give it the freshly loaded precipitaton data
    +
    self.project.rainfall_stations.add('Rain',P,(0,0,0))
    +
    # This tells every cell in the model (in our case one) to use the rainfall station
    +
    # that is nearest to it.
    +
    self.project.use_nearest_rainfall()
    +
    +
    # Create the meteo station
    +
    meteo = self.project.meteo_stations.add_station('Meteo',(0,0,0))
    +
    # add all data to the station
    +
    meteo.T = T
    +
    meteo.Tmin = Tmin
    +
    meteo.Tmax = Tmax
    +
    # Tell the cell to use the nearest station
    +
    self.project.use_nearest_meteo()
    +

    One significant difference to the model without Spotpy is the method to set the values for the parameters. We need this method as we cannot simply hardcode the values as we did in the model without Spotpy. Instead the parameters must be flexibly be filled with the values Spotpy provides. Therefore, we need to create this method to be able to do this.

    +
    def setparameters(self, **params):
    +
    # Flux from soil to outlet (interflow)
    +
    cmf.PowerLawConnection(self.cell.layers[0], self.outlet,
    +
    params["Q0"], V0=500, exponent=params["beta"])
    +
    # Adjustment of the evapotranspiration
    +
    self.cell.set_uptakestress(cmf.VolumeStress(params["ETV1"], params["ETV1"]] * params["fEVT0"))
    +

    Finally, we need a method which lets the model run and creates an array of the output. Here we also create the CMF solver, which solves the differential equations.

    +
    def runmodel(self):
    +
    try:
    +
    # create the solver, tell him which project it should solve and what its
    +
    # maximal error should be
    +
    #print(cmf.describe(self.project))
    +
    solver = cmf.CVodeDense(self.project, 1e-8)
    +
    # create an list to save all discharge data
    +
    discharge = []
    +
    # let the solver run for the given timeperiode (this may take some time)
    +
    for t in solver.run(self.begin, self.begin + cmf.day * len(self.Q), self.step):
    +
    # save the discharge for every timestep
    +
    discharge.append(self.outlet.waterbalance(t))
    +
    return discharge
    +
    except RuntimeError:
    +
    return np.array(self.Q[self.begin:self.end + datetime.timedelta(days=1)])*np.nan
    +

    Running the model

    Now the model is ready to be used with Spotpy. The handling is rather straightforward. We simply have to create an instance of our model and forward it to Spotpy. Spotpy additionally needs to know what output format we want and what our file should be called. Here we can also define how often the model should run.

    -
    model = CMFLumped()
    sampler = spotpy.algorithms.lhs(model, dbformat ="csv", dbname = "model")
    runs = 100
    sampler.sample(runs)

    We you know start this model you should get a Nash-Sutcliffe Efficieny of about ~ 0.3. You can play around with other objective functions and add additional storages and connections, to test wether you can improve the model. The output you get should be similar to this:

    -
    - -
    +
    model = CMFLumped()
    +
    sampler = spotpy.algorithms.lhs(model, dbformat ="csv", dbname = "model")
    +
    runs = 100
    +
    sampler.sample(runs)
    +

    We you know start this model you should get a Nash-Sutcliffe Efficieny of about ~ 0.3. You can play around with other objective functions and add additional storages and connections, to test wether you can improve the model. The output you get should be similar to this:

    +

    Spotpy tells you what algorithm it is using and how much it as progressed in calculating all the runs we asked it for. When its done, Spotpy informs us about the beste run (In this case NS = 0.57) and what parameter set was used for this best run (In our case 64.4,..., 3.44, 0.66. The order in this parameter set is the one we have defined in the model.

    Old tutorial

    In case someone is missing the old tutorial, it can still be found here: http://fb09-pasig.umwelt.uni-giessen.de/cmf/wiki/Cmflumped

    +
    diff --git a/docs/cmf_lumped_without_spotpy.html b/docs/cmf_lumped_without_spotpy.html index 9debebc3..585443c4 100644 --- a/docs/cmf_lumped_without_spotpy.html +++ b/docs/cmf_lumped_without_spotpy.html @@ -2,33 +2,37 @@ - - - - -cmf: Lumped model without Spotpy Tutorial - - - - + + + + + cmf: Lumped model without Spotpy Tutorial + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Lumped model without Spotpy Tutorial
    +
    +
    Lumped model without Spotpy Tutorial

    Here you will learn how to create a complete lumped model in CMF.

    @@ -109,26 +120,120 @@

    Getting started

    The model structure we want to create in this tutorial can be downloaded above. You will not need any additional files except the weather data, that can be downloaded above as well.

    Importing the needed libraries and creating the project

    The first thing we have to do is to import all the tools we will need further down. Also we will create the CMF project itself and one cell. This one cell will be the basis on which we built our lumped model

    -
    # import handy tools
    import numpy as np
    import datetime
    import cmf
    # create the project
    # For the cell we do not need to specify the x,y,z data as their will only be one cell.
    # A cell size of 1000 comes in handy because then our data is in m³ the same as in mm.
    c = p.NewCell(0,0,0,1000)
    # Also we need to define how when our model begins and in what timesteps it should act
    begin = datetime.datetime(1979,1,1)
    step = datetime.timedelta(days = 1)

    Creating all storages

    +
    # import handy tools
    +
    import numpy as np
    +
    import datetime
    +
    import cmf
    +
    +
    # create the project
    + +
    # For the cell we do not need to specify the x,y,z data as their will only be one cell.
    +
    # A cell size of 1000 comes in handy because then our data is in m³ the same as in mm.
    +
    c = p.NewCell(0,0,0,1000)
    +
    # Also we need to define how when our model begins and in what timesteps it should act
    +
    begin = datetime.datetime(1979,1,1)
    +
    step = datetime.timedelta(days = 1)
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +

    Creating all storages

    We now have a cell and can start adding the storages and define their starting properties.

    -
    # Add the soil. The parameter is the depth of the layer. In this case the soil is 2 m deep.
    soil = c.add_layer(2.0)
    # Create the outlet were all the water of the catchment will be directed to.
    outlet = p.NewOutlet("Out", 10,0,0)
    # Add Evaporation
    cmf.HargreaveET(soil, c.transpiration)

    Create all connections

    +
    # Add the soil. The parameter is the depth of the layer. In this case the soil is 2 m deep.
    +
    soil = c.add_layer(2.0)
    +
    # Create the outlet were all the water of the catchment will be directed to.
    +
    outlet = p.NewOutlet("Out", 10,0,0)
    +
    # Add Evaporation
    +
    cmf.HargreaveET(soil, c.transpiration)
    +

    Create all connections

    As we not only want storages of water, but also want to transfer water between them we need connections. Every connection is governed by its parameters. As we do not use Spotpy and are thus unable to get the right values for the parameter created for us, we need to set them our selves. If you want to built your own model, you have to tweak the values yourselves. As you have many possibilites in a model, you should consider starting with a less complex one.

    -
    # define all parameters
    Q0 = 3
    V0 = 450
    # ETV1 = the Volume that defines that the evaporation is lowered because of not enough water
    ETV1 = 100
    # fETV0 = factor the ET is multiplied with when water is low
    fETV0 = 0.5
    beta = 1.4

    After we now have the parameter values we can start connecting things. CMF offers very different types of connections. From the simple kinematic wave to simple Infiltration and many more, much is possible. For simplicity we stick here to the kinematic wave.

    -
    # Flux from soil to outlet (interflow)
    cmf.PowerLawConnection(c.layers[0],outlet,Q0, V0, beta)

    Define the properties of other governing processes

    +
    # define all parameters
    +
    Q0 = 3
    +
    V0 = 450
    +
    # ETV1 = the Volume that defines that the evaporation is lowered because of not enough water
    +
    ETV1 = 100
    +
    # fETV0 = factor the ET is multiplied with when water is low
    +
    fETV0 = 0.5
    +
    beta = 1.4
    +

    After we now have the parameter values we can start connecting things. CMF offers very different types of connections. From the simple kinematic wave to simple Infiltration and many more, much is possible. For simplicity we stick here to the kinematic wave.

    +
    # Flux from soil to outlet (interflow)
    +
    cmf.PowerLawConnection(c.layers[0],outlet,Q0, V0, beta)
    +

    Define the properties of other governing processes

    After all connections have been set, we need to fine tune our model by specifying its behaviour regarding evapotranspiration.

    -
    # Adjustment of the evapotranspiration
    c.set_uptakestress(cmf.VolumeStress(ETV1,ETV1 * fETV0))

    Reading data in

    +
    # Adjustment of the evapotranspiration
    +
    c.set_uptakestress(cmf.VolumeStress(ETV1,ETV1 * fETV0))
    +

    Reading data in

    Before we can let the model do its work we need one more thing: forcing data. For this the three files from the start of this tutorial need to be present in your working directory. They can be read using the following code:

    -
    # Data (plain text files)
    fnQ = 'discharge.txt' # enter the name of your discharge data here in m³/day
    fnT = 'max_min_avg_temp.txt' # enter the name of your max, min and average temperature here in °C
    fnP = 'prec.txt' # enter the name of your precipitation data here in mm/day
    # create a empty time series that starts at the begin
    # and goes by step for all elements in the file
    P = cmf.timeseries(begin, step)
    P.extend(float(Pstr) for Pstr in open(fnP))
    Q = cmf.timeseries(begin,step)
    Q.extend(float(Qstr) for Qstr in open(fnQ))
    # Convert m3/s to mm/day
    Q *= 86400 * 1e3 / (2976.41 * 1e6)
    T = cmf.timeseries(begin,step)
    Tmin = cmf.timeseries(begin,step)
    Tmax = cmf.timeseries(begin,step)
    # Go through all lines in the file
    for line in open(fnT):
    columns = line.split('\t')
    if len(columns) == 3:
    Tmax.add(float(columns[0])) Tmin.add(float(columns[1]))
    T.add(float(columns[2]))

    Creating a meteorological station

    +
    # Data (plain text files)
    +
    fnQ = 'discharge.txt' # enter the name of your discharge data here in m³/day
    +
    fnT = 'max_min_avg_temp.txt' # enter the name of your max, min and average temperature here in °C
    +
    fnP = 'prec.txt' # enter the name of your precipitation data here in mm/day
    +
    # create a empty time series that starts at the begin
    +
    # and goes by step for all elements in the file
    +
    P = cmf.timeseries(begin, step)
    +
    P.extend(float(Pstr) for Pstr in open(fnP))
    +
    +
    Q = cmf.timeseries(begin,step)
    +
    Q.extend(float(Qstr) for Qstr in open(fnQ))
    +
    # Convert m3/s to mm/day
    +
    Q *= 86400 * 1e3 / (2976.41 * 1e6)
    +
    T = cmf.timeseries(begin,step)
    +
    Tmin = cmf.timeseries(begin,step)
    +
    Tmax = cmf.timeseries(begin,step)
    +
    +
    # Go through all lines in the file
    +
    for line in open(fnT):
    +
    columns = line.split('\t')
    +
    if len(columns) == 3:
    +
    Tmax.add(float(columns[0])) Tmin.add(float(columns[1]))
    +
    T.add(float(columns[2]))
    +

    Creating a meteorological station

    After we now have the meteorological data, we have to create meteo stations and add the data to them. The stations are CMFs way to make the weather data accessible for the model. Rainfall stations and meteorological stations are handled seperately.

    -
    # Create the rainstation and give it the freshly loaded precipitaton data
    rainstation = p.rainfall_stations.add('Rain',P,(0,0,0))
    # This tells every cell in the model (in our case one) to use the rainfall station
    # that is nearest to it.
    p.use_nearest_rainfall()
    # Create the meteo station
    meteo = p.meteo_stations.add_station('Meteo',(0,0,0))
    # add all data to the station
    meteo.T = T
    meteo.Tmin = Tmin
    meteo.Tmax = Tmax
    # Tell the cell to use the nearest station
    p.use_nearest_meteo()

    Let it run

    +
    # Create the rainstation and give it the freshly loaded precipitaton data
    +
    rainstation = p.rainfall_stations.add('Rain',P,(0,0,0))
    +
    # This tells every cell in the model (in our case one) to use the rainfall station
    +
    # that is nearest to it.
    +
    p.use_nearest_rainfall()
    +
    +
    # Create the meteo station
    +
    meteo = p.meteo_stations.add_station('Meteo',(0,0,0))
    +
    # add all data to the station
    +
    meteo.T = T
    +
    meteo.Tmin = Tmin
    +
    meteo.Tmax = Tmax
    +
    # Tell the cell to use the nearest station
    +
    p.use_nearest_meteo()
    +

    Let it run

    The structure of our model is now complete. We just need it to run. For this we need a solver for the differential equations. A good choice it the CVode Integrator. But you can use other solvers as well.

    -
    # create the solver, tell him which project it should solve and what its
    # maximal error should be
    solver = cmf.CVodeKrylov(p, 1e-8)
    # create an list to save all discharge data
    discharge = []
    # let the solver run for the given timeperiode (this may take some time)
    for t in solver.run(begin, begin + cmf.day * len(Q), step):
    # save the discharge for every timestep
    discharge.append(outlet.waterbalance(t))

    Compare the results

    +
    # create the solver, tell him which project it should solve and what its
    +
    # maximal error should be
    +
    solver = cmf.CVodeKrylov(p, 1e-8)
    +
    # create an list to save all discharge data
    +
    discharge = []
    +
    # let the solver run for the given timeperiode (this may take some time)
    +
    for t in solver.run(begin, begin + cmf.day * len(Q), step):
    +
    # save the discharge for every timestep
    +
    discharge.append(outlet.waterbalance(t))
    +

    Compare the results

    After our model has now run we have a calculated discharge data for every day. As we also have the really measured discharge for every day we can compare those two, to see how good our model worked.

    -
    # import the plotting tools
    import matplotlib.pyplot as plt
    # plot and show the measured discharge against the simulated discharge
    plt.plot(Q)
    plt.plot(discharge)
    plt.xlabel("Days")
    plt.ylabel("m³ per day")
    plt.ylim(0,20)
    plt.show()

    As you can see the results of our model are not very good and differ quite a lot from the real values. To quantify how good (our bad) our model is we can calculate the percentage bias.

    -
    # Transfer both timeseries to arrays for easier calculation
    dis = np.array(discharge)
    Q = np.array(Q)
    # calculate the percentage bias
    pc_bias = 100.0*sum(dis-Q)/sum(Q)
    print("The percentage bias is %f" %(pc_bias))

    This gives us 92% as a result. Meaning that the difference between the simulated and the observed values is almost larger than the observed values itself. A clear indication that the parameter values we have choosen for our model are not appropriate. Play around a bit with the parameter values and see if you can get the bias below 100 %, 50 % or even 10 %. Always consider what the parameter values are standing for and what would be a realistic value for them.

    +
    # import the plotting tools
    +
    import matplotlib.pyplot as plt
    +
    # plot and show the measured discharge against the simulated discharge
    +
    plt.plot(Q)
    +
    plt.plot(discharge)
    +
    plt.xlabel("Days")
    +
    plt.ylabel("m³ per day")
    +
    plt.ylim(0,20)
    +
    plt.show()
    +

    As you can see the results of our model are not very good and differ quite a lot from the real values. To quantify how good (our bad) our model is we can calculate the percentage bias.

    +
    # Transfer both timeseries to arrays for easier calculation
    +
    dis = np.array(discharge)
    +
    Q = np.array(Q)
    +
    # calculate the percentage bias
    +
    pc_bias = 100.0*sum(dis-Q)/sum(Q)
    +
    print("The percentage bias is %f" %(pc_bias))
    +

    This gives us 92% as a result. Meaning that the difference between the simulated and the observed values is almost larger than the observed values itself. A clear indication that the parameter values we have choosen for our model are not appropriate. Play around a bit with the parameter values and see if you can get the bias below 100 %, 50 % or even 10 %. Always consider what the parameter values are standing for and what would be a realistic value for them.

    What's next?

    Now you are able to built a relatively complex lumped model in CMF. Also you have seen that calibrating your model by hand is quite a lot of work, so be sure to check out Spotpy to learn how to let the computer do this work for you.

    +
    diff --git a/docs/cmf_recommended_software_environment.html b/docs/cmf_recommended_software_environment.html index aef9c3c5..3321245f 100644 --- a/docs/cmf_recommended_software_environment.html +++ b/docs/cmf_recommended_software_environment.html @@ -2,33 +2,37 @@ - - - - -cmf: Recommended Software Environment - - - - + + + + + cmf: Recommended Software Environment + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Recommended Software Environment
    +
    +
    Recommended Software Environment

    There are as many Python editors and interactive systems as hydrological models. Since cmf is nothing more than an extension to Python, you can just use what you like. However, if you are new to Python, you can start with the software tools used by the cmf developers:

    @@ -115,6 +126,7 @@

    Notepad++

    gedit, kate, emacs, vim

    If you are familiar Linux, I'm sure you have already your favourite light editor with syntax highlighting, otherwise use what comes with your distribution.

    +
    diff --git a/docs/cmf_tut1d.html b/docs/cmf_tut1d.html index b8710d11..ce14231e 100644 --- a/docs/cmf_tut1d.html +++ b/docs/cmf_tut1d.html @@ -2,33 +2,37 @@ - - - - -cmf: Create a one dimensional Richards equation based model - - - - + + + + + cmf: Create a one dimensional Richards equation based model + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,39 +93,93 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Create a one dimensional Richards equation based model
    +
    +
    Create a one dimensional Richards equation based model
    -structure_cmf_1d.png +
    -

    A one dimensional highly detailed model, comparable to models like BROOK90 (Federer 1995; Allen et al., 1998) or Hydrus 1D (Simunek et al., 2005), is developed through the allocation of a number of soil water storages, with connections based upon a Richards equation-based flux connector. This very short and simple example shows just the percolation through a homogeneous medium without any boundary flow. A more complete example with rainfall and graphical output can be found in the download section.

    +

    A one dimensional highly detailed model, comparable to models like BROOK90 (Federer 1995; Allen et al., 1998) or Hydrus 1D (Simunek et al., 2005), is developed through the allocation of a number of soil water storages, with connections based upon a Richards equation-based flux connector. This very short and simple example shows just the percolation through a homogeneous medium without any boundary flow. A more complete example with rainfall and graphical output can be found in the download section.

    Create a project and one 1000m² cell

    -
    import cmf
    from datetime import datetime,timedelta
    project = cmf.project()
    # Add one cell at position (0,0,0), Area=1000m2 with a surface water storage
    cell = project.NewCell(x=0,y=0,z=0,area=1000, with_surfacewater=True)

    Create a retention curve

    -
    r_curve = cmf.VanGenuchtenMualem(Ksat=1,phi=0.5,alpha=0.01,n=2.0)

    Add ten layers of 10cm thickness

    -
    for i in range(10):
    depth = (i+1) * 0.1
    cell.add_layer(depth,r_curve)

    Connect layers with Richards perc.

    -
    for upper,lower in zip(cell.layers[:-1],cell.layers[1:]):
    cmf.Richards(upper,lower)

    this can be shorten as

    -
    cell.install_connection(cmf.Richards)

    Using this command, all layers of the cell get connected with Richards equation.

    +
    import cmf
    +
    from datetime import datetime,timedelta
    +
    project = cmf.project()
    +
    # Add one cell at position (0,0,0), Area=1000m2 with a surface water storage
    +
    cell = project.NewCell(x=0,y=0,z=0,area=1000, with_surfacewater=True)
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +

    Create a retention curve

    +
    r_curve = cmf.VanGenuchtenMualem(Ksat=1,phi=0.5,alpha=0.01,n=2.0)
    +

    Add ten layers of 10cm thickness

    +
    for i in range(10):
    +
    depth = (i+1) * 0.1
    +
    cell.add_layer(depth,r_curve)
    +

    Connect layers with Richards perc.

    +
    for upper,lower in zip(cell.layers[:-1],cell.layers[1:]):
    +
    cmf.Richards(upper,lower)
    +

    this can be shorten as

    +
    cell.install_connection(cmf.Richards)
    +

    Using this command, all layers of the cell get connected with Richards equation.

    Now we need to create an integrator for the resulting system. Since the Richards equation procduces a very stiff (difficult to solve) system, one needs to use an implicit solver with an adaptive time stepping scheme. The CVodeKrylov, a wrapper for the CVODE-solver by Hindmarsh et al. (2005) is such a solver and recommended for all cmf models using Richards equation.

    -
    solver = cmf.CVodeKrylov(project,1e-6)
    solver.t = cmf.Time(1,1,2011)

    Now we set the initial conditions

    -
    # Set all layers to a potential of -2 m
    cell.saturated_depth = 2.
    # 100 mm water in the surface water storage for percolation
    cell.surfacewater.depth = 0.1

    This is the setup code for our simple 1D Richards-Model. To run the model we create the run time loop using the solver.run iterator and we save soil moisture and potential for each layer into lists.

    +
    solver = cmf.CVodeKrylov(project,1e-6)
    +
    solver.t = cmf.Time(1,1,2011)
    +

    Now we set the initial conditions

    +
    # Set all layers to a potential of -2 m
    +
    cell.saturated_depth = 2.
    +
    # 100 mm water in the surface water storage for percolation
    +
    cell.surfacewater.depth = 0.1
    +

    This is the setup code for our simple 1D Richards-Model. To run the model we create the run time loop using the solver.run iterator and we save soil moisture and potential for each layer into lists.

    -CmfTut1d-result-no-boundary.png +
    -
    # Save potential and soil moisture for each layer,
    # start with initial conditions
    potential = [cell.layers.potential]
    moisture = [cell.layers.theta]
    # The run time loop, run for 7 days
    for t in solver.run(solver.t,
    solver.t + timedelta(days=7),
    timedelta(hours=1)):
    potential.append(cell.layers.potential)
    moisture.append(cell.layers.theta)
    # Plot results
    from pylab import *
    subplot(211)
    plot(moisture)
    ylabel(r'Soil moisture $\theta [m^3/m^3]$')
    xlabel(r'$time [h]$')
    grid()
    subplot(212)
    plot(potential)
    ylabel(r'Water head $\Psi_{tot} [m]$')
    xlabel(r'$time [h]$')
    grid()

    The upper graph shows the soil moisture content of each layer, the lower the water potential for each layer. The water table rises and a new hydrostatic equilibrium at 1.35 m below ground is established

    +
    # Save potential and soil moisture for each layer,
    +
    # start with initial conditions
    +
    potential = [cell.layers.potential]
    +
    moisture = [cell.layers.theta]
    +
    # The run time loop, run for 7 days
    +
    for t in solver.run(solver.t,
    +
    solver.t + timedelta(days=7),
    +
    timedelta(hours=1)):
    +
    potential.append(cell.layers.potential)
    +
    moisture.append(cell.layers.theta)
    +
    +
    # Plot results
    +
    from pylab import *
    +
    subplot(211)
    +
    plot(moisture)
    +
    ylabel(r'Soil moisture $\theta [m^3/m^3]$')
    +
    xlabel(r'$time [h]$')
    +
    grid()
    +
    subplot(212)
    +
    plot(potential)
    +
    ylabel(r'Water head $\Psi_{tot} [m]$')
    +
    xlabel(r'$time [h]$')
    +
    grid()
    +

    The upper graph shows the soil moisture content of each layer, the lower the water potential for each layer. The water table rises and a new hydrostatic equilibrium at 1.35 m below ground is established

    Adding a groundwater boundary condition

    As the next step, a fixed groundwater table as a lower boundary condition is introduced into our model. The following line needs to be inserted into the setup part of the script, eg. before setting the initial conditions:

    -CmfTut1d-result-gw-boundary.png +
    -
    # Create the boundary condition
    gw = project.NewOutlet('groundwater',x=0,y=0,z=-2)
    # Set the potential
    gw.potential = -2
    # Connect the lowest layer to the groundwater using Richards percolation
    gw_flux=cmf.Richards(cell.layers[-1],gw)

    In this experiment, the water percolates through the soil and out of our model boundaries. The water content is at the end of the simulation period near to the orginal values.

    +
    # Create the boundary condition
    +
    gw = project.NewOutlet('groundwater',x=0,y=0,z=-2)
    +
    # Set the potential
    +
    gw.potential = -2
    +
    # Connect the lowest layer to the groundwater using Richards percolation
    +
    gw_flux=cmf.Richards(cell.layers[-1],gw)
    +

    In this experiment, the water percolates through the soil and out of our model boundaries. The water content is at the end of the simulation period near to the orginal values.

    Some links to the API help of objects used in this tutorial

    • Richards equation
    • @@ -128,6 +187,7 @@

      Some links to the API help of objects used in this tutorial

    • layer_list
    +
    diff --git a/docs/cmf_tut2d.html b/docs/cmf_tut2d.html index a7829ce6..b9d43c87 100644 --- a/docs/cmf_tut2d.html +++ b/docs/cmf_tut2d.html @@ -2,33 +2,37 @@ - - - - -cmf: A simple Darcian hillslope model - - - - + + + + + cmf: A simple Darcian hillslope model + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    A simple Darcian hillslope model
    +
    +
    A simple Darcian hillslope model

    last...

    @@ -105,32 +116,97 @@

    Define the hillslope

  • here we use a simple function z(x). The cmf project will be p again.
  • Import libraries, create project

    -
    import cmf
    import numpy as np
    def z(x):
    return 10/(1+np.exp((x-100)/30))
    # create a project

    Creating 20 cells

    +
    import cmf
    +
    import numpy as np
    +
    def z(x):
    +
    return 10/(1+np.exp((x-100)/30))
    +
    # create a project
    + +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +

    Creating 20 cells

    Our hill slope should have an exponential slope, is 200 m long and is discretized into 20 cells. By using different cell areas, a quasi-3D effect for converging or diverging fluxes could be applied, but in our example the area of each cell is fixed to 10m x 10m.

    -
    for i in range(20):
    x = i * 10.
    # create a cell with surface storage
    c = p.NewCell(x,0,z(x),100,True)

    The topological connection of the cells is simple, we only need to connect each cell with its lower neighbor. The width of the connection is 10m.

    -
    for c_upper,c_lower in zip(p[:-1],p[1:]):
    c_upper.topology.AddNeighbor(c_lower,10.)

    Now, each cell needs to have soil layers, exactly the same way as in the setup code in [wiki:CmfTut1d], just with some other layer depth and the "default" Van Genuchten-Mualem retention curve - it is better to parameterize your soil type of course (Hydraulic head (subsurface)).

    -
    # Customize cells
    for c in p:
    # create layers
    for d in [0.02,0.05,0.1,0.2,0.3,0.5,0.75,1.0,1.25,1.5,1.75,2.]:
    rc = cmf.VanGenuchtenMualem(Ksat=50*np.exp(-d),alpha=0.1,n=2.0,phi=0.5)
    rc.w0 = 0.9996
    c.add_layer(d,rc)
    # set initial conditions
    c.saturated_depth=2.
    # use Richards connection
    c.install_connection(cmf.Richards)
    c.install_connection(cmf.GreenAmptInfiltration)
    # Add more connections here... (eg. ET, snowmelt, canopy overflow)

    Using Darcy and KinematicSurfaceRunoff as lateral connections as in CmfTutDarcianLateralFlow and CmfTutSurfaceRunoff. Due to the defined topology, we can use the cmf.connect_cells_with_flux function.

    -
    cmf.connect_cells_with_flux(p,cmf.KinematicSurfaceRunoff)

    Create boundary conditions and solver

    +
    for i in range(20):
    +
    x = i * 10.
    +
    # create a cell with surface storage
    +
    c = p.NewCell(x,0,z(x),100,True)
    +

    The topological connection of the cells is simple, we only need to connect each cell with its lower neighbor. The width of the connection is 10m.

    +
    for c_upper,c_lower in zip(p[:-1],p[1:]):
    +
    c_upper.topology.AddNeighbor(c_lower,10.)
    +

    Now, each cell needs to have soil layers, exactly the same way as in the setup code in [wiki:CmfTut1d], just with some other layer depth and the "default" Van Genuchten-Mualem retention curve - it is better to parameterize your soil type of course (Hydraulic head (subsurface)).

    +
    # Customize cells
    +
    for c in p:
    +
    # create layers
    +
    for d in [0.02,0.05,0.1,0.2,0.3,0.5,0.75,1.0,1.25,1.5,1.75,2.]:
    +
    rc = cmf.VanGenuchtenMualem(Ksat=50*np.exp(-d),alpha=0.1,n=2.0,phi=0.5)
    +
    rc.w0 = 0.9996
    +
    c.add_layer(d,rc)
    +
    # set initial conditions
    +
    c.saturated_depth=2.
    +
    # use Richards connection
    +
    c.install_connection(cmf.Richards)
    +
    c.install_connection(cmf.GreenAmptInfiltration)
    +
    # Add more connections here... (eg. ET, snowmelt, canopy overflow)
    +

    Using Darcy and KinematicSurfaceRunoff as lateral connections as in CmfTutDarcianLateralFlow and CmfTutSurfaceRunoff. Due to the defined topology, we can use the cmf.connect_cells_with_flux function.

    +
    +
    cmf.connect_cells_with_flux(p,cmf.KinematicSurfaceRunoff)
    +
    connect_cells_with_flux(cells, connection, start_at_layer=0)
    Definition __init__.py:30
    +

    Create boundary conditions and solver

    Boundary conditions

    For our example we will use the following boundary conditions:

    1. No flow to the deep groundwater (impervious bedrock) 2. No flow at the upper side of the hillslope (upper side is water shed) 3. Steady rainfall of 10mm/day to each cell 4. Constant head boundary at the low end of the hillslope at 0.47m below the lowest cell in 10 m distance.

    Boundary conditions 1 & 2 are implemented by doing nothing (no connection is no flow). Boundary condition 3 is applied as follows:

    -
    for c in p:
    c.set_rainfall(10.)

    Boundary condition 4 (outlet) is applied by using a DirichletBoundary, using the NewOutlet method of the project. The outlet is connected with the Darcy connection to each soil layer. The surface water of the lowest cell p\[\[-1\]|is connected to the outlet with KinematicSurfaceRunoff

    -
    outlet = p.NewOutlet('outlet',200,0,0)
    for l in p[-1].layers:
    # create a Darcy connection with 10m flow width between each soil layer
    # and the outlet
    cmf.Darcy(l,outlet,FlowWidth=10.)
    cmf.KinematicSurfaceRunoff(p[-1].surfacewater,outlet,10.)

    Solver

    +
    for c in p:
    +
    c.set_rainfall(10.)
    +

    Boundary condition 4 (outlet) is applied by using a DirichletBoundary, using the NewOutlet method of the project. The outlet is connected with the Darcy connection to each soil layer. The surface water of the lowest cell p\[\[-1\]|is connected to the outlet with KinematicSurfaceRunoff

    +
    outlet = p.NewOutlet('outlet',200,0,0)
    +
    for l in p[-1].layers:
    +
    # create a Darcy connection with 10m flow width between each soil layer
    +
    # and the outlet
    +
    cmf.Darcy(l,outlet,FlowWidth=10.)
    +
    cmf.KinematicSurfaceRunoff(p[-1].surfacewater,outlet,10.)
    +

    Solver

    The last thing needed for the complete setup code is the solver. With Richards and Darcy equation, we have again a stiff system and thus use the CVODE solver:

    -
    solver = cmf.CVodeKrylov(p,1e-9)
    solver.t = datetime.datetime(2012,1,1)

    Visualization and runtime loop

    +
    solver = cmf.CVodeKrylov(p,1e-9)
    +
    solver.t = datetime.datetime(2012,1,1)
    +

    Visualization and runtime loop

    In the runtime code, you need to define which data should be collected during runtime and handle the data accordingly. In [wiki:CmfTut1d] we have used two different approaches - save data to a file during runtime and collect the data in a list for later visualization. You can of course apply both techniques here also. However, if you want to observe the state changes in a 2D hillslope and not only the runoff, an image with time on the one axis and depth on the other is not sufficient. Hence we are going to present the results live during the model run in an animation.

    First we need a kind of drawing, that shows all states. As always in cmf, you can design the output as you like. One possibility, drawing everey layer as a sheared rectangle colored by a state variable and arrows indicating the flux between the layers is already bundled with cmf in the cmf.draw module - the hill_plot class. This class is not very well documented, but you can have a look to the source code.

    This creates a hill_plot of our hillslope:

    -
    # Import the hill_plot
    from cmf.draw import hill_plot
    # Import some matplotlib stuff
    from matplotlib.pylab import figure,show,cm
    # Create a new matplotlib figure fig
    fig = figure(figsize=(16,9))
    # Create a subplot with a light grey background
    ax = fig.add_subplot(111,axisbg='0.8')
    # Create the hillplot for water filled pore space with using a yellow to green to blue colormap
    image = hill_plot(p,solver.t,cmap=cm.YlGnBu)
    # Set the scale for the arrows. This value will change from model to model.
    image.scale = 100.
    # white arrows are nicer to see
    image.q_sub.set_facecolor('w')

    Animations can be created using the FuncAnimation class from the matplotlib.animation module. The drawing (and in our case advancing of the model) is done in a function taking the frame number as the first argument:

    -
    def run(frame):
    # Run model for one day
    t = solver(cmf.day)
    # Update image
    image(t)

    Last part is to create the animation object and show what we have done. The animation starts directly.

    -
    from matplotlib.animation import FuncAnimation
    animation = FuncAnimation(fig,run,repeat=False,
    frames=365)
    show()

    The result after 30 days of simulation looks like this:

    +
    # Import the hill_plot
    +
    from cmf.draw import hill_plot
    +
    # Import some matplotlib stuff
    +
    from matplotlib.pylab import figure,show,cm
    +
    +
    # Create a new matplotlib figure fig
    +
    fig = figure(figsize=(16,9))
    +
    # Create a subplot with a light grey background
    +
    ax = fig.add_subplot(111,axisbg='0.8')
    +
    # Create the hillplot for water filled pore space with using a yellow to green to blue colormap
    +
    image = hill_plot(p,solver.t,cmap=cm.YlGnBu)
    +
    # Set the scale for the arrows. This value will change from model to model.
    +
    image.scale = 100.
    +
    # white arrows are nicer to see
    +
    image.q_sub.set_facecolor('w')
    +
    Definition __init__.py:1
    +

    Animations can be created using the FuncAnimation class from the matplotlib.animation module. The drawing (and in our case advancing of the model) is done in a function taking the frame number as the first argument:

    +
    def run(frame):
    +
    # Run model for one day
    +
    t = solver(cmf.day)
    +
    # Update image
    +
    image(t)
    +

    Last part is to create the animation object and show what we have done. The animation starts directly.

    +
    from matplotlib.animation import FuncAnimation
    +
    animation = FuncAnimation(fig,run,repeat=False,
    +
    frames=365)
    +
    show()
    +

    The result after 30 days of simulation looks like this:

    -CmfTut2d-30days.png +
    -

    Excercises

    +

    Excercises

    1. Stop the rain after 100days. (a few minutes) 2. Save the outlet water balance in a list and plot it after calculation (a few minutes) 3. Use real weather data (some more work) 4. Use ET, snowmelt etc. (a few minutes) 5. Go in the field, measure pF curves, collect meteo data and discharge and make a real model. Learn from model failure (time...)

    +
    diff --git a/docs/cmf_tut3d.html b/docs/cmf_tut3d.html index 0159a019..501bbf5c 100644 --- a/docs/cmf_tut3d.html +++ b/docs/cmf_tut3d.html @@ -2,33 +2,37 @@ - - - - -cmf: 3D Model - - - - + + + + + cmf: 3D Model + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,20 +93,26 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    3D Model
    +
    +
    3D Model
    -structure_cmf_3d.png +
    -

    The extension to a three dimensional landscape model essentially amounts to a process of allocating additional cells in the same fashion as for the 2D case. Topological information from existing data, where elevation grids are a very convenient starting point, is utilized to develop the lateral connections between the soil layers and the surface water automatically. From the standpoint of the framework, this procedure simply amounts to the allocation of increased number of model elements, although the complete definition of the full catchment model does require a number of addition types of water storage to effectively capture the variability and complexity of real world systems. These elements include water transport and storage by streams, dams, lakes and drainage pipe systems, the use of which is outlined in Figure 5 and code snippet 9. This is not to suggest that this type of fully-defined and physically-based catchment model is not without fault – a fact that has been the focus of a significant part of the hydrologic literature since the development of the Freeze and Harlan (1969) blueprint for the development of such a model. Going beyond discussions of parameterization and scale, the complexity of this approach, within CMF, leads to a significant demand for computational power and with standard machines, is suitable only for small catchments (less than 10 ha) at this time. One mechanism to alleviate some of these shortcomings is to invoke simplifications that are appropriate for different simulation goals.

    #!python
    +    

    The extension to a three dimensional landscape model essentially amounts to a process of allocating additional cells in the same fashion as for the 2D case. Topological information from existing data, where elevation grids are a very convenient starting point, is utilized to develop the lateral connections between the soil layers and the surface water automatically. From the standpoint of the framework, this procedure simply amounts to the allocation of increased number of model elements, although the complete definition of the full catchment model does require a number of addition types of water storage to effectively capture the variability and complexity of real world systems. These elements include water transport and storage by streams, dams, lakes and drainage pipe systems, the use of which is outlined in Figure 5 and code snippet 9. This is not to suggest that this type of fully-defined and physically-based catchment model is not without fault – a fact that has been the focus of a significant part of the hydrologic literature since the development of the Freeze and Harlan (1969) blueprint for the development of such a model. Going beyond discussions of parameterization and scale, the complexity of this approach, within CMF, leads to a significant demand for computational power and with standard machines, is suitable only for small catchments (less than 10 ha) at this time. One mechanism to alleviate some of these shortcomings is to invoke simplifications that are appropriate for different simulation goals.

    #!python
     import cmf
     p=cmf.project()
     r_curve=cmf.VanGenuchtenMualem()
    @@ -120,7 +131,9 @@
     # subsurface flow
     cmf.connect_cells_with_flux(p,cmf.Richards_lateral)
     # surface runoff
    -cmf.connect_cells_with_flux(p,cmf.Manning_Kinematic)
    +cmf.connect_cells_with_flux(p,cmf.Manning_Kinematic) +
    +
    diff --git a/docs/cmf_tut_abstract_fluxes.html b/docs/cmf_tut_abstract_fluxes.html index 5771a945..2c349dcb 100644 --- a/docs/cmf_tut_abstract_fluxes.html +++ b/docs/cmf_tut_abstract_fluxes.html @@ -2,33 +2,37 @@ - - - - -cmf: Abstract connections for advanced model concepts - - - - + + + + + cmf: Abstract connections for advanced model concepts + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Abstract connections for advanced model concepts
    +
    +
    Abstract connections for advanced model concepts

    Depending on your model design, you might need to use rather abstract concepts can help to realize your model - but not every model needs these connections.

    @@ -104,11 +115,15 @@

    Balancing water flux at one node

    What does it mean?

    The WaterbalanceFlux is a connection to route the water balance of a node somewhere else. The connection checks the flux over all other connections of the left node and routes any surplus to the right node, or in case of a negative water balance of the left node, additional water is fetched from the right node. Or as a mathematical expression:

    -\[ q_{N} = -\sum_{i=1}^{N-1} q_{j}(V, V_{j}) \] +\[ +q_{N} = -\sum_{i=1}^{N-1} q_{j}(V, V_{j}) +\]

    The water balance connection levels always all other fluxes out: The sum of all fluxes (including the water balance connection) is zero.

    -\[ \sum_{i=1}^{N} q_{j}(V, V_{j}) = \frac{dV}{dt} = 0 \] +\[ +\sum_{i=1}^{N} q_{j}(V, V_{j}) = \frac{dV}{dt} = 0 +\]

    Hence, there is often no need anymore to leave the left node a storage, since no state change can happen there due to the water balance connection. You should therefore consider to change your storage into a "non-storing" node, like a boundary condition. If your water balance connection connects to the surface of a cell, you can (in most cases) create the cell without surface water storage

    When do I want a water balance connection

    @@ -120,7 +135,13 @@

    When do I want a water balance connection

    However, a water balance connection might solve a problem for a totally new application of cmf, which we as the developers have not forseen. Be creative!

    At the cell surface

    When the user creates the first subsurface storage for a conceptual model with no surface water storage, this first layer is automatically connected with the surface via a water balance connection.

    -
    # Create cell without surface water storage
    c = p.NewCell(0, 0, 0, 1000, with_surfacewater=False)
    l = c.add_layer(1.0) # Add layer with 1000 mm capacity
    print(cmf.describe(c.surfacewater))

    results in:

    +
    +
    # Create cell without surface water storage
    +
    c = p.NewCell(0, 0, 0, 1000, with_surfacewater=False)
    +
    l = c.add_layer(1.0) # Add layer with 1000 mm capacity
    +
    print(cmf.describe(c.surfacewater))
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +

    results in:

    • {Surface water of cell #0}:
      • waterbalance connection({Surface water of cell #0}<->{Layer #0 of cell #0})
      • @@ -131,7 +152,13 @@

        At the cell surface

        With this automatic construction, the mass balance of the system is ensured - no water can vanish at the surface node, which happens when the water balance of c.surfacewater.waterbalance(t) != 0.

        If you choose to use an infiltration method that limits infiltration by saturation excess or hortonian overflow (e.g. ConceptualInfiltration), and the cell surface is still no storage, the local mass balance on the surface is not necessary zero, and the excess gets lost. To route the surface water excess without time lag to a river or the catchment outlet (good approximation for time steps > 1h), you can use the water balance connection again.

        The following code is meant to expand the code snippet from above:

        -
        cmf.ConceptualInfiltration(l, c.surfacewater)
        # Create outlet
        out = p.NewOutlet('outlet')
        # moves all infiltration excess to the outlet
        cmf.WaterbalanceFlux(c.surfacewater, out)
        print(cmf.describe(c.surfacewater))

        results in:

        +
        cmf.ConceptualInfiltration(l, c.surfacewater)
        +
        # Create outlet
        +
        out = p.NewOutlet('outlet')
        +
        # moves all infiltration excess to the outlet
        +
        cmf.WaterbalanceFlux(c.surfacewater, out)
        +
        print(cmf.describe(c.surfacewater))
        +

        results in:

        • {Surface water of cell #0}:
          • waterbalance connection({Surface water of cell #0}<->{outlet})
          • @@ -144,13 +171,38 @@

            As a bridge between submodels

            If the second example for the surface does not point to an outlet but another part of the model setup, eg. a river, the water balance connection is the bridge between the local (cell) sub model and the distributing river network. You can also place a collection node between the submodels for simplified observation of fluxes between these different model domains.

            Keeping a flux constant as long as water is available

            -CmfTutAbstractFluxes.png +
            -

            For some processes a constant flux from one water storage to another or a boundary condition is needed. These constant (but externally changeable) fluxes can be anthropogenic water fluxes, like the regulation of a dam or a pump rate, or some other process that has a flux limit. Eg. the model HBVlight assumes a constant percolation from the 1st to the 2nd groundwater storage. However, when the source becomes empty, the flux stops. To avoid a hard stop, the fluxes decreases linear to zero, when only volume for decrease time is left in the source storage.

            +

            For some processes a constant flux from one water storage to another or a boundary condition is needed. These constant (but externally changeable) fluxes can be anthropogenic water fluxes, like the regulation of a dam or a pump rate, or some other process that has a flux limit. Eg. the model HBVlight assumes a constant percolation from the 1st to the 2nd groundwater storage. However, when the source becomes empty, the flux stops. To avoid a hard stop, the fluxes decreases linear to zero, when only volume for decrease time is left in the source storage.

            Currently, this type of connection is called ConstantFlux.

            -
            p = cmf.project()
            w = p.NewStorage('source')
            o = p.NewOutlet('out')
            import pylab as plt
            # Add a constant flux
            constflux = cmf.ConstantFlux(w, o, 1.0, flux_decrease_time=cmf.day)
            w.volume = 2.0
            solver = cmf.RKFIntegrator(p)
            vol, flux = zip(*[(w.volume, w.flux_to(o, t))
            for t in solver.run(cmf.Time(), cmf.day * 4, cmf.h)])
            plt.subplot(1, 2, 1)
            plt.plot(vol,color='r', label='Volume')
            plt.plot(flux,color='b', label='flux')
            plt.yticks([1], ['$q_{max}$'])
            plt.xticks([24, 48, 72],[1, 2, 3])
            plt.xlabel('days')
            plt.legend()
            plt.subplot(1, 2, 2)
            plt.plot(vol, flux, 'kx')
            plt.ylabel('flux $m^3/day$')
            plt.xlabel('volume $m^3$')

            Keeping a state constant as long as water is available

            -

            This connection holds the state of a water storage constant getting or releasing water to the other node of the connection. The flux between the nodes is proportional to the difference between the state of the storage and the defined target state of the storage. This connection is called ConstantStateFlux.

            +
            +
            w = p.NewStorage('source')
            +
            o = p.NewOutlet('out')
            +
            import pylab as plt
            +
            # Add a constant flux
            +
            constflux = cmf.ConstantFlux(w, o, 1.0, flux_decrease_time=cmf.day)
            +
            w.volume = 2.0
            +
            solver = cmf.RKFIntegrator(p)
            +
            vol, flux = zip(*[(w.volume, w.flux_to(o, t))
            +
            for t in solver.run(cmf.Time(), cmf.day * 4, cmf.h)])
            +
            plt.subplot(1, 2, 1)
            +
            plt.plot(vol,color='r', label='Volume')
            +
            plt.plot(flux,color='b', label='flux')
            +
            plt.yticks([1], ['$q_{max}$'])
            +
            plt.xticks([24, 48, 72],[1, 2, 3])
            +
            plt.xlabel('days')
            +
            plt.legend()
            +
            plt.subplot(1, 2, 2)
            +
            plt.plot(vol, flux, 'kx')
            +
            plt.ylabel('flux $m^3/day$')
            +
            plt.xlabel('volume $m^3$')
            +

            Keeping a state constant as long as water is available

            +

            This connection holds the state of a water storage constant getting or releasing water to the other node of the connection. The flux between the nodes is proportional to the difference between the state of the storage and the defined target state of the storage. This connection is called ConstantStateFlux.

            +

            Partitioning of a water flux calculated by another connection

            +

            PartitionFluxRoute reads the flux between two nodes (source and target1) and routes a fraction of the actual flux to a third node (target2) immediately and without a time lag. The PartitioningFluxRoute connects target1 with target2 but gets the flux from the other connection.

            +

            This can be used for divides in the network, bypassing layers as in BROOK90 or leaky connections in conceptual models. Another option is to divide a water flux into a fast and slow path way.

    +
    diff --git a/docs/cmf_tut_boundary.html b/docs/cmf_tut_boundary.html index e8f68e93..e6e58dff 100644 --- a/docs/cmf_tut_boundary.html +++ b/docs/cmf_tut_boundary.html @@ -2,33 +2,37 @@ - - - - -cmf: Boundary conditions - - - - + + + + + cmf: Boundary conditions + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,35 +93,72 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Boundary conditions
    +
    +
    Boundary conditions

    back... next...

    The first model from the last chapter is truely mass conservant. No water is entering or leaving the system. In this chapter the system will be opened up to be influenced by the system environment.

    Creating an outlet

    As a first step we will create a system outlet. The setup from the last chapter was:

    -
    # We are going to need the datetime module
    import datetime
    import cmf
    W1 = p.NewStorage(name="W1")
    W2 = p.NewStorage(name="W2")
    q = cmf.LinearStorageConnection(source=W1, target=W2, residencetime=1.0)
    W1.volume = 1.0

    Now we add an outlet DirichletBoundary to the project and connect W2 with that outlet, using a linear storage connection with a longer residence time

    -
    Out = p.NewOutlet(name="Outlet")
    qout = cmf.LinearStorageConnection(source=W2,target=Out,residencetime=2.0)

    At last the new system needs to be solved again, the same way as the first model:

    -
    # Create the solver
    solver = cmf.RKFIntegrator(p,1e-9)
    # Iterate the solver hourly through the time range and return for each time step the volume in W1 and W2
    result = [[W1.volume,W2.volume] for t in solver.run(datetime.datetime(2012,1,1),datetime.datetime(2012,1,7),datetime.timedelta(hours=1))]
    import pylab as plt
    plt.plot(result)
    plt.xlabel('hours')
    plt.ylabel('Volume in $m^3$')
    plt.legend(('W1','W2'))
    plt.show()

    This results in:

    +
    # We are going to need the datetime module
    +
    import datetime
    +
    import cmf
    + +
    W1 = p.NewStorage(name="W1")
    +
    W2 = p.NewStorage(name="W2")
    +
    q = cmf.LinearStorageConnection(source=W1, target=W2, residencetime=1.0)
    +
    W1.volume = 1.0
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +

    Now we add an outlet DirichletBoundary to the project and connect W2 with that outlet, using a linear storage connection with a longer residence time

    +
    Out = p.NewOutlet(name="Outlet")
    +
    qout = cmf.LinearStorageConnection(source=W2,target=Out,residencetime=2.0)
    +

    At last the new system needs to be solved again, the same way as the first model:

    +
    # Create the solver
    +
    solver = cmf.RKFIntegrator(p,1e-9)
    +
    # Iterate the solver hourly through the time range and return for each time step the volume in W1 and W2
    +
    result = [[W1.volume,W2.volume] for t in solver.run(datetime.datetime(2012,1,1),datetime.datetime(2012,1,7),datetime.timedelta(hours=1))]
    +
    import pylab as plt
    +
    plt.plot(result)
    +
    plt.xlabel('hours')
    +
    plt.ylabel('Volume in $m^3$')
    +
    plt.legend(('W1','W2'))
    +
    plt.show()
    +

    This results in:

    -CmfTutBoundaryOut.png +
    -

    Creating an input boundary condition

    +

    Creating an input boundary condition

    To extend our model with input flux, we can add a Neumann boundary condition (NeumannBoundary) as a second boundary. This type of boundary condition is not triggered by the state of a water storage in the system, but by a defined flux given by the user. Since the flux should change over time, the flux is given as a timeseries. In this tutorial you will create a timeseries with daily alternating flux values between 0 and 1.

    The setup code needs to be extended with the following:

    -
    # Create a Neumann Boundary condition connected to W1
    In = cmf.NeumannBoundary.create(W1)
    # Create a timeseries with daily alternating values.
    In.flux = cmf.timeseries(begin = datetime.datetime(2012,1,1),
    step = datetime.timedelta(days=1),
    interpolationmethod = 0)
    for i in range(10):
    # Add 0.0 m3/day for even days, and 1.0 m3/day for odd days
    In.flux.add(i % 2)

    That's it. And the result is:

    +
    # Create a Neumann Boundary condition connected to W1
    +
    In = cmf.NeumannBoundary.create(W1)
    +
    # Create a timeseries with daily alternating values.
    +
    In.flux = cmf.timeseries(begin = datetime.datetime(2012,1,1),
    +
    step = datetime.timedelta(days=1),
    +
    interpolationmethod = 0)
    +
    for i in range(10):
    +
    # Add 0.0 m3/day for even days, and 1.0 m3/day for odd days
    +
    In.flux.add(i % 2)
    +

    That's it. And the result is:

    -CmfTutBoundaryInOut.png +
    -

    If the input timeseries is replaced by measured net rainfall data and the residence times of the storages are calibrated, you might be lucky to predict some catchments correctly. However, cmf contains many, many more connection types than linear storage connections. Some of the connection types are shown in the next chapters. A list of all connections is here.

    +

    If the input timeseries is replaced by measured net rainfall data and the residence times of the storages are calibrated, you might be lucky to predict some catchments correctly. However, cmf contains many, many more connection types than linear storage connections. Some of the connection types are shown in the next chapters. A list of all connections is here.

    +
    diff --git a/docs/cmf_tut_boundary2.html b/docs/cmf_tut_boundary2.html index 625eeee8..18f70ee0 100644 --- a/docs/cmf_tut_boundary2.html +++ b/docs/cmf_tut_boundary2.html @@ -2,33 +2,37 @@ - - - - -cmf: Head based boundary conditions - - - - + + + + + cmf: Head based boundary conditions + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,21 +93,32 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Head based boundary conditions
    +
    +
    Head based boundary conditions

    In the first tutorial about boundary conditions an outlet was created to let water flow out of the system. Outlets created with

    -
    outlet = p.NewOutlet('name',position=position)

    are in fact DirichletBoundary objects. Most connection types can be used to connect on the right side with an outlet. However, some connections in are gradient based (eg. the lateral darcian connections). For these connections, the outlet position is meaningful for the calculation of the distance and the potential head of the boundary condition matters. By default, the head of an outlet equals its z position. If this does not match your model well, eg. your boundary is a river or lake with a more or less fixed water level, the potential of the boundary condition can be changed:

    -
    # Set the outlet 0.5 m above the outlet height
    outlet.potential = outlet.position.z + 0.5

    The potential of the outlet can be adjusted during run time in the run time loop by reading from a file of predefined heads or from another model running in the same run time loop.

    +
    outlet = p.NewOutlet('name',position=position)
    +

    are in fact DirichletBoundary objects. Most connection types can be used to connect on the right side with an outlet. However, some connections in are gradient based (eg. the lateral darcian connections). For these connections, the outlet position is meaningful for the calculation of the distance and the potential head of the boundary condition matters. By default, the head of an outlet equals its z position. If this does not match your model well, eg. your boundary is a river or lake with a more or less fixed water level, the potential of the boundary condition can be changed:

    +
    # Set the outlet 0.5 m above the outlet height
    +
    outlet.potential = outlet.position.z + 0.5
    +

    The potential of the outlet can be adjusted during run time in the run time loop by reading from a file of predefined heads or from another model running in the same run time loop.

    But what happens if the potential of the left side of the connection is lower than the potential of the boundary condition? As a default, outlets are not a water source, therefore no flux occurs. In the case illustrated above, when the boundary condition is something carrying water (river, like, groundwater table) one might prefer to use the boundary condition not only as a sink, but also a source, depending on the state of the connected water storages. In this case, cmf needs to be informed to handle the boundary condition as a source:

    -
    outlet.is_source=True
    +
    outlet.is_source=True
    +
    +
    diff --git a/docs/cmf_tut_cell.html b/docs/cmf_tut_cell.html index 73e31497..c256b4f4 100644 --- a/docs/cmf_tut_cell.html +++ b/docs/cmf_tut_cell.html @@ -2,33 +2,37 @@ - - - - -cmf: Cells - - - - + + + + + cmf: Cells + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,42 +93,110 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Cells
    +
    +
    Cells

    Cells are the units of the horizontal discretization. Cells are defined by the position of their center in space and their area. Each cell references its soil layers, a surfacewater storage, a snow storage, a water storage for the vegetation canopy. Vegetational parameters are also defined for cells, and used by models for evapotranspiration. Upon creation, the cell consists of a boundary condition for evaporation and transpiration, and a flux node for the surface water (not a water storage). The geometric shape of a cell is not saved and not relevant for cmf. For models with lateral fluxes, saved information on the topology (spatial relation) of the cells can be helpful. The API documentation can be found here: Cell.

    Creation

    Cells are created for a project with the following command. The position in space is given with the x,y,z coordinates (cartesian coordinates in m, eg. UTM or from a user defined origin) and the area is given in m². For 1D and lumped models, an area of 1000m² is helpful to use any volume in m³ as mm.

    -
    c = p.NewCell(x=0.0,y=0.0,z=0.0,area=1000.0)

    The cell c has a standard vegetation (short grass) which can be changed with c.vegetation and the boundary conditions noted above.

    +
    c = p.NewCell(x=0.0,y=0.0,z=0.0,area=1000.0)
    +

    The cell c has a standard vegetation (short grass) which can be changed with c.vegetation and the boundary conditions noted above.

    Adding soil layers

    -
    c.add_layer(d=0.1,r_curve=cmf.VanGenuchtenMualem())

    Adds a new soil layer up to the depth of 10cm below ground (d in m) with a default paramterized van Genuchten - Mualem retention curve. The usage of retention curves in cmf is discussed here, but it is recommended to read about that later in the CMF-1Dtutorial"

    -

    Adding a surface water storage

    -
    c.surfacewater_as_storage()

    converts the flux node surfacewater into an openwater storage. This is '''strongly recommended''' for all model setups, except for very conceptual models. If you are not sure, create it. Routing is much simpler to understand, if a surfacewater storage is present, '''even if you do not expect to have infiltration or saturation excess'''. And cmf is much better tested for models with surfacewater storage.

    -

    Topology

    -

    Lateral flux connections between water storages and boundary conditions, like soil layers, surface water, and outlets are usually defined by just creating them (see eg. here). Most of the flux connections require a notion of the distance between the water storages, and the crosssection of the flux. Calculating these values can be cumbersome, if many lateral connections need to be created. To facilitate this task, you can save the topologic relation of cells. There are tools available (see CmfFluxCreationTools), to create many connections based on the topological information.

    -

    Cell topology defines neighborhood relation between 2 cells by saving the length of the shared boundary of the cells.

    -
    c1.topology.AddNeighbor(c2,5.0)

    defines c1 and c2 as neighbors with a shared boundary of 5m. Topology is used in [[wiki:CmfTutDarcianLateralFlow]|and [wiki:CmfTutSurfaceRunoff]].

    -

    Rivers and reaches

    -

    Rivers can cross cells or run along cells, depending your setup, or if you only need a 1D model of flow in rivers, they can be created without cells, see [[wiki:CmfTutChannel].|Rivers need to be discretized to reaches according to your needs of numerical precision, the heterogenity of the channel form and to match the size of the cells. The reaches are implemented in cmf by the Reach] water storage.

    -

    Crossectional geometry

    -

    If you create a reach for the project, you must give the crossectional geometry of the river. The different basic geometries are: - TriangularReach - T, a river with a triangular crosssection - SWATReachType - S, a river with a trapezoidal crossection, with a flat flood plain, as in the model SWAT - RectangularReach - R, a rectangular crosssection - PipeReach - P, a circular pipe

    -

    More crossection types can be implemented on demand.

    -

    Creating a river

    -

    Creating the reaches

    -

    As a general type, Channel is used, denoting the crosssection by the shortcuts listed above:

    -
    r1=p.NewReach(x=0,y=0,z=1.0,length=100,Type='S',width=0.5,depth=0.1,diffusive=False)
    r2=p.NewReach(x=100,y=0,z=0,length=100,Type='S',width=0.5,depth=0.1,diffusive=False)

    This command creates a new reach with a trapezoidal crossection, a bank width of 50cm, a depth of 10 cm using (per default) a kinematic wave approach. The center of the reach is located at x,y,z.

    +
    c.add_layer(d=0.1,r_curve=cmf.VanGenuchtenMualem())
    +

    Adds a new soil layer up to the depth of 10cm below ground (d in m) with a default paramterized van Genuchten - Mualem retention curve. The usage of retention curves in cmf is discussed here, but it is recommended to read about that later in the CMF-1Dtutorial" + +<h3>Adding a surface water storage</h3> + +@icode{py} + +c.surfacewater_as_storage() +@endicode + +converts the flux node surfacewater into an openwater storage. This is +'''strongly recommended''' for all model setups, except for very +conceptual models. If you are not sure, create it. Routing is much +simpler to understand, if a surfacewater storage is present, '''even if +you do not expect to have infiltration or saturation excess'''. And cmf +is much better tested for models with surfacewater storage. + +<h2>Topology</h2> + +Lateral flux connections between water storages and boundary conditions, +like soil layers, surface water, and outlets are usually defined by just +creating them (see eg. @ref cmfTutFirstModel "here"). Most of the flux +connections require a notion of the distance between the water storages, +and the crosssection of the flux. Calculating these values can be +cumbersome, if many lateral connections need to be created. To +facilitate this task, you can save the topologic relation of cells. +There are tools available (see CmfFluxCreationTools), to create many +connections based on the topological information. + +Cell topology defines neighborhood relation between 2 cells by saving +the length of the shared boundary of the cells. + +@icode{py} + +c1.topology.AddNeighbor(c2,5.0) +@endicode + +defines c1 and c2 as neighbors with a shared boundary of 5m. Topology is +used in [[wiki:CmfTutDarcianLateralFlow]|and +[wiki:CmfTutSurfaceRunoff]]. + +<h1>Rivers and reaches</h1> + +Rivers can cross cells or run along cells, depending your setup, or if +you only need a 1D model of flow in rivers, they can be created without +cells, see [[wiki:CmfTutChannel].|Rivers need to be discretized to +reaches according to your needs of numerical precision, the heterogenity +of the channel form and to match the size of the cells. The reaches are +implemented in cmf by the @ref cmf::river::Reach "Reach"] water +storage. + +<h2>Crossectional geometry</h2> + +If you create a reach for the project, you must give the crossectional +geometry of the river. The different basic geometries are: - +@ref cmf::river::TriangularReach "TriangularReach" - T, a river with +a triangular crosssection - +@ref cmf::river::SWATReachType "SWATReachType" - S, a river with a +trapezoidal crossection, with a flat flood plain, as in the model SWAT - +@ref cmf::river::RectangularReach "RectangularReach" - R, a +rectangular crosssection - @ref cmf::river::PipeReach "PipeReach" - +P, a circular pipe + +More crossection types can be implemented on demand. + +<h2>Creating a river</h2> + +<h3>Creating the reaches</h3> + +As a general type, @ref cmf::river::Channel "Channel" is used, denoting the crosssection by the shortcuts listed above:

    +
    r1=p.NewReach(x=0,y=0,z=1.0,length=100,Type='S',width=0.5,depth=0.1,diffusive=False)
    +
    r2=p.NewReach(x=100,y=0,z=0,length=100,Type='S',width=0.5,depth=0.1,diffusive=False)
    +

    This command creates a new reach with a trapezoidal crossection, a bank width of 50cm, a depth of 10 cm using (per default) a kinematic wave approach. The center of the reach is located at x,y,z.

    Connecting the reaches

    The two reaches can be connected with any connection suitable for open water storages. However, in most cases a kinematic or diffusive wave approach, using Manning's roughness as the friction term will be used for modelling channeled flow (see CmfTutChannel), hence the two reaches can be connected by definining r2 as the downstream reach of r1:

    -
    r1.set_downstream(r2)

    r2 should be connected to the area outlet:

    -
    outlet = p.NewOutlet('outlet',x=200,y=0,z=-1.0)
    r2.set_outlet(outlet)

    CmfTutChannel will show a full running example.

    +
    r1.set_downstream(r2)
    +

    r2 should be connected to the area outlet:

    +
    outlet = p.NewOutlet('outlet',x=200,y=0,z=-1.0)
    +
    r2.set_outlet(outlet)
    +

    CmfTutChannel will show a full running example.

    +
    diff --git a/docs/cmf_tut_channel.html b/docs/cmf_tut_channel.html index 13c24a71..b29645b8 100644 --- a/docs/cmf_tut_channel.html +++ b/docs/cmf_tut_channel.html @@ -2,33 +2,37 @@ - - - - -cmf: Channelled flow in cmf - - - - + + + + + cmf: Channelled flow in cmf + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,21 +93,29 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Channelled flow in cmf
    +
    +
    Channelled flow in cmf

    In this chapter, we will create a simple 1D river model using the kinematic wave equation with Manning's formula as the friction term. The approach is very similar to surface runoff, hence surface runoff should be read before.

    Manning's formula

    [Mannig's formula](WikiPedia:Manning_formula) is an empirical formula to describe the flow velocity in a channel as a function of the channel geometry, depth, roughness and slope.

    -\[ q_{Manning}=A R^{2/3}\frac{\sqrt{s}} {n} \] +\[ +q_{Manning}=A R^{2/3}\frac{\sqrt{s}} {n} +\]

    where:

      @@ -118,11 +131,37 @@

      Kinematic vs. Diffusive

      When you are using CMF, you have the choice between the kinematic wave approach, where the slope of the reach is given by the topographic slope, or the diffusive wave approach, where the slope is given by the slope of the water surface. Although the diffusive approach is more realistic, you are getting serious numerical trouble when using the diffusive wave. As you can see in the formula above, the flux depends on the square root of the slope. If the water surface levels out, the derivative of the square function goes to infinity and becomes hence infinite sensitive against value. As a result, any error controlled solver in cmf will fail for diffusive wave approaches when the water surface slope may go to zero. Unless we find a fix for this behaviour, please do not use diffusive wave approaches.

      Implementation

      Create a 1km river with 100 reaches along the x axis and a constant slope of 1%

      -
      from __future__ import division, print_function # Make code python 2/3 compatible
      import cmf
      from datetime import datetime,timedelta
      # Create a triangular reach crosssection for 10 m long reaches with a bankslope of 2
      shape = cmf.TriangularReach(10.,2.)
      # Create a 1km river with 100 reaches along the x axis and a constant slope of 1%
      reaches = [p.NewReach(i,0,i*.01,shape,False) for i in range(0,1000,10)]

      Now we have 100 unconnected reaches in our river. To connect them with kinematic wave equation

      -
      for r_lower, r_upper in zip(reaches[:-1],reaches[1:]):
      r_upper.set_downstream(r_lower)

      Creating a solver and setting initial conditions:

      -
      # Create a solver
      solver = cmf.CVodeKrylov(p,1e-9)
      # Initial condition: 10 cmf of water in the most upper reach
      reaches[-1].depth=0.1

      As always, the next part is the runtime code, saving the river depth.

      -
      # We store the results in this list
      depth = [[r.depth for r in reaches]]
      # Run the model for 3 h with dt=1 min
      for t in solver.run(datetime(2012,1,1),datetime(2012,1,1,3), timedelta(minutes=1)):
      depth.append([r.depth for r in reaches])
      print(t)

      Finally we are plotting the dynamic of the river depth over the run time

      -
      # Plot the result (matplotlib needs to be installed)
      from matplotlib.pylab import plot, show
      plot(depth)
      show()
    +
    from __future__ import division, print_function # Make code python 2/3 compatible
    +
    import cmf
    +
    from datetime import datetime,timedelta
    + +
    # Create a triangular reach crosssection for 10 m long reaches with a bankslope of 2
    +
    shape = cmf.TriangularReach(10.,2.)
    +
    # Create a 1km river with 100 reaches along the x axis and a constant slope of 1%
    +
    reaches = [p.NewReach(i,0,i*.01,shape,False) for i in range(0,1000,10)]
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +

    Now we have 100 unconnected reaches in our river. To connect them with kinematic wave equation

    +
    for r_lower, r_upper in zip(reaches[:-1],reaches[1:]):
    +
    r_upper.set_downstream(r_lower)
    +

    Creating a solver and setting initial conditions:

    +
    # Create a solver
    +
    solver = cmf.CVodeKrylov(p,1e-9)
    +
    # Initial condition: 10 cmf of water in the most upper reach
    +
    reaches[-1].depth=0.1
    +

    As always, the next part is the runtime code, saving the river depth.

    +
    # We store the results in this list
    +
    depth = [[r.depth for r in reaches]]
    +
    # Run the model for 3 h with dt=1 min
    +
    for t in solver.run(datetime(2012,1,1),datetime(2012,1,1,3), timedelta(minutes=1)):
    +
    depth.append([r.depth for r in reaches])
    +
    print(t)
    +

    Finally we are plotting the dynamic of the river depth over the run time

    +
    # Plot the result (matplotlib needs to be installed)
    +
    from matplotlib.pylab import plot, show
    +
    plot(depth)
    +
    show()
    +
    +
    diff --git a/docs/cmf_tut_darcian_lateral_flow.html b/docs/cmf_tut_darcian_lateral_flow.html index 0e56b35c..ee3c5f84 100644 --- a/docs/cmf_tut_darcian_lateral_flow.html +++ b/docs/cmf_tut_darcian_lateral_flow.html @@ -2,33 +2,37 @@ - - - - -cmf: Lateral Darcian flow - - - - + + + + + cmf: Lateral Darcian flow + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Lateral Darcian flow
    +
    +
    Lateral Darcian flow

    next...

    @@ -103,7 +114,9 @@

    Darcian flow connections

    Lateral subsurface flow in physically based models are usual based on some variant or simplification of Darcy's law. CMF has four different flux connections to describe the lateral subsurface flux between variable saturated soil layers. The naming conventions of the darcian flux connections are not chosen very well and are subject to change.

    As a basis, all flux connections follow Darcy's equation:

    -\[ q = \nabla \Psi T w \] +\[ + q = \nabla \Psi T w +\]

    where:

      @@ -123,16 +136,18 @@

      Darcian flow connections

      These variants lead to the four combinations of \(T\) and \(\nabla\Psi\):

      - - - - - + + + + +
      \(T_u\) \(T_s\)
      \(\nabla\Psi(\theta)\) Richards_lateral Darcy
      \(\nabla\Psi(z)\) DarcyKinematic TopographicGradientDarcy
      \(T_u\) \(T_s\)
      \(\nabla\Psi(\theta)\) Richards_lateral Darcy
      \(\nabla\Psi(z)\) DarcyKinematic TopographicGradientDarcy

      Transmissivity variants

      a) Unsaturated transmissivity \(T_u\)

      -\[ T(\theta) = K(\theta)\ \Delta z \] +\[ +T(\theta) = K(\theta)\ \Delta z +\]

      where:

        @@ -142,7 +157,9 @@

        a) Unsaturated transmissivity \(T_u\)

        This transmissivity function is used in Richards_lateral and DarcyKinematic

        b) Saturated transmissivity \(T_s\)

        -\[ T_{sat}(\Psi) = K_{sat}\ (\Delta z + \Psi_M) \] +\[ + T_{sat}(\Psi) = K_{sat}\ (\Delta z + \Psi_M) +\]

        where:

        • \(K_{sat}\) is the saturated conductivity in \(\frac m{day}\)
        • @@ -153,23 +170,31 @@

          Gradient variants

          a) Head based gradient \(\nabla \Psi(\theta)\)

          The two connections types, Richards_lateral and Darcy are using the real, water content dependent head of the connected soillayers to calculate the gradient. This makes it more difficult to solve, yet more realistic than option b.

          -\[ \nabla \Psi = \frac{\Psi_1(\theta_1) - \Psi_2(\theta_2)}{d} \] +\[ + \nabla \Psi = \frac{\Psi_1(\theta_1) - \Psi_2(\theta_2)}{d} +\]

          where \(d\) is the distance between the soil layers.

          b) Topographic gradient \(\nabla \Psi(z)\)

          To make the system simpler to solve, in this option, used by TopographicGradientDarcy and DarcyKinematic, the topographic elevation of the cells is used as a proxy for the real water pressure head. This option is much simpler to solve for the system, however, the results are only realistic in case of water tables roughly parallel to the surface.

          -\[ \nabla \Psi = \frac{z_{cell,1} - z_{cell,2}}{d} \] +\[ + \nabla \Psi = \frac{z_{cell,1} - z_{cell,2}}{d} +\]

          Connecting cell layers using a darcian lateral connection

          All dedicated lateral connection provide the same interface for the creation of a connection. Below we are going to use cmf.Darcy as an example, but it works the same way with the other three connections.

          -
          cmf.Darcy(leftnode, rightnode, FlowWidth, distance=0)
            +
            cmf.Darcy(leftnode, rightnode, FlowWidth, distance=0)
            +
            • leftnode needs to be a SoilLayer object - rightnode is any flux_node object - FlowWidth is the width of the connection in m - distance is the distance between leftnode and rightnode in m. If it is left to 0 (default), the distance is calculated from the position of the nodes.

            When rightnode is another soillayer the flow thickness is calculated as the common interface of the soillayers according to their depth below ground. Otherwise the interface A is calculated as the thickness of leftnode times the flow width.

            However, if you have several cells with a defined topology, one can use the topological information and create lateral connections for all layers of all cells with a single command:

            -
            cmf.connect_cells_with_flux(cells, cmf.Darcy, start_at_layer=0)

            Here, cells is a collection of cells, eg. the whole project or a list of cells if you want to install the connection only for a part of your cells. The start_at_layer argument is optional. If it is set to a number n, the connection is not installed for the n-1 upper layers of a cell.

            +
            cmf.connect_cells_with_flux(cells, cmf.Darcy, start_at_layer=0)
            +
            connect_cells_with_flux(cells, connection, start_at_layer=0)
            Definition __init__.py:30
            +

            Here, cells is a collection of cells, eg. the whole project or a list of cells if you want to install the connection only for a part of your cells. The start_at_layer argument is optional. If it is set to a number n, the connection is not installed for the n-1 upper layers of a cell.

    +
    diff --git a/docs/cmf_tut_e_t.html b/docs/cmf_tut_e_t.html index c847e7d6..2c7e8e19 100644 --- a/docs/cmf_tut_e_t.html +++ b/docs/cmf_tut_e_t.html @@ -2,33 +2,37 @@ - - - - -cmf: Evapotranspiration - - - - + + + + + cmf: Evapotranspiration + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Evapotranspiration
    +
    +
    Evapotranspiration

    Several models exist to calculate water losses from the soil and surfaces to the atmosphere, and naming of processes and concepts is not completely fixed. Some definitions:

    @@ -106,11 +117,29 @@

    Potential bulk evapotranspiration

    Evapotranspiration is subject to many processes depending on vast amount of environmental conditions. To get a structure, one can differ between an energy limit and a water limitation. The energy limitation is expressed by the term potential evapotranspiration \(ET_{pot}\) the water that would be vaporized if enough water is available. \(ET_{pot}\) is determined by the surface structure (land cover) and meteorological conditions. If the surface structure is assumed to be a reference surface, (short, mown grass with defined properties), we get the reference evapotranspiration \(ET_{ref}\), which is depending on meteorological conditions only.

    The actual evapotranspiration \(ET_{act}\) which is limited by water and energy, depends also on the soil moisture in the rooting zone and is usually calculated from \(ET_{pot}\) using a limiting factor. While you can use cmf to calculate \(ET_{act}\) from vegetation cover, meteorological conditions and soil moisture directly, using different models, one can also precalculate an \(ET_{pot}\) timeseries and cmf calculates \(ET_{act}\) from these values.

    In the following, we use a simple lumped conceptual model with one cell, and a single soil layer, without any runoff. This model can be extended to create direct runoff or runoff via groundwater storages, as shown in the next chapter and connected to a rain station. This tutorial is also mostly applicable to physical models with multiple layers in the root zone by making assumptions about the root distribution in the soil.

    -
    from __future__ import division, print_function
    import cmf
    # Create project with 1 cell and 1 water storage of 1000mm capacity
    cell = p.NewCell(0, 0, 0, 1000)
    layer = cell.add_layer(1.0)
    # Put 200mm water into the soil, quite dry, good to show water stress
    layer.volume = 200.0

    Using precalculated \(ET_{pot}\) timeseries

    +
    from __future__ import division, print_function
    +
    import cmf
    +
    +
    # Create project with 1 cell and 1 water storage of 1000mm capacity
    + +
    cell = p.NewCell(0, 0, 0, 1000)
    +
    layer = cell.add_layer(1.0)
    +
    # Put 200mm water into the soil, quite dry, good to show water stress
    +
    layer.volume = 200.0
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +

    Using precalculated \(ET_{pot}\) timeseries

    As a first step, you need to have your values stored in a timeseries, for the following code named ET. The timeseries needs to have the unit of mm/day. To get \(ET_{act}\), you will connect every soil layer in the rooting zone with the transpiration boundary condition of the cell with the timeseriesETpot connection.

    -
    ETpot = cmf.timeseries.from_scalar(5) # constant ETpot of 20 mm/day (I know that this is too much)
    # connect each layer with the transpiration boundary condition using ETpot
    et_pot_connection = cmf.timeseriesETpot(layer, cell.transpiration, ETpot)

    Calculating \(ET_{pot}\) from meteorological data

    +
    ETpot = cmf.timeseries.from_scalar(5) # constant ETpot of 20 mm/day (I know that this is too much)
    +
    +
    # connect each layer with the transpiration boundary condition using ETpot
    +
    et_pot_connection = cmf.timeseriesETpot(layer, cell.transpiration, ETpot)
    +

    Calculating \(ET_{pot}\) from meteorological data

    Cells provide always weather information, by default they have an eternal spring day in central Europe. To change the weather of a cell dynamically you can use meteorological stations, to change the weather of a cell to a static nice summer day one can do (Rs is global radiation in MJ/(m² day)):

    -
    summer = cmf.Weather(Tmin=16, Tmax=28, rH=50, wind=1.0, sunshine=0.9, daylength=16, Rs=26)
    cell.set_weather(summer)

    Or, if you prefer winter in Gießen:

    winter = cmf.Weather(Tmin=1, Tmax=2, rH=80, wind=6, sunshine=0.0, daylength=8, Rs=1.8)
    cell.set_weather(winter)

    Which of the weather information is actually used to calculate \(ET_{pot}\) depends on the method. Currently the following methods to calculate \(ET_{pot}\) from the weather are available:

    +
    summer = cmf.Weather(Tmin=16, Tmax=28, rH=50, wind=1.0, sunshine=0.9, daylength=16, Rs=26)
    +
    cell.set_weather(summer)
    +

    Or, if you prefer winter in Gießen:

    winter = cmf.Weather(Tmin=1, Tmax=2, rH=80, wind=6, sunshine=0.0, daylength=8, Rs=1.8)
    +
    cell.set_weather(winter)
    +

    Which of the weather information is actually used to calculate \(ET_{pot}\) depends on the method. Currently the following methods to calculate \(ET_{pot}\) from the weather are available:

    • cmf.HargreavesET, using \(T_{min}, T_{max}\) and the day of year
    • cmf.TurcET, using \(T, rH\) and global incoming radiation
    • @@ -118,26 +147,41 @@

      Potential bulk evapotranspiration

    • cmf.PenmanMonteithET with a high demand of atmospheric variables (see below)

    Using these evapotranspiration models works all the same, therefore it is only shown here for the Turc ET Method:

    -
    et_pot_turc = cmf.TurcET(layer, cell.transpiration)
    print(layer.flux_to(cell.transpiration, datetime.datetime(2018, 1, 1)))

    An alternative way to install connections between all existing soil layers and cell.transpiration:

    cell.install_connection(cmf.TurcET)

    Getting \(ET_{act}\) from \(ET_{pot}\)

    +
    et_pot_turc = cmf.TurcET(layer, cell.transpiration)
    +
    print(layer.flux_to(cell.transpiration, datetime.datetime(2018, 1, 1)))
    +

    An alternative way to install connections between all existing soil layers and cell.transpiration:

    cell.install_connection(cmf.TurcET)
    +

    Getting \(ET_{act}\) from \(ET_{pot}\)

    Low soil moisture limits actual transpiration, as it gets more and more difficult for a plant to extract soil moisture against a lower matrix potential.

    Physical description of water stress

    For physical models, where a soil layer is given a realistic retention curve, the stress can be directly described as a function of the matrix potential. This is possible in cmf, using a piecewise linear function of the matrix potential, known as the Feddes model. It is not possible for the model in this tutorial, since we are lacking a retention curve. The cmf.SuctionStress model is used in this later tutorial, which covers physical models and transpiration.

    Conceptual description of water stress

    In conceptual cmf models, soil layers are just buckets of a certain size, in this tutorial a bucket with a capacity of 1000 mm. While the matrix potential of a layer is undefined, the water content has a defintion, the actual water volume V divided by the layer capacity C:

    -\[ \theta = \frac{V_{layer}}{C_{layer}} \] +\[ +\theta = \frac{V_{layer}}{C_{layer}} +\]

    An often used approach to describe water stress as a function of water content is to define a permanent wilting point \(\theta_{wp}\) and a water content above no stress occurs \(\theta_{d}\). The actual evapotranspiration from a soil is then described as:

    -\[ ET_{act} = ET_{pot} \cdot \begin{cases} 1 & \mbox{if } \theta > \theta_d \\ \frac{\theta - \theta_{wp}}{\theta_d - \theta_{wp}} & \mbox{if } \theta_{wp} < \theta < \theta_d \\ 0 & \mbox{if } \theta < \theta_{wp} \end{cases} \] +\[ +ET_{act} = ET_{pot} \cdot +\begin{cases} + 1 & + \mbox{if } \theta > \theta_d \\ + \frac{\theta - \theta_{wp}}{\theta_d - \theta_{wp}} & + \mbox{if } \theta_{wp} < \theta < \theta_d \\ + 0 & \mbox{if } \theta < \theta_{wp} +\end{cases} +\]

    This is obviously a crude linearization of the function using the matrix potential, hence the definition of \(\theta_d\) is not very precise. An often used approach in literature is to set it to the mean of wilting point and field capacity. This approach is called cmf.ContentStress

    -

    This stress model can be applied to a cell by:

    cell.set_uptakestress(cmf.ContentStress(theta_d=0.3, theta_w=0.1))

    However, to apply this function, the model needs to have a coherent meaning for the "capacity" of the root zone, which is for a simple Nash-Box model or a TOPMODEL like approach not necessarily the case. Instead of forcing the user to define a capacity only to calculate the stress function, water stress can also be calculated by the water volume stored in the layer using the cmf.VolumeStress, which is the recommended stress function for simple, conceptual models.

    +

    This stress model can be applied to a cell by:

    cell.set_uptakestress(cmf.ContentStress(theta_d=0.3, theta_w=0.1))
    +

    However, to apply this function, the model needs to have a coherent meaning for the "capacity" of the root zone, which is for a simple Nash-Box model or a TOPMODEL like approach not necessarily the case. Instead of forcing the user to define a capacity only to calculate the stress function, water stress can also be calculated by the water volume stored in the layer using the cmf.VolumeStress, which is the recommended stress function for simple, conceptual models.

    In code, please

    -CmfTutET.png +
    -

    To put all of this long tutorial together in few lines of code, the task is to write a model that calculates the remaining volume in a lysimeter with a reference surface (short grass), with the following assumptions:

    +

    To put all of this long tutorial together in few lines of code, the task is to write a model that calculates the remaining volume in a lysimeter with a reference surface (short grass), with the following assumptions:

    1. Every day is a nice summer day, no rain (eg. Canaries)
    2. The lysimeter is water tight
    3. @@ -146,7 +190,48 @@

      In code, please

    4. Evapotranspiration decreases if less then 300 mm are left in the lysimeter
    5. Evapotranspiration stops if less then 100 mm are left
    -
    import cmf
    from datetime import datetime, timedelta
    from pylab import plot, twinx, ylabel, xlabel
    # Create project with 1 cell and 1 water storage of 1000mm capacity
    cell = p.NewCell(0, 0, 0, 1000)
    layer = cell.add_layer(1.0)
    # Set summertime, when the living is easy... (1)
    summer = cmf.Weather(Tmin=19, Tmax=28, rH=50, wind=4.0,
    sunshine=0.9, daylength=14, Rs=26)
    cell.set_weather(summer)
    # Initial condition (4)
    layer.volume = 400.0
    # ET-Method (3)
    et_pot_turc = cmf.TurcET(layer, cell.transpiration)
    # Stress conditions (5, 6)
    stress = cmf.VolumeStress(300, 100)
    cell.set_uptakestress(stress)
    # A solver, any is fine, really
    solver = cmf.HeunIntegrator(p)
    solver.t = datetime(2018, 5, 1)
    et_act = cmf.timeseries(solver.t, cmf.day)
    volume = cmf.timeseries(solver.t, cmf.day)
    while solver.t < datetime(2018, 10, 1):
    et_act.add(cell.transpiration(solver.t))
    volume.add(layer.volume)
    solver(cmf.day)
    # And a plot
    plot(et_act, c='g')
    ylabel(r'$ET_{act} \left[\frac{mm}{day}\right]$')
    twinx()
    plot(volume, c='b')
    ylabel('Volume in mm')
    +
    import cmf
    +
    from datetime import datetime, timedelta
    +
    from pylab import plot, twinx, ylabel, xlabel
    +
    +
    # Create project with 1 cell and 1 water storage of 1000mm capacity
    + +
    cell = p.NewCell(0, 0, 0, 1000)
    +
    layer = cell.add_layer(1.0)
    +
    +
    # Set summertime, when the living is easy... (1)
    +
    summer = cmf.Weather(Tmin=19, Tmax=28, rH=50, wind=4.0,
    +
    sunshine=0.9, daylength=14, Rs=26)
    +
    cell.set_weather(summer)
    +
    +
    # Initial condition (4)
    +
    layer.volume = 400.0
    +
    +
    # ET-Method (3)
    +
    et_pot_turc = cmf.TurcET(layer, cell.transpiration)
    +
    +
    # Stress conditions (5, 6)
    +
    stress = cmf.VolumeStress(300, 100)
    +
    cell.set_uptakestress(stress)
    +
    +
    # A solver, any is fine, really
    +
    solver = cmf.HeunIntegrator(p)
    +
    solver.t = datetime(2018, 5, 1)
    +
    et_act = cmf.timeseries(solver.t, cmf.day)
    +
    volume = cmf.timeseries(solver.t, cmf.day)
    +
    while solver.t < datetime(2018, 10, 1):
    +
    et_act.add(cell.transpiration(solver.t))
    +
    volume.add(layer.volume)
    +
    solver(cmf.day)
    +
    +
    # And a plot
    +
    plot(et_act, c='g')
    +
    ylabel(r'$ET_{act} \left[\frac{mm}{day}\right]$')
    +
    twinx()
    +
    plot(volume, c='b')
    +
    ylabel('Volume in mm')
    +
    +
    diff --git a/docs/cmf_tut_e_tphys.html b/docs/cmf_tut_e_tphys.html index fedb65cd..a5548a30 100644 --- a/docs/cmf_tut_e_tphys.html +++ b/docs/cmf_tut_e_tphys.html @@ -2,33 +2,37 @@ - - - - -cmf: Evapo-Transpiration in multi-layered physical models - - - - + + + + + cmf: Evapo-Transpiration in multi-layered physical models + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,21 +93,29 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Evapo-Transpiration in multi-layered physical models
    +
    +
    Evapo-Transpiration in multi-layered physical models

    This tutorial builds on the conceptual ET-Tutorial and the physical soil column model

    Getting \(ET_{act}\) from \(ET_{pot}\) for each layer

    In order to calculate the water loss to the atmosphere from \(ET_{pot} [\frac{mm}{day}]\), cmf needs a connection from each soil layer to the atmospheric boundary condition. Each cell has a transpiration and an evaporation boundary object, which can be used for this task.

    -\[ q_{T_{pot}}\left[\frac{m^3}{day}\right]=f_r \cdot ET_{pot}\left[\frac{mm}{day}\right]A_{cell}[m^2]\frac{1 m}{1000 mm} \] +\[ +q_{T_{pot}}\left[\frac{m^3}{day}\right]=f_r \cdot ET_{pot}\left[\frac{mm}{day}\right]A_{cell}[m^2]\frac{1 m}{1000 mm} +\]

    where:

    • \(f_r=\frac{R_{layer}}{\sum_{i=0}^{layers}{R_i}}\) the root mass in this layer per total root mass at this cell.
    • @@ -110,24 +123,30 @@

      Getting \(ET_{act}\) from \(ET_{pot}\) for each layer

    To limit water uptake from the soil layer according to its water content, cmf uses a Feddes like approach: The flux is 0, when the matrix potential \(\Psi_M\) is below wilting point. If the matrix potential is below -5m, the limitation is linearly scaled towards the wilting point and above -5m there is no water limitation:

    -\[ q_{T_{act}}= q_{T_{pot}}\begin{cases} 1 & \Psi_M>-5m \\ 1+\frac{\Psi_M + 5}{155} & \Psi_M>-160m \\ 0 & \Psi_M<-160 m\end{cases} \] +\[ +q_{T_{act}}= q_{T_{pot}}\begin{cases} 1 & \Psi_M>-5m \\ 1+\frac{\Psi_M + 5}{155} & \Psi_M>-160m \\ 0 & \Psi_M<-160 m\end{cases} +\]

    Setting the root content \(f_r\)

    In principle, there are two ways to define the root content, set the root content fraction for each layer or define the root depth for the cell

    a) set the root content directly

    Soil layers have the property rootfraction that can be set. It is your responsibility to ensure that the sum of all rootfractions is 1.

    -
    for l in cell.layers[:5]:
    l.rootfraction = 0.2

    If you have never set the rootfraction method b) is used.

    +
    for l in cell.layers[:5]:
    +
    l.rootfraction = 0.2
    +

    If you have never set the rootfraction method b) is used.

    b) set the root depth for the cell

    If the rootfraction of a layer has never been set, the root fraction of the layers are calculated from the RootDepth and fraction_at_rootdepth properties of the cell's vegetation object. RootDepth is the depth of the rooting zone of the cell in m. If fraction_at_rootdepth is 1, a uniform distribution of roots until RootDepth is used. If fraction_at_rootdepth is between 0..1, then an exponential decline of the root content is used. 1-fraction_at_rootdepth of the root mass is then below RootDepth.

    In this example we will get the same result as in a):

    -
    cell.vegetation.RootDepth = 0.5

    Here we will have 80% of the root content in the upper 40cm, and the other 20% below using an exponential decline of the root content:

    -
    cell.vegetation.RootDepth = 0.4
    cell.vegetation.fraction_at_rootdepth = 0.8

    If you do nothing, the RootDepth default value of 0.25 is used.

    +
    cell.vegetation.RootDepth = 0.5
    +

    Here we will have 80% of the root content in the upper 40cm, and the other 20% below using an exponential decline of the root content:

    +
    cell.vegetation.RootDepth = 0.4
    +
    cell.vegetation.fraction_at_rootdepth = 0.8
    +

    If you do nothing, the RootDepth default value of 0.25 is used.

    Results

    -
    -CmfTut1d-ET1.png -
    -

    The physical soil column model results in the figure, using transpiration with a uniform root distribution and super high constant potential transpiration rate of 20 mm/day.

    +

    +

    The physical soil column model results in the figure, using transpiration with a uniform root distribution and super high constant potential transpiration rate of 20 mm/day.

    +
    diff --git a/docs/cmf_tut_first_model.html b/docs/cmf_tut_first_model.html index 5b4e0500..cd0b95bd 100644 --- a/docs/cmf_tut_first_model.html +++ b/docs/cmf_tut_first_model.html @@ -2,33 +2,37 @@ - - - - -cmf: Let it flow... the first cmf model - - - - + + + + + cmf: Let it flow... the first cmf model + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Let it flow... the first cmf model
    +
    +
    Let it flow... the first cmf model

    next...

    @@ -103,7 +114,9 @@

    The model

    The model is a simple linear storage equation to transport water from one water storage ( \(W_1\)) to another water storage ( \(W_2\)).

    -\[ q_{W_1,W_2}=\frac{V_1}{t_r} \] +\[ +q_{W_1,W_2}=\frac{V_1}{t_r} +\]

    where:

      @@ -113,39 +126,83 @@

      The model

    Implementation

    The model (without the solver) is set up with the following lines of code:

    -
    import cmf
    # Create W1 in project p
    W1 = p.NewStorage(name="W1")
    # Create W2 in project p without any volume as an initial state
    W2 = p.NewStorage(name="W2")
    # Create a linear storage equation from W1 to W2 with a residence time tr of one day
    q = cmf.LinearStorageConnection(source=W1,target=W2,residencetime=1.0)
    # Set the initial state of w1 to 1m³ of water.
    W1.volume = 1.0

    The ordinary differential equation (ODE) system

    +
    import cmf
    + +
    # Create W1 in project p
    +
    W1 = p.NewStorage(name="W1")
    +
    # Create W2 in project p without any volume as an initial state
    +
    W2 = p.NewStorage(name="W2")
    +
    # Create a linear storage equation from W1 to W2 with a residence time tr of one day
    +
    q = cmf.LinearStorageConnection(source=W1,target=W2,residencetime=1.0)
    +
    # Set the initial state of w1 to 1m³ of water.
    +
    W1.volume = 1.0
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +

    The ordinary differential equation (ODE) system

    Formulation

    With these lines the ODE (ordinary differential equation) system is formulated:

    -\[ \frac{dV_1}{dt} = -\frac{V_1}{t_r} \] +\[ +\frac{dV_1}{dt} = -\frac{V_1}{t_r} +\]

    -\[ \frac{dV_2}{dt} = \frac{V_1}{t_r} \] +\[ +\frac{dV_2}{dt} = \frac{V_1}{t_r} +\]

    Solving the system

    Due to the simplicity of the model, it can be integrated analytically.

    -\[ V_1(t) = V_1(t_0) e^{-t/t_r} \] +\[ +V_1(t) = V_1(t_0) e^{-t/t_r} +\]

    -\[ V_2(t) = V_1(t_0) (1-e^{-t/t_r}) \] +\[ +V_2(t) = V_1(t_0) (1-e^{-t/t_r}) +\]

    But it is of course only a proxy model. For more interesting models with stochastic boundary conditions, we need to use a numerical solution. For numerical time integration any of the time integration schemes of cmf will do for this model. If you are using more complex models with very different velocities, error controlled and implicit solvers are necessary.

    Implementing the numerical solution

    To integrate our simple system in time, we create an integrator, for example an explicit 4/5 step Runge-Kutta-Fehlberg integrator, the RKFIntegrator (other integrators are available, see later parts in the tutorial)

    -
    # Create an integrator (solver) for the ODE represented by project p,
    # with an error tolerance of 1e-9
    solver = cmf.RKFIntegrator(p, 1e-9)
    # Import Python's datetime module
    import datetime
    # Set the intitial time of the solver
    solver.t = datetime.datetime(2012,1,1)

    The code above is the setup part. Every cmf model consists of a setup part, where the hydrological system is defined. For larger models, Python's looping and conditional syntax and the possibility to read nearly any data format can help to define the system from data.

    +
    # Create an integrator (solver) for the ODE represented by project p,
    +
    # with an error tolerance of 1e-9
    +
    solver = cmf.RKFIntegrator(p, 1e-9)
    +
    # Import Python's datetime module
    +
    import datetime
    +
    # Set the intitial time of the solver
    +
    solver.t = datetime.datetime(2012,1,1)
    +

    The code above is the setup part. Every cmf model consists of a setup part, where the hydrological system is defined. For larger models, Python's looping and conditional syntax and the possibility to read nearly any data format can help to define the system from data.

    Running the system

    Now we have all parts of our model available to run it. The solver can be advanced for a certain time step using solver.integrate(dt), where dt is a time step. After the integration the states and fluxes of the model can be queried (see Query fluxes and storages) and, if needed, saved into a file. Or you can store the results in a Python list or a cmf timeseries and use matplotlib to plot the results immediately after running the model. The content and format of output is completely up to the user, some experience in writing and reading files with Python is therefore a prerequisite to design your own output.

    In this example, we will write a csv file with the timestep, the state of w1 and the state of w2.

    -
    # Create a csv file on disk for output, and write column headers
    fout = open('firstmodel.csv','w')
    fout.write('time,w1.volume m3,w2.volume m3\n')
    # Run the model for 7 days, using a while loop
    while solver.t < datetime.datetime(2012,1,7):
    # integrate the system for 1 h
    solver.integrate_until(solver.t + datetime.timedelta(hours=1))
    # write output (using the format operator %)
    fout.write('{t},{w1:0.4f},{w2:0.4f}\n'.format(t=solver.t,w1=W1.volume,w2=W2.volume))
    fout.close()

    In principle, this is the base for all cmf models. In the next chapters, we will introduce boundary conditions, more specialized water storages, like soil layers and rivers, and have a look at solute transport.

    +
    # Create a csv file on disk for output, and write column headers
    +
    fout = open('firstmodel.csv','w')
    +
    fout.write('time,w1.volume m3,w2.volume m3\n')
    +
    # Run the model for 7 days, using a while loop
    +
    while solver.t < datetime.datetime(2012,1,7):
    +
    # integrate the system for 1 h
    +
    solver.integrate_until(solver.t + datetime.timedelta(hours=1))
    +
    # write output (using the format operator %)
    +
    fout.write('{t},{w1:0.4f},{w2:0.4f}\n'.format(t=solver.t,w1=W1.volume,w2=W2.volume))
    +
    fout.close()
    +

    In principle, this is the base for all cmf models. In the next chapters, we will introduce boundary conditions, more specialized water storages, like soil layers and rivers, and have a look at solute transport.

    Alternative run time loop for plotting

    An alternative way to the run time code above is using list comprehension. The result is then not written into a file, but stored in memory using a list. This list can be plotted using the pylab-API of matplotlib. The setup code is as before.

    -
    # Iterate the solver hourly through the time range and return for each time step the volume in W1 and W2
    result = [[W1.volume,W2.volume] for t in solver.run(datetime.datetime(2012,1,1),datetime.datetime(2012,1,7),datetime.timedelta(hours=1))]
    import pylab as plt
    plt.plot(result)
    plt.xlabel('hours')
    plt.ylabel('Volume in $m^3$')
    plt.legend(('W1','W2'))

    And this is the result:

    +
    # Iterate the solver hourly through the time range and return for each time step the volume in W1 and W2
    +
    result = [[W1.volume,W2.volume] for t in solver.run(datetime.datetime(2012,1,1),datetime.datetime(2012,1,7),datetime.timedelta(hours=1))]
    +
    import pylab as plt
    +
    plt.plot(result)
    +
    plt.xlabel('hours')
    +
    plt.ylabel('Volume in $m^3$')
    +
    plt.legend(('W1','W2'))
    +

    And this is the result:

    -CmfFirstModelTut.png +
    -

    Next step is to include boundary conditions.

    +

    Next step is to include boundary conditions.

    +
    diff --git a/docs/cmf_tut_fluxes.html b/docs/cmf_tut_fluxes.html index 28a852cb..d8b28d78 100644 --- a/docs/cmf_tut_fluxes.html +++ b/docs/cmf_tut_fluxes.html @@ -2,33 +2,37 @@ - - - - -cmf: Query fluxes and states - - - - + + + + + cmf: Query fluxes and states + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,54 +93,96 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Query fluxes and states
    +
    +
    Query fluxes and states

    back... next...

    Every flux and every state can be accessed during runtime. Thus you can save anything you like to the output during the run time loop. In the following we will have a look at some techniques how to see what is going on in a model. As an example model we use the very simple 2 storage model with boundary condition from CmfTutBoundary.

    Note for Python 2 users

    To show our results, we are using Python's print statement / function. However, "print" has changed between python 2 and 3. To run our examples python 2 users should always start their programs with the following line:

    -
    from __future__ import print_function, division

    This import the behaviour of the python3 print function as well as the improved handling of integer division into python 2. Using this line in python3 is fine and changes nothing.

    +
    from __future__ import print_function, division
    +

    This import the behaviour of the python3 print function as well as the improved handling of integer division into python 2. Using this line in python3 is fine and changes nothing.

    Getting states

    We have already asked for states in the example model. Every water storage has the property volume to return the stored water volume in m³. More general, state returns the value stored in a state variable, which is usually volume for a water storage and the tracer mass for a solute storage. Water storages with a defined relation between head and volume (such storages will be covered later, eg. SoilLayer and OpenWaterStorage), can also give back their potential.

    -
    print(W1.volume)
    print(W1.state)

    The properties can also be used to change the states of the system, but this is only useful for initial conditions. Changing the state during runtime will of course destroy the water balance. Some of the solvers will even ignore the changes if they are not reset. In our simple example we have used this already for the initial condition:

    -
    W1.volume = 1.0

    Getting fluxes

    +
    print(W1.volume)
    +
    print(W1.state)
    +

    The properties can also be used to change the states of the system, but this is only useful for initial conditions. Changing the state during runtime will of course destroy the water balance. Some of the solvers will even ignore the changes if they are not reset. In our simple example we have used this already for the initial condition:

    +
    W1.volume = 1.0
    +

    Getting fluxes

    Fluxes between two nodes

    Getting fluxes is a little bit more complicated than getting states: Some fluxes depend only on the state of the connected water storages, like LinearStorageConnection, some on time, like the NeumannBoundary and some on both. Since the storages / nodes do not know, what time we have (this is a property of the solver) you need to give the time into the query.

    Fluxes between two nodes source and target at time t can be queried with the flux_to method:

    -
    source.flux_to(target,t)

    For our toy model you can query all fluxes the following way:

    -
    # get the current time
    t = solver.t
    # Prints the fluxes in the model
    print('In->',In.flux_to(W1,t),'->W1->',W1.flux_to(W2,t),'->W2->',W2.flux_to(Out,t))

    You get the result of the actual flux between source and target in \(m^3/day\). If water is flowing from source to target, the result is positive else negative. If source and target are not connected you will get 0.0, and no error will occur. Since you get the actual flux, summing up the fluxes does not necessarily reflect the true accumulated flux, since in non-linear models, the integrated flux over a timestep does not equal the sum. CMF is very mass conservative, since the water volume is the integrated state variable, but by summing up you might get the impression of numerical errors in the integration.

    +
    source.flux_to(target,t)
    +

    For our toy model you can query all fluxes the following way:

    +
    # get the current time
    +
    t = solver.t
    +
    # Prints the fluxes in the model
    +
    print('In->',In.flux_to(W1,t),'->W1->',W1.flux_to(W2,t),'->W2->',W2.flux_to(Out,t))
    +

    You get the result of the actual flux between source and target in \(m^3/day\). If water is flowing from source to target, the result is positive else negative. If source and target are not connected you will get 0.0, and no error will occur. Since you get the actual flux, summing up the fluxes does not necessarily reflect the true accumulated flux, since in non-linear models, the integrated flux over a timestep does not equal the sum. CMF is very mass conservative, since the water volume is the integrated state variable, but by summing up you might get the impression of numerical errors in the integration.

    -cmfTutFluxes.png +
    -

    Now we are going to save the fluxes instead of the volume in a list in our first model with boundary conditions and plot the result:

    -
    # Iterate the solver hourly through the time range
    # and return for each time step the fluxes between the nodes
    result = [[In.flux_to(W1,t),W1.flux_to(W2,t),W2.flux_to(Out,t)]
    for t in solver.run(datetime.datetime(2012,1,1),
    datetime.datetime(2012,1,7),
    datetime.timedelta(hours=1))]
    # Plot the result
    import pylab as plt
    plt.plot(result)
    plt.xlabel('hours')
    plt.ylabel('flux in $m^3/day$')
    plt.legend(('In->W1','W1->W2','W2->Out'))
    plt.show()

    The result of this code is on the right.

    +

    Now we are going to save the fluxes instead of the volume in a list in our first model with boundary conditions and plot the result:

    +
    # Iterate the solver hourly through the time range
    +
    # and return for each time step the fluxes between the nodes
    +
    result = [[In.flux_to(W1,t),W1.flux_to(W2,t),W2.flux_to(Out,t)]
    +
    for t in solver.run(datetime.datetime(2012,1,1),
    +
    datetime.datetime(2012,1,7),
    +
    datetime.timedelta(hours=1))]
    +
    +
    # Plot the result
    +
    import pylab as plt
    +
    plt.plot(result)
    +
    plt.xlabel('hours')
    +
    plt.ylabel('flux in $m^3/day$')
    +
    plt.legend(('In->W1','W1->W2','W2->Out'))
    +
    plt.show()
    +

    The result of this code is on the right.

    All fluxes in and out of one node

    You can get all fluxes of one node with target.fluxes(t). You get a list of tuples, each tuple composed of the flux and the target node. Note: positive fluxes here mean fluxes into the target.

    Example:

    -
    for flux,node in W1.fluxes(solver.t):
    print('%4.1f m3/day from %s' % (flux,node))

    Returns:

    -
    -1.0 m3/day from {W2}
    0.0 m3/day from {Boundary at W1}

    Getting the waterbalance of a node

    +
    for flux,node in W1.fluxes(solver.t):
    +
    print('%4.1f m3/day from %s' % (flux,node))
    +

    Returns:

    +
    -1.0 m3/day from {W2}
    +
    0.0 m3/day from {Boundary at W1}
    +

    Getting the waterbalance of a node

    If you want to know the current balance (sum) of the fluxes you can of course do:

    -
    wb = sum(flux for flux,node in W1.fluxes(solver.t))

    But you can also let cmf do the sum:

    -
    wb = W1.waterbalance(solver.t)

    or even shorter:

    -
    wb = W1(solver.t)

    This is especially useful for boundary conditions, however this does also only show the actual waterbalance and not the average waterbalance over a given timestep. Hence accumulating the waterbalance over time leads to numerical errors.

    +
    wb = sum(flux for flux,node in W1.fluxes(solver.t))
    +

    But you can also let cmf do the sum:

    +
    wb = W1.waterbalance(solver.t)
    +

    or even shorter:

    +
    wb = W1(solver.t)
    +

    This is especially useful for boundary conditions, however this does also only show the actual waterbalance and not the average waterbalance over a given timestep. Hence accumulating the waterbalance over time leads to numerical errors.

    If you need the exact waterbalance, you can create another waterstorage and connect the boundary condition with an WaterbalanceFlux

    Inspect your hydrological network

    Sometimes, you might not be sure what storages are exactly connected to each other, or the following tools are just simpler to use, then inspecting your setup code.

    Getting a list of all the connections of one node is done by the connections property of a node (storage, boundary).

    Example:

    -
    for con in W1.connections:
    print(con)

    prints:

    kinematic wave({W1}<->{W2})
    +
    for con in W1.connections:
    +
    print(con)
    +

    prints:

    kinematic wave({W1}<->{W2})
     Neumann boundary flux({Boundary at W1}<->{W1})
    -

    connected_nodes is a list of the nodes that are connected to another.

    -
    for node in W1.connected_nodes:
    print(node)

    prints:

    {W2}
    -{Boundary at W1}
    +

    connected_nodes is a list of the nodes that are connected to another.

    +
    for node in W1.connected_nodes:
    +
    print(node)
    +

    prints:

    {W2}
    +{Boundary at W1}
    +
    +
    diff --git a/docs/cmf_tut_intercept.html b/docs/cmf_tut_intercept.html index db2177b3..13545b8b 100644 --- a/docs/cmf_tut_intercept.html +++ b/docs/cmf_tut_intercept.html @@ -2,33 +2,37 @@ - - - - -cmf: Interception - - - - + + + + + cmf: Interception + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Interception
    +
    +
    Interception

    back... next...

    @@ -107,16 +118,43 @@

    Setup code

  • We add a layer of 1m water capacity
  • We add a groundwater boundary condition with free drainage
  • -
    import cmf
    c = p.NewCell(0,0,0,1000,True)
    # Add a single layer of 1 m depth
    l = c.add_layer(1.0, cmf.VanGenuchtenMualem())
    # Add a groundwater boundary condition
    gw = p.NewOutlet('gw',0,0,-2)
    # Use a free drainage connection to the groundwater
    cmf.FreeDrainagePercolation(l,gw)
    # Add some rainfall
    c.set_rainfall(5.0)

    Runtime and plot code

    -
    solver = cmf.CVodeIntegrator(p,1e-9)
    res = [l.volume for t in solver.run(solver.t,solver.t+cmf.day,cmf.min*15)]
    plot(res)

    Create a canopy storage

    +
    import cmf
    + +
    c = p.NewCell(0,0,0,1000,True)
    +
    # Add a single layer of 1 m depth
    +
    l = c.add_layer(1.0, cmf.VanGenuchtenMualem())
    +
    # Add a groundwater boundary condition
    +
    gw = p.NewOutlet('gw',0,0,-2)
    +
    # Use a free drainage connection to the groundwater
    +
    cmf.FreeDrainagePercolation(l,gw)
    +
    +
    # Add some rainfall
    +
    c.set_rainfall(5.0)
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +

    Runtime and plot code

    +
    solver = cmf.CVodeIntegrator(p,1e-9)
    +
    res = [l.volume for t in solver.run(solver.t,solver.t+cmf.day,cmf.min*15)]
    +
    plot(res)
    +

    Create a canopy storage

    -canopyflow.png +
    -

    Now we will extend our model with a canopy storage. In the figure on the right side, you can see how the canopy storage should be connected. The incoming rainfall, that has been routed before directly to the surface water is now split into intercepted rainfall, routed to the new canopy storage, and throughfall, routed still routed to the surface water. The fraction of intercepted rainfall is triggered by the variable canopy closure of the cell's Vegetation cell.vegetation.CanopyClosure. If this variable is 1, all rainfall is intercepted, and there is no throughfall. However, the predifined connection between rainfall and surface water is not aware of the canopy storage, hence both connections (Rainfall) need to be newly defined (see code below).

    +

    Now we will extend our model with a canopy storage. In the figure on the right side, you can see how the canopy storage should be connected. The incoming rainfall, that has been routed before directly to the surface water is now split into intercepted rainfall, routed to the new canopy storage, and throughfall, routed still routed to the surface water. The fraction of intercepted rainfall is triggered by the variable canopy closure of the cell's Vegetation cell.vegetation.CanopyClosure. If this variable is 1, all rainfall is intercepted, and there is no throughfall. However, the predifined connection between rainfall and surface water is not aware of the canopy storage, hence both connections (Rainfall) need to be newly defined (see code below).

    The second connection needed, is the overflow of the canopy. The leaves of the canopy can only store a limited volume of water, if this volume is reached, the canopy starts dripping. One of the best known models for the interception process is the model by Rutter et al. 1971. The overflow term of the model is implemented in cmf as RutterInterception. A special characteristik of the model is, that drippig stops together with rainfall. The capacity of the canopy storage is defined as the product of the leaf area index (cell.vegetation.LAI) and the capacity in mm per m2 leaf area cell.vegetation.CanopyCapacityPerLAI. To define which amount of water is directly routed to the surfaces as throughfall without being storaged in the canopy the canopy closure can be defined cell.vegetation.CanopyClosure. The default value of the canopy closure is 1, so there is no direct throughfall if it remains unchanged.

    The third term of the Rutter model is the evaporation from the wet leaf surface. Currently only the Penman based CanopyStorageEvaporation and ShuttleworthWallace do this calculation.

    The code below can be used to extend the setup code for the simple model above.

    -
    # Make c.canopy a water storage
    c.add_storage('Canopy','C')
    # Split the rainfall from the rain source (RS) between
    # intercepted rainfall (RS->canopy) and throughfall (RS-surface)
    cmf.Rainfall(c.canopy,c,False,True) # RS->canopy, only intercepted rain
    cmf.Rainfall(c.surfacewater,c,True,False) # RS->surface, only throughfall
    # Use an overflow mechanism, eg. the famous Rutter-Interception Model
    cmf.RutterInterception(c.canopy,c.surfacewater,c)
    # And now the evaporation from the wet canopy (using a classical Penman equation)
    cmf.CanopyStorageEvaporation(c.canopy,c.evaporation,c)
    +
    # Make c.canopy a water storage
    +
    c.add_storage('Canopy','C')
    +
    # Split the rainfall from the rain source (RS) between
    +
    # intercepted rainfall (RS->canopy) and throughfall (RS-surface)
    +
    cmf.Rainfall(c.canopy,c,False,True) # RS->canopy, only intercepted rain
    +
    cmf.Rainfall(c.surfacewater,c,True,False) # RS->surface, only throughfall
    +
    # Use an overflow mechanism, eg. the famous Rutter-Interception Model
    +
    cmf.RutterInterception(c.canopy,c.surfacewater,c)
    +
    # And now the evaporation from the wet canopy (using a classical Penman equation)
    +
    cmf.CanopyStorageEvaporation(c.canopy,c.evaporation,c)
    +
    +
    diff --git a/docs/cmf_tut_kinematic_wave.html b/docs/cmf_tut_kinematic_wave.html index 292cc09d..64c9c52b 100644 --- a/docs/cmf_tut_kinematic_wave.html +++ b/docs/cmf_tut_kinematic_wave.html @@ -2,33 +2,37 @@ - - - - -cmf: Is hydrology kinematic? - - - - + + + + + cmf: Is hydrology kinematic? + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Is hydrology kinematic?
    +
    +
    Is hydrology kinematic?

    ... is the title of a paper by Singh (2002), where he lists numerous examples from all scales of hydrology where a kinematic wave function has been found to be a valid descriptor for hydrological processes. Anyway, numerous more or less conceptional models in hydrology use kinematic wave like formulations to calculate fluxes. While some authors are happy to call every 1st order flux calculation using some exponent a kinematic wave, other authors like to see the term reserved for more "wave like" phenomens in hydrology.

    @@ -108,7 +119,9 @@

    A simplified equation for power law equations

    A generalized form for some approaches is:

    -\[ q(V) = Q_0 \cdot \theta^\beta\ (1) \] +\[ +q(V) = Q_0 \cdot \theta^\beta\ (1) +\]

    where:

      @@ -118,35 +131,47 @@

      A simplified equation for power law equations

    For cmf, using the finite volume approach, we need a consistent function to relate the stored water volume \(V\) in a water storage to the variable \(\theta\). So we define:

    -\[ \theta = \frac{V - V_{res}}{V_0}\ (2) \] +\[ +\theta = \frac{V - V_{res}}{V_0}\ (2) +\]

    where:

    • \(V\) is the water volume stored in a storage in \(m^3\)
    • -
    • \(V_{res}\) is an immobile water volume in the storage, that does not take place in this connection. It may be ommitted and set to \( 0 m^3\).
    • +
    • \(V_{res}\) is an immobile water volume in the storage, that does not take place in this connection. It may be ommitted and set to \( 0 + m^3\).
    • \(V_0\) is a reference volume, where, for any \(\beta\) the runoff from the water storage is \(Q_0\).

    The famous linear storage equation can be seen as a special case of this approach where \(\beta=1\). In that case, we can rearrange the formula above to:

    -\[ q(V) = \frac{Q_0}{V_0} \cdot (V-V_{res})\ (3) \] +\[ +q(V) = \frac{Q_0}{V_0} \cdot (V-V_{res})\ (3) +\]

    -

    Here the quotient \(\frac{Q_0}{V_0}\) becomes the inverse of the storage residence time \(t_r^{-1}\), which simplifies (3) to
    -

    -\[ q(V) = \frac 1 {t_r [days]} \cdot (V-V_{res})\ (4) \] +

    Here the quotient \(\frac{Q_0}{V_0}\) becomes the inverse of the storage residence time \(t_r^{-1}\), which simplifies (3) to
    +

    +

    +\[ +q(V) = \frac 1 {t_r [days]} \cdot (V-V_{res})\ (4) +\]

    for the linear case

    Implementation in cmf

    Due to the different meanings of parameters between the linear and non-linear case, cmf provides now 2 distinct connections for the linear and the non-linear case.

    LinearStorageConnection

    -
    ls = cmf.LinearStorageConnection(source, target, residencetime=3.2, residual=0)

    The linear storage connection LinearStorageConnection implements (4) and takes the residence time in days and a residual water content in m³ as parameters. While the residence time must be given, the residual water content can be omitted and set to 0. Depending on system size and structure, residence times between minutes for surface water storages or fast drainages up to hundreds of years for large aquifers are suitable values.

    +
    ls = cmf.LinearStorageConnection(source, target, residencetime=3.2, residual=0)
    +

    The linear storage connection LinearStorageConnection implements (4) and takes the residence time in days and a residual water content in m³ as parameters. While the residence time must be given, the residual water content can be omitted and set to 0. Depending on system size and structure, residence times between minutes for surface water storages or fast drainages up to hundreds of years for large aquifers are suitable values.

    PowerLawConnection

    -
    plc = cmf.PowerLawConnection(source, target, Q0=3.0, V0=5.3, beta=2.0, residual=0)

    The power law connection (PowerLawConnection) needs the parameters Q0, V0 and beta as given in the generalized form of the power law equation. The reference flow \(Q_0 [\frac{m^3}{days}]\) occurs when the source water storage contains the reference volume \(V_0\) as mobile water. The curve shape parameter \(\beta\) bends the curve for mobile water volumes between 0 and \(V0\) down, when \(\beta>1\). The curve is bend up for \(\beta<1\). If \(V - V_{res}>V_0\), the effect is directly turned around, as shown in the figure.

    +
    plc = cmf.PowerLawConnection(source, target, Q0=3.0, V0=5.3, beta=2.0, residual=0)
    +

    The power law connection (PowerLawConnection) needs the parameters Q0, V0 and beta as given in the generalized form of the power law equation. The reference flow \(Q_0 [\frac{m^3}{days}]\) occurs when the source water storage contains the reference volume \(V_0\) as mobile water. The curve shape parameter \(\beta\) bends the curve for mobile water volumes between 0 and \(V0\) down, when \(\beta>1\). The curve is bend up for \(\beta<1\). If \(V - +V_{res}>V_0\), the effect is directly turned around, as shown in the figure.

    The residual water content \(V_{res} [m^3]\) shifts the storage/runoff response to the right.

    A residual water content makes sense eg. for percolation in simplified models where percolation starts only above field capacity, where the residual water content equals field capacity of the top soil, or it can be used as the volume behind a dam. To find a justification for \(\beta\) is more challenging: \(\beta>1\) describes systems, where flow is over linear slow for low storages and gets much faster for a large storage. Unsaturated flow can be modelled that way, if one takes an analogy with the Brooks-Corey retention curve, betas from 4 to 15 are reasonable. The standard beta for the "real" kinematic wave from the Manning-Strickler equation for sheet flow in \(\frac 5 3\). If you find a real world usage for \(\beta<1\), please inform the authors of cmf. However, if \(\beta<0.3\) it is reported, that numerical instabilities will arise.

    -PowerLawConnection.png +
    -
    +
    +
    diff --git a/docs/cmf_tut_meteostation.html b/docs/cmf_tut_meteostation.html index e5ca7608..e110561d 100644 --- a/docs/cmf_tut_meteostation.html +++ b/docs/cmf_tut_meteostation.html @@ -2,33 +2,37 @@ - - - - -cmf: Using measurement stations for atmospheric conditions - - - - + + + + + cmf: Using measurement stations for atmospheric conditions + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Using measurement stations for atmospheric conditions
    +
    +
    Using measurement stations for atmospheric conditions

    The station concept in cmf

    @@ -104,53 +115,105 @@

    Rainfall stations

    Rainfall stations consists of a timeseries of rainfall intensities in mm/day. Note that the unit is '''always''' mm/day, regardless of the timestep of your timeseries. If you have, for example, hourly measured rainfall data in mm/h, you have to multiply the value by 24 to get the rainfall in mm/day. Since you can calculate with timeseries, you can simply move the unit conversion into your data loading script.

    Create a rainfall station

    In the next example, we will create rainfall station using random data. For your application you will load your data from a file, database or web service.

    -
    import cmf
    import numpy as np
    from datetime import datetime,timedelta
    # Create a project
    project = cmf.project()
    # Create a timeseries, starting Jan 1st, 2010 with 1h step, with random data
    raindata = cmf.timeseries.from_array(start=datetime(2010,1,1),
    timedelta(hours=1),
    numpy.random.uniform(0,30,24*365))
    # Add a rainfall station to the project
    rainstation = project.rainfall_stations.add(Name='Random station',
    Data=raindata,
    Position=(0,0,0))

    The last command is new: Every project has a list of rainfall stations, and you add a new station with the add method. The method expects a name for the station (very useful if you have more then one), the data as a cmf timeseries and a position in space in project coordinates. You can connect your new rainfall station with a cell c by:

    -
    rainstation.use_for_cell(c)

    or you can use one of the spatial distibution methods shown at the end of this tutorial.

    +
    import cmf
    +
    import numpy as np
    +
    from datetime import datetime,timedelta
    +
    +
    # Create a project
    +
    project = cmf.project()
    +
    +
    # Create a timeseries, starting Jan 1st, 2010 with 1h step, with random data
    +
    raindata = cmf.timeseries.from_array(start=datetime(2010,1,1),
    +
    timedelta(hours=1),
    +
    numpy.random.uniform(0,30,24*365))
    +
    # Add a rainfall station to the project
    +
    rainstation = project.rainfall_stations.add(Name='Random station',
    +
    Data=raindata,
    +
    Position=(0,0,0))
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +

    The last command is new: Every project has a list of rainfall stations, and you add a new station with the add method. The method expects a name for the station (very useful if you have more then one), the data as a cmf timeseries and a position in space in project coordinates. You can connect your new rainfall station with a cell c by:

    +
    rainstation.use_for_cell(c)
    +

    or you can use one of the spatial distibution methods shown at the end of this tutorial.

    Meteorological stations

    MeteoStation objects are much more complex than rainfall stations. The do not hold only one timeseries, but quite a number. The data is used for the various evaporation, evapotranspiration and transpiration connections available in cmf. Depending on the processes you are using in your model, not every timeseries you can populate is really used. The more physically based atmospheric connections, like PenmanMonteithET and ShuttleworthWallace need all values that are provided by the MeteoStation. However, not all values are measured at all stations. The MeteoStation object follows therefore the FAO guidelines for the Penman Monteith method, to use surrogate values, as listed below.

    Timeseries provided by a meteo object:

    -

    T:: Timeseries of Temperature \( T\left[^\circ C\right] \) '''Optional''', if missing it is calculated from \( T=\frac{T_{max} + T_{min}} 2 \)

    -

    Tmax:: Timeseries of daily maximum Temperature \( T_{max} \left[^\circ C\right] \) '''Required''', but it can be generated from T, if you have a high resolution timeseries for Temperature, Tmax can be generated as follows: meteo.Tmax = meteo.T.reduce_max(meteo.T.begin, cmf.day)

    -

    Tmin:: Timeseries of daily minimum Temperature \( T_{min}\left[^\circ C\right] \) '''Required''', but it can generate from T. If you have a high resolution timeseries for Temperature, Tmin can be generated as follows: meteo.Tmin = meteo.T.reduce_min(meteo.T.begin, cmf.day)

    -

    Tground:: Timeseries of upper soil temperature \( T_{ground}\left[^\circ C\right] \) '''Optional''', if missing \( T_{ground} = T \)

    +

    T:: Timeseries of Temperature \( T\left[^\circ C\right] \) '''Optional''', if missing it is calculated from \( T=\frac{T_{max} + +T_{min}} 2 \)

    +

    Tmax:: Timeseries of daily maximum Temperature \( T_{max} +\left[^\circ C\right] \) '''Required''', but it can be generated from T, if you have a high resolution timeseries for Temperature, Tmax can be generated as follows: meteo.Tmax = meteo.T.reduce_max(meteo.T.begin, cmf.day)

    +

    Tmin:: Timeseries of daily minimum Temperature \( +T_{min}\left[^\circ C\right] \) '''Required''', but it can generate from T. If you have a high resolution timeseries for Temperature, Tmin can be generated as follows: meteo.Tmin = meteo.T.reduce_min(meteo.T.begin, cmf.day)

    +

    Tground:: Timeseries of upper soil temperature \( +T_{ground}\left[^\circ C\right] \) '''Optional''', if missing \( +T_{ground} = T \)

    Windspeed:: Timeseries of windspeed at instrument height (default 2m) in \(m/s\). '''Optional''', if not available the wind speed defaults to 2 m/s

    -

    rHmean:: Timeseries of relative mean Humidity \( rH_{mean} \left[\%\right] \) '''Optional''', not used if rHmax or Tdew is available. Use this field, if you have high resolution relative humidity data.

    -

    rHmin:: Timeseries of daily minimum relative Humidity \( rH_{min} \left[\%\right] \) '''Optional''', only used if rHmax is used

    -

    rHmax:: Timeseries of daily maximum relative Humidity \( rH_{max} \left[\%\right] \)'''Optional''', not used if Tdew is available

    -

    Tdew:: Timeseries of dew point temperature \( T_{dew}\left[^\circ C\right]\) '''Optional''', if neither Tdew, rHmax or rHmean is available then Tdew = Tmin

    +

    rHmean:: Timeseries of relative mean Humidity \( rH_{mean} +\left[\%\right] \) '''Optional''', not used if rHmax or Tdew is available. Use this field, if you have high resolution relative humidity data.

    +

    rHmin:: Timeseries of daily minimum relative Humidity \( rH_{min} +\left[\%\right] \) '''Optional''', only used if rHmax is used

    +

    rHmax:: Timeseries of daily maximum relative Humidity \( rH_{max} +\left[\%\right] \)'''Optional''', not used if Tdew is available

    +

    Tdew:: Timeseries of dew point temperature \( +T_{dew}\left[^\circ C\right]\) '''Optional''', if neither Tdew, rHmax or rHmean is available then Tdew = Tmin

    Sunshine:: Fractional sunshine \(\frac{n}{N}\). Sunshine duration per potential sunshine duration. '''Optional''', if not present it defaults to 0.5. If you have the total duration of sunshine, use the SetSunshineFraction method of the MeteoStation. If you have cloud coverage instead of total sunshine duration you may assume that the fractional sunshine duration equals 1-cloudfraction

    -

    Rs:: Global Radiation in \( \frac{MJ}{m^2 day} \) ''' Optional''', if not available cmf::atmosphere::global_radiation is used to calculate radiation from lat, lon, day of year and Sunshine.

    -

    T_lapse:: Temperature lapse, the slope of the temperature / height regression. Typical values are \( -0.0004 .. -0.001 \frac{^\circ C}{m} \), default is \( 0\frac{^\circ C}{m} \) (no temperature adjusting)

    +

    Rs:: Global Radiation in \( \frac{MJ}{m^2 day} \) ''' Optional''', if not available cmf::atmosphere::global_radiation is used to calculate radiation from lat, lon, day of year and Sunshine.

    +

    T_lapse:: Temperature lapse, the slope of the temperature / height regression. Typical values are \( -0.0004 .. -0.001 \frac{^\circ C}{m} +\), default is \( 0\frac{^\circ C}{m} \) (no temperature adjusting)

    Creating a meteorological station

    To keep the example code short, we assume, that you have your data provided in a special binary data format for timeseries. For your model, you would rather do something as it is shown in CmfTutTestData.

    -
    meteo = project.meteo_stations.add_station(name='A station name',
    position=(0,0,0),
    latitude=50.8,
    longitude=8.4)
    # Load some data
    meteo.Tmax = cmf.timeseries.from_file('Tmax.timeseries')
    meteo.Tmin = cmf.timeseries.from_file('Tmin.timeseries')
    meteo.Rs = cmf.timeseries.from_file('Rs.timeseries')

    Have a look at the first line. To create a meteo station, the name and position are needed as for the rainfall station, but also the position in geographic coordinates and the time zone for the calculation of radiation from sun inclination. If you want to have a daily average radiation, set meteo.daily=True. To include diurnal changes of the radiation (the night is dark) set meteo.daily=False. If you provide Rs data, the geographic position is not used and the radiation follows the given data. To assign a cell you can do meteo.use_for_cell(c) or use a concept shown in the next section.

    +
    meteo = project.meteo_stations.add_station(name='A station name',
    +
    position=(0,0,0),
    +
    latitude=50.8,
    +
    longitude=8.4)
    +
    # Load some data
    +
    meteo.Tmax = cmf.timeseries.from_file('Tmax.timeseries')
    +
    meteo.Tmin = cmf.timeseries.from_file('Tmin.timeseries')
    +
    meteo.Rs = cmf.timeseries.from_file('Rs.timeseries')
    +

    Have a look at the first line. To create a meteo station, the name and position are needed as for the rainfall station, but also the position in geographic coordinates and the time zone for the calculation of radiation from sun inclination. If you want to have a daily average radiation, set meteo.daily=True. To include diurnal changes of the radiation (the night is dark) set meteo.daily=False. If you provide Rs data, the geographic position is not used and the radiation follows the given data. To assign a cell you can do meteo.use_for_cell(c) or use a concept shown in the next section.

    Distributing data in space

    Using the nearest station

    If the forcing data for a cell should be used from one station, the station.use_for_cell idiom is fine. To assign all cells of a project to the nearest station write in your script:

    -
    project.use_nearest_meteo(z_weight=0.0)
    project.use_nearest_rainfall(z_weight=0.0)

    The distance is calculated using the x,y,z coordinates,of the cell \(x_c,y_c,z_c\) and the position argument of the station ''i'', \(x_i,y_i,z_i\) is calculated as:

    +
    project.use_nearest_meteo(z_weight=0.0)
    +
    project.use_nearest_rainfall(z_weight=0.0)
    +

    The distance is calculated using the x,y,z coordinates,of the cell \(x_c,y_c,z_c\) and the position argument of the station ''i'', \(x_i,y_i,z_i\) is calculated as:

    -\[ d_i(x,y,z) = w_z \left|z-z_i\right| + \sqrt{\left(x-x_i\right)^2 +\left(y-y_i\right)^2} \] +\[ + d_i(x,y,z) = w_z \left|z-z_i\right| + \sqrt{\left(x-x_i\right)^2 +\left(y-y_i\right)^2} +\]

    where \(w_z\) z_weight is the weight of the height difference for the distance calculation. If z_weight is not given, it defaults to 0.0 (pure euclidian hoizontal distance).

    Interpolation of forcing data with IDW

    Rainfall and other meterological data can be interpolated in space using the well known IDW (inverse distance weighted) interpolation technique. Since many variations of this simple interpolation technique exist, the one used in cmf sis described. Any spatial interpolation is a function of place and known data at places. The IDW function in cmf reads as:

    -\[ f(x,y,z,t) = \sum^N_{i=1}{f_i(t) w_i(x,y,z)} \] +\[ + f(x,y,z,t) = \sum^N_{i=1}{f_i(t) w_i(x,y,z)} +\]

    -\[ w_i(x,y,z) = \frac{d_i(x,y,z)^{-p}}{\sum^N_{j=0}{d_j(x,y,z)^{-p}}} \] +\[ + w_i(x,y,z) = \frac{d_i(x,y,z)^{-p}}{\sum^N_{j=0}{d_j(x,y,z)^{-p}}} + +\]

    -\[ d_i(x,y,z) = w_z \left|z-z_i\right| + \sqrt{\left(x-x_i\right)^2 + \left(y-y_i\right)^2} \] +\[ + d_i(x,y,z) = w_z \left|z-z_i\right| + \sqrt{\left(x-x_i\right)^2 + \left(y-y_i\right)^2} +\]

    where:

      -
    • \( x,y,z \) is the actual spatial position - \( t \) is the actual time step - \( N \) is the number of stations - \( f_i(t) \) is a data value of station \(i\) and time step \(t\) - \( w_i(x,y,z) \) is a weight function of station \(i\) for position \( x,y,z \) - \( d_i(x,y,z)\) is the distance / proximity function of station \(i\) for position \(x,y,z\) - \( p \) is the weighting power. A common value is \(p=2\) - \( x_i, y_i, z_i \) is the spatial position of station \(i\) - \( w_z \) is a weight parameter. This parameter can be used change the influence of height differences on the proximity of places. \(w_z=0\) resolves in a pure horizontal distance calculation, while very heigh values (eg. 10 000) resolve in an interpolation by height. Intermediate values (e.g. 10), depending on the height differences in the study area can lead to realistic distributions of spatiotemporal values in the landscape.
    • +
    • \( x,y,z \) is the actual spatial position - \( t \) is the actual time step - \( N \) is the number of stations - \( f_i(t) +\) is a data value of station \(i\) and time step \(t\) - \( +w_i(x,y,z) \) is a weight function of station \(i\) for position \( x,y,z \) - \( d_i(x,y,z)\) is the distance / proximity function of station \(i\) for position \(x,y,z\) - \( p \) is the weighting power. A common value is \(p=2\) - \( x_i, y_i, +z_i \) is the spatial position of station \(i\) - \( w_z \) is a weight parameter. This parameter can be used change the influence of height differences on the proximity of places. \(w_z=0\) resolves in a pure horizontal distance calculation, while very heigh values (eg. 10 000) resolve in an interpolation by height. Intermediate values (e.g. 10), depending on the height differences in the study area can lead to realistic distributions of spatiotemporal values in the landscape.

    Usage:

    Applying IDW interpolation for all cells over all stations is used as:

    -
    project.use_IDW_meteo(z_weight=0.0, power=2.)
    project.use_IDW_rainfall(z_weight=0.0, power=2.)

    with z_weight \(\hat{=}\ w_z\), power \(\hat{=}\ p\)

    +
    project.use_IDW_meteo(z_weight=0.0, power=2.)
    +
    project.use_IDW_rainfall(z_weight=0.0, power=2.)
    +

    with z_weight \(\hat{=}\ w_z\), power \(\hat{=}\ p\)

    +
    diff --git a/docs/cmf_tut_need_to_know.html b/docs/cmf_tut_need_to_know.html index fb697486..48dbf86a 100644 --- a/docs/cmf_tut_need_to_know.html +++ b/docs/cmf_tut_need_to_know.html @@ -2,33 +2,37 @@ - - - - -cmf: What you need to know for using cmf - - - - + + + + + cmf: What you need to know for using cmf + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    What you need to know for using cmf
    +
    +
    What you need to know for using cmf

    First, you need to have some knowledge of Python - how to write loops, functions, perform math etc. Python is a programming language gaining influence for scientific computing since years, even Nature wrote aboute it (Perkel 2015). You should know how to read and write data from file. If you have already some programming skills, but you are new to Python, please read first the official Python tutorial, especially section 1-10. A second good source is the freely available book Python in Hydrology, as a compagnion to the official tutorial.

    @@ -106,6 +117,7 @@

    Python 2 vs. 3

    How to deal with the tutorials

    The best way to try out this tutorial is from an interactive environment line, like IPython or Spyder (see CmfRecommendedSoftwareEnvironment). The tutorials do not include excercises. However, to understand what is going on, try to understand every line you type or copy (better to type) and make changes to the code to see what happens. Change parameters, extend the problem and so on. For the later tutorials it is a good exercise to combine tutorials, eg. write a 1D model with real wheater data on your own, rather than download it directly.

    +
    diff --git a/docs/cmf_tut_project.html b/docs/cmf_tut_project.html index ed2933da..81176ae6 100644 --- a/docs/cmf_tut_project.html +++ b/docs/cmf_tut_project.html @@ -2,33 +2,37 @@ - - - - -cmf: Project - - - - + + + + + cmf: Project + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,22 +93,32 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Project
    +
    +
    Project

    The cmf project is the container for the nodes of the water flux network. For any kind of cmf model, the first step is to create a project:

    -
    import cmf

    The project represents the study area and holds the cells (horizontal discretization of the soil), the reaches (discretized river sections), "free" water storages (like lakes, dams etc.) and the boundary conditions. While models for channeled flow may only contain reaches, but no cells, every model spatial explicit description of subsurface flux needs to have cells.

    +
    import cmf
    + +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +

    The project represents the study area and holds the cells (horizontal discretization of the soil), the reaches (discretized river sections), "free" water storages (like lakes, dams etc.) and the boundary conditions. While models for channeled flow may only contain reaches, but no cells, every model spatial explicit description of subsurface flux needs to have cells.

    Have a look at the description of the programming interface for project.

    Adding Cells, Rivers, free water storages and boundary conditions is explained in the next parts of the tutorial. Bear in mind, that nearly every cmf object is somehow bound to a project. Creating a project is therefore always the second step in using cmf after import of the library.

    The next tutorial contains a first simple, conceptual model (Nash-Boxes).

    +
    diff --git a/docs/cmf_tut_retentioncurve.html b/docs/cmf_tut_retentioncurve.html index e5b48b50..7b29d944 100644 --- a/docs/cmf_tut_retentioncurve.html +++ b/docs/cmf_tut_retentioncurve.html @@ -2,33 +2,37 @@ - - - - -cmf: Hydraulic head (subsurface) - - - - + + + + + cmf: Hydraulic head (subsurface) + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Hydraulic head (subsurface)
    +
    +
    Hydraulic head (subsurface)

    Hydraulic head and stored water volume

    @@ -103,7 +114,9 @@

    For unsaturated porous media, the relation between water content and head is given by a retention curve, for saturated porous media this relation is often modelled by a compressability term (eg. in MODFLOW). For surface water, the relation of volume to head is given by the height of the watertable above a model wide reference height, often sea level.

    The potential or hydraulic head for porous media is commonly defined as:

    -\[ \Psi_{tot} = z + \Psi_M(\theta) + p + \Psi_O \] +\[ +\Psi_{tot} = z + \Psi_M(\theta) + p + \Psi_O +\]

    where:

    • \(\Psi_{tot}\) is the total potential of the water storage in m water column
    • @@ -125,14 +138,31 @@

      Introduction and definitions

      Getting and setting the potential in cmf

      Every flux node in cmf has a property potential returning the absolute potential \(\Psi_{tot}\) of that flux node. For soil layers, one can query the gravitational potential \(z\) and the matrix potential \(\Psi_M\) also. The gravitational potential for layer l is defined as the height of the upper layer boundary above reference height

      -
      z = l.gravitational_potential = l.position.z + l.thickness/2. = l.cell.z - l.upper_boundary

      The matrix potential is depending on the water content by the retention curve (see below).

      -
      Psi_M = l.matrix_potential
      Psi_tot = z + Psi_M
      Psi_tot == l.potential

      Saturated depth

      +
      z = l.gravitational_potential = l.position.z + l.thickness/2. = l.cell.z - l.upper_boundary
      +

      The matrix potential is depending on the water content by the retention curve (see below).

      +
      Psi_M = l.matrix_potential
      +
      Psi_tot = z + Psi_M
      +
      Psi_tot == l.potential
      +

      Saturated depth

      To get an easy to interprete indicator for the vertical potential distribution in a cell, the cell has a property saturated_depth. If you query the saturated depth of a cell you get the potential of the first saturated layer \(\Psi_M \geq 0m\) relative to the cell height. Hence

      -
      def getsaturateddepth(cell):
      return cell.saturated_depth

      is equal to

      -
      def getsaturateddepth(cell):
      for l in cell.layers:
      if l.matrix_potential>=0:
      return cell.z - l.potential
      # No layer is saturated, return potential of last layer
      return cell.z - cell.layers[-1].potential

      This works quite fine as an indicator of cell saturation, as long as you do not have perched water tables. In case of a temporary existent perched water table over a confining layer, you may have sharp jumps in saturated_depth, also the potential of each layer has a smooth behaviour.

      +
      def getsaturateddepth(cell):
      +
      return cell.saturated_depth
      +

      is equal to

      +
      def getsaturateddepth(cell):
      +
      for l in cell.layers:
      +
      if l.matrix_potential>=0:
      +
      return cell.z - l.potential
      +
      # No layer is saturated, return potential of last layer
      +
      return cell.z - cell.layers[-1].potential
      +

      This works quite fine as an indicator of cell saturation, as long as you do not have perched water tables. In case of a temporary existent perched water table over a confining layer, you may have sharp jumps in saturated_depth, also the potential of each layer has a smooth behaviour.

      It is also possible to set the saturated_depth of a cell for simplified setting of initial conditions. All layers of the cell will be put into vertical hydrostatic equilibrium for that cell with the same potential. Hence

      -
      def setsaturateddepth(cell,value):
      cell.saturated_depth = value

      is equal to

      -
      def setsaturateddepth(cell,value):
      for l in cell.layers:
      l.potential = cell.z - value

      If you want to set a whole landscape into hydrostatic equilibrium in a gradient based model, you need to set the saturated_depth for each cell with care to their respective height above reference height.

      +
      def setsaturateddepth(cell,value):
      +
      cell.saturated_depth = value
      +

      is equal to

      +
      def setsaturateddepth(cell,value):
      +
      for l in cell.layers:
      +
      l.potential = cell.z - value
      +

      If you want to set a whole landscape into hydrostatic equilibrium in a gradient based model, you need to set the saturated_depth for each cell with care to their respective height above reference height.

      Retention curves

      A number of parametric retention curves exists, however the VanGenuchten-Mualem (VanGenuchten 1980) retention curve is the most widely used. Another widely used, older retention curve is the Brooks-Corey curve (Brooks & Corey 1964). Both curves are consist of the pressure - water content relation and another function, based on the same parameters to calculate the unsaturated hydraulic conductivity. Additional retention curves can be easily implemented in cmf on request, however they must meet the following conditions:

        @@ -142,39 +172,68 @@

        Retention curves

        Until now the VanGenuchten-Mualem curve and the Brooks-Corey curve are implemented in cmf. For more conceptual models the so called linear retention curve can be used.

        All curves share the definition of the water content \(\theta\) and the water filled pore space (wetness) \(W\):

        -\[ \theta = \frac V {A \Delta z} \] +\[ +\theta = \frac V {A \Delta z} +\]

        where:

        • \(V\) is the stored water volume of the soil layer in m³
        • \(A\) is the area of the soil column in m²
        • -
        • \(\Delta z\) is the thickness of the soillayer

          +
        • \(\Delta z\) is the thickness of the soillayer
        • +

        -\[ W = \frac{\theta - \theta_r}{\Phi - \theta_r} \] +\[ + W = \frac{\theta - \theta_r}{\Phi - \theta_r} +\]

        - -

    where:

    • \(\theta_r\) is the residual water content in m³/m³
    • \(\Phi\) is the porosity of the soil in m³/m³

    For the comparisons of the different retention curves, we define a function to plot the curves. You can play around with the parameters and see the different effects.

    -
    def plot_rc(retcurve,Psi_M):
    """Plots the retention curve retcurve for the matrix potential values in the array Psi_M
    and the function of K(theta)"""
    # Make upper plot
    subplot(2,1,1)
    # Calculate the wetness at the matrix potential
    W = retcurve.Wetness(Psi_M)
    # plot the retention curve. The methods vgm.Wetness(matrixpotential), vgm.MatricPotential(wetness),
    # vgm.K(wetness) accept numbers as well as arrays for the values
    plot(Psi_M, W * retcurve.Porosity(0))
    # label axis
    xlabel('Matric potential [m]') ylabel(r'water content $\theta [\frac{m^3}{m^3}]$')
    grid()
    # Make lower plot (K(W))
    subplot(2,1,2)
    semilogy(Psi_M, retcurve.K(W))
    xlabel('Matric potential [m]') ylabel(r'$K(\theta) [\frac{m}{day}]$')
    grid()

    VanGenuchten-Mualem curve

    +
    def plot_rc(retcurve,Psi_M):
    +
    """Plots the retention curve retcurve for the matrix potential values in the array Psi_M
    +
    and the function of K(theta)"""
    +
    +
    # Make upper plot
    +
    subplot(2,1,1)
    +
    # Calculate the wetness at the matrix potential
    +
    W = retcurve.Wetness(Psi_M)
    +
    # plot the retention curve. The methods vgm.Wetness(matrixpotential), vgm.MatricPotential(wetness),
    +
    # vgm.K(wetness) accept numbers as well as arrays for the values
    +
    plot(Psi_M, W * retcurve.Porosity(0))
    +
    # label axis
    +
    xlabel('Matric potential [m]') ylabel(r'water content $\theta [\frac{m^3}{m^3}]$')
    +
    grid()
    +
    # Make lower plot (K(W))
    +
    subplot(2,1,2)
    +
    semilogy(Psi_M, retcurve.K(W))
    +
    xlabel('Matric potential [m]') ylabel(r'$K(\theta) [\frac{m}{day}]$')
    +
    grid()
    +

    VanGenuchten-Mualem curve

    Definition from the API-documentation: VanGenuchtenMualem

    The equation of the curve and the parameters are described in the API-documentation. In the following, you will create a VanGenuchten-Mualem curve with the follwing paramters in cmf:

    - - - - - - - - - + + + + + + + + +
    Parameter value unit Description
    \(K_{sat}\) 2.5 \(m/day\) Saturated conductivity
    \(\alpha\) 0.1 \(1/cm\) Inverse of water entry potential
    \(n\) 1.6 Poresize distribution parameter
    \(\Phi\) 0.52 \(m^3/m^3\) Porosity
    Parameter value unit Description
    \(K_{sat}\) 2.5 \(m/day\) Saturated conductivity
    \(\alpha\) 0.1 \(1/cm\) Inverse of water entry potential
    \(n\) 1.6 Poresize distribution parameter
    \(\Phi\) 0.52 \(m^3/m^3\) Porosity
    -
    import cmf
    from pylab import *
    vgm = cmf.VanGenuchtenMualem(Ksat=2.5, alpha=0.1, n=1.6, phi=0.52)
    # Make an array of matric potential values [0..-3m] for plotting the retention curve
    Psi_M = arange(0,-3,-0.01)
    plot_rc(vgm,Psi_M)

    Oversaturation

    -

    As noted above, cmf mimics the hydrostatic pressure by allowing a slight oversaturation for the case of hydrostatic pressure \(W(\Psi_M) > 1.0\ \forall\ \Psi_M>0\). To archive that, at a wetness near to saturation ( \(W_0\)), the VanGenuchten curve \(\Psi_M(W)\) is replaced by a parabolic extrapolation function \(f_{ex}(W)\), which has the following properties:

    +
    import cmf
    +
    from pylab import *
    +
    vgm = cmf.VanGenuchtenMualem(Ksat=2.5, alpha=0.1, n=1.6, phi=0.52)
    +
    # Make an array of matric potential values [0..-3m] for plotting the retention curve
    +
    Psi_M = arange(0,-3,-0.01)
    +
    plot_rc(vgm,Psi_M)
    +

    Oversaturation

    +

    As noted above, cmf mimics the hydrostatic pressure by allowing a slight oversaturation for the case of hydrostatic pressure \(W(\Psi_M) > 1.0\ +\forall\ \Psi_M>0\). To archive that, at a wetness near to saturation ( \(W_0\)), the VanGenuchten curve \(\Psi_M(W)\) is replaced by a parabolic extrapolation function \(f_{ex}(W)\), which has the following properties:

    • \(f_{ex}(W_0) = \Psi_M(W_0)\): the combined curve is continuous
    • \(\frac {df_{ex}}{dW}(W_0) = \frac{d\Psi_M}{dW}(W_0)\): the combined curve is continuously differentiable
    • @@ -183,25 +242,28 @@

      Retention curves

      Choosing w0 does affect the degree of oversaturation strongly, but has different effect for different parameters, as the following table shows for the VanGenuchten curve from the example.

      - - - - - - - - - - - + + + + + + + + + + +
      \(w0\) \(f_{ex}(+0.5\ m)\) \(f_{ex}(+1.0\ m)\) \(f_{ex}(+2.0\ m)\)
      0.99 1.06 1.088 1.128
      0.995 1.038 1.056 1.081
      0.999 1.013 1.019 1.028
      0.9996 1.007 1.01 1.015
      0.9999 1.003 1.004 1.006
      \(w0\) \(f_{ex}(+0.5\ m)\) \(f_{ex}(+1.0\ m)\) \(f_{ex}(+2.0\ m)\)
      0.99 1.06 1.088 1.128
      0.995 1.038 1.056 1.081
      0.999 1.013 1.019 1.028
      0.9996 1.007 1.01 1.015
      0.9999 1.003 1.004 1.006

      From an accurcy view point, the oversaturation should be as small as possible. However, the steeper \(f_{ex}(W)\) for W>1, the more unstable is the numerical solution. The user needs to define, which oversaturation is tolerable and set W0 accordingly. If you find a 1% oversaturation at \(\Psi_M=+1.0\) tolerable, then set \(W_0=0.9996\) for this curve as follows:

      -
      vgm.w0 = 0.9996

      To find the optimal point one can use the fit_w0 method:

      -
      vgm.fit_w0(w1=1.01, Psi_p=1.0)

      Brooks & Corey curve

      +
      vgm.w0 = 0.9996
      +

      To find the optimal point one can use the fit_w0 method:

      +
      vgm.fit_w0(w1=1.01, Psi_p=1.0)
      +

      Brooks & Corey curve

      Definition from the API-documentation: BrooksCoreyRetentionCurve

      Linear retention curve

      Definition from the API-documentation: LinearRetention

    +
    diff --git a/docs/cmf_tut_shuttleworth_wallace.html b/docs/cmf_tut_shuttleworth_wallace.html index 65e0b783..c3fdc00c 100644 --- a/docs/cmf_tut_shuttleworth_wallace.html +++ b/docs/cmf_tut_shuttleworth_wallace.html @@ -2,33 +2,37 @@ - - - - -cmf: The Shuttleworth-Wallace method for seperated evaporation and transpiration - - - - + + + + + cmf: The Shuttleworth-Wallace method for seperated evaporation and transpiration + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,22 +93,30 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    The Shuttleworth-Wallace method for seperated evaporation and transpiration
    +
    +
    The Shuttleworth-Wallace method for seperated evaporation and transpiration

    The separation of plant transpiration and soil evaporation is quite complex, since a vegetation cover does intercept the incoming radiation and changes, by transpiration the vapor pressure deficit inside the canopy. The only method, that separates soil evaporation from plant transpiration implemented in cmf so far, is the ShuttleworthWallace. It implements the evaporation method given by Shuttleworth (1985) as used in BROOK90 (Federer 1995). To install all necessary connections, use:

    -
    cell.install_connection(cmf.ShuttleWorthWallace)

    This installs connections between all layers and cell.transpiration, another connection between the first soil layer and cell.evaporation as well as a connection between the surface water and if they are

    +
    cell.install_connection(cmf.ShuttleWorthWallace)
    +

    This installs connections between all layers and cell.transpiration, another connection between the first soil layer and cell.evaporation as well as a connection between the surface water and if they are

    If you want to use canopy evaporation and snow sublimation, make sure you have created the appropriate storages from the tutorials about interception and snow before installation.

    ShuttleworthWallace is quite parameter demanding - all meteorological parameters available in the Weather object are used as well as all parameters of the Vegetation object.

    The transpiration part uses the partitioning described in a later tutorial

    +
    diff --git a/docs/cmf_tut_snow.html b/docs/cmf_tut_snow.html index fbcd0021..11cb34d9 100644 --- a/docs/cmf_tut_snow.html +++ b/docs/cmf_tut_snow.html @@ -2,33 +2,37 @@ - - - - -cmf: Snow - - - - + + + + + cmf: Snow + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,32 +93,43 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Snow
    +
    +
    Snow

    back...

    For this tutorial, we are using the simplified model (without canopy) from the last tutorial.

    Implementation of a snow storage

    -snow.png +
    -

    As shown in the figure, we need to create a snow pack water storage, split the rainfall between rain and snow, depending on air temperature and set a snow melt connection between snow and surface water.

    +

    As shown in the figure, we need to create a snow pack water storage, split the rainfall between rain and snow, depending on air temperature and set a snow melt connection between snow and surface water.

    Creating the snow storage

    Adding a snow storage to the cell

    -
    c.add_storage('Snow','S')

    Splitting rainfall

    +
    c.add_storage('Snow','S')
    +

    Splitting rainfall

    The automatically created connection between rain and surfacewater (Rainfall checks if the cell has a snow storage, and assumes if the snow storage is present, that Rainfall should only transfer rain and not snow. However, to have this working properly we need also a Snowfall connection from the rain source to the snow pack:

    -
    cmf.Snowfall(c.snow,c)

    The split between snow and rain depends on the air temperature (T) of the actual Weather of the cell. If \(T < T_{thres} - 1^\circ C\), where \(T_{thres}=0.0 ^\circ C\) by default, all precipitation is handeled as snow, and for \(T < T_{thres} + 1^\circ C\) precipitation is handeled as rain. For \(|T-T_{thres}|<1K\) precipitation is handled as sleet, a linear mix between snow and rain. Sleet in cmf has its origin in numerical problems when switching during one time step between snow and rain, but fits reality quite nice...

    +
    cmf.Snowfall(c.snow,c)
    +

    The split between snow and rain depends on the air temperature (T) of the actual Weather of the cell. If \(T < T_{thres} - 1^\circ C\), where \(T_{thres}=0.0 ^\circ C\) by default, all precipitation is handeled as snow, and for \(T < +T_{thres} + 1^\circ C\) precipitation is handeled as rain. For \(|T-T_{thres}|<1K\) precipitation is handled as sleet, a linear mix between snow and rain. Sleet in cmf has its origin in numerical problems when switching during one time step between snow and rain, but fits reality quite nice...

    \(T_{thres}\) can be set for the whole model with the function cmf.Weather.set_snow_threshold(Tres).

    Snow melt

    CMF provides a very simple temperature index snow melt model (TempIndexSnowMelt) in the form \(q_{melt} [mm/day] = (T-T_{thres}) r\) where T is the actual temperature, \(T_{thres}\) the same value as above and \(r\) is the snow melt rate in \(\frac{mm}{K\ day}\). The connection is set up for cmf 2.0 and higher:

    -
    snowmelt = cmf.TempIndexSnowMelt(c.snow,c.surfacewater,c,rate=7.0)
    +
    snowmelt = cmf.TempIndexSnowMelt(c.snow,c.surfacewater,c,rate=7.0)
    +
    +
    diff --git a/docs/cmf_tut_solute_transport1_d.html b/docs/cmf_tut_solute_transport1_d.html index a8428e24..57b76abb 100644 --- a/docs/cmf_tut_solute_transport1_d.html +++ b/docs/cmf_tut_solute_transport1_d.html @@ -2,33 +2,37 @@ - - - - -cmf: Solute transport (1D) - - - - + + + + + cmf: Solute transport (1D) + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Solute transport (1D)
    +
    +
    Solute transport (1D)

    back...

    @@ -103,25 +114,139 @@

    1D Richards equation model with tracer transport

    In this tutorial, we will introduce tracer in the 1D column model from the last tutorial. Tracer transport in cmf is up to now only advective using the equations given here.

    The amount of a tracer in a water storage is stored in another state variable, the SoluteStorage. Solute storages are created automatically with their corresponding water storages, when the tracer is installed at project creation. For this example, we will use three tracers, X, Y and Z.

    Creating a project with tracer

    -
    from __future__ import division, print_function # Python 2/3 compatible code
    import cmf
    # Create project with space delimited tracer names
    p = cmf.project('X Y Z')
    # Get the tracers as variables
    X,Y,Z = p.solutes

    Setting up the 1D column model

    -

    Now we set up the simple 1D column model from the lasttutorial" with a constant rainfall rate. For every water storage that is created, three solute storages are created automatically:

    -
    # Create a single cell c with a surfacewater storage, which references 3 solute storages
    c = p.NewCell(0,0,0,1000,with_surfacewater = True)
    # Create 50 layers with 2cm thickness
    for i in range(50):
    # Add a layer. Each layer will reference 3 solute storages
    c.add_layer((i+1)*0.02, cmf.VanGenuchtenMualem())
    # Use Richards equation
    c.install_connection(cmf.Richards)
    # Use a constant rainfall of 100 mm to wash out the tracers fast
    c.set_rainfall(100.)
    # Make a groundwater boundary condition
    gw = p.NewOutlet('gw',0,0,-1.5)
    cmf.Richards(c.layers[-1],gw)

    Solving a system with tracer transport

    -

    There are two possibilities to solve a system with tracer transport:

    -

    1. Solving the whole system as one including the water storages and the solute storages as state variables 1. Use one solver for the water transport and one solver for each tracer.

    -

    1. One solver

    -

    Since our system is stiff (see here and lasttutorial") the best choice is the CVode solver. The setup is simple:

    -
    solver = cmf.CVodeKrylov(p, 1e-9)
    print(solver.size())

    The print command shows, that the system to be solved is for a single soil column quite big ((50 soillayers + 1 surface water storage)\*(1 water storage + 3 solute storages) = 204 storages). A second problem with this approach is, that closely related storages (soillayers) are not directly beneath each other in the list of storages. This makes the numerical solution of the system much more computational demanding. However, the error checking capabilities of the solver is used for the whole system, thus the result is numerically reliable.

    -

    2. Seperated solvers for water and tracers

    -

    The setup for seperated solvers is only a bit more complicated, if one uses the SoluteWaterIntegrator (SWI for further use). The SWI implements the interface of cmf integrators, but uses in our case for solvers internally, one for the water transport, and 3 for the 3 tracers. The SWI is created using a template for the water solver and one template for the solute solvers. When the SWI should integrate over a given timespan (eg. one hour), the water integrator is run first for a single timestep, that might be shorter than one hour for convergence reasons. Then the solute sovers are run after that for the same timestep. Since the boundary conditions of the solute system change at each time step by the water transport, multistep methods, like CVode or BDF2 need to be reset at each internal timestep. Hence, single step methods, like ImplicitEuler are a good choice for the solute transport. However, you encouraged to do your own tests with different solvers.

    +
    from __future__ import division, print_function # Python 2/3 compatible code
    +
    import cmf
    +
    # Create project with space delimited tracer names
    +
    p = cmf.project('X Y Z')
    +
    # Get the tracers as variables
    +
    X,Y,Z = p.solutes
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +

    Setting up the 1D column model

    +

    Now we set up the simple 1D column model from the lasttutorial" with a constant rainfall rate. For every water +storage that is created, three solute storages are created +automatically: + +@icode{py} + +# Create a single cell c with a surfacewater storage, which references 3 solute storages +c = p.NewCell(0,0,0,1000,with_surfacewater = True) +# Create 50 layers with 2cm thickness +for i in range(50): + # Add a layer. Each layer will reference 3 solute storages + c.add_layer((i+1)*0.02, cmf.VanGenuchtenMualem()) +# Use Richards equation +c.install_connection(cmf.Richards) +# Use a constant rainfall of 100 mm to wash out the tracers fast +c.set_rainfall(100.) +# Make a groundwater boundary condition +gw = p.NewOutlet('gw',0,0,-1.5) +cmf.Richards(c.layers[-1],gw) +@endicode + +<h2>Solving a system with tracer transport</h2> + +There are two possibilities to solve a system with tracer transport: + +1\. Solving the whole system as one including the water storages and the +solute storages as state variables 1. Use one solver for the water +transport and one solver for each tracer. + +<h3>1\. One solver</h3> + +Since our system is stiff (see @ref cmfTutSolver "here" and @ref cmfTut1d "last tutorial") the best choice is the CVode solver. The setup +is simple: + +@icode{py} + +solver = cmf.CVodeKrylov(p, 1e-9) +print(solver.size()) +@endicode + +The print command shows, that the system to be solved is for a single +soil column quite big (<tt>(50 soillayers + 1 surface water storage)\\*(1 +water storage + 3 solute storages) = 204 storages</tt>). A second problem +with this approach is, that closely related storages (soillayers) are +not directly beneath each other in the list of storages. This makes the +numerical solution of the system much more computational demanding. +However, the error checking capabilities of the solver is used for the +whole system, thus the result is numerically reliable. + +<h3>2\. Seperated solvers for water and tracers</h3> + +The setup for seperated solvers is only a bit more complicated, if one +uses the +@ref cmf::math::SoluteWaterIntegrator "SoluteWaterIntegrator" (SWI +for further use). The SWI implements the interface of cmf integrators, +but uses in our case for solvers internally, one for the water +transport, and 3 for the 3 tracers. The SWI is created using a template +for the water solver and one template for the solute solvers. When the +SWI should integrate over a given timespan (eg. one hour), the water +integrator is run first for a single timestep, that might be shorter +than one hour for convergence reasons. Then the solute sovers are run +after that for the same timestep. Since the boundary conditions of the +solute system change at each time step by the water transport, multistep +methods, like CVode or @ref cmf::math::BDF2 "BDF2" need to be reset +at each internal timestep. Hence, single step methods, like +@ref cmf::math::ImplicitEuler "ImplicitEuler" are a good choice for the solute transport. However, you encouraged to do your own tests with different solvers.

    Be aware, when doing such an operator split, the error tolerance given for each solver is not globally valid, the numerical error for the whole system will be larger. In general, the numerical dispersion of tracers seem to increase a bit by using a SWI instead of a single solver for the whole system.

    -
    # Template for the water solver
    wsolver = cmf.CVodeKrylov(p,1e-9)
    # Template for the solute solver
    ssolver = cmf.ImplicitEuler(p,1e-9)
    # Creating the SWI, the storage objects of the project are internally assigned to the correct solver
    solver = cmf.SoluteWaterIntegrator(p.solutes, wsolver,ssolver,p)

    Run the model

    +
    # Template for the water solver
    +
    wsolver = cmf.CVodeKrylov(p,1e-9)
    +
    # Template for the solute solver
    +
    ssolver = cmf.ImplicitEuler(p,1e-9)
    +
    # Creating the SWI, the storage objects of the project are internally assigned to the correct solver
    +
    solver = cmf.SoluteWaterIntegrator(p.solutes, wsolver,ssolver,p)
    +

    Run the model

    Inital conditions

    As initial conditions, we use the hydrostatic equilibrium for 1.5 m groundwater level, and a solute concentration of 1 g/m3 for X in the first layer, 1 g/m3 for Y in the 10th layer, 1g/m3 for Z in the 20th layer

    -
    c.saturated_depth = 1.5
    c.layers[0].conc(X,1.) c.layers[10].conc(Y,1.)
    c.layers[20].conc(Z,1.)

    Run the model

    +
    c.saturated_depth = 1.5
    +
    c.layers[0].conc(X,1.) c.layers[10].conc(Y,1.)
    +
    c.layers[20].conc(Z,1.)
    +

    Run the model

    The model runtime can be like this:

    -
    # Save wetness and concentration of all layers
    conc = [] wetness = []
    # save groundwater recharge
    recharge=[]
    # save concentration of recharge
    crecharge=[]
    # Run for one week with hourly time step
    for t in solver.run(solver.t,solver.t + cmf.week,cmf.h):
    # Get concentration of all layers
    conc.append([[l.conc(T) for T in p.solutes] for l in c.layers])
    wetness.append([l.wetness for l in c.layers])
    # Get water balance of groundwater
    recharge.append(gw.waterbalance(t))
    crecharge.append([gw.conc(t,T) for T in p.solutes])

    Plot results

    +
    # Save wetness and concentration of all layers
    +
    conc = [] wetness = []
    +
    # save groundwater recharge
    +
    recharge=[]
    +
    # save concentration of recharge
    +
    crecharge=[]
    +
    # Run for one week with hourly time step
    +
    for t in solver.run(solver.t,solver.t + cmf.week,cmf.h):
    +
    # Get concentration of all layers
    +
    conc.append([[l.conc(T) for T in p.solutes] for l in c.layers])
    +
    wetness.append([l.wetness for l in c.layers])
    +
    # Get water balance of groundwater
    +
    recharge.append(gw.waterbalance(t))
    +
    crecharge.append([gw.conc(t,T) for T in p.solutes])
    +

    Plot results

    The results should show 5 subplots. The first shows the recharge and the concentration of the recharge, the second the soil moisture distribution and the third to fifth the concentration distribution over time. The x axis shows always time.

    -
    # Plot the result
    import numpy as np
    import pylab as plt
    # Plot gw recharge and its concentration
    ax1 = plt.subplot(511)
    plt.plot(recharge,'k:',lw=2)
    plt.legend(['water'],loc=2)
    plt.ylabel('recharge in mm/day')
    # Plot concentration of recharge in the same plot
    plt.twinx()
    plt.plot(crecharge)
    plt.legend(['X','Y','Z'],loc=1)
    plt.ylabel('Conc. in g/m3')
    # Plot wetness profile over time
    plt.subplot(512,sharex=ax1)
    plt.imshow(np.transpose(wetness),cmap=plt.cm.jet_r,aspect='auto')
    plt.ylabel('wetness')
    # Plot concentration profiles over time. To see more, the color scale is limited to 0.1 g/m3.
    for i in range(3):
    plt.subplot(513+i,sharex=ax1)
    plt.imshow(np.transpose(conc)[i],cmap=plt.cm.copper,aspect='auto',vmax=0.1) plt.ylabel(p.solutes[i])
    plt.show()
    +
    # Plot the result
    +
    import numpy as np
    +
    import pylab as plt
    +
    +
    # Plot gw recharge and its concentration
    +
    ax1 = plt.subplot(511)
    +
    plt.plot(recharge,'k:',lw=2)
    +
    plt.legend(['water'],loc=2)
    +
    plt.ylabel('recharge in mm/day')
    +
    +
    # Plot concentration of recharge in the same plot
    +
    plt.twinx()
    +
    plt.plot(crecharge)
    +
    plt.legend(['X','Y','Z'],loc=1)
    +
    plt.ylabel('Conc. in g/m3')
    +
    +
    # Plot wetness profile over time
    +
    plt.subplot(512,sharex=ax1)
    +
    plt.imshow(np.transpose(wetness),cmap=plt.cm.jet_r,aspect='auto')
    +
    plt.ylabel('wetness')
    +
    +
    # Plot concentration profiles over time. To see more, the color scale is limited to 0.1 g/m3.
    +
    for i in range(3):
    +
    plt.subplot(513+i,sharex=ax1)
    +
    plt.imshow(np.transpose(conc)[i],cmap=plt.cm.copper,aspect='auto',vmax=0.1) plt.ylabel(p.solutes[i])
    +
    plt.show()
    +
    +
    diff --git a/docs/cmf_tut_solver.html b/docs/cmf_tut_solver.html index b62a32bf..7e082a29 100644 --- a/docs/cmf_tut_solver.html +++ b/docs/cmf_tut_solver.html @@ -2,33 +2,37 @@ - - - - -cmf: Choosing a solver - - - - + + + + + cmf: Choosing a solver + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,21 +93,29 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Choosing a solver
    +
    +
    Choosing a solver

    cmf uses the finite volume method to set up a wide range of models of water flow through your study area. The result of the finite volume method discretization in space is an ordinary differential equation (ODE) system, that needs to be integrated in time. Several solvers are available for this task, each with its own advantages and disadvantages.

    Euler's method

    Generally the simplest method to solve an ODE system is the explicit Euler's method. It advances the system state to the next time step by a linear extrapolation of the current change rate of the system.

    -\[ \vec{u}(t_{i+1}) = \vec{u}(t_{i}) + h \vec{f}(\vec{u}(t_{i}),t_{i}) \] +\[ +\vec{u}(t_{i+1}) = \vec{u}(t_{i}) + h \vec{f}(\vec{u}(t_{i}),t_{i}) +\]

    where:

    • \(\vec{u}(t)\) is the system state at the given timestep (water and solute storages)
    • @@ -119,7 +132,7 @@

      Euler's method

    Both approaches can be combined by using a higher order, implicit method.

    Stiff systems

    -

    Stiffness is a property of an ODE, which occurs often when equations of different timescales need to be solved together in one system. Due to the high order of the conductivity/water content relation of porous media, any cmf model using "physical" water retention is a stiff system. Such a system cannot be solved effectively with an explicit solver, regardless of its order. Implicit methods of a higher order than 2 also do have a constraint stability and may fail on a stiff system. The simplest way to decide how stiff your cmf model is, is not to try to calculate the stiffness ratio, as given in the Wikipedia link, but just to try out different methods. If one of the implicit methods solves your system faster than the RKFIntegrator, your system is stiff enough to use an implicit method. If the RKF solver is faster, you can try the ExplicitEuler_fixed with a timestep near to the lowest time step the RKF method has used, but in most cases the timestep will be so small, that using the explicit Euler method is not an effective option.

    +

    Stiffness is a property of an ODE, which occurs often when equations of different timescales need to be solved together in one system. Due to the high order of the conductivity/water content relation of porous media, any cmf model using "physical" water retention is a stiff system. Such a system cannot be solved effectively with an explicit solver, regardless of its order. Implicit methods of a higher order than 2 also do have a constraint stability and may fail on a stiff system. The simplest way to decide how stiff your cmf model is, is not to try to calculate the stiffness ratio, as given in the Wikipedia link, but just to try out different methods. If one of the implicit methods solves your system faster than the RKFIntegrator, your system is stiff enough to use an implicit method. If the RKF solver is faster, you can try the ExplicitEuler_fixed with a timestep near to the lowest time step the RKF method has used, but in most cases the timestep will be so small, that using the explicit Euler method is not an effective option.

    Higher order

    A solver that is predicting the next timestep using a polynom of a certain order can work in two different ways. One option is for the solver to remember the last states and fit the polynomial in the last states (so called linear multistep methods or Adams-Bashfort method) the other one is to introduce sub-steps in between the actual step and the "real" next step, the family of Runge-Kutta methods.

    In cmf the well known Runge-Kutta-Fehlberg 4/5 method is implemented as RKFIntegrator. This method uses a Runge Kutta method of order 4 to predict the next timestep and a Runge Kutta method of order 5 for comparison. If the two methods yield different results, the time step is reduced until the difference between both methods is below a given error tolerance. As such, the error of the integration is controlled and the step size is chosen adaptivly. Hence, this method is solver of choice for non-stiff problems.

    @@ -127,10 +140,12 @@

    Higher order

    Implicit solvers

    The equation for a 1st order, implicit solver (implicit Euler's method) is only marginally different to the explicit formulation:

    -\[ \vec{u}(t_{i+1}) = \vec{u}(t_{i}) + h \vec{f}(\vec{u}(t_{i+1}),t_{i+1}) \] +\[ +\vec{u}(t_{i+1}) = \vec{u}(t_{i}) + h \vec{f}(\vec{u}(t_{i+1}),t_{i+1}) +\]

    -

    Clark and Kavetski (2010) state that even for lumped models, implicit schemes should be used.

    -

    However, the equation above cannot be directly solved, since \(\vec{u}(t_{i+1})\) is on both sides of the equation sign. To solve the equation, one needs an iterative approach which raises the computational demand. For stiff systems, the higher demand for a single step is compensatated by the larger step size.

    +

    Clark and Kavetski (2010) state that even for lumped models, implicit schemes should be used.

    +

    However, the equation above cannot be directly solved, since \(\vec{u}(t_{i+1})\) is on both sides of the equation sign. To solve the equation, one needs an iterative approach which raises the computational demand. For stiff systems, the higher demand for a single step is compensated by the larger step size.

    In principle, the iteration to yield \(\vec{u}(t_{i+1})\) can be done using a Newton iteration or fixpoint iteration.

    Fixpoint iteration

    The fixpoint iteration is simpler to implement and needs only the right hand side function \(f(\vec u,t)\), however usually more iteration steps are needed. In that case you start with an explicit method, and repeat the left hand side by exchanging \(\vec u\) in \(f(\vec u,t)\) with the newly generated state, until the \(\vec u\) is not changing anymore (comes to a fix point). However, if the first guess is not "near enough" to the fixpoint, the iteration may not converge. In that case the process starts new with a smaller timestep. The implicit Euler method with fixpoint iteration is implemented in cmf as ImplicitEuler, and a 2nd order Gears method with fixpoint iteration is implemented as BDF2. Both methods are a good choice for systems not using the Richards equation with solute transport.

    @@ -144,6 +159,7 @@

    References

    author: konrad, version: 6 Tue Dec 15 13:17:28 2015

    +
    diff --git a/docs/cmf_tut_space_time.html b/docs/cmf_tut_space_time.html index 4b4e0b17..ba54b947 100644 --- a/docs/cmf_tut_space_time.html +++ b/docs/cmf_tut_space_time.html @@ -2,33 +2,37 @@ - - - - -cmf: Space and time in cmf - - - - + + + + + cmf: Space and time in cmf + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,20 +93,27 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Space and time in cmf
    +
    +
    Space and time in cmf

    back... next...

    Note for Python 2 users

    To show our results, we are using Python's print statement / function. However, "print" has changed between python 2 and 3. To run our examples python 2 users should always start their programs with the following line:

    -
    from __future__ import print_function, division

    This import the behaviour of the python3 print function as well as the improved handling of integer division into python 2. Using this line in python3 is fine and changes nothing.

    +
    from __future__ import print_function, division
    +

    This import the behaviour of the python3 print function as well as the improved handling of integer division into python 2. Using this line in python3 is fine and changes nothing.

    Space

    Many objects in cmf have a position in space given as coordinates. Such spatial position is crucial for spatial explicit models, like distributed models. You can either use a local reference system (you declare a point as the origin of the coordinate system) or you can use a spatial reference system with GPS coordinates The spatial reference system you prefer is your choice, as long as the following conditions are met:

      @@ -119,32 +131,78 @@

      Timeseries

      Creating timeseries

      The standard way

      The simplest and most common way to use timeseries in cmf is to create an empty timeseries (no entry) with a begin and a step size. After creation the add method is used to fill the timeseries with data.

      -
      import cmf
      from datetime import datetime,timedelta
      # Create an empty timeseries, with a 30 min time step. Alternativly you can write the
      # time step as step = timedelta(minutes=30).
      # The interpolation method is by default linear interpolation
      data = cmf.timeseries(begin = datetime(2010,1,1), step = cmf.min * 30)
      # Add data for two days, alternating between 0 and 1
      for i in range(96):
      data.add(i % 2)
      # Print some values
      # Value at a certain time step
      print(data[datetime(2010,1,1,6)]) # returns 0.0
      # Value between time steps, 15 minutes late
      print(data[datetime(2010,1,1,6,15)]) # returns 0.5
      # Value before begin
      print(data[datetime(2009,12,24)]) # returns 0.0
      # Value after end
      print(data[datetime(2010,1,5)]) # returns 1.0

      Scalar timeseries

      +
      import cmf
      +
      from datetime import datetime,timedelta
      +
      # Create an empty timeseries, with a 30 min time step. Alternativly you can write the
      +
      # time step as step = timedelta(minutes=30).
      +
      # The interpolation method is by default linear interpolation
      +
      data = cmf.timeseries(begin = datetime(2010,1,1), step = cmf.min * 30)
      +
      # Add data for two days, alternating between 0 and 1
      +
      for i in range(96):
      +
      data.add(i % 2)
      +
      # Print some values
      +
      # Value at a certain time step
      +
      print(data[datetime(2010,1,1,6)]) # returns 0.0
      +
      # Value between time steps, 15 minutes late
      +
      print(data[datetime(2010,1,1,6,15)]) # returns 0.5
      +
      # Value before begin
      +
      print(data[datetime(2009,12,24)]) # returns 0.0
      +
      # Value after end
      +
      print(data[datetime(2010,1,5)]) # returns 1.0
      +

      Scalar timeseries

      Objects that expect a timeseries, but should have in your model a constant in time are represented as a single value timeseries. To reduce the number of lines needed to define a constant timeseries, the static method from_scalar exists:

      -
      # Create a constant timeseries
      data = cmf.timeseries.from_scalar(0.5)

      However, some objects expecting timeseries will do the conversion from a scalar to a timeseries gracefully behind the scences and accept a number instead of the timeseries object. Just try it

      +
      # Create a constant timeseries
      +
      data = cmf.timeseries.from_scalar(0.5)
      +

      However, some objects expecting timeseries will do the conversion from a scalar to a timeseries gracefully behind the scences and accept a number instead of the timeseries object. Just try it

      From numpy arrays and other sequences

      If the data you want to store in a timeseries is in a Python iterable (list, tuple, generators, etc.) the timeseries can be created in one step, with out the need to write a loop yourself. A shorter replacement for the example above is:

      -
      data = cmf.timeseries.from_sequence(begin=datetime(2010,1,1),
      step=cmf.min*30,
      sequence=(i % 2 for i in range(96)))

      If you have already stored your data in a numpy array, a very fast (C/C++ based) method exists to copy the array into a timeseries object. As an example we store random normal distributed values for 50 days in 30 minute stepsize in a timeseries:

      -
      import cmf
      import numpy as np
      data = cmf.timeseries.from_array(begin=datetime(2010,1,1),
      step=cmf.min*30,
      data = np.random.normal(0,1.,2400))

      However, you do not gain speed or simplicity if you fill the array beforehand with a Python loop.

      +
      data = cmf.timeseries.from_sequence(begin=datetime(2010,1,1),
      +
      step=cmf.min*30,
      +
      sequence=(i % 2 for i in range(96)))
      +

      If you have already stored your data in a numpy array, a very fast (C/C++ based) method exists to copy the array into a timeseries object. As an example we store random normal distributed values for 50 days in 30 minute stepsize in a timeseries:

      +
      import cmf
      +
      import numpy as np
      +
      data = cmf.timeseries.from_array(begin=datetime(2010,1,1),
      +
      step=cmf.min*30,
      +
      data = np.random.normal(0,1.,2400))
      +

      However, you do not gain speed or simplicity if you fill the array beforehand with a Python loop.

      From a binary file

      In general, cmf is file format agnostic. As shown above you can read your data from any datasource and add it with your code to the timeseries objects. However, if you are calibrating a fast conceptual model on a super computer, reading from the files can be quite an overhead. You can (but do not have to) write timeseries in a specific binary format to disk and read it afterwards.

      -
      # Load a timeseries from the file named 'my.timeseries'
      data = cmf.timeseries.from_file('my.timeseries')
      # Save the timeseries to a file named 'my2nd.timeseries'
      data.to_file('my2nd.timeseries')

      The file format is described in the docstring of the to_file method. For interprocess exchange, the to_buffer and from_buffer method uses the same format as for files, but write the data to a binary string in memory instead of the file.

      +
      # Load a timeseries from the file named 'my.timeseries'
      +
      data = cmf.timeseries.from_file('my.timeseries')
      +
      # Save the timeseries to a file named 'my2nd.timeseries'
      +
      data.to_file('my2nd.timeseries')
      +

      The file format is described in the docstring of the to_file method. For interprocess exchange, the to_buffer and from_buffer method uses the same format as for files, but write the data to a binary string in memory instead of the file.

      Removing no-data values within timeseries

      Because your model will create odd results with common no-data values as e.g. ‘-999’, you should first examine your data and in case interpolate it. CMF gives the following function:

      -
      data.remove_nodata(nodata_value)

      By using this function, CMF will take the preceding and following value of the no-data value in the timeseries and return the mean of it.

      +
      data.remove_nodata(nodata_value)
      +

      By using this function, CMF will take the preceding and following value of the no-data value in the timeseries and return the mean of it.

      Calculations with timeseries

      Arithmetic operation

      You can do calculations with timeseries. This especially handy, if you need to transform a timeseries from one unit to another. Let us assume a timeseries of rainfall data in mm/h. Instead of changing your database, you can just write in your script:

      -
      rain = data * 24
      # Or if you do not need the old timeseries for something else:
      data *= 24

      The basic arithmetic operators (+,-+,*,/) are defined for timeseries and scalars, as well as for timeseries on both side of the operand. If you calculate with two timeseries, the timestep and begin of the left side operand is used. The values of the right side are sampled using the inter- and extrapolation rules from above.

      +
      rain = data * 24
      +
      # Or if you do not need the old timeseries for something else:
      +
      data *= 24
      +

      The basic arithmetic operators (+,-+,*,/) are defined for timeseries and scalars, as well as for timeseries on both side of the operand. If you calculate with two timeseries, the timestep and begin of the left side operand is used. The values of the right side are sampled using the inter- and extrapolation rules from above.

      Beside the arithmetic operators, there are methods to apply the exponential function (exp), logarithm (log,log10), to raise the timeseries to a scalar power (pow) and to get the inverse of the timeseries (inv).

      -
      exp_data=data.exp()
      square_data = data.pow(2.)
      ...

      Statistical analysis

      +
      exp_data=data.exp()
      +
      square_data = data.pow(2.)
      +
      ...
      +

      Statistical analysis

      To get the statistics of a timeseries, use the mean, max, min. For other statistical information, numpy treats cmf timeseries as an array, therefore all functions for numpy arrays are available for cmf timeseries, eg. np.std(data), np.percentile(data,0.1) and all functions from the scipy.stats module (if scipy is available). If you need the time axis for your analysis (or for plotting) you can get the time axis in days since 30.12.1899 as a list by

      -
      data_t = [t/cmf.day for t in data.iter_time()]

      To smooth timeseries the methods floating_avg, floating_max,floating_min are available for floating window statistics. The functions need the number of entries to be included in the window.

      +
      data_t = [t/cmf.day for t in data.iter_time()]
      +

      To smooth timeseries the methods floating_avg, floating_max,floating_min are available for floating window statistics. The functions need the number of entries to be included in the window.

      If you need to reduce the frequency of the timeseries, use the methods reduce_avg, reduce_max, reduce_min to retrieve a new timeseries with the average, resp. min or max value in the new timesteps. A common use case is the retrieval of the daily min/max temperature from high frequency data for meteorological station data.

      -

      For comparison of timeseries containing model results and observations, you can use the nash_sutcliffe efficiency integrated in cmf:

      -
      E = cmf.nash_sutcliffe(model, observation)

      Plotting timeseries

      +

      For comparison of timeseries containing model results and observations, you can use the nash_sutcliffe efficiency integrated in cmf:

      +
      E = cmf.nash_sutcliffe(model, observation)
      +

      Plotting timeseries

      Using matplotlib, you can plot timeseries. To make this more convient, cmf has plotting functions integrated, dedicated for timeseries, a function for line graphs and a function for bar graphs. The helper functions to draw cmf objects using matplotlib are in the namespace cmf.draw you need to import seperately.

      -
      import cmf.draw
      cmf.draw.plot_timeseries(data)
      cmf.draw.bar_timeseries(data)
    +
    import cmf.draw
    +
    cmf.draw.plot_timeseries(data)
    +
    cmf.draw.bar_timeseries(data)
    +
    Definition __init__.py:1
    +
    +
    diff --git a/docs/cmf_tut_structure.html b/docs/cmf_tut_structure.html index 7e1a213f..21eee266 100644 --- a/docs/cmf_tut_structure.html +++ b/docs/cmf_tut_structure.html @@ -2,33 +2,37 @@ - - - - -cmf: The structure of a cmf program - - - - + + + + + cmf: The structure of a cmf program + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,36 +93,76 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    The structure of a cmf program
    +
    +
    The structure of a cmf program

    This tutorial is still under development, sorry

    -

    To get a cmf program to do what you want, the order of creating the building blocks of cmf is of importance.
    -

    Programming style

    -

    Python comes with some syntactic rules how a program works. But there are also not enforced rules, how a Python program should look like, the so called PEP 8 style. The cmf library does often not follow this style guide, but I wish knew it when I wrote cmf.
    -

    Simple CMF - scripts

    +

    To get a cmf program to do what you want, the order of creating the building blocks of cmf is of importance.
    +

    +

    Programming style

    +

    Python comes with some syntactic rules how a program works. But there are also not enforced rules, how a Python program should look like, the so called PEP 8 style. The cmf library does often not follow this style guide, but I wish knew it when I wrote cmf.
    +

    +

    Simple CMF - scripts

    A simple cmf script is just a batch of commands. The only structures used are conditions (if) and loops (for / while). Such programs are very simple to understand and followed, if they are short and every reader will always be interested in every detail. This type of script is fine for the beginner, because the flow of the program is obvious: from top to bottom, like a normal text. When your program grows beyond 50 to 100 lines, take 10 minutes to restructure your program using functions or classes.

    Module docstring and shebang

    -

    If you will ever run your model on a Linux / Unix system, it is a good idea to start the file with the so called shebang:

    #! /usr/bin/env python3

    Followed by a docstring explaining the purpose of your program:

    -
    """
    This cmf program is written to demonstrate
    the structure of any other cmf program
    :author: philippkraft (my Github user-name)
    :date: 2018-5-9
    """

    Import

    +

    If you will ever run your model on a Linux / Unix system, it is a good idea to start the file with the so called shebang:

    #! /usr/bin/env python3
    +

    Followed by a docstring explaining the purpose of your program:

    +
    """
    +
    This cmf program is written to demonstrate
    +
    the structure of any other cmf program
    +
    +
    :author: philippkraft (my Github user-name)
    +
    :date: 2018-5-9
    +
    """
    +

    Import

    To use cmf, the cmf-library must be imported. However, if you like to write code that is compatible for Python 2 and 3 the first line of your program is the from __future__ import line for Python 2 compatibility. If you need other libraries / packages in your program, import them also in the beginning. Avoid from xxx import * commands in all scripts.

    The import section of a CMF script, that uses numpy-arrays and matplotlib plotting and datetime's objects might look like:

    -
    from __future__ import division, print_function, absolute_import
    import numpy as np
    from matplotlib import pylab as plt
    from datetime import datetime, timedelta
    import cmf

    Build setup

    +
    from __future__ import division, print_function, absolute_import
    +
    import numpy as np
    +
    from matplotlib import pylab as plt
    +
    from datetime import datetime, timedelta
    +
    import cmf
    +

    Build setup

    The setup part of a cmf program is, where the structure of the cmf model is defined. The structure consists of the storages, boundary conditions and connections and for more advanced models also of the cells with soil layers and vegetation.

    In the Boundary conditions example the setup part is, where the project, the two storages, the two boundary conditions and the connections are defined:

    -
    W1 = p.NewStorage(name="W1",x=0,y=0,z=0)
    W2 = p.NewStorage(name="W2",x=10,y=0,z=0)
    q = cmf.LinearStorageConnection(source=W1,target=W2,residencetime=1.0)
    b_out = p.NewOutlet(name="Outlet",x=20,y=0,z=0)
    b_out_q = cmf.LinearStorageConnection(source=W2,target=b_out,residencetime=2.0)
    # Create a Neumann Boundary condition connected to W1
    b_in = cmf.NeumannBoundary.create(W1)

    Assign driver data and initial values

    +
    +
    W1 = p.NewStorage(name="W1",x=0,y=0,z=0)
    +
    W2 = p.NewStorage(name="W2",x=10,y=0,z=0)
    +
    q = cmf.LinearStorageConnection(source=W1,target=W2,residencetime=1.0)
    +
    b_out = p.NewOutlet(name="Outlet",x=20,y=0,z=0)
    +
    b_out_q = cmf.LinearStorageConnection(source=W2,target=b_out,residencetime=2.0)
    +
    +
    # Create a Neumann Boundary condition connected to W1
    +
    b_in = cmf.NeumannBoundary.create(W1)
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +

    Assign driver data and initial values

    CMF models are run from an initial condition using forcing (or driver) data during runtime. The place between defining the structure of your model and creating a solver is a good place to overwrite the default initial state (that are not very well documented but are usually some kind of "empty") and load and assign forcing data.

    In our case, the initial condition is the stored volume of W1 and W2 and the forcing data is the flux over the Neumann boundary condition.

    -
    W1.volume = 1.0
    W2.volume = 0.0
    b_in.flux = cmf.timeseries(begin = datetime.datetime(2012,1,1),
    step = datetime.timedelta(days=1),
    interpolationmethod = 0)
    for i in range(10):
    # Add 0.0 m3/day for even days, and 1.0 m3/day for odd days
    b_in.flux.add(i % 2)

    Create solver

    +
    W1.volume = 1.0
    +
    W2.volume = 0.0
    +
    b_in.flux = cmf.timeseries(begin = datetime.datetime(2012,1,1),
    +
    step = datetime.timedelta(days=1),
    +
    interpolationmethod = 0)
    +
    for i in range(10):
    +
    # Add 0.0 m3/day for even days, and 1.0 m3/day for odd days
    +
    b_in.flux.add(i % 2)
    +

    Create solver

    The solver should only be created after the structure is setup, since solvers in cmf do not own a reference to a project, or what else, but only extract references to the state variables of a project, a cell or some other owner of state variables. This means, if you create a solver and after that, you are going to extend your project with new storages, the solver knows nothing about these and the mass conversation of the model is broken. If you extend your project, eg. in an interactive environment, just make sure to create a new solver also.

    -
    solver = cmf.ImplicitEuler(p, 1e-9)

    Runtime loop

    +
    solver = cmf.ImplicitEuler(p, 1e-9)
    +

    Runtime loop

    The solver is used to advance the model in the runtime loop. The runtime loop is user defined, to allow the user to interact with the running model in any way. Usages of the runtime loop include:

    • Store any data from the model in files or in-memory collections (eg. lists, arrays, cmf.timeseries, pandas frames etc.)
    • @@ -126,9 +171,38 @@

      Module docstring and shebang

    • Interact with other models as an operator split (List of cmf publications)

    To build the runtime loop, the generator method run of the solver makes the iteration over the model time simple:

    -
    starttime = datetime(2018, 5, 9)
    endtime = datetime(2018, 7, 9)
    timestep = timedelta(hours=1)
    storage_volume = []
    for t in solver.run(starttime, endtime, timestep):
    print(t)
    storage_volume.append((W1.volume, W2.volume))

    Structuring your code

    +
    starttime = datetime(2018, 5, 9)
    +
    endtime = datetime(2018, 7, 9)
    +
    timestep = timedelta(hours=1)
    +
    +
    storage_volume = []
    +
    +
    for t in solver.run(starttime, endtime, timestep):
    +
    print(t)
    +
    storage_volume.append((W1.volume, W2.volume))
    +

    Structuring your code

    Of course, writing the sections from above just down in the typical "script" style of programs, gets totally confusing when your program grows and needs more then 50-100 lines. Therefore, it is good practise to seperate your code into functions with a well defined scope. For an experienced programmer, that comes naturally, if you are new to programming, please read about structured programming. A simple structure using functions could look roughly like this:

    -
    import cmf
    def create_project():
    """
    Contains parts of the "build setup" section
    """
    ws1 = p.NewStorage('W1')
    return p, ws1
    def add_boundaries(p):
    ...
    return b_in, b_out
    def run(p, start, end):
    ...
    def plot_result(data):
    ...

    CMF and SPOTPY

    +
    import cmf
    +
    +
    def create_project():
    +
    """
    +
    Contains parts of the "build setup" section
    +
    """
    + +
    ws1 = p.NewStorage('W1')
    +
    +
    return p, ws1
    +
    +
    def add_boundaries(p):
    +
    ...
    +
    return b_in, b_out
    +
    +
    def run(p, start, end):
    +
    ...
    +
    +
    def plot_result(data):
    +
    ...
    +

    CMF and SPOTPY

    spotpy by Tobias Houska is an ideal partner to calibrate cmf models. In fact, there is a cmf example in spotpy ( setup, tutorial, gui )

    You can see there, how

    • to write a model class
    • @@ -136,6 +210,7 @@

      Module docstring and shebang

    • and how to seperate fixed structure (__init__), and parameter depending structure (set_parameters)
    +
    diff --git a/docs/cmf_tut_surface_runoff.html b/docs/cmf_tut_surface_runoff.html index 4559ded6..d2db9704 100644 --- a/docs/cmf_tut_surface_runoff.html +++ b/docs/cmf_tut_surface_runoff.html @@ -2,33 +2,37 @@ - - - - -cmf: Surface runoff - - - - + + + + + cmf: Surface runoff + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Surface runoff
    +
    +
    Surface runoff

    next...

    @@ -103,19 +114,63 @@

    Surface runoff

    Surface water storage

    Cells can own a distinct storage for surface water, and usually this storage should exist. However, water that does not infiltrate directly might be routed to an outlet (model boundary), a river (see later part of the tutorial) or to the surface water of another cell.

    The surface water of a cell has the class SurfaceWater, and can either be created directly withe the cell:

    -
    cell = project.NewCell(x=0,y=0,z=0,area=1000,with_surfacewater=True)

    or afterwards, if the cell has not been created with surface water

    -
    cell = project.NewCell(x=0,y=0,z=0,area=1000)
    cell.surfacewater_as_storage()

    To route the water to the target, one can use conceptual connections like the WaterbalanceFlux, if you want to ensure the surfacewater to be empty at all time, the generic PowerLawConnection for or the KinematicSurfaceRunoff for a more "physical" approach. This type of connection is deemed to be the "normal" case and the SurfaceWater exposes some properties to be used by that connection.

    +
    cell = project.NewCell(x=0,y=0,z=0,area=1000,with_surfacewater=True)
    +

    or afterwards, if the cell has not been created with surface water

    +
    cell = project.NewCell(x=0,y=0,z=0,area=1000)
    +
    cell.surfacewater_as_storage()
    +

    To route the water to the target, one can use conceptual connections like the WaterbalanceFlux, if you want to ensure the surfacewater to be empty at all time, the generic PowerLawConnection for or the KinematicSurfaceRunoff for a more "physical" approach. This type of connection is deemed to be the "normal" case and the SurfaceWater exposes some properties to be used by that connection.

    Using a diffusive wave, where sinks can fill up and water flows over the topographic gradient, is not numerically challenging. There are solutions in cmf but they are beyond the scope of this tutorial. See the demo file darcy_plain and parkinglot for examples.

    Kinematic surface runoff

    Surface runoff in cmf is usually modelled using the kinematic wave approximation of the St. Vernant equation for sheet flow using Manning friction loss:

    -\[ [q|= d\ w\ d^{2/3} \frac{\sqrt{\tan \beta}}{n} 86400 \frac{sec}{day} \] +\[ +[q|= d\ w\ d^{2/3} \frac{\sqrt{\tan \beta}}{n} 86400 \frac{sec}{day} +\]

    ]

    where: - \(q\) is the surface flow in \(\frac{m^3}{day}\) - \(d\) is the "active" water depth in \(m\) - \(w\) is the width of the sheet flow - \(\tan \beta\) is the topographic slope - \(n\) is the Manning roughness

    -

    The "active" water depth is the average water depth where runoff starts. The idea behind a passive and an active water depth is, that prior to runof subscale sinks need to be filled up in form of puddles. Only when the puddles are filled, the runoff starts. The SurfaceWater storage has a property puddledepth to characterize the average water depth needed to fill up the puddles. If runoff starts, when 20% of the surface is covered by (on average) 1cm deep puddles, the puddledepth is \(0.01m \cdot 0.2 = 0.002m\). The property nManning of the SurfaceWater is also used.

    +

    The "active" water depth is the average water depth where runoff starts. The idea behind a passive and an active water depth is, that prior to runof subscale sinks need to be filled up in form of puddles. Only when the puddles are filled, the runoff starts. The SurfaceWater storage has a property puddledepth to characterize the average water depth needed to fill up the puddles. If runoff starts, when 20% of the surface is covered by (on average) 1cm deep puddles, the puddledepth is \(0.01m \cdot 0.2 += 0.002m\). The property nManning of the SurfaceWater is also used.

    Example: A simple over flow routing to a boundary condition

    -
    import cmf
    from numpy import transpose
    from pylab import plot,show,subplot
    # Create cell with 1000m2 and surface water storage
    c = p.NewCell(0,0,1,1000,True)
    # Set puddle depth to 2mm
    c.surfacewater.puddledepth = 0.002
    # Add a thick layer, low conductivity. Use Green-Ampt-Infiltration
    c.add_layer(0.1, cmf.VanGenuchtenMualem(Ksat=0.1))
    c.install_connection(cmf.GreenAmptInfiltration)
    # Create outlet, 10 m from cell center, 1m below cell
    outlet = p.NewOutlet('outlet',10,0,0)
    # Create connection, distance is calculated from position
    con = cmf.KinematicSurfaceRunoff(c.surfacewater,outlet,flowwidth=10)
    # set rainfall, a good shower to get surface runoff for sure (100mm/day)
    c.set_rainfall(100.)
    # Create a solver
    solver = cmf.CVodeKrylov(p,1e-8)
    # Calculate results
    Vsoil, Vsurf, qsurf,qinf = transpose([(c.layers[0].volume, c.surfacewater.volume, outlet(t), c.layers[0](t))
    for t in solver.run(cmf.Time(1,1,2012),cmf.Time(2,1,2012),cmf.min)])
    # Present results
    ax1=subplot(211)
    plot(Vsurf,label='Surface')
    plot(Vsoil,label='Soil')
    ylabel('Water content in mm')
    legend(loc=0)
    subplot(212,sharex=ax1)
    plot(qsurf,label='Surface')
    plot(qinf,label='Soil')
    ylabel('Flux in mm/day')
    xlabel('Time in minutes')
    legend(loc=0)
    +
    import cmf
    +
    from numpy import transpose
    +
    from pylab import plot,show,subplot
    +
    + +
    # Create cell with 1000m2 and surface water storage
    +
    c = p.NewCell(0,0,1,1000,True)
    +
    # Set puddle depth to 2mm
    +
    c.surfacewater.puddledepth = 0.002
    +
    # Add a thick layer, low conductivity. Use Green-Ampt-Infiltration
    +
    c.add_layer(0.1, cmf.VanGenuchtenMualem(Ksat=0.1))
    +
    c.install_connection(cmf.GreenAmptInfiltration)
    +
    # Create outlet, 10 m from cell center, 1m below cell
    +
    outlet = p.NewOutlet('outlet',10,0,0)
    +
    # Create connection, distance is calculated from position
    +
    con = cmf.KinematicSurfaceRunoff(c.surfacewater,outlet,flowwidth=10)
    +
    # set rainfall, a good shower to get surface runoff for sure (100mm/day)
    +
    c.set_rainfall(100.)
    +
    # Create a solver
    +
    solver = cmf.CVodeKrylov(p,1e-8)
    +
    +
    # Calculate results
    +
    Vsoil, Vsurf, qsurf,qinf = transpose([(c.layers[0].volume, c.surfacewater.volume, outlet(t), c.layers[0](t))
    +
    for t in solver.run(cmf.Time(1,1,2012),cmf.Time(2,1,2012),cmf.min)])
    +
    # Present results
    +
    ax1=subplot(211)
    +
    plot(Vsurf,label='Surface')
    +
    plot(Vsoil,label='Soil')
    +
    ylabel('Water content in mm')
    +
    legend(loc=0)
    +
    subplot(212,sharex=ax1)
    +
    plot(qsurf,label='Surface')
    +
    plot(qinf,label='Soil')
    +
    ylabel('Flux in mm/day')
    +
    xlabel('Time in minutes')
    +
    legend(loc=0)
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +
    +
    diff --git a/docs/cmf_tut_test_data.html b/docs/cmf_tut_test_data.html index 3d85517d..5a39e793 100644 --- a/docs/cmf_tut_test_data.html +++ b/docs/cmf_tut_test_data.html @@ -2,33 +2,37 @@ - - - - -cmf: Test data - - - - + + + + + cmf: Test data + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Test data
    +
    +
    Test data

    next

    @@ -108,11 +119,60 @@

    Loading data from a simple .csv file into cmf

    cmf does not enforce the usage of a particualar data format - data is loaded by the user script. Hence, the usage of text files in any format, relation databases (with the appropriate database connector for Python), netCDF with the netCDF4 package, and web services using the socket library can be used to retrieve data.

    In this example we are going to read the test data set from an csv file using only standard Python. However, using pandas Dataframes or just the csv module from the standard library is working equally well.

    First we create a function to load our meteorological data and we create an empty timeseries for the rain fall and a MeteoStation to hold the timeseries for the other meteorological observations. The station concept is explained in more detail in the nexttutorial". An introduction to timeseries is -@ref cmfTutSpaceTime "here".

    -
    import cmf
    def loadmeteo(project,csvfilename):
    """Loads the meteorology from a csv file.
    This is just one example for access your meteo data.
    Thanks to Python, there is no problem to access most type of datasets,
    including relational databases, hdf / netcdf files or what ever else.
    """
    # Create a timeseries for rain - timeseries objects in cmf is a kind of extensible array of
    # numbers, with a begin date, a timestep.
    begin = datetime(1980,1,3)
    rain = cmf.timeseries(begin = begin, step = timedelta(days=1))
    # Create a meteo station
    meteo=project.meteo_stations.add_station(name = 'Giessen',position = (0,0,0))
    # Meteorological timeseries, if you prefer the beginning of the timeseries
    # read in from file, just go ahead, it is only a bit of Python programming
    meteo.Tmax = cmf.timeseries(begin = begin, step = timedelta(days=1))
    meteo.Tmin = cmf.timeseries(begin = begin, step = timedelta(days=1))
    meteo.rHmean = cmf.timeseries(begin = begin, step = timedelta(days=1))
    meteo.Windspeed = cmf.timeseries(begin = begin, step = timedelta(days=1))
    meteo.Sunshine = cmf.timeseries(begin = begin, step = timedelta(days=1))

    Now we read in the file and append the read values to the timeseries.

    -
    # Load climate data from csv file
    # could be simplified with numpy's
    csvfile = file(csvfilename)
    csvfile.readline() # Read the headers, and ignore them
    for line in csvfile:
    # split the line in to columns using commas
    columns = line.split(',')
    # Get the values, but ignore the date, we have begin and step
    # of the data file hardcoded
    rain.add(float(columns[1])) meteo.Tmax.add(float(columns[2]))
    meteo.Tmin.add(float(columns[3])) meteo.rHmean.add(float(columns[4]))
    meteo.Windspeed.add(float(columns[5])) meteo.Sunshine.add(float(columns[6]))

    The last part is to create a station (see nexttutorial") for the rainfall data and apply the stations to the cells of the project.

    -
    # Create a rain gauge station
    project.rainfall_stations.add('Giessen',rain,(0,0,0))
    # Use the rainfall for each cell in the project
    project.use_nearest_rainfall()
    # Use the meteorological station for each cell of the project
    project.use_nearest_meteo()

    Depending on your needs, any data source you can read with Python (which is virtually any) is suitable to read forcing data for cmf models.

    +@ref cmfTutSpaceTime "here". + +@icode{py} + +import cmf +def loadmeteo(project,csvfilename): + """Loads the meteorology from a csv file. This is just one example for access your meteo data. Thanks to Python, there is no problem to access most type of datasets, including relational databases, hdf / netcdf files or what ever else. """ + + # Create a timeseries for rain - timeseries objects in cmf is a kind of extensible array of + # numbers, with a begin date, a timestep. + begin = datetime(1980,1,3) + rain = cmf.timeseries(begin = begin, step = timedelta(days=1)) + + # Create a meteo station + meteo=project.meteo_stations.add_station(name = 'Giessen',position = (0,0,0)) + + # Meteorological timeseries, if you prefer the beginning of the timeseries + # read in from file, just go ahead, it is only a bit of Python programming + meteo.Tmax = cmf.timeseries(begin = begin, step = timedelta(days=1)) + meteo.Tmin = cmf.timeseries(begin = begin, step = timedelta(days=1)) + meteo.rHmean = cmf.timeseries(begin = begin, step = timedelta(days=1)) + meteo.Windspeed = cmf.timeseries(begin = begin, step = timedelta(days=1)) + meteo.Sunshine = cmf.timeseries(begin = begin, step = timedelta(days=1)) +@endicode + +Now we read in the file and append the read values to the timeseries. + +@icode{py} + + # Load climate data from csv file + # could be simplified with numpy's + csvfile = file(csvfilename) + csvfile.readline() # Read the headers, and ignore them + for line in csvfile: + # split the line in to columns using commas + columns = line.split(',') + # Get the values, but ignore the date, we have begin and step + # of the data file hardcoded + rain.add(float(columns[1])) meteo.Tmax.add(float(columns[2])) + meteo.Tmin.add(float(columns[3])) meteo.rHmean.add(float(columns[4])) + meteo.Windspeed.add(float(columns[5])) meteo.Sunshine.add(float(columns[6])) +@endicode + +The last part is to create a station (see @ref cmfTutMeteostation "next tutorial") for the rainfall data and apply the stations to the cells of the project.

    +
    # Create a rain gauge station
    +
    project.rainfall_stations.add('Giessen',rain,(0,0,0))
    +
    +
    # Use the rainfall for each cell in the project
    +
    project.use_nearest_rainfall()
    +
    # Use the meteorological station for each cell of the project
    +
    project.use_nearest_meteo()
    +

    Depending on your needs, any data source you can read with Python (which is virtually any) is suitable to read forcing data for cmf models.

    +
    diff --git a/docs/cmf_tut_units.html b/docs/cmf_tut_units.html index b3399ff6..2396b08d 100644 --- a/docs/cmf_tut_units.html +++ b/docs/cmf_tut_units.html @@ -2,33 +2,37 @@ - - - - -cmf: Units - - - - + + + + + cmf: Units + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Units
    +
    +
    Units

    next

    @@ -111,10 +122,12 @@
  • Climate variables, mainly used for Evapotranspiration models have the following units:
  • Temperature is given in \(°C\)
  • Actual relative humidity is given in percent
  • -
  • Actual incoming shortwave global radiation is given in \( \frac{MJ}{m^{2}day} \). Data in \( \frac{W}{m^{2}}\) has to be multiplied by 0.0864 to set it correctly.
  • +
  • Actual incoming shortwave global radiation is given in \( + \frac{MJ}{m^{2}day} \). Data in \( \frac{W}{m^{2}}\) has to be multiplied by 0.0864 to set it correctly.
  • Wind speed is given in \( \frac{m}{s}\)
  • +
    diff --git a/docs/cmf_tut_volume_height.html b/docs/cmf_tut_volume_height.html index 41eeb150..1282cbc9 100644 --- a/docs/cmf_tut_volume_height.html +++ b/docs/cmf_tut_volume_height.html @@ -2,33 +2,37 @@ - - - - -cmf: Hydraulic head (surface) - - - - + + + + + cmf: Hydraulic head (surface) + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Hydraulic head (surface)
    +
    +
    Hydraulic head (surface)

    next

    @@ -107,6 +118,7 @@

    Hydraulic head in surface water bodies

    \(f(V)\) is given by a child class of IVolumeHeightFunction.

    +
    diff --git a/docs/conceptual.html b/docs/conceptual.html index ef82a087..6464a491 100644 --- a/docs/conceptual.html +++ b/docs/conceptual.html @@ -2,33 +2,37 @@ - - - - -cmf: Conceptual Models with CMF - - - - + + + + + cmf: Conceptual Models with CMF + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Conceptual Models with CMF
    +
    +
    Conceptual Models with CMF

    Conceptual Connections

    @@ -116,6 +127,7 @@

    Semi-distributed Model

  • Semi-distributed Model
  • +
    diff --git a/docs/contrib_cpp.html b/docs/contrib_cpp.html index eb2f215c..232682c9 100644 --- a/docs/contrib_cpp.html +++ b/docs/contrib_cpp.html @@ -2,33 +2,37 @@ - - - - -cmf: Contribute to the C++ source of cmf - - - - + + + + + cmf: Contribute to the C++ source of cmf + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Contribute to the C++ source of cmf
    +
    +
    Contribute to the C++ source of cmf
    Note
    To be written...
    @@ -114,6 +125,7 @@
  • C++ style
  • +
    diff --git a/docs/contrib_docs.html b/docs/contrib_docs.html index a32a56cf..ff1f633c 100644 --- a/docs/contrib_docs.html +++ b/docs/contrib_docs.html @@ -2,33 +2,37 @@ - - - - -cmf: How to improve documentation - - - - + + + + + cmf: How to improve documentation + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    How to improve documentation
    +
    +
    How to improve documentation
    Note
    To be written...
    @@ -107,6 +118,7 @@
  • Documentation organization
  • +
    diff --git a/docs/contrib_issues.html b/docs/contrib_issues.html index 8adedba3..dbc9cab3 100644 --- a/docs/contrib_issues.html +++ b/docs/contrib_issues.html @@ -2,33 +2,37 @@ - - - - -cmf: Submit an issue - - - - + + + + + cmf: Submit an issue + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,19 +93,26 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Submit an issue
    +
    +
    Submit an issue

    If you find a bug, unclear parts of the docs, performance issues or if you find a specific shortcoming of cmf please submit an issue on GitHub at https://github.com/philippkraft/cmf/issues.

    When you write the issue please make clear if you are reporting a bug, a discomfort or if you are suggesting an enhancement. Enhancements might be great ideas in general, but if they are not fitting to the scope of cmf, they might still be rejected. However, if you can publish your enhancement as a related but seperate project: great!

    +
    diff --git a/docs/contrib_overview.html b/docs/contrib_overview.html index e81447f1..9e846c51 100644 --- a/docs/contrib_overview.html +++ b/docs/contrib_overview.html @@ -2,33 +2,37 @@ - - - - -cmf: Contributing to cmf - - - - + + + + + cmf: Contributing to cmf + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Contributing to cmf
    +
    +
    Contributing to cmf

    Thank you!

    @@ -115,6 +126,7 @@

    Changing the C++ core

    If you want to contribute to the calculation core, some C++ knowledge is needed. The C++ part of CMf is obviously written by an environmental scientist and not by a professional programmer.

    More: Contribute to the C++ source of cmf

    +
    diff --git a/docs/contrib_py.html b/docs/contrib_py.html index 9a5e8e28..0f4fa21a 100644 --- a/docs/contrib_py.html +++ b/docs/contrib_py.html @@ -2,33 +2,37 @@ - - - - -cmf: How to contribute to the Python tools of cmf - - - - + + + + + cmf: How to contribute to the Python tools of cmf + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    How to contribute to the Python tools of cmf
    +
    +
    How to contribute to the Python tools of cmf
    Note
    To be written...
    @@ -112,6 +123,7 @@
  • Remove WIP label
  • +
    diff --git a/docs/cookie.js b/docs/cookie.js new file mode 100644 index 00000000..53ad21d9 --- /dev/null +++ b/docs/cookie.js @@ -0,0 +1,58 @@ +/*! + Cookie helper functions + Copyright (c) 2023 Dimitri van Heesch + Released under MIT license. +*/ +let Cookie = { + cookie_namespace: 'doxygen_', + + readSetting(cookie,defVal) { + if (window.chrome) { + const val = localStorage.getItem(this.cookie_namespace+cookie) || + sessionStorage.getItem(this.cookie_namespace+cookie); + if (val) return val; + } else { + let myCookie = this.cookie_namespace+cookie+"="; + if (document.cookie) { + const index = document.cookie.indexOf(myCookie); + if (index != -1) { + const valStart = index + myCookie.length; + let valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + return document.cookie.substring(valStart, valEnd); + } + } + } + return defVal; + }, + + writeSetting(cookie,val,days=10*365) { // default days='forever', 0=session cookie, -1=delete + if (window.chrome) { + if (days==0) { + sessionStorage.setItem(this.cookie_namespace+cookie,val); + } else { + localStorage.setItem(this.cookie_namespace+cookie,val); + } + } else { + let date = new Date(); + date.setTime(date.getTime()+(days*24*60*60*1000)); + const expiration = days!=0 ? "expires="+date.toGMTString()+";" : ""; + document.cookie = this.cookie_namespace + cookie + "=" + + val + "; SameSite=Lax;" + expiration + "path=/"; + } + }, + + eraseSetting(cookie) { + if (window.chrome) { + if (localStorage.getItem(this.cookie_namespace+cookie)) { + localStorage.removeItem(this.cookie_namespace+cookie); + } else if (sessionStorage.getItem(this.cookie_namespace+cookie)) { + sessionStorage.removeItem(this.cookie_namespace+cookie); + } + } else { + this.writeSetting(cookie,'',-1); + } + }, +} diff --git a/docs/deprecated.html b/docs/deprecated.html index f13424dc..fa0ab8eb 100644 --- a/docs/deprecated.html +++ b/docs/deprecated.html @@ -2,33 +2,37 @@ - - - - -cmf: Deprecated List - - - - + + + + + cmf: Deprecated List + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,29 +93,36 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Deprecated List
    +
    +
    Deprecated List
    -
    Class GradientMacroFlow
    -
    The MacroPore model is still very experimental and not stable. Only for tryouts!
    -
    Class KinematicMacroFlow
    -
    The MacroPore model is still very experimental and not stable. Only for tryouts!
    -
    Class MACROlikeMacroMicroExchange
    -
    This connection uses the diffusivity of a soil given by its retention curve. Since no retention curve provides a valid value for Diffusivity in case of saturation this connection will blow up the numerical solution for sure.
    -
    Class MacroPore
    -
    The MacroPore model is still very experimental and not stable. Only for tryouts!
    -
    Member VanGenuchtenMualem::Diffusivity (real wetness) const
    -
    The current implementation goes to infinity at saturation, as noted by VanGenuchten. Diffusivity is therefore currently not usable in any model.
    +
    Class GradientMacroFlow
    +
    The MacroPore model is still very experimental and not stable. Only for tryouts!
    +
    Class KinematicMacroFlow
    +
    The MacroPore model is still very experimental and not stable. Only for tryouts!
    +
    Class MACROlikeMacroMicroExchange
    +
    This connection uses the diffusivity of a soil given by its retention curve. Since no retention curve provides a valid value for Diffusivity in case of saturation this connection will blow up the numerical solution for sure.
    +
    Class MacroPore
    +
    The MacroPore model is still very experimental and not stable. Only for tryouts!
    +
    Member VanGenuchtenMualem::Diffusivity (real wetness) const
    +
    The current implementation goes to infinity at saturation, as noted by VanGenuchten. Diffusivity is therefore currently not usable in any model.
    +
    diff --git a/docs/descriptor.html b/docs/descriptor.html index 7da1b6a4..ce7dc211 100644 --- a/docs/descriptor.html +++ b/docs/descriptor.html @@ -2,33 +2,37 @@ - - - - -cmf: CMF Descriptor - - - - + + + + + cmf: CMF Descriptor + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,25 +93,43 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    CMF Descriptor
    +
    +
    CMF Descriptor

    When creating and using CMF models it can sometimes become quite confusing due to the large amount of code, especially in more complex models. This way mistakes can easily slip through. To help avoid this CMF has a describe function, which outputs a description of the whole model (or parts of it).

    Usage

    First we need to create a simple CMF model.

    -
    import cmf
    c = p.NewCell(0,0,0,1000)

    Add a layer, a outlet and a connection

    -
    l1 = c.add_layer(1)
    out = p.NewOutlet("out", 0, 0,0)
    cmf.LinearStorageConnection(l1, out, 1)

    Now we can let CMF describe the whole model or parts of it.

    -
    print(cmf.describe(p))
    print(cmf.describe(l1))

    Conveniently we can even have the output written to a file, which we have defined beforehand.

    -
    file = open("out.txt", "w")
    cmf.describe(p, out=file)

    Fluxograms

    +
    import cmf
    + +
    c = p.NewCell(0,0,0,1000)
    +
    The study area, holding all cells, outlets and streams.
    Definition project.h:53
    +

    Add a layer, a outlet and a connection

    +
    l1 = c.add_layer(1)
    +
    out = p.NewOutlet("out", 0, 0,0)
    +
    cmf.LinearStorageConnection(l1, out, 1)
    +

    Now we can let CMF describe the whole model or parts of it.

    +
    print(cmf.describe(p))
    +
    print(cmf.describe(l1))
    +

    Conveniently we can even have the output written to a file, which we have defined beforehand.

    +
    file = open("out.txt", "w")
    +
    cmf.describe(p, out=file)
    +

    Fluxograms

    Fluxograms are a novel way to get a nice animation of your model. Sadly, to implement them is a bit complicated. But if you still want to try it a tutorial can be found here: http://fb09-pasig.umwelt.uni-giessen.de/cmf/wiki/fluxogram_and_get_fluxes

    +
    diff --git a/docs/dir_0d676fcd2b1abe7bd04b74edada5e313.html b/docs/dir_0d676fcd2b1abe7bd04b74edada5e313.html new file mode 100644 index 00000000..7d38dcec --- /dev/null +++ b/docs/dir_0d676fcd2b1abe7bd04b74edada5e313.html @@ -0,0 +1,135 @@ + + + + + + + + + cmf: documentation/tutorial/physical Directory Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    physical Directory Reference
    +
    +
    +
    + + Directory dependency graph for physical:
    +
    +
    + +
    +
    + + + diff --git a/docs/dir_0d676fcd2b1abe7bd04b74edada5e313_dep.map b/docs/dir_0d676fcd2b1abe7bd04b74edada5e313_dep.map new file mode 100644 index 00000000..b6a4bfe0 --- /dev/null +++ b/docs/dir_0d676fcd2b1abe7bd04b74edada5e313_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_0d676fcd2b1abe7bd04b74edada5e313_dep.md5 b/docs/dir_0d676fcd2b1abe7bd04b74edada5e313_dep.md5 new file mode 100644 index 00000000..4ffc9252 --- /dev/null +++ b/docs/dir_0d676fcd2b1abe7bd04b74edada5e313_dep.md5 @@ -0,0 +1 @@ +2352758b0259dde8ee075d19362ba903 \ No newline at end of file diff --git a/docs/dir_0d676fcd2b1abe7bd04b74edada5e313_dep.png b/docs/dir_0d676fcd2b1abe7bd04b74edada5e313_dep.png new file mode 100644 index 00000000..7262f0a6 Binary files /dev/null and b/docs/dir_0d676fcd2b1abe7bd04b74edada5e313_dep.png differ diff --git a/docs/dir_12788de71013d9dcf17a564ce1b123ce.html b/docs/dir_12788de71013d9dcf17a564ce1b123ce.html index 9b94f0cd..335797e7 100644 --- a/docs/dir_12788de71013d9dcf17a564ce1b123ce.html +++ b/docs/dir_12788de71013d9dcf17a564ce1b123ce.html @@ -2,33 +2,37 @@ - - - - -cmf: cmf/geometry Directory Reference - - - - + + + + + cmf: cmf/geometry Directory Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,16 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    geometry Directory Reference
    +
    geometry Directory Reference
    +
    + + Directory dependency graph for geometry:
    +
    +
    +
    diff --git a/docs/dir_12788de71013d9dcf17a564ce1b123ce_dep.map b/docs/dir_12788de71013d9dcf17a564ce1b123ce_dep.map new file mode 100644 index 00000000..d195be0d --- /dev/null +++ b/docs/dir_12788de71013d9dcf17a564ce1b123ce_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_12788de71013d9dcf17a564ce1b123ce_dep.md5 b/docs/dir_12788de71013d9dcf17a564ce1b123ce_dep.md5 new file mode 100644 index 00000000..153d83fd --- /dev/null +++ b/docs/dir_12788de71013d9dcf17a564ce1b123ce_dep.md5 @@ -0,0 +1 @@ +1612c0870b3e689d6225944fdcc76588 \ No newline at end of file diff --git a/docs/dir_12788de71013d9dcf17a564ce1b123ce_dep.png b/docs/dir_12788de71013d9dcf17a564ce1b123ce_dep.png new file mode 100644 index 00000000..8dfd1675 Binary files /dev/null and b/docs/dir_12788de71013d9dcf17a564ce1b123ce_dep.png differ diff --git a/docs/dir_138aff360eb965c43b94267b8d1ce09e.html b/docs/dir_138aff360eb965c43b94267b8d1ce09e.html new file mode 100644 index 00000000..afbb6c0d --- /dev/null +++ b/docs/dir_138aff360eb965c43b94267b8d1ce09e.html @@ -0,0 +1,124 @@ + + + + + + + + + cmf: documentation Directory Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    documentation Directory Reference
    +
    +
    +
    +
    + + + diff --git a/docs/dir_1e82fb26092adfe48cd921c6b8a3056a.html b/docs/dir_1e82fb26092adfe48cd921c6b8a3056a.html index 238198e2..8ef32dd8 100644 --- a/docs/dir_1e82fb26092adfe48cd921c6b8a3056a.html +++ b/docs/dir_1e82fb26092adfe48cd921c6b8a3056a.html @@ -2,33 +2,37 @@ - - - - -cmf: cmf/cmf_core_src/upslope/vegetation Directory Reference - - - - + + + + + cmf: cmf/cmf_core_src/upslope/vegetation Directory Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,16 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    vegetation Directory Reference
    +
    vegetation Directory Reference
    +
    + + Directory dependency graph for vegetation:
    +
    +
    +
    diff --git a/docs/dir_1e82fb26092adfe48cd921c6b8a3056a_dep.map b/docs/dir_1e82fb26092adfe48cd921c6b8a3056a_dep.map new file mode 100644 index 00000000..e9281524 --- /dev/null +++ b/docs/dir_1e82fb26092adfe48cd921c6b8a3056a_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_1e82fb26092adfe48cd921c6b8a3056a_dep.md5 b/docs/dir_1e82fb26092adfe48cd921c6b8a3056a_dep.md5 new file mode 100644 index 00000000..d68d3e46 --- /dev/null +++ b/docs/dir_1e82fb26092adfe48cd921c6b8a3056a_dep.md5 @@ -0,0 +1 @@ +f09a3b15323b735683e26f543fe212f8 \ No newline at end of file diff --git a/docs/dir_1e82fb26092adfe48cd921c6b8a3056a_dep.png b/docs/dir_1e82fb26092adfe48cd921c6b8a3056a_dep.png new file mode 100644 index 00000000..1b5b28ea Binary files /dev/null and b/docs/dir_1e82fb26092adfe48cd921c6b8a3056a_dep.png differ diff --git a/docs/dir_25afef0bb16adb85079ca98d22245d69.html b/docs/dir_25afef0bb16adb85079ca98d22245d69.html new file mode 100644 index 00000000..6d4e145a --- /dev/null +++ b/docs/dir_25afef0bb16adb85079ca98d22245d69.html @@ -0,0 +1,140 @@ + + + + + + + + + cmf: documentation/tutorial Directory Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    tutorial Directory Reference
    +
    +
    +
    + + Directory dependency graph for tutorial:
    +
    +
    + +
    +
    + + + diff --git a/docs/dir_25afef0bb16adb85079ca98d22245d69_dep.map b/docs/dir_25afef0bb16adb85079ca98d22245d69_dep.map new file mode 100644 index 00000000..6c897b88 --- /dev/null +++ b/docs/dir_25afef0bb16adb85079ca98d22245d69_dep.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/dir_25afef0bb16adb85079ca98d22245d69_dep.md5 b/docs/dir_25afef0bb16adb85079ca98d22245d69_dep.md5 new file mode 100644 index 00000000..aae785fd --- /dev/null +++ b/docs/dir_25afef0bb16adb85079ca98d22245d69_dep.md5 @@ -0,0 +1 @@ +c46fa99c8c897d60777ecf3121a12bd7 \ No newline at end of file diff --git a/docs/dir_25afef0bb16adb85079ca98d22245d69_dep.png b/docs/dir_25afef0bb16adb85079ca98d22245d69_dep.png new file mode 100644 index 00000000..fbb1bf4a Binary files /dev/null and b/docs/dir_25afef0bb16adb85079ca98d22245d69_dep.png differ diff --git a/docs/dir_276c0bb4402aea34a5542f6741d7a1ee.html b/docs/dir_276c0bb4402aea34a5542f6741d7a1ee.html index f39f625a..011414fd 100644 --- a/docs/dir_276c0bb4402aea34a5542f6741d7a1ee.html +++ b/docs/dir_276c0bb4402aea34a5542f6741d7a1ee.html @@ -2,33 +2,37 @@ - - - - -cmf: cmf/cmf_core_src/upslope/connections Directory Reference - - - - + + + + + cmf: cmf/cmf_core_src/upslope/connections Directory Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,16 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    connections Directory Reference
    +
    connections Directory Reference
    +
    + + Directory dependency graph for connections:
    +
    +
    +
    diff --git a/docs/dir_276c0bb4402aea34a5542f6741d7a1ee_dep.map b/docs/dir_276c0bb4402aea34a5542f6741d7a1ee_dep.map new file mode 100644 index 00000000..c2db2662 --- /dev/null +++ b/docs/dir_276c0bb4402aea34a5542f6741d7a1ee_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_276c0bb4402aea34a5542f6741d7a1ee_dep.md5 b/docs/dir_276c0bb4402aea34a5542f6741d7a1ee_dep.md5 new file mode 100644 index 00000000..f002e7fc --- /dev/null +++ b/docs/dir_276c0bb4402aea34a5542f6741d7a1ee_dep.md5 @@ -0,0 +1 @@ +529787148acaf8ada844955dcdd34acc \ No newline at end of file diff --git a/docs/dir_276c0bb4402aea34a5542f6741d7a1ee_dep.png b/docs/dir_276c0bb4402aea34a5542f6741d7a1ee_dep.png new file mode 100644 index 00000000..3e80a6de Binary files /dev/null and b/docs/dir_276c0bb4402aea34a5542f6741d7a1ee_dep.png differ diff --git a/docs/dir_2b72e62bdbcd1af8d917cf44f67ad58a.html b/docs/dir_2b72e62bdbcd1af8d917cf44f67ad58a.html new file mode 100644 index 00000000..c41bc412 --- /dev/null +++ b/docs/dir_2b72e62bdbcd1af8d917cf44f67ad58a.html @@ -0,0 +1,135 @@ + + + + + + + + + cmf: documentation/tutorial/metainformation Directory Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    metainformation Directory Reference
    +
    +
    +
    + + Directory dependency graph for metainformation:
    +
    +
    + +
    +
    + + + diff --git a/docs/dir_2b72e62bdbcd1af8d917cf44f67ad58a_dep.map b/docs/dir_2b72e62bdbcd1af8d917cf44f67ad58a_dep.map new file mode 100644 index 00000000..845310fd --- /dev/null +++ b/docs/dir_2b72e62bdbcd1af8d917cf44f67ad58a_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_2b72e62bdbcd1af8d917cf44f67ad58a_dep.md5 b/docs/dir_2b72e62bdbcd1af8d917cf44f67ad58a_dep.md5 new file mode 100644 index 00000000..1b3f28b1 --- /dev/null +++ b/docs/dir_2b72e62bdbcd1af8d917cf44f67ad58a_dep.md5 @@ -0,0 +1 @@ +76e83c9086dd20d1922f38f1f3343c30 \ No newline at end of file diff --git a/docs/dir_2b72e62bdbcd1af8d917cf44f67ad58a_dep.png b/docs/dir_2b72e62bdbcd1af8d917cf44f67ad58a_dep.png new file mode 100644 index 00000000..badb14b6 Binary files /dev/null and b/docs/dir_2b72e62bdbcd1af8d917cf44f67ad58a_dep.png differ diff --git a/docs/dir_3f1ba486f713b268e033cb12ab59a41b.html b/docs/dir_3f1ba486f713b268e033cb12ab59a41b.html deleted file mode 100644 index 2f3dc4eb..00000000 --- a/docs/dir_3f1ba486f713b268e033cb12ab59a41b.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - -cmf: cmf/cmf_core_src/geometry Directory Reference - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    geometry Directory Reference
    -
    -
    -
    -
    - - - diff --git a/docs/dir_410aa21f0837b9c4bec0934ed9f3214f.html b/docs/dir_410aa21f0837b9c4bec0934ed9f3214f.html new file mode 100644 index 00000000..c34a8dce --- /dev/null +++ b/docs/dir_410aa21f0837b9c4bec0934ed9f3214f.html @@ -0,0 +1,135 @@ + + + + + + + + + cmf: documentation/doxygen-awesome-css/docs Directory Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b8
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    docs Directory Reference
    +
    +
    +
    + + Directory dependency graph for docs:
    +
    +
    + +
    +
    + + + diff --git a/docs/dir_410aa21f0837b9c4bec0934ed9f3214f_dep.map b/docs/dir_410aa21f0837b9c4bec0934ed9f3214f_dep.map new file mode 100644 index 00000000..c2137283 --- /dev/null +++ b/docs/dir_410aa21f0837b9c4bec0934ed9f3214f_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_410aa21f0837b9c4bec0934ed9f3214f_dep.md5 b/docs/dir_410aa21f0837b9c4bec0934ed9f3214f_dep.md5 new file mode 100644 index 00000000..b48db7b1 --- /dev/null +++ b/docs/dir_410aa21f0837b9c4bec0934ed9f3214f_dep.md5 @@ -0,0 +1 @@ +274c539758e4f81be66103293105f017 \ No newline at end of file diff --git a/docs/dir_410aa21f0837b9c4bec0934ed9f3214f_dep.png b/docs/dir_410aa21f0837b9c4bec0934ed9f3214f_dep.png new file mode 100644 index 00000000..7c20a997 Binary files /dev/null and b/docs/dir_410aa21f0837b9c4bec0934ed9f3214f_dep.png differ diff --git a/docs/dir_453619ed0c8b10bf4e9bf1947d580ea0.html b/docs/dir_453619ed0c8b10bf4e9bf1947d580ea0.html new file mode 100644 index 00000000..8f7f9c1a --- /dev/null +++ b/docs/dir_453619ed0c8b10bf4e9bf1947d580ea0.html @@ -0,0 +1,135 @@ + + + + + + + + + cmf: documentation/tutorial/gettingstarted Directory Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    gettingstarted Directory Reference
    +
    +
    +
    + + Directory dependency graph for gettingstarted:
    +
    +
    + +
    +
    + + + diff --git a/docs/dir_453619ed0c8b10bf4e9bf1947d580ea0_dep.map b/docs/dir_453619ed0c8b10bf4e9bf1947d580ea0_dep.map new file mode 100644 index 00000000..3a896058 --- /dev/null +++ b/docs/dir_453619ed0c8b10bf4e9bf1947d580ea0_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_453619ed0c8b10bf4e9bf1947d580ea0_dep.md5 b/docs/dir_453619ed0c8b10bf4e9bf1947d580ea0_dep.md5 new file mode 100644 index 00000000..40b97642 --- /dev/null +++ b/docs/dir_453619ed0c8b10bf4e9bf1947d580ea0_dep.md5 @@ -0,0 +1 @@ +d321a8a9883c8db9aee991b886d9f0ef \ No newline at end of file diff --git a/docs/dir_453619ed0c8b10bf4e9bf1947d580ea0_dep.png b/docs/dir_453619ed0c8b10bf4e9bf1947d580ea0_dep.png new file mode 100644 index 00000000..c9883539 Binary files /dev/null and b/docs/dir_453619ed0c8b10bf4e9bf1947d580ea0_dep.png differ diff --git a/docs/dir_58e40ea5f41f41b625255f0e93c0210e.html b/docs/dir_58e40ea5f41f41b625255f0e93c0210e.html index 9316055f..47ae2eb6 100644 --- a/docs/dir_58e40ea5f41f41b625255f0e93c0210e.html +++ b/docs/dir_58e40ea5f41f41b625255f0e93c0210e.html @@ -2,33 +2,37 @@ - - - - -cmf: cmf Directory Reference - - - - + + + + + cmf: cmf Directory Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    cmf Directory Reference
    +
    cmf Directory Reference
    @@ -106,7 +117,7 @@ Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:54 +Generated: Fri Jan 19 2024 16:10:57 diff --git a/docs/dir_5eb5dcf7ce74e7759b20ad8b135194e6.html b/docs/dir_5eb5dcf7ce74e7759b20ad8b135194e6.html new file mode 100644 index 00000000..c89fbb43 --- /dev/null +++ b/docs/dir_5eb5dcf7ce74e7759b20ad8b135194e6.html @@ -0,0 +1,135 @@ + + + + + + + + + cmf: documentation/tutorial/conceptual Directory Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    conceptual Directory Reference
    +
    +
    +
    + + Directory dependency graph for conceptual:
    +
    +
    + +
    +
    + + + diff --git a/docs/dir_5eb5dcf7ce74e7759b20ad8b135194e6_dep.map b/docs/dir_5eb5dcf7ce74e7759b20ad8b135194e6_dep.map new file mode 100644 index 00000000..4bdf8e17 --- /dev/null +++ b/docs/dir_5eb5dcf7ce74e7759b20ad8b135194e6_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_5eb5dcf7ce74e7759b20ad8b135194e6_dep.md5 b/docs/dir_5eb5dcf7ce74e7759b20ad8b135194e6_dep.md5 new file mode 100644 index 00000000..a5714085 --- /dev/null +++ b/docs/dir_5eb5dcf7ce74e7759b20ad8b135194e6_dep.md5 @@ -0,0 +1 @@ +c57c2a6083d87dfa8f5670bb848341a1 \ No newline at end of file diff --git a/docs/dir_5eb5dcf7ce74e7759b20ad8b135194e6_dep.png b/docs/dir_5eb5dcf7ce74e7759b20ad8b135194e6_dep.png new file mode 100644 index 00000000..1b9c7cc5 Binary files /dev/null and b/docs/dir_5eb5dcf7ce74e7759b20ad8b135194e6_dep.png differ diff --git a/docs/dir_6e764f1be992d70f16adadc29c086796.html b/docs/dir_6e764f1be992d70f16adadc29c086796.html index 7a4e2c6b..e3b817de 100644 --- a/docs/dir_6e764f1be992d70f16adadc29c086796.html +++ b/docs/dir_6e764f1be992d70f16adadc29c086796.html @@ -2,33 +2,37 @@ - - - - -cmf: cmf/cmf_core_src/math/integrators Directory Reference - - - - + + + + + cmf: cmf/cmf_core_src/math/integrators Directory Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,16 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    integrators Directory Reference
    +
    integrators Directory Reference
    +
    + + Directory dependency graph for integrators:
    +
    +
    +
    diff --git a/docs/dir_6e764f1be992d70f16adadc29c086796_dep.map b/docs/dir_6e764f1be992d70f16adadc29c086796_dep.map new file mode 100644 index 00000000..abb606b9 --- /dev/null +++ b/docs/dir_6e764f1be992d70f16adadc29c086796_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_6e764f1be992d70f16adadc29c086796_dep.md5 b/docs/dir_6e764f1be992d70f16adadc29c086796_dep.md5 new file mode 100644 index 00000000..099cfda1 --- /dev/null +++ b/docs/dir_6e764f1be992d70f16adadc29c086796_dep.md5 @@ -0,0 +1 @@ +0bf5dfa723ef043739f9bcfbd542e852 \ No newline at end of file diff --git a/docs/dir_6e764f1be992d70f16adadc29c086796_dep.png b/docs/dir_6e764f1be992d70f16adadc29c086796_dep.png new file mode 100644 index 00000000..79af8b58 Binary files /dev/null and b/docs/dir_6e764f1be992d70f16adadc29c086796_dep.png differ diff --git a/docs/dir_707fbb85f5f5a03168ae42ef8ba0d65d.html b/docs/dir_707fbb85f5f5a03168ae42ef8ba0d65d.html index ea02a63b..e0e458f5 100644 --- a/docs/dir_707fbb85f5f5a03168ae42ef8ba0d65d.html +++ b/docs/dir_707fbb85f5f5a03168ae42ef8ba0d65d.html @@ -2,33 +2,37 @@ - - - - -cmf: cmf/cmf_core_src/reach Directory Reference - - - - + + + + + cmf: cmf/cmf_core_src/reach Directory Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,16 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    reach Directory Reference
    +
    reach Directory Reference
    +
    + + Directory dependency graph for reach:
    +
    +
    +
    diff --git a/docs/dir_707fbb85f5f5a03168ae42ef8ba0d65d_dep.map b/docs/dir_707fbb85f5f5a03168ae42ef8ba0d65d_dep.map new file mode 100644 index 00000000..dc9da73e --- /dev/null +++ b/docs/dir_707fbb85f5f5a03168ae42ef8ba0d65d_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_707fbb85f5f5a03168ae42ef8ba0d65d_dep.md5 b/docs/dir_707fbb85f5f5a03168ae42ef8ba0d65d_dep.md5 new file mode 100644 index 00000000..bf0cd765 --- /dev/null +++ b/docs/dir_707fbb85f5f5a03168ae42ef8ba0d65d_dep.md5 @@ -0,0 +1 @@ +9a611a4f022c4b0d7f351ed4b3fc9345 \ No newline at end of file diff --git a/docs/dir_707fbb85f5f5a03168ae42ef8ba0d65d_dep.png b/docs/dir_707fbb85f5f5a03168ae42ef8ba0d65d_dep.png new file mode 100644 index 00000000..51d5931c Binary files /dev/null and b/docs/dir_707fbb85f5f5a03168ae42ef8ba0d65d_dep.png differ diff --git a/docs/dir_73a48ad96f7ed71bd28db957498e0435.html b/docs/dir_73a48ad96f7ed71bd28db957498e0435.html index c5f69dad..b69bd325 100644 --- a/docs/dir_73a48ad96f7ed71bd28db957498e0435.html +++ b/docs/dir_73a48ad96f7ed71bd28db957498e0435.html @@ -2,33 +2,37 @@ - - - - -cmf: cmf/cmf_core_src/upslope/Soil Directory Reference - - - - + + + + + cmf: cmf/cmf_core_src/upslope/Soil Directory Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,16 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    Soil Directory Reference
    +
    Soil Directory Reference
    +
    + + Directory dependency graph for Soil:
    +
    +
    +
    diff --git a/docs/dir_73a48ad96f7ed71bd28db957498e0435_dep.map b/docs/dir_73a48ad96f7ed71bd28db957498e0435_dep.map new file mode 100644 index 00000000..9524e0cc --- /dev/null +++ b/docs/dir_73a48ad96f7ed71bd28db957498e0435_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_73a48ad96f7ed71bd28db957498e0435_dep.md5 b/docs/dir_73a48ad96f7ed71bd28db957498e0435_dep.md5 new file mode 100644 index 00000000..1b582f62 --- /dev/null +++ b/docs/dir_73a48ad96f7ed71bd28db957498e0435_dep.md5 @@ -0,0 +1 @@ +d46a0d35ed38a1f710594111ff5a7b1c \ No newline at end of file diff --git a/docs/dir_73a48ad96f7ed71bd28db957498e0435_dep.png b/docs/dir_73a48ad96f7ed71bd28db957498e0435_dep.png new file mode 100644 index 00000000..915ab42f Binary files /dev/null and b/docs/dir_73a48ad96f7ed71bd28db957498e0435_dep.png differ diff --git a/docs/dir_73ad9908e296e4f21d796b366cb5a556.html b/docs/dir_73ad9908e296e4f21d796b366cb5a556.html new file mode 100644 index 00000000..d838dc15 --- /dev/null +++ b/docs/dir_73ad9908e296e4f21d796b366cb5a556.html @@ -0,0 +1,135 @@ + + + + + + + + + cmf: documentation/tutorial/atmosphere Directory Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    atmosphere Directory Reference
    +
    +
    +
    + + Directory dependency graph for atmosphere:
    +
    +
    + +
    +
    + + + diff --git a/docs/dir_73ad9908e296e4f21d796b366cb5a556_dep.map b/docs/dir_73ad9908e296e4f21d796b366cb5a556_dep.map new file mode 100644 index 00000000..ae62eb61 --- /dev/null +++ b/docs/dir_73ad9908e296e4f21d796b366cb5a556_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_73ad9908e296e4f21d796b366cb5a556_dep.md5 b/docs/dir_73ad9908e296e4f21d796b366cb5a556_dep.md5 new file mode 100644 index 00000000..db5d2fec --- /dev/null +++ b/docs/dir_73ad9908e296e4f21d796b366cb5a556_dep.md5 @@ -0,0 +1 @@ +544b580ab9f8492783111bd688f36302 \ No newline at end of file diff --git a/docs/dir_73ad9908e296e4f21d796b366cb5a556_dep.png b/docs/dir_73ad9908e296e4f21d796b366cb5a556_dep.png new file mode 100644 index 00000000..1c8d39e8 Binary files /dev/null and b/docs/dir_73ad9908e296e4f21d796b366cb5a556_dep.png differ diff --git a/docs/dir_77005acaedd4c0a991f05071f95b4942.html b/docs/dir_77005acaedd4c0a991f05071f95b4942.html index 6100b2b7..2aab2dde 100644 --- a/docs/dir_77005acaedd4c0a991f05071f95b4942.html +++ b/docs/dir_77005acaedd4c0a991f05071f95b4942.html @@ -2,33 +2,37 @@ - - - - -cmf: cmf/cmf_core_src/water Directory Reference - - - - + + + + + cmf: cmf/cmf_core_src/water Directory Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,16 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    water Directory Reference
    +
    water Directory Reference
    +
    + + Directory dependency graph for water:
    +
    +
    +
    diff --git a/docs/dir_77005acaedd4c0a991f05071f95b4942_dep.map b/docs/dir_77005acaedd4c0a991f05071f95b4942_dep.map new file mode 100644 index 00000000..19651196 --- /dev/null +++ b/docs/dir_77005acaedd4c0a991f05071f95b4942_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_77005acaedd4c0a991f05071f95b4942_dep.md5 b/docs/dir_77005acaedd4c0a991f05071f95b4942_dep.md5 new file mode 100644 index 00000000..e4dce6c3 --- /dev/null +++ b/docs/dir_77005acaedd4c0a991f05071f95b4942_dep.md5 @@ -0,0 +1 @@ +4eed6ca7bf6db90342a6805a5da41fc0 \ No newline at end of file diff --git a/docs/dir_77005acaedd4c0a991f05071f95b4942_dep.png b/docs/dir_77005acaedd4c0a991f05071f95b4942_dep.png new file mode 100644 index 00000000..4d8319bc Binary files /dev/null and b/docs/dir_77005acaedd4c0a991f05071f95b4942_dep.png differ diff --git a/docs/dir_899d2e127fb6f8de6dda9777a2d11fc4.html b/docs/dir_899d2e127fb6f8de6dda9777a2d11fc4.html index fddc70cb..a5978e58 100644 --- a/docs/dir_899d2e127fb6f8de6dda9777a2d11fc4.html +++ b/docs/dir_899d2e127fb6f8de6dda9777a2d11fc4.html @@ -2,33 +2,37 @@ - - - - -cmf: cmf/cmf_core_src Directory Reference - - - - + + + + + cmf: cmf/cmf_core_src Directory Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,16 +93,38 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    cmf_core_src Directory Reference
    +
    cmf_core_src Directory Reference
    +
    + + Directory dependency graph for cmf_core_src:
    +
    +
    +
    diff --git a/docs/dir_899d2e127fb6f8de6dda9777a2d11fc4_dep.map b/docs/dir_899d2e127fb6f8de6dda9777a2d11fc4_dep.map new file mode 100644 index 00000000..b9791c2e --- /dev/null +++ b/docs/dir_899d2e127fb6f8de6dda9777a2d11fc4_dep.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/dir_899d2e127fb6f8de6dda9777a2d11fc4_dep.md5 b/docs/dir_899d2e127fb6f8de6dda9777a2d11fc4_dep.md5 new file mode 100644 index 00000000..3a65e2f8 --- /dev/null +++ b/docs/dir_899d2e127fb6f8de6dda9777a2d11fc4_dep.md5 @@ -0,0 +1 @@ +eced094c7cdfebf1f098fb5dfd70bbfc \ No newline at end of file diff --git a/docs/dir_899d2e127fb6f8de6dda9777a2d11fc4_dep.png b/docs/dir_899d2e127fb6f8de6dda9777a2d11fc4_dep.png new file mode 100644 index 00000000..0f97d2b2 Binary files /dev/null and b/docs/dir_899d2e127fb6f8de6dda9777a2d11fc4_dep.png differ diff --git a/docs/dir_8d4c975dc4db6fbc37636ae91790b381.html b/docs/dir_8d4c975dc4db6fbc37636ae91790b381.html index 1d669e91..8a86ff4f 100644 --- a/docs/dir_8d4c975dc4db6fbc37636ae91790b381.html +++ b/docs/dir_8d4c975dc4db6fbc37636ae91790b381.html @@ -2,33 +2,37 @@ - - - - -cmf: cmf/cmf_core_src/upslope Directory Reference - - - - + + + + + cmf: cmf/cmf_core_src/upslope Directory Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,16 +93,36 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    upslope Directory Reference
    +
    upslope Directory Reference
    +
    + + Directory dependency graph for upslope:
    +
    +
    +
    diff --git a/docs/dir_8d4c975dc4db6fbc37636ae91790b381_dep.map b/docs/dir_8d4c975dc4db6fbc37636ae91790b381_dep.map new file mode 100644 index 00000000..a2e418c6 --- /dev/null +++ b/docs/dir_8d4c975dc4db6fbc37636ae91790b381_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/dir_8d4c975dc4db6fbc37636ae91790b381_dep.md5 b/docs/dir_8d4c975dc4db6fbc37636ae91790b381_dep.md5 new file mode 100644 index 00000000..af5d381a --- /dev/null +++ b/docs/dir_8d4c975dc4db6fbc37636ae91790b381_dep.md5 @@ -0,0 +1 @@ +75e6fa3edefaa8eeb1078478c8e481e3 \ No newline at end of file diff --git a/docs/dir_8d4c975dc4db6fbc37636ae91790b381_dep.png b/docs/dir_8d4c975dc4db6fbc37636ae91790b381_dep.png new file mode 100644 index 00000000..f5e85c15 Binary files /dev/null and b/docs/dir_8d4c975dc4db6fbc37636ae91790b381_dep.png differ diff --git a/docs/dir_a32c301defa8fda793cb40af11415647.html b/docs/dir_a32c301defa8fda793cb40af11415647.html index 76e50bd9..34834e1c 100644 --- a/docs/dir_a32c301defa8fda793cb40af11415647.html +++ b/docs/dir_a32c301defa8fda793cb40af11415647.html @@ -2,33 +2,37 @@ - - - - -cmf: cmf/cmf_core_src/atmosphere Directory Reference - - - - + + + + + cmf: cmf/cmf_core_src/atmosphere Directory Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,16 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    atmosphere Directory Reference
    +
    atmosphere Directory Reference
    +
    + + Directory dependency graph for atmosphere:
    +
    +
    +
    diff --git a/docs/dir_a32c301defa8fda793cb40af11415647_dep.map b/docs/dir_a32c301defa8fda793cb40af11415647_dep.map new file mode 100644 index 00000000..e63e118f --- /dev/null +++ b/docs/dir_a32c301defa8fda793cb40af11415647_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_a32c301defa8fda793cb40af11415647_dep.md5 b/docs/dir_a32c301defa8fda793cb40af11415647_dep.md5 new file mode 100644 index 00000000..f787621f --- /dev/null +++ b/docs/dir_a32c301defa8fda793cb40af11415647_dep.md5 @@ -0,0 +1 @@ +ec071a29bb462b121a785a3491262c96 \ No newline at end of file diff --git a/docs/dir_a32c301defa8fda793cb40af11415647_dep.png b/docs/dir_a32c301defa8fda793cb40af11415647_dep.png new file mode 100644 index 00000000..6676f541 Binary files /dev/null and b/docs/dir_a32c301defa8fda793cb40af11415647_dep.png differ diff --git a/docs/dir_b5c4655dde8714643f73aa924cd61a50.html b/docs/dir_b5c4655dde8714643f73aa924cd61a50.html new file mode 100644 index 00000000..82828b89 --- /dev/null +++ b/docs/dir_b5c4655dde8714643f73aa924cd61a50.html @@ -0,0 +1,135 @@ + + + + + + + + + cmf: documentation/contributing Directory Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    contributing Directory Reference
    +
    +
    +
    + + Directory dependency graph for contributing:
    +
    +
    + +
    +
    + + + diff --git a/docs/dir_b5c4655dde8714643f73aa924cd61a50_dep.map b/docs/dir_b5c4655dde8714643f73aa924cd61a50_dep.map new file mode 100644 index 00000000..73011784 --- /dev/null +++ b/docs/dir_b5c4655dde8714643f73aa924cd61a50_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_b5c4655dde8714643f73aa924cd61a50_dep.md5 b/docs/dir_b5c4655dde8714643f73aa924cd61a50_dep.md5 new file mode 100644 index 00000000..411cb993 --- /dev/null +++ b/docs/dir_b5c4655dde8714643f73aa924cd61a50_dep.md5 @@ -0,0 +1 @@ +e308457390ecb2794fb379c534103d74 \ No newline at end of file diff --git a/docs/dir_b5c4655dde8714643f73aa924cd61a50_dep.png b/docs/dir_b5c4655dde8714643f73aa924cd61a50_dep.png new file mode 100644 index 00000000..f631c30b Binary files /dev/null and b/docs/dir_b5c4655dde8714643f73aa924cd61a50_dep.png differ diff --git a/docs/dir_c983a2acb108f5feb589b2c3b4e41b53.html b/docs/dir_c983a2acb108f5feb589b2c3b4e41b53.html new file mode 100644 index 00000000..57707c85 --- /dev/null +++ b/docs/dir_c983a2acb108f5feb589b2c3b4e41b53.html @@ -0,0 +1,135 @@ + + + + + + + + + cmf: documentation/installation Directory Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    installation Directory Reference
    +
    +
    +
    + + Directory dependency graph for installation:
    +
    +
    + +
    +
    + + + diff --git a/docs/dir_c983a2acb108f5feb589b2c3b4e41b53_dep.map b/docs/dir_c983a2acb108f5feb589b2c3b4e41b53_dep.map new file mode 100644 index 00000000..75128df4 --- /dev/null +++ b/docs/dir_c983a2acb108f5feb589b2c3b4e41b53_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_c983a2acb108f5feb589b2c3b4e41b53_dep.md5 b/docs/dir_c983a2acb108f5feb589b2c3b4e41b53_dep.md5 new file mode 100644 index 00000000..f6a39e2a --- /dev/null +++ b/docs/dir_c983a2acb108f5feb589b2c3b4e41b53_dep.md5 @@ -0,0 +1 @@ +a3200878c2b360904bbf757e6fb15d71 \ No newline at end of file diff --git a/docs/dir_c983a2acb108f5feb589b2c3b4e41b53_dep.png b/docs/dir_c983a2acb108f5feb589b2c3b4e41b53_dep.png new file mode 100644 index 00000000..b5bcaed3 Binary files /dev/null and b/docs/dir_c983a2acb108f5feb589b2c3b4e41b53_dep.png differ diff --git a/docs/dir_e99589850f294dbf4b725494ab1c642e.html b/docs/dir_e99589850f294dbf4b725494ab1c642e.html index f7c0d420..e5b6ade3 100644 --- a/docs/dir_e99589850f294dbf4b725494ab1c642e.html +++ b/docs/dir_e99589850f294dbf4b725494ab1c642e.html @@ -2,33 +2,37 @@ - - - - -cmf: cmf/draw Directory Reference - - - - + + + + + cmf: cmf/draw Directory Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,16 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    draw Directory Reference
    +
    draw Directory Reference
    +
    + + Directory dependency graph for draw:
    +
    +
    +
    diff --git a/docs/dir_e99589850f294dbf4b725494ab1c642e_dep.map b/docs/dir_e99589850f294dbf4b725494ab1c642e_dep.map new file mode 100644 index 00000000..5f97bc30 --- /dev/null +++ b/docs/dir_e99589850f294dbf4b725494ab1c642e_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dir_e99589850f294dbf4b725494ab1c642e_dep.md5 b/docs/dir_e99589850f294dbf4b725494ab1c642e_dep.md5 new file mode 100644 index 00000000..439918e3 --- /dev/null +++ b/docs/dir_e99589850f294dbf4b725494ab1c642e_dep.md5 @@ -0,0 +1 @@ +95cc03e23eada8242c0a8807ad9a1603 \ No newline at end of file diff --git a/docs/dir_e99589850f294dbf4b725494ab1c642e_dep.png b/docs/dir_e99589850f294dbf4b725494ab1c642e_dep.png new file mode 100644 index 00000000..c42fd32f Binary files /dev/null and b/docs/dir_e99589850f294dbf4b725494ab1c642e_dep.png differ diff --git a/docs/dir_f54148d295cc294d77e7dd4677dac0ad.html b/docs/dir_f54148d295cc294d77e7dd4677dac0ad.html new file mode 100644 index 00000000..5c769835 --- /dev/null +++ b/docs/dir_f54148d295cc294d77e7dd4677dac0ad.html @@ -0,0 +1,136 @@ + + + + + + + + + cmf: documentation/doxygen-awesome-css Directory Reference + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b8
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    doxygen-awesome-css Directory Reference
    +
    +
    +
    + + Directory dependency graph for doxygen-awesome-css:
    +
    +
    + +
    +
    + + + diff --git a/docs/dir_f54148d295cc294d77e7dd4677dac0ad_dep.map b/docs/dir_f54148d295cc294d77e7dd4677dac0ad_dep.map new file mode 100644 index 00000000..56e18d01 --- /dev/null +++ b/docs/dir_f54148d295cc294d77e7dd4677dac0ad_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/dir_f54148d295cc294d77e7dd4677dac0ad_dep.md5 b/docs/dir_f54148d295cc294d77e7dd4677dac0ad_dep.md5 new file mode 100644 index 00000000..de0becb4 --- /dev/null +++ b/docs/dir_f54148d295cc294d77e7dd4677dac0ad_dep.md5 @@ -0,0 +1 @@ +4ebfd436d88d14e516639512e5db68b8 \ No newline at end of file diff --git a/docs/dir_f54148d295cc294d77e7dd4677dac0ad_dep.png b/docs/dir_f54148d295cc294d77e7dd4677dac0ad_dep.png new file mode 100644 index 00000000..15fa7184 Binary files /dev/null and b/docs/dir_f54148d295cc294d77e7dd4677dac0ad_dep.png differ diff --git a/docs/dir_fb2b4d745793dfd5bb69790f90a5a545.html b/docs/dir_fb2b4d745793dfd5bb69790f90a5a545.html index 67cda49a..a8b739e1 100644 --- a/docs/dir_fb2b4d745793dfd5bb69790f90a5a545.html +++ b/docs/dir_fb2b4d745793dfd5bb69790f90a5a545.html @@ -2,33 +2,37 @@ - - - - -cmf: cmf/cmf_core_src/math Directory Reference - - - - + + + + + cmf: cmf/cmf_core_src/math Directory Reference + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,16 +93,34 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    math Directory Reference
    +
    math Directory Reference
    +
    + + Directory dependency graph for math:
    +
    +
    +
    diff --git a/docs/dir_fb2b4d745793dfd5bb69790f90a5a545_dep.map b/docs/dir_fb2b4d745793dfd5bb69790f90a5a545_dep.map new file mode 100644 index 00000000..9c7cf9e7 --- /dev/null +++ b/docs/dir_fb2b4d745793dfd5bb69790f90a5a545_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/dir_fb2b4d745793dfd5bb69790f90a5a545_dep.md5 b/docs/dir_fb2b4d745793dfd5bb69790f90a5a545_dep.md5 new file mode 100644 index 00000000..31fd1433 --- /dev/null +++ b/docs/dir_fb2b4d745793dfd5bb69790f90a5a545_dep.md5 @@ -0,0 +1 @@ +42925a1907ec6412be1ef1c1c4a38584 \ No newline at end of file diff --git a/docs/dir_fb2b4d745793dfd5bb69790f90a5a545_dep.png b/docs/dir_fb2b4d745793dfd5bb69790f90a5a545_dep.png new file mode 100644 index 00000000..aeff1168 Binary files /dev/null and b/docs/dir_fb2b4d745793dfd5bb69790f90a5a545_dep.png differ diff --git a/docs/doc.png b/docs/doc.png deleted file mode 100644 index 6ca803fb..00000000 Binary files a/docs/doc.png and /dev/null differ diff --git a/docs/doc.svg b/docs/doc.svg new file mode 100644 index 00000000..1f6f3264 --- /dev/null +++ b/docs/doc.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docs/docd.svg b/docs/docd.svg new file mode 100644 index 00000000..43ce8b15 --- /dev/null +++ b/docs/docd.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docs/doxygen-awesome-darkmode-toggle.js b/docs/doxygen-awesome-darkmode-toggle.js new file mode 100644 index 00000000..40fe2d38 --- /dev/null +++ b/docs/doxygen-awesome-darkmode-toggle.js @@ -0,0 +1,157 @@ +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 - 2023 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +class DoxygenAwesomeDarkModeToggle extends HTMLElement { + // SVG icons from https://fonts.google.com/icons + // Licensed under the Apache 2.0 license: + // https://www.apache.org/licenses/LICENSE-2.0.html + static lightModeIcon = `` + static darkModeIcon = `` + static title = "Toggle Light/Dark Mode" + + static prefersLightModeInDarkModeKey = "prefers-light-mode-in-dark-mode" + static prefersDarkModeInLightModeKey = "prefers-dark-mode-in-light-mode" + + static _staticConstructor = function() { + DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.userPreference) + // Update the color scheme when the browsers preference changes + // without user interaction on the website. + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => { + DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged() + }) + // Update the color scheme when the tab is made visible again. + // It is possible that the appearance was changed in another tab + // while this tab was in the background. + document.addEventListener("visibilitychange", visibilityState => { + if (document.visibilityState === 'visible') { + DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged() + } + }); + }() + + static init() { + $(function() { + $(document).ready(function() { + const toggleButton = document.createElement('doxygen-awesome-dark-mode-toggle') + toggleButton.title = DoxygenAwesomeDarkModeToggle.title + toggleButton.updateIcon() + + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => { + toggleButton.updateIcon() + }) + document.addEventListener("visibilitychange", visibilityState => { + if (document.visibilityState === 'visible') { + toggleButton.updateIcon() + } + }); + + $(document).ready(function(){ + document.getElementById("MSearchBox").parentNode.appendChild(toggleButton) + }) + $(window).resize(function(){ + document.getElementById("MSearchBox").parentNode.appendChild(toggleButton) + }) + }) + }) + } + + constructor() { + super(); + this.onclick=this.toggleDarkMode + } + + /** + * @returns `true` for dark-mode, `false` for light-mode system preference + */ + static get systemPreference() { + return window.matchMedia('(prefers-color-scheme: dark)').matches + } + + /** + * @returns `true` for dark-mode, `false` for light-mode user preference + */ + static get userPreference() { + return (!DoxygenAwesomeDarkModeToggle.systemPreference && localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey)) || + (DoxygenAwesomeDarkModeToggle.systemPreference && !localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey)) + } + + static set userPreference(userPreference) { + DoxygenAwesomeDarkModeToggle.darkModeEnabled = userPreference + if(!userPreference) { + if(DoxygenAwesomeDarkModeToggle.systemPreference) { + localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey, true) + } else { + localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey) + } + } else { + if(!DoxygenAwesomeDarkModeToggle.systemPreference) { + localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey, true) + } else { + localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey) + } + } + DoxygenAwesomeDarkModeToggle.onUserPreferenceChanged() + } + + static enableDarkMode(enable) { + if(enable) { + DoxygenAwesomeDarkModeToggle.darkModeEnabled = true + document.documentElement.classList.add("dark-mode") + document.documentElement.classList.remove("light-mode") + } else { + DoxygenAwesomeDarkModeToggle.darkModeEnabled = false + document.documentElement.classList.remove("dark-mode") + document.documentElement.classList.add("light-mode") + } + } + + static onSystemPreferenceChanged() { + DoxygenAwesomeDarkModeToggle.darkModeEnabled = DoxygenAwesomeDarkModeToggle.userPreference + DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled) + } + + static onUserPreferenceChanged() { + DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled) + } + + toggleDarkMode() { + DoxygenAwesomeDarkModeToggle.userPreference = !DoxygenAwesomeDarkModeToggle.userPreference + this.updateIcon() + } + + updateIcon() { + if(DoxygenAwesomeDarkModeToggle.darkModeEnabled) { + this.innerHTML = DoxygenAwesomeDarkModeToggle.darkModeIcon + } else { + this.innerHTML = DoxygenAwesomeDarkModeToggle.lightModeIcon + } + } +} + +customElements.define("doxygen-awesome-dark-mode-toggle", DoxygenAwesomeDarkModeToggle); diff --git a/docs/doxygen-awesome-fragment-copy-button.js b/docs/doxygen-awesome-fragment-copy-button.js new file mode 100644 index 00000000..86c16fd9 --- /dev/null +++ b/docs/doxygen-awesome-fragment-copy-button.js @@ -0,0 +1,85 @@ +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2022 - 2023 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +class DoxygenAwesomeFragmentCopyButton extends HTMLElement { + constructor() { + super(); + this.onclick=this.copyContent + } + static title = "Copy to clipboard" + static copyIcon = `` + static successIcon = `` + static successDuration = 980 + static init() { + $(function() { + $(document).ready(function() { + if(navigator.clipboard) { + const fragments = document.getElementsByClassName("fragment") + for(const fragment of fragments) { + const fragmentWrapper = document.createElement("div") + fragmentWrapper.className = "doxygen-awesome-fragment-wrapper" + const fragmentCopyButton = document.createElement("doxygen-awesome-fragment-copy-button") + fragmentCopyButton.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon + fragmentCopyButton.title = DoxygenAwesomeFragmentCopyButton.title + + fragment.parentNode.replaceChild(fragmentWrapper, fragment) + fragmentWrapper.appendChild(fragment) + fragmentWrapper.appendChild(fragmentCopyButton) + + } + } + }) + }) + } + + + copyContent() { + const content = this.previousSibling.cloneNode(true) + // filter out line number from file listings + content.querySelectorAll(".lineno, .ttc").forEach((node) => { + node.remove() + }) + let textContent = content.textContent + // remove trailing newlines that appear in file listings + let numberOfTrailingNewlines = 0 + while(textContent.charAt(textContent.length - (numberOfTrailingNewlines + 1)) == '\n') { + numberOfTrailingNewlines++; + } + textContent = textContent.substring(0, textContent.length - numberOfTrailingNewlines) + navigator.clipboard.writeText(textContent); + this.classList.add("success") + this.innerHTML = DoxygenAwesomeFragmentCopyButton.successIcon + window.setTimeout(() => { + this.classList.remove("success") + this.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon + }, DoxygenAwesomeFragmentCopyButton.successDuration); + } +} + +customElements.define("doxygen-awesome-fragment-copy-button", DoxygenAwesomeFragmentCopyButton) diff --git a/docs/doxygen-awesome.css b/docs/doxygen-awesome.css new file mode 100644 index 00000000..ac7f0608 --- /dev/null +++ b/docs/doxygen-awesome.css @@ -0,0 +1,2669 @@ +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 - 2023 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +html { + /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */ + --primary-color: #1779c4; + --primary-dark-color: #335c80; + --primary-light-color: #70b1e9; + + /* page base colors */ + --page-background-color: #ffffff; + --page-foreground-color: #2f4153; + --page-secondary-foreground-color: #6f7e8e; + + /* color for all separators on the website: hr, borders, ... */ + --separator-color: #dedede; + + /* border radius for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */ + --border-radius-large: 8px; + --border-radius-small: 4px; + --border-radius-medium: 6px; + + /* default spacings. Most components reference these values for spacing, to provide uniform spacing on the page. */ + --spacing-small: 5px; + --spacing-medium: 10px; + --spacing-large: 16px; + + /* default box shadow used for raising an element above the normal content. Used in dropdowns, search result, ... */ + --box-shadow: 0 2px 8px 0 rgba(0,0,0,.075); + + --odd-color: rgba(0,0,0,.028); + + /* font-families. will affect all text on the website + * font-family: the normal font for text, headlines, menus + * font-family-monospace: used for preformatted text in memtitle, code, fragments + */ + --font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif; + --font-family-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; + + /* font sizes */ + --page-font-size: 15.6px; + --navigation-font-size: 14.4px; + --toc-font-size: 13.4px; + --code-font-size: 14px; /* affects code, fragment */ + --title-font-size: 22px; + + /* content text properties. These only affect the page content, not the navigation or any other ui elements */ + --content-line-height: 27px; + /* The content is centered and constraint in it's width. To make the content fill the whole page, set the variable to auto.*/ + --content-maxwidth: 1050px; + --table-line-height: 24px; + --toc-sticky-top: var(--spacing-medium); + --toc-width: 200px; + --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 85px); + + /* colors for various content boxes: @warning, @note, @deprecated @bug */ + --warning-color: #faf3d8; + --warning-color-dark: #f3a600; + --warning-color-darker: #5f4204; + --note-color: #e4f3ff; + --note-color-dark: #1879C4; + --note-color-darker: #274a5c; + --todo-color: #e4dafd; + --todo-color-dark: #5b2bdd; + --todo-color-darker: #2a0d72; + --deprecated-color: #ecf0f3; + --deprecated-color-dark: #5b6269; + --deprecated-color-darker: #43454a; + --bug-color: #f8d1cc; + --bug-color-dark: #b61825; + --bug-color-darker: #75070f; + --invariant-color: #d8f1e3; + --invariant-color-dark: #44b86f; + --invariant-color-darker: #265532; + + /* blockquote colors */ + --blockquote-background: #f8f9fa; + --blockquote-foreground: #636568; + + /* table colors */ + --tablehead-background: #f1f1f1; + --tablehead-foreground: var(--page-foreground-color); + + /* menu-display: block | none + * Visibility of the top navigation on screens >= 768px. On smaller screen the menu is always visible. + * `GENERATE_TREEVIEW` MUST be enabled! + */ + --menu-display: block; + + --menu-focus-foreground: var(--page-background-color); + --menu-focus-background: var(--primary-color); + --menu-selected-background: rgba(0,0,0,.05); + + + --header-background: var(--page-background-color); + --header-foreground: var(--page-foreground-color); + + /* searchbar colors */ + --searchbar-background: var(--side-nav-background); + --searchbar-foreground: var(--page-foreground-color); + + /* searchbar size + * (`searchbar-width` is only applied on screens >= 768px. + * on smaller screens the searchbar will always fill the entire screen width) */ + --searchbar-height: 33px; + --searchbar-width: 210px; + --searchbar-border-radius: var(--searchbar-height); + + /* code block colors */ + --code-background: #f5f5f5; + --code-foreground: var(--page-foreground-color); + + /* fragment colors */ + --fragment-background: #F8F9FA; + --fragment-foreground: #37474F; + --fragment-keyword: #bb6bb2; + --fragment-keywordtype: #8258b3; + --fragment-keywordflow: #d67c3b; + --fragment-token: #438a59; + --fragment-comment: #969696; + --fragment-link: #5383d6; + --fragment-preprocessor: #46aaa5; + --fragment-linenumber-color: #797979; + --fragment-linenumber-background: #f4f4f5; + --fragment-linenumber-border: #e3e5e7; + --fragment-lineheight: 20px; + + /* sidebar navigation (treeview) colors */ + --side-nav-background: #fbfbfb; + --side-nav-foreground: var(--page-foreground-color); + --side-nav-arrow-opacity: 0; + --side-nav-arrow-hover-opacity: 0.9; + + --toc-background: var(--side-nav-background); + --toc-foreground: var(--side-nav-foreground); + + /* height of an item in any tree / collapsible table */ + --tree-item-height: 30px; + + --memname-font-size: var(--code-font-size); + --memtitle-font-size: 18px; + + --webkit-scrollbar-size: 7px; + --webkit-scrollbar-padding: 4px; + --webkit-scrollbar-color: var(--separator-color); + + --animation-duration: .12s +} + +@media screen and (max-width: 767px) { + html { + --page-font-size: 16px; + --navigation-font-size: 16px; + --toc-font-size: 15px; + --code-font-size: 15px; /* affects code, fragment */ + --title-font-size: 22px; + } +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) { + color-scheme: dark; + + --primary-color: #1982d2; + --primary-dark-color: #86a9c4; + --primary-light-color: #4779ac; + + --box-shadow: 0 2px 8px 0 rgba(0,0,0,.35); + + --odd-color: rgba(100,100,100,.06); + + --menu-selected-background: rgba(0,0,0,.4); + + --page-background-color: #1C1D1F; + --page-foreground-color: #d2dbde; + --page-secondary-foreground-color: #859399; + --separator-color: #38393b; + --side-nav-background: #252628; + + --code-background: #2a2c2f; + + --tablehead-background: #2a2c2f; + + --blockquote-background: #222325; + --blockquote-foreground: #7e8c92; + + --warning-color: #3b2e04; + --warning-color-dark: #f1b602; + --warning-color-darker: #ceb670; + --note-color: #163750; + --note-color-dark: #1982D2; + --note-color-darker: #dcf0fa; + --todo-color: #2a2536; + --todo-color-dark: #7661b3; + --todo-color-darker: #ae9ed6; + --deprecated-color: #2e323b; + --deprecated-color-dark: #738396; + --deprecated-color-darker: #abb0bd; + --bug-color: #2e1917; + --bug-color-dark: #ad2617; + --bug-color-darker: #f5b1aa; + --invariant-color: #303a35; + --invariant-color-dark: #76ce96; + --invariant-color-darker: #cceed5; + + --fragment-background: #282c34; + --fragment-foreground: #dbe4eb; + --fragment-keyword: #cc99cd; + --fragment-keywordtype: #ab99cd; + --fragment-keywordflow: #e08000; + --fragment-token: #7ec699; + --fragment-comment: #999999; + --fragment-link: #98c0e3; + --fragment-preprocessor: #65cabe; + --fragment-linenumber-color: #cccccc; + --fragment-linenumber-background: #35393c; + --fragment-linenumber-border: #1f1f1f; + } +} + +/* dark mode variables are defined twice, to support both the dark-mode without and with doxygen-awesome-darkmode-toggle.js */ +html.dark-mode { + color-scheme: dark; + + --primary-color: #1982d2; + --primary-dark-color: #86a9c4; + --primary-light-color: #4779ac; + + --box-shadow: 0 2px 8px 0 rgba(0,0,0,.30); + + --odd-color: rgba(100,100,100,.06); + + --menu-selected-background: rgba(0,0,0,.4); + + --page-background-color: #1C1D1F; + --page-foreground-color: #d2dbde; + --page-secondary-foreground-color: #859399; + --separator-color: #38393b; + --side-nav-background: #252628; + + --code-background: #2a2c2f; + + --tablehead-background: #2a2c2f; + + --blockquote-background: #222325; + --blockquote-foreground: #7e8c92; + + --warning-color: #3b2e04; + --warning-color-dark: #f1b602; + --warning-color-darker: #ceb670; + --note-color: #163750; + --note-color-dark: #1982D2; + --note-color-darker: #dcf0fa; + --todo-color: #2a2536; + --todo-color-dark: #7661b3; + --todo-color-darker: #ae9ed6; + --deprecated-color: #2e323b; + --deprecated-color-dark: #738396; + --deprecated-color-darker: #abb0bd; + --bug-color: #2e1917; + --bug-color-dark: #ad2617; + --bug-color-darker: #f5b1aa; + --invariant-color: #303a35; + --invariant-color-dark: #76ce96; + --invariant-color-darker: #cceed5; + + --fragment-background: #282c34; + --fragment-foreground: #dbe4eb; + --fragment-keyword: #cc99cd; + --fragment-keywordtype: #ab99cd; + --fragment-keywordflow: #e08000; + --fragment-token: #7ec699; + --fragment-comment: #999999; + --fragment-link: #98c0e3; + --fragment-preprocessor: #65cabe; + --fragment-linenumber-color: #cccccc; + --fragment-linenumber-background: #35393c; + --fragment-linenumber-border: #1f1f1f; +} + +body { + color: var(--page-foreground-color); + background-color: var(--page-background-color); + font-size: var(--page-font-size); +} + +body, table, div, p, dl, #nav-tree .label, .title, +.sm-dox a, .sm-dox a:hover, .sm-dox a:focus, #projectname, +.SelectItem, #MSearchField, .navpath li.navelem a, +.navpath li.navelem a:hover, p.reference, p.definition { + font-family: var(--font-family); +} + +h1, h2, h3, h4, h5 { + margin-top: 1em; + font-weight: 600; + line-height: initial; +} + +p, div, table, dl, p.reference, p.definition { + font-size: var(--page-font-size); +} + +p.reference, p.definition { + color: var(--page-secondary-foreground-color); +} + +a:link, a:visited, a:hover, a:focus, a:active { + color: var(--primary-color) !important; + font-weight: 500; +} + +a.anchor { + scroll-margin-top: var(--spacing-large); + display: block; +} + +/* + Title and top navigation + */ + +#top { + background: var(--header-background); + border-bottom: 1px solid var(--separator-color); +} + +@media screen and (min-width: 768px) { + #top { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; + } +} + +#main-nav { + flex-grow: 5; + padding: var(--spacing-small) var(--spacing-medium); +} + +#titlearea { + width: auto; + padding: var(--spacing-medium) var(--spacing-large); + background: none; + color: var(--header-foreground); + border-bottom: none; +} + +@media screen and (max-width: 767px) { + #titlearea { + padding-bottom: var(--spacing-small); + } +} + +#titlearea table tbody tr { + height: auto !important; +} + +#projectname { + font-size: var(--title-font-size); + font-weight: 600; +} + +#projectnumber { + font-family: inherit; + font-size: 60%; +} + +#projectbrief { + font-family: inherit; + font-size: 80%; +} + +#projectlogo { + vertical-align: middle; +} + +#projectlogo img { + max-height: calc(var(--title-font-size) * 2); + margin-right: var(--spacing-small); +} + +.sm-dox, .tabs, .tabs2, .tabs3 { + background: none; + padding: 0; +} + +.tabs, .tabs2, .tabs3 { + border-bottom: 1px solid var(--separator-color); + margin-bottom: -1px; +} + +.main-menu-btn-icon, .main-menu-btn-icon:before, .main-menu-btn-icon:after { + background: var(--page-secondary-foreground-color); +} + +@media screen and (max-width: 767px) { + .sm-dox a span.sub-arrow { + background: var(--code-background); + } + + #main-menu a.has-submenu span.sub-arrow { + color: var(--page-secondary-foreground-color); + border-radius: var(--border-radius-medium); + } + + #main-menu a.has-submenu:hover span.sub-arrow { + color: var(--page-foreground-color); + } +} + +@media screen and (min-width: 768px) { + .sm-dox li, .tablist li { + display: var(--menu-display); + } + + .sm-dox a span.sub-arrow { + border-color: var(--header-foreground) transparent transparent transparent; + } + + .sm-dox a:hover span.sub-arrow { + border-color: var(--menu-focus-foreground) transparent transparent transparent; + } + + .sm-dox ul a span.sub-arrow { + border-color: transparent transparent transparent var(--page-foreground-color); + } + + .sm-dox ul a:hover span.sub-arrow { + border-color: transparent transparent transparent var(--menu-focus-foreground); + } +} + +.sm-dox ul { + background: var(--page-background-color); + box-shadow: var(--box-shadow); + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium) !important; + padding: var(--spacing-small); + animation: ease-out 150ms slideInMenu; +} + +@keyframes slideInMenu { + from { + opacity: 0; + transform: translate(0px, -2px); + } + + to { + opacity: 1; + transform: translate(0px, 0px); + } +} + +.sm-dox ul a { + color: var(--page-foreground-color) !important; + background: var(--page-background-color); + font-size: var(--navigation-font-size); +} + +.sm-dox>li>ul:after { + border-bottom-color: var(--page-background-color) !important; +} + +.sm-dox>li>ul:before { + border-bottom-color: var(--separator-color) !important; +} + +.sm-dox ul a:hover, .sm-dox ul a:active, .sm-dox ul a:focus { + font-size: var(--navigation-font-size) !important; + color: var(--menu-focus-foreground) !important; + text-shadow: none; + background-color: var(--menu-focus-background); + border-radius: var(--border-radius-small) !important; +} + +.sm-dox a, .sm-dox a:focus, .tablist li, .tablist li a, .tablist li.current a { + text-shadow: none; + background: transparent; + background-image: none !important; + color: var(--header-foreground) !important; + font-weight: normal; + font-size: var(--navigation-font-size); + border-radius: var(--border-radius-small) !important; +} + +.sm-dox a:focus { + outline: auto; +} + +.sm-dox a:hover, .sm-dox a:active, .tablist li a:hover { + text-shadow: none; + font-weight: normal; + background: var(--menu-focus-background); + color: var(--menu-focus-foreground) !important; + border-radius: var(--border-radius-small) !important; + font-size: var(--navigation-font-size); +} + +.tablist li.current { + border-radius: var(--border-radius-small); + background: var(--menu-selected-background); +} + +.tablist li { + margin: var(--spacing-small) 0 var(--spacing-small) var(--spacing-small); +} + +.tablist a { + padding: 0 var(--spacing-large); +} + + +/* + Search box + */ + +#MSearchBox { + height: var(--searchbar-height); + background: var(--searchbar-background); + border-radius: var(--searchbar-border-radius); + border: 1px solid var(--separator-color); + overflow: hidden; + width: var(--searchbar-width); + position: relative; + box-shadow: none; + display: block; + margin-top: 0; +} + +/* until Doxygen 1.9.4 */ +.left img#MSearchSelect { + left: 0; + user-select: none; + padding-left: 8px; +} + +/* Doxygen 1.9.5 */ +.left span#MSearchSelect { + left: 0; + user-select: none; + margin-left: 8px; + padding: 0; +} + +.left #MSearchSelect[src$=".png"] { + padding-left: 0 +} + +.SelectionMark { + user-select: none; +} + +.tabs .left #MSearchSelect { + padding-left: 0; +} + +.tabs #MSearchBox { + position: absolute; + right: var(--spacing-medium); +} + +@media screen and (max-width: 767px) { + .tabs #MSearchBox { + position: relative; + right: 0; + margin-left: var(--spacing-medium); + margin-top: 0; + } +} + +#MSearchSelectWindow, #MSearchResultsWindow { + z-index: 9999; +} + +#MSearchBox.MSearchBoxActive { + border-color: var(--primary-color); + box-shadow: inset 0 0 0 1px var(--primary-color); +} + +#main-menu > li:last-child { + margin-right: 0; +} + +@media screen and (max-width: 767px) { + #main-menu > li:last-child { + height: 50px; + } +} + +#MSearchField { + font-size: var(--navigation-font-size); + height: calc(var(--searchbar-height) - 2px); + background: transparent; + width: calc(var(--searchbar-width) - 64px); +} + +.MSearchBoxActive #MSearchField { + color: var(--searchbar-foreground); +} + +#MSearchSelect { + top: calc(calc(var(--searchbar-height) / 2) - 11px); +} + +#MSearchBox span.left, #MSearchBox span.right { + background: none; + background-image: none; +} + +#MSearchBox span.right { + padding-top: calc(calc(var(--searchbar-height) / 2) - 12px); + position: absolute; + right: var(--spacing-small); +} + +.tabs #MSearchBox span.right { + top: calc(calc(var(--searchbar-height) / 2) - 12px); +} + +@keyframes slideInSearchResults { + from { + opacity: 0; + transform: translate(0, 15px); + } + + to { + opacity: 1; + transform: translate(0, 20px); + } +} + +#MSearchResultsWindow { + left: auto !important; + right: var(--spacing-medium); + border-radius: var(--border-radius-large); + border: 1px solid var(--separator-color); + transform: translate(0, 20px); + box-shadow: var(--box-shadow); + animation: ease-out 280ms slideInSearchResults; + background: var(--page-background-color); +} + +iframe#MSearchResults { + margin: 4px; +} + +iframe { + color-scheme: normal; +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) iframe#MSearchResults { + filter: invert() hue-rotate(180deg); + } +} + +html.dark-mode iframe#MSearchResults { + filter: invert() hue-rotate(180deg); +} + +#MSearchResults .SRPage { + background-color: transparent; +} + +#MSearchResults .SRPage .SREntry { + font-size: 10pt; + padding: var(--spacing-small) var(--spacing-medium); +} + +#MSearchSelectWindow { + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium); + box-shadow: var(--box-shadow); + background: var(--page-background-color); + padding-top: var(--spacing-small); + padding-bottom: var(--spacing-small); +} + +#MSearchSelectWindow a.SelectItem { + font-size: var(--navigation-font-size); + line-height: var(--content-line-height); + margin: 0 var(--spacing-small); + border-radius: var(--border-radius-small); + color: var(--page-foreground-color) !important; + font-weight: normal; +} + +#MSearchSelectWindow a.SelectItem:hover { + background: var(--menu-focus-background); + color: var(--menu-focus-foreground) !important; +} + +@media screen and (max-width: 767px) { + #MSearchBox { + margin-top: var(--spacing-medium); + margin-bottom: var(--spacing-medium); + width: calc(100vw - 30px); + } + + #main-menu > li:last-child { + float: none !important; + } + + #MSearchField { + width: calc(100vw - 110px); + } + + @keyframes slideInSearchResultsMobile { + from { + opacity: 0; + transform: translate(0, 15px); + } + + to { + opacity: 1; + transform: translate(0, 20px); + } + } + + #MSearchResultsWindow { + left: var(--spacing-medium) !important; + right: var(--spacing-medium); + overflow: auto; + transform: translate(0, 20px); + animation: ease-out 280ms slideInSearchResultsMobile; + width: auto !important; + } + + /* + * Overwrites for fixing the searchbox on mobile in doxygen 1.9.2 + */ + label.main-menu-btn ~ #searchBoxPos1 { + top: 3px !important; + right: 6px !important; + left: 45px; + display: flex; + } + + label.main-menu-btn ~ #searchBoxPos1 > #MSearchBox { + margin-top: 0; + margin-bottom: 0; + flex-grow: 2; + float: left; + } +} + +/* + Tree view + */ + +#side-nav { + padding: 0 !important; + background: var(--side-nav-background); + min-width: 8px; + max-width: 50vw; +} + +@media screen and (max-width: 767px) { + #side-nav { + display: none; + } + + #doc-content { + margin-left: 0 !important; + } +} + +#nav-tree { + background: transparent; + margin-right: 1px; +} + +#nav-tree .label { + font-size: var(--navigation-font-size); +} + +#nav-tree .item { + height: var(--tree-item-height); + line-height: var(--tree-item-height); +} + +#nav-sync { + bottom: 12px; + right: 12px; + top: auto !important; + user-select: none; +} + +#nav-tree .selected { + text-shadow: none; + background-image: none; + background-color: transparent; + position: relative; +} + +#nav-tree .selected::after { + content: ""; + position: absolute; + top: 1px; + bottom: 1px; + left: 0; + width: 4px; + border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; + background: var(--primary-color); +} + + +#nav-tree a { + color: var(--side-nav-foreground) !important; + font-weight: normal; +} + +#nav-tree a:focus { + outline-style: auto; +} + +#nav-tree .arrow { + opacity: var(--side-nav-arrow-opacity); +} + +.arrow { + color: inherit; + cursor: pointer; + font-size: 45%; + vertical-align: middle; + margin-right: 2px; + font-family: serif; + height: auto; + text-align: right; +} + +#nav-tree div.item:hover .arrow, #nav-tree a:focus .arrow { + opacity: var(--side-nav-arrow-hover-opacity); +} + +#nav-tree .selected a { + color: var(--primary-color) !important; + font-weight: bolder; + font-weight: 600; +} + +.ui-resizable-e { + width: 4px; + background: transparent; + box-shadow: inset -1px 0 0 0 var(--separator-color); +} + +/* + Contents + */ + +div.header { + border-bottom: 1px solid var(--separator-color); + background-color: var(--page-background-color); + background-image: none; +} + +@media screen and (min-width: 1000px) { + #doc-content > div > div.contents, + .PageDoc > div.contents { + display: flex; + flex-direction: row-reverse; + flex-wrap: nowrap; + align-items: flex-start; + } + + div.contents .textblock { + min-width: 200px; + flex-grow: 1; + } +} + +div.contents, div.header .title, div.header .summary { + max-width: var(--content-maxwidth); +} + +div.contents, div.header .title { + line-height: initial; + margin: calc(var(--spacing-medium) + .2em) auto var(--spacing-medium) auto; +} + +div.header .summary { + margin: var(--spacing-medium) auto 0 auto; +} + +div.headertitle { + padding: 0; +} + +div.header .title { + font-weight: 600; + font-size: 225%; + padding: var(--spacing-medium) var(--spacing-large); + word-break: break-word; +} + +div.header .summary { + width: auto; + display: block; + float: none; + padding: 0 var(--spacing-large); +} + +td.memSeparator { + border-color: var(--separator-color); +} + +span.mlabel { + background: var(--primary-color); + border: none; + padding: 4px 9px; + border-radius: 12px; + margin-right: var(--spacing-medium); +} + +span.mlabel:last-of-type { + margin-right: 2px; +} + +div.contents { + padding: 0 var(--spacing-large); +} + +div.contents p, div.contents li { + line-height: var(--content-line-height); +} + +div.contents div.dyncontent { + margin: var(--spacing-medium) 0; +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) div.contents div.dyncontent img, + html:not(.light-mode) div.contents center img, + html:not(.light-mode) div.contents > table img, + html:not(.light-mode) div.contents div.dyncontent iframe, + html:not(.light-mode) div.contents center iframe, + html:not(.light-mode) div.contents table iframe, + html:not(.light-mode) div.contents .dotgraph iframe { + filter: brightness(89%) hue-rotate(180deg) invert(); + } +} + +html.dark-mode div.contents div.dyncontent img, +html.dark-mode div.contents center img, +html.dark-mode div.contents > table img, +html.dark-mode div.contents div.dyncontent iframe, +html.dark-mode div.contents center iframe, +html.dark-mode div.contents table iframe, +html.dark-mode div.contents .dotgraph iframe + { + filter: brightness(89%) hue-rotate(180deg) invert(); +} + +h2.groupheader { + border-bottom: 0px; + color: var(--page-foreground-color); + box-shadow: + 100px 0 var(--page-background-color), + -100px 0 var(--page-background-color), + 100px 0.75px var(--separator-color), + -100px 0.75px var(--separator-color), + 500px 0 var(--page-background-color), + -500px 0 var(--page-background-color), + 500px 0.75px var(--separator-color), + -500px 0.75px var(--separator-color), + 900px 0 var(--page-background-color), + -900px 0 var(--page-background-color), + 900px 0.75px var(--separator-color), + -900px 0.75px var(--separator-color), + 1400px 0 var(--page-background-color), + -1400px 0 var(--page-background-color), + 1400px 0.75px var(--separator-color), + -1400px 0.75px var(--separator-color), + 1900px 0 var(--page-background-color), + -1900px 0 var(--page-background-color), + 1900px 0.75px var(--separator-color), + -1900px 0.75px var(--separator-color); +} + +blockquote { + margin: 0 var(--spacing-medium) 0 var(--spacing-medium); + padding: var(--spacing-small) var(--spacing-large); + background: var(--blockquote-background); + color: var(--blockquote-foreground); + border-left: 0; + overflow: visible; + border-radius: var(--border-radius-medium); + overflow: visible; + position: relative; +} + +blockquote::before, blockquote::after { + font-weight: bold; + font-family: serif; + font-size: 360%; + opacity: .15; + position: absolute; +} + +blockquote::before { + content: "“"; + left: -10px; + top: 4px; +} + +blockquote::after { + content: "”"; + right: -8px; + bottom: -25px; +} + +blockquote p { + margin: var(--spacing-small) 0 var(--spacing-medium) 0; +} +.paramname { + font-weight: 600; + color: var(--primary-dark-color); +} + +.paramname > code { + border: 0; +} + +table.params .paramname { + font-weight: 600; + font-family: var(--font-family-monospace); + font-size: var(--code-font-size); + padding-right: var(--spacing-small); + line-height: var(--table-line-height); +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px var(--primary-light-color); +} + +.alphachar a { + color: var(--page-foreground-color); +} + +.dotgraph { + max-width: 100%; + overflow-x: scroll; +} + +.dotgraph .caption { + position: sticky; + left: 0; +} + +/* Wrap Graphviz graphs with the `interactive_dotgraph` class if `INTERACTIVE_SVG = YES` */ +.interactive_dotgraph .dotgraph iframe { + max-width: 100%; +} + +/* + Table of Contents + */ + +div.contents .toc { + max-height: var(--toc-max-height); + min-width: var(--toc-width); + border: 0; + border-left: 1px solid var(--separator-color); + border-radius: 0; + background-color: transparent; + box-shadow: none; + position: sticky; + top: var(--toc-sticky-top); + padding: 0 var(--spacing-large); + margin: var(--spacing-small) 0 var(--spacing-large) var(--spacing-large); +} + +div.toc h3 { + color: var(--toc-foreground); + font-size: var(--navigation-font-size); + margin: var(--spacing-large) 0 var(--spacing-medium) 0; +} + +div.toc li { + padding: 0; + background: none; + line-height: var(--toc-font-size); + margin: var(--toc-font-size) 0 0 0; +} + +div.toc li::before { + display: none; +} + +div.toc ul { + margin-top: 0 +} + +div.toc li a { + font-size: var(--toc-font-size); + color: var(--page-foreground-color) !important; + text-decoration: none; +} + +div.toc li a:hover, div.toc li a.active { + color: var(--primary-color) !important; +} + +div.toc li a.aboveActive { + color: var(--page-secondary-foreground-color) !important; +} + + +@media screen and (max-width: 999px) { + div.contents .toc { + max-height: 45vh; + float: none; + width: auto; + margin: 0 0 var(--spacing-medium) 0; + position: relative; + top: 0; + position: relative; + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium); + background-color: var(--toc-background); + box-shadow: var(--box-shadow); + } + + div.contents .toc.interactive { + max-height: calc(var(--navigation-font-size) + 2 * var(--spacing-large)); + overflow: hidden; + } + + div.contents .toc > h3 { + -webkit-tap-highlight-color: transparent; + cursor: pointer; + position: sticky; + top: 0; + background-color: var(--toc-background); + margin: 0; + padding: var(--spacing-large) 0; + display: block; + } + + div.contents .toc.interactive > h3::before { + content: ""; + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 5px solid var(--primary-color); + display: inline-block; + margin-right: var(--spacing-small); + margin-bottom: calc(var(--navigation-font-size) / 4); + transform: rotate(-90deg); + transition: transform var(--animation-duration) ease-out; + } + + div.contents .toc.interactive.open > h3::before { + transform: rotate(0deg); + } + + div.contents .toc.interactive.open { + max-height: 45vh; + overflow: auto; + transition: max-height 0.2s ease-in-out; + } + + div.contents .toc a, div.contents .toc a.active { + color: var(--primary-color) !important; + } + + div.contents .toc a:hover { + text-decoration: underline; + } +} + +/* + Code & Fragments + */ + +code, div.fragment, pre.fragment { + border-radius: var(--border-radius-small); + border: 1px solid var(--separator-color); + overflow: hidden; +} + +code { + display: inline; + background: var(--code-background); + color: var(--code-foreground); + padding: 2px 6px; +} + +div.fragment, pre.fragment { + margin: var(--spacing-medium) 0; + padding: calc(var(--spacing-large) - (var(--spacing-large) / 6)) var(--spacing-large); + background: var(--fragment-background); + color: var(--fragment-foreground); + overflow-x: auto; +} + +@media screen and (max-width: 767px) { + div.fragment, pre.fragment { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right: 0; + } + + .contents > div.fragment, + .textblock > div.fragment, + .textblock > pre.fragment, + .textblock > .tabbed > ul > li > div.fragment, + .textblock > .tabbed > ul > li > pre.fragment, + .contents > .doxygen-awesome-fragment-wrapper > div.fragment, + .textblock > .doxygen-awesome-fragment-wrapper > div.fragment, + .textblock > .doxygen-awesome-fragment-wrapper > pre.fragment, + .textblock > .tabbed > ul > li > .doxygen-awesome-fragment-wrapper > div.fragment, + .textblock > .tabbed > ul > li > .doxygen-awesome-fragment-wrapper > pre.fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-large)); + border-radius: 0; + border-left: 0; + } + + .textblock li > .fragment, + .textblock li > .doxygen-awesome-fragment-wrapper > .fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-large)); + } + + .memdoc li > .fragment, + .memdoc li > .doxygen-awesome-fragment-wrapper > .fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); + } + + .textblock ul, .memdoc ul { + overflow: initial; + } + + .memdoc > div.fragment, + .memdoc > pre.fragment, + dl dd > div.fragment, + dl dd pre.fragment, + .memdoc > .doxygen-awesome-fragment-wrapper > div.fragment, + .memdoc > .doxygen-awesome-fragment-wrapper > pre.fragment, + dl dd > .doxygen-awesome-fragment-wrapper > div.fragment, + dl dd .doxygen-awesome-fragment-wrapper > pre.fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); + border-radius: 0; + border-left: 0; + } +} + +code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span { + font-family: var(--font-family-monospace); + font-size: var(--code-font-size) !important; +} + +div.line:after { + margin-right: var(--spacing-medium); +} + +div.fragment .line, pre.fragment { + white-space: pre; + word-wrap: initial; + line-height: var(--fragment-lineheight); +} + +div.fragment span.keyword { + color: var(--fragment-keyword); +} + +div.fragment span.keywordtype { + color: var(--fragment-keywordtype); +} + +div.fragment span.keywordflow { + color: var(--fragment-keywordflow); +} + +div.fragment span.stringliteral { + color: var(--fragment-token) +} + +div.fragment span.comment { + color: var(--fragment-comment); +} + +div.fragment a.code { + color: var(--fragment-link) !important; +} + +div.fragment span.preprocessor { + color: var(--fragment-preprocessor); +} + +div.fragment span.lineno { + display: inline-block; + width: 27px; + border-right: none; + background: var(--fragment-linenumber-background); + color: var(--fragment-linenumber-color); +} + +div.fragment span.lineno a { + background: none; + color: var(--fragment-link) !important; +} + +div.fragment > .line:first-child .lineno { + box-shadow: -999999px 0px 0 999999px var(--fragment-linenumber-background), -999998px 0px 0 999999px var(--fragment-linenumber-border); + background-color: var(--fragment-linenumber-background) !important; +} + +div.line { + border-radius: var(--border-radius-small); +} + +div.line.glow { + background-color: var(--primary-light-color); + box-shadow: none; +} + +/* + dl warning, attention, note, deprecated, bug, ... + */ + +dl.bug dt a, dl.deprecated dt a, dl.todo dt a { + font-weight: bold !important; +} + +dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre, dl.post, dl.todo, dl.remark { + padding: var(--spacing-medium); + margin: var(--spacing-medium) 0; + color: var(--page-background-color); + overflow: hidden; + margin-left: 0; + border-radius: var(--border-radius-small); +} + +dl.section dd { + margin-bottom: 2px; +} + +dl.warning, dl.attention { + background: var(--warning-color); + border-left: 8px solid var(--warning-color-dark); + color: var(--warning-color-darker); +} + +dl.warning dt, dl.attention dt { + color: var(--warning-color-dark); +} + +dl.note, dl.remark { + background: var(--note-color); + border-left: 8px solid var(--note-color-dark); + color: var(--note-color-darker); +} + +dl.note dt, dl.remark dt { + color: var(--note-color-dark); +} + +dl.todo { + background: var(--todo-color); + border-left: 8px solid var(--todo-color-dark); + color: var(--todo-color-darker); +} + +dl.todo dt a { + color: var(--todo-color-dark) !important; +} + +dl.bug dt a { + color: var(--todo-color-dark) !important; +} + +dl.bug { + background: var(--bug-color); + border-left: 8px solid var(--bug-color-dark); + color: var(--bug-color-darker); +} + +dl.bug dt a { + color: var(--bug-color-dark) !important; +} + +dl.deprecated { + background: var(--deprecated-color); + border-left: 8px solid var(--deprecated-color-dark); + color: var(--deprecated-color-darker); +} + +dl.deprecated dt a { + color: var(--deprecated-color-dark) !important; +} + +dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd { + margin-inline-start: 0px; +} + +dl.invariant, dl.pre, dl.post { + background: var(--invariant-color); + border-left: 8px solid var(--invariant-color-dark); + color: var(--invariant-color-darker); +} + +dl.invariant dt, dl.pre dt, dl.post dt { + color: var(--invariant-color-dark); +} + +/* + memitem + */ + +div.memdoc, div.memproto, h2.memtitle { + box-shadow: none; + background-image: none; + border: none; +} + +div.memdoc { + padding: 0 var(--spacing-medium); + background: var(--page-background-color); +} + +h2.memtitle, div.memitem { + border: 1px solid var(--separator-color); + box-shadow: var(--box-shadow); +} + +h2.memtitle { + box-shadow: 0px var(--spacing-medium) 0 -1px var(--fragment-background), var(--box-shadow); +} + +div.memitem { + transition: none; +} + +div.memproto, h2.memtitle { + background: var(--fragment-background); +} + +h2.memtitle { + font-weight: 500; + font-size: var(--memtitle-font-size); + font-family: var(--font-family-monospace); + border-bottom: none; + border-top-left-radius: var(--border-radius-medium); + border-top-right-radius: var(--border-radius-medium); + word-break: break-all; + position: relative; +} + +h2.memtitle:after { + content: ""; + display: block; + background: var(--fragment-background); + height: var(--spacing-medium); + bottom: calc(0px - var(--spacing-medium)); + left: 0; + right: -14px; + position: absolute; + border-top-right-radius: var(--border-radius-medium); +} + +h2.memtitle > span.permalink { + font-size: inherit; +} + +h2.memtitle > span.permalink > a { + text-decoration: none; + padding-left: 3px; + margin-right: -4px; + user-select: none; + display: inline-block; + margin-top: -6px; +} + +h2.memtitle > span.permalink > a:hover { + color: var(--primary-dark-color) !important; +} + +a:target + h2.memtitle, a:target + h2.memtitle + div.memitem { + border-color: var(--primary-light-color); +} + +div.memitem { + border-top-right-radius: var(--border-radius-medium); + border-bottom-right-radius: var(--border-radius-medium); + border-bottom-left-radius: var(--border-radius-medium); + overflow: hidden; + display: block !important; +} + +div.memdoc { + border-radius: 0; +} + +div.memproto { + border-radius: 0 var(--border-radius-small) 0 0; + overflow: auto; + border-bottom: 1px solid var(--separator-color); + padding: var(--spacing-medium); + margin-bottom: -1px; +} + +div.memtitle { + border-top-right-radius: var(--border-radius-medium); + border-top-left-radius: var(--border-radius-medium); +} + +div.memproto table.memname { + font-family: var(--font-family-monospace); + color: var(--page-foreground-color); + font-size: var(--memname-font-size); + text-shadow: none; +} + +div.memproto div.memtemplate { + font-family: var(--font-family-monospace); + color: var(--primary-dark-color); + font-size: var(--memname-font-size); + margin-left: 2px; + text-shadow: none; +} + +table.mlabels, table.mlabels > tbody { + display: block; +} + +td.mlabels-left { + width: auto; +} + +td.mlabels-right { + margin-top: 3px; + position: sticky; + left: 0; +} + +table.mlabels > tbody > tr:first-child { + display: flex; + justify-content: space-between; + flex-wrap: wrap; +} + +.memname, .memitem span.mlabels { + margin: 0 +} + +/* + reflist + */ + +dl.reflist { + box-shadow: var(--box-shadow); + border-radius: var(--border-radius-medium); + border: 1px solid var(--separator-color); + overflow: hidden; + padding: 0; +} + + +dl.reflist dt, dl.reflist dd { + box-shadow: none; + text-shadow: none; + background-image: none; + border: none; + padding: 12px; +} + + +dl.reflist dt { + font-weight: 500; + border-radius: 0; + background: var(--code-background); + border-bottom: 1px solid var(--separator-color); + color: var(--page-foreground-color) +} + + +dl.reflist dd { + background: none; +} + +/* + Table + */ + +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname), +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody { + display: inline-block; + max-width: 100%; +} + +.contents > table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname):not(.classindex) { + margin-left: calc(0px - var(--spacing-large)); + margin-right: calc(0px - var(--spacing-large)); + max-width: calc(100% + 2 * var(--spacing-large)); +} + +table.fieldtable, +table.markdownTable tbody, +table.doxtable tbody { + border: none; + margin: var(--spacing-medium) 0; + box-shadow: 0 0 0 1px var(--separator-color); + border-radius: var(--border-radius-small); +} + +table.markdownTable, table.doxtable, table.fieldtable { + padding: 1px; +} + +table.doxtable caption { + display: block; +} + +table.fieldtable { + border-collapse: collapse; + width: 100%; +} + +th.markdownTableHeadLeft, +th.markdownTableHeadRight, +th.markdownTableHeadCenter, +th.markdownTableHeadNone, +table.doxtable th { + background: var(--tablehead-background); + color: var(--tablehead-foreground); + font-weight: 600; + font-size: var(--page-font-size); +} + +th.markdownTableHeadLeft:first-child, +th.markdownTableHeadRight:first-child, +th.markdownTableHeadCenter:first-child, +th.markdownTableHeadNone:first-child, +table.doxtable tr th:first-child { + border-top-left-radius: var(--border-radius-small); +} + +th.markdownTableHeadLeft:last-child, +th.markdownTableHeadRight:last-child, +th.markdownTableHeadCenter:last-child, +th.markdownTableHeadNone:last-child, +table.doxtable tr th:last-child { + border-top-right-radius: var(--border-radius-small); +} + +table.markdownTable td, +table.markdownTable th, +table.fieldtable td, +table.fieldtable th, +table.doxtable td, +table.doxtable th { + border: 1px solid var(--separator-color); + padding: var(--spacing-small) var(--spacing-medium); +} + +table.markdownTable td:last-child, +table.markdownTable th:last-child, +table.fieldtable td:last-child, +table.fieldtable th:last-child, +table.doxtable td:last-child, +table.doxtable th:last-child { + border-right: none; +} + +table.markdownTable td:first-child, +table.markdownTable th:first-child, +table.fieldtable td:first-child, +table.fieldtable th:first-child, +table.doxtable td:first-child, +table.doxtable th:first-child { + border-left: none; +} + +table.markdownTable tr:first-child td, +table.markdownTable tr:first-child th, +table.fieldtable tr:first-child td, +table.fieldtable tr:first-child th, +table.doxtable tr:first-child td, +table.doxtable tr:first-child th { + border-top: none; +} + +table.markdownTable tr:last-child td, +table.markdownTable tr:last-child th, +table.fieldtable tr:last-child td, +table.fieldtable tr:last-child th, +table.doxtable tr:last-child td, +table.doxtable tr:last-child th { + border-bottom: none; +} + +table.markdownTable tr, table.doxtable tr { + border-bottom: 1px solid var(--separator-color); +} + +table.markdownTable tr:last-child, table.doxtable tr:last-child { + border-bottom: none; +} + +.full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) { + display: block; +} + +.full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody { + display: table; + width: 100%; +} + +table.fieldtable th { + font-size: var(--page-font-size); + font-weight: 600; + background-image: none; + background-color: var(--tablehead-background); + color: var(--tablehead-foreground); +} + +table.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fielddoc, .fieldtable th { + border-bottom: 1px solid var(--separator-color); + border-right: 1px solid var(--separator-color); +} + +table.fieldtable tr:last-child td:first-child { + border-bottom-left-radius: var(--border-radius-small); +} + +table.fieldtable tr:last-child td:last-child { + border-bottom-right-radius: var(--border-radius-small); +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: var(--primary-light-color); + box-shadow: none; +} + +table.memberdecls { + display: block; + -webkit-tap-highlight-color: transparent; +} + +table.memberdecls tr[class^='memitem'] { + font-family: var(--font-family-monospace); + font-size: var(--code-font-size); +} + +table.memberdecls tr[class^='memitem'] .memTemplParams { + font-family: var(--font-family-monospace); + font-size: var(--code-font-size); + color: var(--primary-dark-color); + white-space: normal; +} + +table.memberdecls .memItemLeft, +table.memberdecls .memItemRight, +table.memberdecls .memTemplItemLeft, +table.memberdecls .memTemplItemRight, +table.memberdecls .memTemplParams { + transition: none; + padding-top: var(--spacing-small); + padding-bottom: var(--spacing-small); + border-top: 1px solid var(--separator-color); + border-bottom: 1px solid var(--separator-color); + background-color: var(--fragment-background); +} + +table.memberdecls .memTemplItemLeft, +table.memberdecls .memTemplItemRight { + padding-top: 2px; +} + +table.memberdecls .memTemplParams { + border-bottom: 0; + border-left: 1px solid var(--separator-color); + border-right: 1px solid var(--separator-color); + border-radius: var(--border-radius-small) var(--border-radius-small) 0 0; + padding-bottom: var(--spacing-small); +} + +table.memberdecls .memTemplItemLeft { + border-radius: 0 0 0 var(--border-radius-small); + border-left: 1px solid var(--separator-color); + border-top: 0; +} + +table.memberdecls .memTemplItemRight { + border-radius: 0 0 var(--border-radius-small) 0; + border-right: 1px solid var(--separator-color); + padding-left: 0; + border-top: 0; +} + +table.memberdecls .memItemLeft { + border-radius: var(--border-radius-small) 0 0 var(--border-radius-small); + border-left: 1px solid var(--separator-color); + padding-left: var(--spacing-medium); + padding-right: 0; +} + +table.memberdecls .memItemRight { + border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; + border-right: 1px solid var(--separator-color); + padding-right: var(--spacing-medium); + padding-left: 0; + +} + +table.memberdecls .mdescLeft, table.memberdecls .mdescRight { + background: none; + color: var(--page-foreground-color); + padding: var(--spacing-small) 0; +} + +table.memberdecls .memItemLeft, +table.memberdecls .memTemplItemLeft { + padding-right: var(--spacing-medium); +} + +table.memberdecls .memSeparator { + background: var(--page-background-color); + height: var(--spacing-large); + border: 0; + transition: none; +} + +table.memberdecls .groupheader { + margin-bottom: var(--spacing-large); +} + +table.memberdecls .inherit_header td { + padding: 0 0 var(--spacing-medium) 0; + text-indent: -12px; + color: var(--page-secondary-foreground-color); +} + +table.memberdecls img[src="closed.png"], +table.memberdecls img[src="open.png"], +div.dynheader img[src="open.png"], +div.dynheader img[src="closed.png"] { + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 5px solid var(--primary-color); + margin-top: 8px; + display: block; + float: left; + margin-left: -10px; + transition: transform var(--animation-duration) ease-out; +} + +table.memberdecls img { + margin-right: 10px; +} + +table.memberdecls img[src="closed.png"], +div.dynheader img[src="closed.png"] { + transform: rotate(-90deg); + +} + +.compoundTemplParams { + font-family: var(--font-family-monospace); + color: var(--primary-dark-color); + font-size: var(--code-font-size); +} + +@media screen and (max-width: 767px) { + + table.memberdecls .memItemLeft, + table.memberdecls .memItemRight, + table.memberdecls .mdescLeft, + table.memberdecls .mdescRight, + table.memberdecls .memTemplItemLeft, + table.memberdecls .memTemplItemRight, + table.memberdecls .memTemplParams { + display: block; + text-align: left; + padding-left: var(--spacing-large); + margin: 0 calc(0px - var(--spacing-large)) 0 calc(0px - var(--spacing-large)); + border-right: none; + border-left: none; + border-radius: 0; + white-space: normal; + } + + table.memberdecls .memItemLeft, + table.memberdecls .mdescLeft, + table.memberdecls .memTemplItemLeft { + border-bottom: 0; + padding-bottom: 0; + } + + table.memberdecls .memTemplItemLeft { + padding-top: 0; + } + + table.memberdecls .mdescLeft { + margin-bottom: calc(0px - var(--page-font-size)); + } + + table.memberdecls .memItemRight, + table.memberdecls .mdescRight, + table.memberdecls .memTemplItemRight { + border-top: 0; + padding-top: 0; + padding-right: var(--spacing-large); + overflow-x: auto; + } + + table.memberdecls tr[class^='memitem']:not(.inherit) { + display: block; + width: calc(100vw - 2 * var(--spacing-large)); + } + + table.memberdecls .mdescRight { + color: var(--page-foreground-color); + } + + table.memberdecls tr.inherit { + visibility: hidden; + } + + table.memberdecls tr[style="display: table-row;"] { + display: block !important; + visibility: visible; + width: calc(100vw - 2 * var(--spacing-large)); + animation: fade .5s; + } + + @keyframes fade { + 0% { + opacity: 0; + max-height: 0; + } + + 100% { + opacity: 1; + max-height: 200px; + } + } +} + + +/* + Horizontal Rule + */ + +hr { + margin-top: var(--spacing-large); + margin-bottom: var(--spacing-large); + height: 1px; + background-color: var(--separator-color); + border: 0; +} + +.contents hr { + box-shadow: 100px 0 0 var(--separator-color), + -100px 0 0 var(--separator-color), + 500px 0 0 var(--separator-color), + -500px 0 0 var(--separator-color), + 1500px 0 0 var(--separator-color), + -1500px 0 0 var(--separator-color), + 2000px 0 0 var(--separator-color), + -2000px 0 0 var(--separator-color); +} + +.contents img, .contents .center, .contents center, .contents div.image object { + max-width: 100%; + overflow: auto; +} + +@media screen and (max-width: 767px) { + .contents .dyncontent > .center, .contents > center { + margin-left: calc(0px - var(--spacing-large)); + margin-right: calc(0px - var(--spacing-large)); + max-width: calc(100% + 2 * var(--spacing-large)); + } +} + +/* + Directories + */ +div.directory { + border-top: 1px solid var(--separator-color); + border-bottom: 1px solid var(--separator-color); + width: auto; +} + +table.directory { + font-family: var(--font-family); + font-size: var(--page-font-size); + font-weight: normal; + width: 100%; +} + +table.directory td.entry, table.directory td.desc { + padding: calc(var(--spacing-small) / 2) var(--spacing-small); + line-height: var(--table-line-height); +} + +table.directory tr.even td:last-child { + border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; +} + +table.directory tr.even td:first-child { + border-radius: var(--border-radius-small) 0 0 var(--border-radius-small); +} + +table.directory tr.even:last-child td:last-child { + border-radius: 0 var(--border-radius-small) 0 0; +} + +table.directory tr.even:last-child td:first-child { + border-radius: var(--border-radius-small) 0 0 0; +} + +table.directory td.desc { + min-width: 250px; +} + +table.directory tr.even { + background-color: var(--odd-color); +} + +table.directory tr.odd { + background-color: transparent; +} + +.icona { + width: auto; + height: auto; + margin: 0 var(--spacing-small); +} + +.icon { + background: var(--primary-color); + border-radius: var(--border-radius-small); + font-size: var(--page-font-size); + padding: calc(var(--page-font-size) / 5); + line-height: var(--page-font-size); + transform: scale(0.8); + height: auto; + width: var(--page-font-size); + user-select: none; +} + +.iconfopen, .icondoc, .iconfclosed { + background-position: center; + margin-bottom: 0; + height: var(--table-line-height); +} + +.icondoc { + filter: saturate(0.2); +} + +@media screen and (max-width: 767px) { + div.directory { + margin-left: calc(0px - var(--spacing-large)); + margin-right: calc(0px - var(--spacing-large)); + } +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) .iconfopen, html:not(.light-mode) .iconfclosed { + filter: hue-rotate(180deg) invert(); + } +} + +html.dark-mode .iconfopen, html.dark-mode .iconfclosed { + filter: hue-rotate(180deg) invert(); +} + +/* + Class list + */ + +.classindex dl.odd { + background: var(--odd-color); + border-radius: var(--border-radius-small); +} + +.classindex dl.even { + background-color: transparent; +} + +/* + Class Index Doxygen 1.8 +*/ + +table.classindex { + margin-left: 0; + margin-right: 0; + width: 100%; +} + +table.classindex table div.ah { + background-image: none; + background-color: initial; + border-color: var(--separator-color); + color: var(--page-foreground-color); + box-shadow: var(--box-shadow); + border-radius: var(--border-radius-large); + padding: var(--spacing-small); +} + +div.qindex { + background-color: var(--odd-color); + border-radius: var(--border-radius-small); + border: 1px solid var(--separator-color); + padding: var(--spacing-small) 0; +} + +/* + Footer and nav-path + */ + +#nav-path { + width: 100%; +} + +#nav-path ul { + background-image: none; + background: var(--page-background-color); + border: none; + border-top: 1px solid var(--separator-color); + border-bottom: 1px solid var(--separator-color); + border-bottom: 0; + box-shadow: 0 0.75px 0 var(--separator-color); + font-size: var(--navigation-font-size); +} + +img.footer { + width: 60px; +} + +.navpath li.footer { + color: var(--page-secondary-foreground-color); +} + +address.footer { + color: var(--page-secondary-foreground-color); + margin-bottom: var(--spacing-large); +} + +#nav-path li.navelem { + background-image: none; + display: flex; + align-items: center; +} + +.navpath li.navelem a { + text-shadow: none; + display: inline-block; + color: var(--primary-color) !important; +} + +.navpath li.navelem b { + color: var(--primary-dark-color); + font-weight: 500; +} + +li.navelem { + padding: 0; + margin-left: -8px; +} + +li.navelem:first-child { + margin-left: var(--spacing-large); +} + +li.navelem:first-child:before { + display: none; +} + +#nav-path li.navelem:after { + content: ''; + border: 5px solid var(--page-background-color); + border-bottom-color: transparent; + border-right-color: transparent; + border-top-color: transparent; + transform: translateY(-1px) scaleY(4.2); + z-index: 10; + margin-left: 6px; +} + +#nav-path li.navelem:before { + content: ''; + border: 5px solid var(--separator-color); + border-bottom-color: transparent; + border-right-color: transparent; + border-top-color: transparent; + transform: translateY(-1px) scaleY(3.2); + margin-right: var(--spacing-small); +} + +.navpath li.navelem a:hover { + color: var(--primary-color); +} + +/* + Scrollbars for Webkit +*/ + +#nav-tree::-webkit-scrollbar, +div.fragment::-webkit-scrollbar, +pre.fragment::-webkit-scrollbar, +div.memproto::-webkit-scrollbar, +.contents center::-webkit-scrollbar, +.contents .center::-webkit-scrollbar, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar, +div.contents .toc::-webkit-scrollbar, +.contents .dotgraph::-webkit-scrollbar, +.contents .tabs-overview-container::-webkit-scrollbar { + background: transparent; + width: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); + height: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); +} + +#nav-tree::-webkit-scrollbar-thumb, +div.fragment::-webkit-scrollbar-thumb, +pre.fragment::-webkit-scrollbar-thumb, +div.memproto::-webkit-scrollbar-thumb, +.contents center::-webkit-scrollbar-thumb, +.contents .center::-webkit-scrollbar-thumb, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-thumb, +div.contents .toc::-webkit-scrollbar-thumb, +.contents .dotgraph::-webkit-scrollbar-thumb, +.contents .tabs-overview-container::-webkit-scrollbar-thumb { + background-color: transparent; + border: var(--webkit-scrollbar-padding) solid transparent; + border-radius: calc(var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); + background-clip: padding-box; +} + +#nav-tree:hover::-webkit-scrollbar-thumb, +div.fragment:hover::-webkit-scrollbar-thumb, +pre.fragment:hover::-webkit-scrollbar-thumb, +div.memproto:hover::-webkit-scrollbar-thumb, +.contents center:hover::-webkit-scrollbar-thumb, +.contents .center:hover::-webkit-scrollbar-thumb, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody:hover::-webkit-scrollbar-thumb, +div.contents .toc:hover::-webkit-scrollbar-thumb, +.contents .dotgraph:hover::-webkit-scrollbar-thumb, +.contents .tabs-overview-container:hover::-webkit-scrollbar-thumb { + background-color: var(--webkit-scrollbar-color); +} + +#nav-tree::-webkit-scrollbar-track, +div.fragment::-webkit-scrollbar-track, +pre.fragment::-webkit-scrollbar-track, +div.memproto::-webkit-scrollbar-track, +.contents center::-webkit-scrollbar-track, +.contents .center::-webkit-scrollbar-track, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-track, +div.contents .toc::-webkit-scrollbar-track, +.contents .dotgraph::-webkit-scrollbar-track, +.contents .tabs-overview-container::-webkit-scrollbar-track { + background: transparent; +} + +#nav-tree::-webkit-scrollbar-corner { + background-color: var(--side-nav-background); +} + +#nav-tree, +div.fragment, +pre.fragment, +div.memproto, +.contents center, +.contents .center, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody, +div.contents .toc { + overflow-x: auto; + overflow-x: overlay; +} + +#nav-tree { + overflow-x: auto; + overflow-y: auto; + overflow-y: overlay; +} + +/* + Scrollbars for Firefox +*/ + +#nav-tree, +div.fragment, +pre.fragment, +div.memproto, +.contents center, +.contents .center, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody, +div.contents .toc, +.contents .dotgraph, +.contents .tabs-overview-container { + scrollbar-width: thin; +} + +/* + Optional Dark mode toggle button +*/ + +doxygen-awesome-dark-mode-toggle { + display: inline-block; + margin: 0 0 0 var(--spacing-small); + padding: 0; + width: var(--searchbar-height); + height: var(--searchbar-height); + background: none; + border: none; + border-radius: var(--searchbar-height); + vertical-align: middle; + text-align: center; + line-height: var(--searchbar-height); + font-size: 22px; + display: flex; + align-items: center; + justify-content: center; + user-select: none; + cursor: pointer; +} + +doxygen-awesome-dark-mode-toggle > svg { + transition: transform var(--animation-duration) ease-in-out; +} + +doxygen-awesome-dark-mode-toggle:active > svg { + transform: scale(.5); +} + +doxygen-awesome-dark-mode-toggle:hover { + background-color: rgba(0,0,0,.03); +} + +html.dark-mode doxygen-awesome-dark-mode-toggle:hover { + background-color: rgba(0,0,0,.18); +} + +/* + Optional fragment copy button +*/ +.doxygen-awesome-fragment-wrapper { + position: relative; +} + +doxygen-awesome-fragment-copy-button { + opacity: 0; + background: var(--fragment-background); + width: 28px; + height: 28px; + position: absolute; + right: calc(var(--spacing-large) - (var(--spacing-large) / 2.5)); + top: calc(var(--spacing-large) - (var(--spacing-large) / 2.5)); + border: 1px solid var(--fragment-foreground); + cursor: pointer; + border-radius: var(--border-radius-small); + display: flex; + justify-content: center; + align-items: center; +} + +.doxygen-awesome-fragment-wrapper:hover doxygen-awesome-fragment-copy-button, doxygen-awesome-fragment-copy-button.success { + opacity: .28; +} + +doxygen-awesome-fragment-copy-button:hover, doxygen-awesome-fragment-copy-button.success { + opacity: 1 !important; +} + +doxygen-awesome-fragment-copy-button:active:not([class~=success]) svg { + transform: scale(.91); +} + +doxygen-awesome-fragment-copy-button svg { + fill: var(--fragment-foreground); + width: 18px; + height: 18px; +} + +doxygen-awesome-fragment-copy-button.success svg { + fill: rgb(14, 168, 14); +} + +doxygen-awesome-fragment-copy-button.success { + border-color: rgb(14, 168, 14); +} + +@media screen and (max-width: 767px) { + .textblock > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + .textblock li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + .memdoc li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + .memdoc > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + dl dd > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button { + right: 0; + } +} + +/* + Optional paragraph link button +*/ + +a.anchorlink { + font-size: 90%; + margin-left: var(--spacing-small); + color: var(--page-foreground-color) !important; + text-decoration: none; + opacity: .15; + display: none; + transition: opacity var(--animation-duration) ease-in-out, color var(--animation-duration) ease-in-out; +} + +a.anchorlink svg { + fill: var(--page-foreground-color); +} + +h3 a.anchorlink svg, h4 a.anchorlink svg { + margin-bottom: -3px; + margin-top: -4px; +} + +a.anchorlink:hover { + opacity: .45; +} + +h2:hover a.anchorlink, h1:hover a.anchorlink, h3:hover a.anchorlink, h4:hover a.anchorlink { + display: inline-block; +} + +/* + Optional tab feature +*/ + +.tabbed ul { + padding-inline-start: 0px; + margin: 0; + padding: var(--spacing-small) 0; +} + +.tabbed li { + display: none; +} + +.tabbed li.selected { + display: block; +} + +.tabs-overview-container { + overflow-x: auto; + display: block; + overflow-y: visible; +} + +.tabs-overview { + border-bottom: 1px solid var(--separator-color); + display: flex; + flex-direction: row; +} + +@media screen and (max-width: 767px) { + .tabs-overview-container { + margin: 0 calc(0px - var(--spacing-large)); + } + .tabs-overview { + padding: 0 var(--spacing-large) + } +} + +.tabs-overview button.tab-button { + color: var(--page-foreground-color); + margin: 0; + border: none; + background: transparent; + padding: calc(var(--spacing-large) / 2) 0; + display: inline-block; + font-size: var(--page-font-size); + cursor: pointer; + box-shadow: 0 1px 0 0 var(--separator-color); + position: relative; + + -webkit-tap-highlight-color: transparent; +} + +.tabs-overview button.tab-button .tab-title::before { + display: block; + content: attr(title); + font-weight: 600; + height: 0; + overflow: hidden; + visibility: hidden; +} + +.tabs-overview button.tab-button .tab-title { + float: left; + white-space: nowrap; + font-weight: normal; + padding: calc(var(--spacing-large) / 2) var(--spacing-large); + border-radius: var(--border-radius-medium); + transition: background-color var(--animation-duration) ease-in-out, font-weight var(--animation-duration) ease-in-out; +} + +.tabs-overview button.tab-button:not(:last-child) .tab-title { + box-shadow: 8px 0 0 -7px var(--separator-color); +} + +.tabs-overview button.tab-button:hover .tab-title { + background: var(--separator-color); + box-shadow: none; +} + +.tabs-overview button.tab-button.active .tab-title { + font-weight: 600; +} + +.tabs-overview button.tab-button::after { + content: ''; + display: block; + position: absolute; + left: 0; + bottom: 0; + right: 0; + height: 0; + width: 0%; + margin: 0 auto; + border-radius: var(--border-radius-small) var(--border-radius-small) 0 0; + background-color: var(--primary-color); + transition: width var(--animation-duration) ease-in-out, height var(--animation-duration) ease-in-out; +} + +.tabs-overview button.tab-button.active::after { + width: 100%; + box-sizing: border-box; + height: 3px; +} + + +/* + Navigation Buttons +*/ + +.section_buttons:not(:empty) { + margin-top: calc(var(--spacing-large) * 3); +} + +.section_buttons table.markdownTable { + display: block; + width: 100%; +} + +.section_buttons table.markdownTable tbody { + display: table !important; + width: 100%; + box-shadow: none; + border-spacing: 10px; +} + +.section_buttons table.markdownTable td { + padding: 0; +} + +.section_buttons table.markdownTable th { + display: none; +} + +.section_buttons table.markdownTable tr.markdownTableHead { + border: none; +} + +.section_buttons tr th, .section_buttons tr td { + background: none; + border: none; + padding: var(--spacing-large) 0 var(--spacing-small); +} + +.section_buttons a { + display: inline-block; + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium); + color: var(--page-secondary-foreground-color) !important; + text-decoration: none; + transition: color var(--animation-duration) ease-in-out, background-color var(--animation-duration) ease-in-out; +} + +.section_buttons a:hover { + color: var(--page-foreground-color) !important; + background-color: var(--odd-color); +} + +.section_buttons tr td.markdownTableBodyLeft a { + padding: var(--spacing-medium) var(--spacing-large) var(--spacing-medium) calc(var(--spacing-large) / 2); +} + +.section_buttons tr td.markdownTableBodyRight a { + padding: var(--spacing-medium) calc(var(--spacing-large) / 2) var(--spacing-medium) var(--spacing-large); +} + +.section_buttons tr td.markdownTableBodyLeft a::before, +.section_buttons tr td.markdownTableBodyRight a::after { + color: var(--page-secondary-foreground-color) !important; + display: inline-block; + transition: color .08s ease-in-out, transform .09s ease-in-out; +} + +.section_buttons tr td.markdownTableBodyLeft a::before { + content: '〈'; + padding-right: var(--spacing-large); +} + + +.section_buttons tr td.markdownTableBodyRight a::after { + content: '〉'; + padding-left: var(--spacing-large); +} + + +.section_buttons tr td.markdownTableBodyLeft a:hover::before { + color: var(--page-foreground-color) !important; + transform: translateX(-3px); +} + +.section_buttons tr td.markdownTableBodyRight a:hover::after { + color: var(--page-foreground-color) !important; + transform: translateX(3px); +} + +@media screen and (max-width: 450px) { + .section_buttons a { + width: 100%; + box-sizing: border-box; + } + + .section_buttons tr td:nth-of-type(1).markdownTableBodyLeft a { + border-radius: var(--border-radius-medium) 0 0 var(--border-radius-medium); + border-right: none; + } + + .section_buttons tr td:nth-of-type(2).markdownTableBodyRight a { + border-radius: 0 var(--border-radius-medium) var(--border-radius-medium) 0; + } +} diff --git a/docs/doxygen.css b/docs/doxygen.css index 9992c5b6..733d0757 100644 --- a/docs/doxygen.css +++ b/docs/doxygen.css @@ -1,26 +1,31 @@ -/* The standard CSS for doxygen 1.8.14 */ +/* The standard CSS for doxygen 1.10.0*/ -body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; +body { + background-color: white; + color: black; } -p.reference, p.definition { - font: 400 14px/22px Roboto,sans-serif; +body, table, div, p, dl { + font-weight: 400; + font-size: 14px; + font-family: Roboto,sans-serif; + line-height: 22px; } /* @group Heading Levels */ -h1.groupheader { - font-size: 150%; -} - .title { - font: 400 14px/28px Roboto,sans-serif; + font-family: Roboto,sans-serif; + line-height: 28px; font-size: 150%; font-weight: bold; margin: 10px 2px; } +h1.groupheader { + font-size: 150%; +} + h2.groupheader { border-bottom: 1px solid #5499DD; color: #164471; @@ -53,17 +58,15 @@ dt { font-weight: bold; } -div.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; -} - p.startli, p.startdd { margin-top: 2px; } +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + p.starttd { margin-top: 0px; } @@ -80,6 +83,15 @@ p.endtd { margin-bottom: 2px; } +p.interli { +} + +p.interdd { +} + +p.intertd { +} + /* @end */ caption { @@ -87,30 +99,106 @@ caption { } span.legend { - font-size: 70%; - text-align: center; + font-size: 70%; + text-align: center; } h3.version { - font-size: 90%; - text-align: center; + font-size: 90%; + text-align: center; } -div.qindex, div.navtab{ - background-color: #E2EEF9; - border: 1px solid #7BB0E4; - text-align: center; +div.navtab { + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: white; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); } -div.qindex, div.navpath { +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; width: 100%; line-height: 140%; + font-size: 130%; + color: #A0A0A0; } -div.navtab { - margin-right: 15px; +#main-menu a:focus { + outline: auto; + z-index: 10; + position: relative; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: black; +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.even { + background-color: white; +} + +.classindex dl.odd { + background-color: #F4F9FD; } +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + /* @group Link Styling */ a { @@ -124,22 +212,13 @@ a { } a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #71AAE2; - color: #ffffff; - border: 1px double #5398DC; + text-decoration: none; + background: linear-gradient(to bottom, transparent 0,transparent calc(100% - 1px), currentColor 100%); } -.contents a.qindexHL:visited { - color: #ffffff; +a:hover > span.arrow { + text-decoration: none; + background : #F6FAFD; } a.el { @@ -150,44 +229,135 @@ a.elRef { } a.code, a.code:visited, a.line, a.line:visited { - color: #4665A2; + color: #20609F; } a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #4665A2; + color: #20609F; } +a.code.hl_class { /* style for links to class names in code snippets */ } +a.code.hl_struct { /* style for links to struct names in code snippets */ } +a.code.hl_union { /* style for links to union names in code snippets */ } +a.code.hl_interface { /* style for links to interface names in code snippets */ } +a.code.hl_protocol { /* style for links to protocol names in code snippets */ } +a.code.hl_category { /* style for links to category names in code snippets */ } +a.code.hl_exception { /* style for links to exception names in code snippets */ } +a.code.hl_service { /* style for links to service names in code snippets */ } +a.code.hl_singleton { /* style for links to singleton names in code snippets */ } +a.code.hl_concept { /* style for links to concept names in code snippets */ } +a.code.hl_namespace { /* style for links to namespace names in code snippets */ } +a.code.hl_package { /* style for links to package names in code snippets */ } +a.code.hl_define { /* style for links to macro names in code snippets */ } +a.code.hl_function { /* style for links to function names in code snippets */ } +a.code.hl_variable { /* style for links to variable names in code snippets */ } +a.code.hl_typedef { /* style for links to typedef names in code snippets */ } +a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } +a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } +a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } +a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } +a.code.hl_friend { /* style for links to friend names in code snippets */ } +a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } +a.code.hl_property { /* style for links to property names in code snippets */ } +a.code.hl_event { /* style for links to event names in code snippets */ } +a.code.hl_sequence { /* style for links to sequence names in code snippets */ } +a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } + /* @end */ dl.el { margin-left: -1cm; } +ul { + overflow: visible; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; + list-style-type: none; +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; + overflow-y: hidden; + position: relative; + min-height: 12px; + margin: 10px 0px; + padding: 10px 10px; + border: 1px solid #AACCEE; + border-radius: 4px; + background-color: #FAFCFD; + color: black; +} + pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; + word-wrap: break-word; + font-size: 10pt; + line-height: 125%; + font-family: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +} + +.clipboard { + width: 24px; + height: 24px; + right: 5px; + top: 5px; + opacity: 0; + position: absolute; + display: inline; overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: monospace, fixed; - font-size: 105%; + fill: black; + justify-content: center; + align-items: center; + cursor: pointer; } -div.fragment { - padding: 0px; - margin: 4px 8px 4px 2px; - background-color: #FAFCFD; - border: 1px solid #AACCEE; +.clipboard.success { + border: 1px solid black; + border-radius: 4px; +} + +.fragment:hover .clipboard, .clipboard.success { + opacity: .28; +} + +.clipboard:hover, .clipboard.success { + opacity: 1 !important; +} + +.clipboard:active:not([class~=success]) svg { + transform: scale(.91); +} + +.clipboard.success svg { + fill: #2EC82E; +} + +.clipboard.success { + border-color: #2EC82E; } div.line { - font-family: monospace, fixed; + font-family: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; font-size: 13px; min-height: 13px; - line-height: 1.0; + line-height: 1.2; text-wrap: unrestricted; white-space: -moz-pre-wrap; /* Moz */ white-space: -pre-wrap; /* Opera 4-6 */ @@ -220,19 +390,35 @@ div.line.glow { box-shadow: 0 0 10px cyan; } +span.fold { + margin-left: 5px; + margin-right: 1px; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; + display: inline-block; + width: 12px; + height: 12px; + background-repeat:no-repeat; + background-position:center; +} span.lineno { padding-right: 4px; + margin-right: 9px; text-align: right; - border-right: 2px solid #0F0; + border-right: 2px solid #00FF00; + color: black; background-color: #E8E8E8; white-space: pre; } -span.lineno a { +span.lineno a, span.lineno a:visited { + color: #20609F; background-color: #D8D8D8; } span.lineno a:hover { + color: #20609F; background-color: #C8C8C8; } @@ -245,24 +431,6 @@ span.lineno a:hover { user-select: none; } -div.ah, span.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); -} - div.classindex ul { list-style: none; padding-left: 0; @@ -284,7 +452,6 @@ div.groupText { } body { - background-color: white; color: black; margin: 0; } @@ -295,36 +462,18 @@ div.contents { margin-right: 8px; } -td.indexkey { - background-color: #E2EEF9; - font-weight: bold; - border: 1px solid #AACCEE; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #E2EEF9; - border: 1px solid #AACCEE; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #E5F0FA; -} - p.formulaDsp { text-align: center; } -img.formulaDsp { - +img.dark-mode-visible { + display: none; +} +img.light-mode-visible { + display: none; } -img.formulaInl { +img.formulaInl, img.inline { vertical-align: middle; } @@ -347,52 +496,63 @@ address.footer { img.footer { border: 0px; vertical-align: middle; + width: 104px; +} + +.compoundTemplParams { + color: #20609F; + font-size: 80%; + line-height: 120%; } /* @group Code Colorization */ span.keyword { - color: #008000 + color: #008000; } span.keywordtype { - color: #604020 + color: #604020; } span.keywordflow { - color: #e08000 + color: #E08000; } span.comment { - color: #800000 + color: #800000; } span.preprocessor { - color: #806020 + color: #806020; } span.stringliteral { - color: #002080 + color: #002080; } span.charliteral { - color: #008080 + color: #008080; +} + +span.xmlcdata { + color: black; } span.vhdldigit { - color: #ff00ff + color: #FF00FF; } span.vhdlchar { - color: #000000 + color: #000000; } span.vhdlkeyword { - color: #700070 + color: #700070; } span.vhdllogic { - color: #ff0000 + color: #FF0000; } blockquote { @@ -404,25 +564,6 @@ blockquote { /* @end */ -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - td.tiny { font-size: 75%; } @@ -430,11 +571,12 @@ td.tiny { .dirtab { padding: 4px; border-collapse: collapse; - border: 1px solid #7BB0E4; + border: 1px solid #12375B; } th.dirtab { - background: #E2EEF9; + background-color: #174776; + color: #FFFFFE; font-weight: bold; } @@ -488,7 +630,7 @@ table.memberdecls { } .memSeparator { - border-bottom: 1px solid #DEE4F0; + border-bottom: 1px solid #CEE2F5; line-height: 1px; margin: 0px; padding: 0px; @@ -498,7 +640,7 @@ table.memberdecls { white-space: nowrap; } -.memItemRight { +.memItemRight, .memTemplItemRight { width: 100%; } @@ -544,15 +686,6 @@ table.memberdecls { margin-left: 9px; } -.memnav { - background-color: #E2EEF9; - border: 1px solid #7BB0E4; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - .mempage { width: 100%; } @@ -592,33 +725,24 @@ table.memberdecls { font-weight: bold; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); background-color: #D0E3F5; - /* opera specific markup */ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); border-top-right-radius: 4px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 4px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 4px; - } .overload { - font-family: "courier new",courier,monospace; + font-family: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; font-size: 65%; } .memdoc, dl.reflist dd { - border-bottom: 1px solid #82B4E6; - border-left: 1px solid #82B4E6; - border-right: 1px solid #82B4E6; + border-bottom: 1px solid #82B4E6; + border-left: 1px solid #82B4E6; + border-right: 1px solid #82B4E6; padding: 6px 10px 2px 10px; - background-color: #FAFCFD; border-top-width: 0; background-image:url('nav_g.png'); background-repeat:repeat-x; - background-color: #FFFFFF; + background-color: white; /* opera specific markup */ border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; @@ -648,36 +772,44 @@ dl.reflist dd { .paramtype { white-space: nowrap; + padding: 0px; + padding-bottom: 1px; } .paramname { - color: #602020; white-space: nowrap; + padding: 0px; + padding-bottom: 1px; + margin-left: 2px; } + .paramname em { + color: #602020; font-style: normal; + margin-right: 1px; } -.paramname code { - line-height: 14px; + +.paramname .paramdefval { + font-family: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; } .params, .retval, .exception, .tparams { margin-left: 0px; padding-left: 0px; -} +} -.params .paramname, .retval .paramname { +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { font-weight: bold; vertical-align: top; } - -.params .paramtype { + +.params .paramtype, .tparams .paramtype { font-style: italic; vertical-align: top; -} - -.params .paramdir { - font-family: "courier new",courier,monospace; +} + +.params .paramdir, .tparams .paramdir { + font-family: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; vertical-align: top; } @@ -761,9 +893,14 @@ div.directory { border-left: 1px solid rgba(0,0,0,0.05); } +.directory tr.odd { + padding-left: 6px; + background-color: #F4F9FD; +} + .directory tr.even { padding-left: 6px; - background-color: #F3F8FC; + background-color: white; } .directory img { @@ -799,7 +936,8 @@ div.directory { } .icon { - font-family: Arial, Helvetica; + font-family: Arial,Helvetica; + line-height: normal; font-weight: bold; font-size: 12px; height: 14px; @@ -823,8 +961,7 @@ div.directory { width: 24px; height: 18px; margin-bottom: 4px; - background-image:url('folderopen.png'); - background-position: 0px -4px; + background-image:url('folderopen.svg'); background-repeat: repeat-y; vertical-align:top; display: inline-block; @@ -834,8 +971,7 @@ div.directory { width: 24px; height: 18px; margin-bottom: 4px; - background-image:url('folderclosed.png'); - background-position: 0px -4px; + background-image:url('folderclosed.svg'); background-repeat: repeat-y; vertical-align:top; display: inline-block; @@ -845,17 +981,13 @@ div.directory { width: 24px; height: 18px; margin-bottom: 4px; - background-image:url('doc.png'); + background-image:url('doc.svg'); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } -table.directory { - font: 400 14px Roboto,sans-serif; -} - /* @end */ div.dynheader { @@ -890,22 +1022,17 @@ table.doxtable td, table.doxtable th { table.doxtable th { background-color: #174776; - color: #FFFFFF; + color: #FFFFFE; font-size: 110%; padding-bottom: 4px; padding-top: 5px; } table.fieldtable { - /*width: 100%;*/ margin-bottom: 10px; border: 1px solid #82B4E6; border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); } @@ -926,13 +1053,12 @@ table.fieldtable { .fieldtable td.fielddoc { border-bottom: 1px solid #82B4E6; - /*width: 100%;*/ } .fieldtable td.fielddoc p:first-child { margin-top: 0px; -} - +} + .fieldtable td.fielddoc p:last-child { margin-bottom: 2px; } @@ -942,7 +1068,7 @@ table.fieldtable { } .fieldtable th { - background-image:url('nav_f.png'); + background-image: url('nav_f.png'); background-repeat:repeat-x; background-color: #D5E6F6; font-size: 90%; @@ -951,10 +1077,6 @@ table.fieldtable { padding-top: 5px; text-align:left; font-weight: 400; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom: 1px solid #82B4E6; @@ -974,12 +1096,12 @@ table.fieldtable { .navpath ul { font-size: 11px; - background-image:url('tab_b.png'); + background-image: url('tab_b.png'); background-repeat:repeat-x; background-position: 0 -5px; height:30px; line-height:30px; - color:#589BDD; + color:#10304F; border:solid 1px #A6CAED; overflow:hidden; margin:0px; @@ -995,24 +1117,24 @@ table.fieldtable { background-image:url('bc_s.png'); background-repeat:no-repeat; background-position:right; - color:#174572; + color: #174572; } .navpath li.navelem a { height:32px; display:block; - text-decoration: none; outline: none; color: #10304F; font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; + text-decoration: none; } .navpath li.navelem a:hover { - color:#2B80D4; + color: white; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); } .navpath li.footer @@ -1024,7 +1146,7 @@ table.fieldtable { background-image:none; background-repeat:no-repeat; background-position:right; - color:#174572; + color: #113355; font-size: 8pt; } @@ -1036,7 +1158,7 @@ div.summary padding-right: 5px; width: 50%; text-align: right; -} +} div.summary a { @@ -1051,7 +1173,7 @@ table.classindex margin-right: 3%; width: 94%; border: 0; - border-spacing: 0; + border-spacing: 0; padding: 0; } @@ -1069,7 +1191,7 @@ div.ingroups a div.header { - background-image:url('nav_h.png'); + background-image: url('nav_h.png'); background-repeat:repeat-x; background-color: #F6FAFD; margin: 0px; @@ -1081,78 +1203,173 @@ div.headertitle padding: 5px 5px 5px 10px; } -dl -{ - padding: 0 0 0 10px; +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; } -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ -dl.section -{ +dl { + padding: 0 0 0 0; +} + +/* + +dl.section { margin-left: 0px; padding-left: 0px; } -dl.note -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #D0C000; +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; } -dl.warning, dl.attention -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #FF0000; +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; } -dl.pre, dl.post, dl.invariant -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00D000; +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; } -dl.deprecated -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #505050; +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; } -dl.todo -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00C0E0; +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; } -dl.test -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #3030E0; +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; } -dl.bug -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #C08050; +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +*/ + +dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a { + font-weight: bold !important; +} + +dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, +dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark { + padding: 10px; + margin: 10px 0px; + overflow: hidden; + margin-left: 0; + border-radius: 4px; } dl.section dd { - margin-bottom: 6px; + margin-bottom: 2px; +} + +dl.warning, dl.attention { + background: #f8d1cc; + border-left: 8px solid #b61825; + color: #75070f; +} + +dl.warning dt, dl.attention dt { + color: #b61825; +} + +dl.note, dl.remark { + background: #faf3d8; + border-left: 8px solid #f3a600; + color: #5f4204; +} + +dl.note dt, dl.remark dt { + color: #f3a600; } +dl.todo { + background: #e4f3ff; + border-left: 8px solid #1879C4; + color: #274a5c; +} + +dl.todo dt { + color: #1879C4; +} + +dl.test { + background: #e8e8ff; + border-left: 8px solid #3939C4; + color: #1a1a5c; +} + +dl.test dt { + color: #3939C4; +} + +dl.bug dt a { + color: #5b2bdd !important; +} + +dl.bug { + background: #e4dafd; + border-left: 8px solid #5b2bdd; + color: #2a0d72; +} + +dl.bug dt a { + color: #5b2bdd !important; +} + +dl.deprecated { + background: #ecf0f3; + border-left: 8px solid #5b6269; + color: #43454a; +} + +dl.deprecated dt a { + color: #5b6269 !important; +} + +dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd { + margin-inline-start: 0px; +} + +dl.invariant, dl.pre, dl.post { + background: #d8f1e3; + border-left: 8px solid #44b86f; + color: #265532; +} + +dl.invariant dt, dl.pre dt, dl.post dt { + color: #44b86f; +} + + +#projectrow +{ + height: 56px; +} #projectlogo { @@ -1160,34 +1377,38 @@ dl.section dd { vertical-align: bottom; border-collapse: separate; } - + #projectlogo img -{ +{ border: 0px none; } - + #projectalign { vertical-align: middle; + padding-left: 0.5em; } #projectname { - font: 300% Tahoma, Arial,sans-serif; + font-size: 200%; + font-family: Tahoma,Arial,sans-serif; margin: 0px; padding: 2px 0px; } - + #projectbrief { - font: 120% Tahoma, Arial,sans-serif; + font-size: 90%; + font-family: Tahoma,Arial,sans-serif; margin: 0px; padding: 0px; } #projectnumber { - font: 50% Tahoma, Arial,sans-serif; + font-size: 50%; + font-family: 50% Tahoma,Arial,sans-serif; margin: 0px; padding: 0px; } @@ -1198,6 +1419,7 @@ dl.section dd { margin: 0px; width: 100%; border-bottom: 1px solid #2570BA; + background-color: white; } .image @@ -1230,11 +1452,6 @@ dl.section dd { font-weight: bold; } -div.zoom -{ - border: 1px solid #60A0DF; -} - dl.citelist { margin-bottom:50px; } @@ -1245,10 +1462,12 @@ dl.citelist dt { font-weight:bold; margin-right:10px; padding:5px; + text-align:right; + width:52px; } dl.citelist dd { - margin:2px 0; + margin:2px 0 2px 72px; padding:5px 0; } @@ -1264,15 +1483,15 @@ div.toc { } div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + background: url("data:image/svg+xml;utf8,&%238595;") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,'DejaVu Sans',Geneva,sans-serif; margin-top: 5px; padding-left: 10px; padding-top: 2px; } div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; + font: bold 12px/1.2 Verdana,'DejaVu Sans',Geneva,sans-serif; color: #20609F; border-bottom: 0 none; margin: 0; @@ -1282,7 +1501,7 @@ div.toc ul { list-style: none outside none; border: medium none; padding: 0px; -} +} div.toc li.level1 { margin-left: 0px; @@ -1293,11 +1512,21 @@ div.toc li.level2 { } div.toc li.level3 { - margin-left: 30px; + margin-left: 15px; } div.toc li.level4 { - margin-left: 45px; + margin-left: 15px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +span.obfuscator { + display: none; } .inherit_header { @@ -1334,7 +1563,8 @@ tr.heading h2 { #powerTip { cursor: default; - white-space: nowrap; + /*white-space: nowrap;*/ + color: black; background-color: white; border: 1px solid gray; border-radius: 4px 4px 4px 4px; @@ -1357,6 +1587,10 @@ tr.heading h2 { font-weight: bold; } +#powerTip a { + color: #20609F; +} + #powerTip div.ttname { font-weight: bold; } @@ -1368,7 +1602,9 @@ tr.heading h2 { #powerTip div { margin: 0px; padding: 0px; - font: 12px/16px Roboto,sans-serif; + font-size: 12px; + font-family: Roboto,sans-serif; + line-height: 16px; } #powerTip:before, #powerTip:after { @@ -1413,12 +1649,12 @@ tr.heading h2 { } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #ffffff; + border-top-color: white; border-width: 10px; margin: 0px -10px; } -#powerTip.n:before { - border-top-color: #808080; +#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before { + border-top-color: gray; border-width: 11px; margin: 0px -11px; } @@ -1441,13 +1677,13 @@ tr.heading h2 { } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #ffffff; + border-bottom-color: white; border-width: 10px; margin: 0px -10px; } #powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; + border-bottom-color: gray; border-width: 11px; margin: 0px -11px; } @@ -1468,13 +1704,13 @@ tr.heading h2 { left: 100%; } #powerTip.e:after { - border-left-color: #ffffff; + border-left-color: gray; border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.e:before { - border-left-color: #808080; + border-left-color: gray; border-width: 11px; top: 50%; margin-top: -11px; @@ -1484,13 +1720,13 @@ tr.heading h2 { right: 100%; } #powerTip.w:after { - border-right-color: #ffffff; + border-right-color: gray; border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.w:before { - border-right-color: #808080; + border-right-color: gray; border-width: 11px; top: 50%; margin-top: -11px; @@ -1517,7 +1753,6 @@ tr.heading h2 { /* @group Markdown */ -/* table.markdownTable { border-collapse:collapse; margin-top: 4px; @@ -1529,68 +1764,56 @@ table.markdownTable td, table.markdownTable th { padding: 3px 7px 2px; } -table.markdownTableHead tr { -} - -table.markdownTableBodyLeft td, table.markdownTable th { - border: 1px solid #12375B; - padding: 3px 7px 2px; +table.markdownTable tr { } -th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { background-color: #174776; - color: #FFFFFF; + color: #FFFFFE; font-size: 110%; padding-bottom: 4px; padding-top: 5px; } -th.markdownTableHeadLeft { +th.markdownTableHeadLeft, td.markdownTableBodyLeft { text-align: left } -th.markdownTableHeadRight { +th.markdownTableHeadRight, td.markdownTableBodyRight { text-align: right } -th.markdownTableHeadCenter { +th.markdownTableHeadCenter, td.markdownTableBodyCenter { text-align: center } -*/ -table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.markdownTable td, table.markdownTable th { - border: 1px solid #12375B; - padding: 3px 7px 2px; +tt, code, kbd, samp +{ + display: inline-block; } +/* @end */ -table.markdownTable tr { +u { + text-decoration: underline; } -th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; +details>summary { + list-style-type: none; } -th.markdownTableHeadLeft, td.markdownTableBodyLeft { - text-align: left +details > summary::-webkit-details-marker { + display: none; } -th.markdownTableHeadRight, td.markdownTableBodyRight { - text-align: right +details>summary::before { + content: "\25ba"; + padding-right:4px; + font-size: 80%; } -th.markdownTableHeadCenter, td.markdownTableBodyCenter { - text-align: center +details[open]>summary::before { + content: "\25bc"; + padding-right:4px; + font-size: 80%; } - -/* @end */ diff --git a/docs/doxygen.png b/docs/doxygen.png deleted file mode 100644 index d13f9a76..00000000 Binary files a/docs/doxygen.png and /dev/null differ diff --git a/docs/doxygen.svg b/docs/doxygen.svg new file mode 100644 index 00000000..9bbc3c9c --- /dev/null +++ b/docs/doxygen.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/doxygen_crawl.html b/docs/doxygen_crawl.html new file mode 100644 index 00000000..1e38591e --- /dev/null +++ b/docs/doxygen_crawl.html @@ -0,0 +1,587 @@ + + + +Validator / crawler helper + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/doxygen_extra.css b/docs/doxygen_extra.css deleted file mode 100644 index 106c6aab..00000000 --- a/docs/doxygen_extra.css +++ /dev/null @@ -1,1654 +0,0 @@ -/* The standard CSS for doxygen 1.8.14 */ - -body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; -} - -p.reference, p.definition { - font: 400 14px/22px Roboto,sans-serif; -} - -/* @group Heading Levels */ - -h1.groupheader { - font-size: 150%; -} - -.title { - font: 400 14px/28px Roboto,sans-serif; - font-size: 150%; - font-weight: bold; - margin: 10px 2px; - clear: both; -} - -h2.groupheader { - border-bottom: 1px solid #879ECB; - color: #354C7B; - font-size: 150%; - font-weight: normal; - margin-top: 1.75em; - padding-top: 8px; - padding-bottom: 4px; - width: 100%; -} - -h3.groupheader { - font-size: 100%; -} - -h1, h2, h3, h4, h5, h6 { - -webkit-transition: text-shadow 0.5s linear; - -moz-transition: text-shadow 0.5s linear; - -ms-transition: text-shadow 0.5s linear; - -o-transition: text-shadow 0.5s linear; - transition: text-shadow 0.5s linear; - margin-right: 15px; -} - -h1, h2, h3 { - clear: both; -} - -h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; -} - -dt { - font-weight: bold; -} - -div.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; -} - -p.startli, p.startdd { - margin-top: 2px; -} - -p.starttd { - margin-top: 0px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; -} - -div.qindex, div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ - -a { - color: #3D578C; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #4665A2; -} - -a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #ffffff; - border: 1px double #869DCA; -} - -.contents a.qindexHL:visited { - color: #ffffff; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code, a.code:visited, a.line, a.line:visited { - color: #4665A2; -} - -a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #4665A2; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: monospace, fixed; - font-size: 105%; -} - -div.fragment { - padding: 0px; - margin: 4px 8px 4px 2px; - background-color: #FBFCFD; - border: 1px solid #C4CFE5; -} - -div.line { - font-family: monospace, fixed; - font-size: 13px; - min-height: 13px; - line-height: 1.0; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; - padding-bottom: 0px; - margin: 0px; - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -div.line:after { - content:"\000A"; - white-space: pre; -} - -div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; -} - - -span.lineno { - padding-right: 4px; - text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; - white-space: pre; -} -span.lineno a { - background-color: #D8D8D8; -} - -span.lineno a:hover { - background-color: #C8C8C8; -} - -.lineno { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -div.ah, span.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; -} - -div.classindex ul { - list-style: none; - padding-left: 0; -} - -div.classindex span.ai { - display: inline-block; -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background-color: white; - color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 12px; - margin-right: 8px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; -} - -/* @end */ - -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid #4A6AAA; -} - -hr.footer { - height: 1px; - float: none; - clear: both; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -.memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memSeparator { - border-bottom: 1px solid #DEE4F0; - line-height: 1px; - margin: 0px; - padding: 0px; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight { - width: 100%; -} - -.memTemplParams { - color: #4665A2; - white-space: nowrap; - font-size: 80%; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtitle { - padding: 8px; - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - border-top-right-radius: 4px; - border-top-left-radius: 4px; - margin-bottom: -1px; - background-image: none; - background-repeat: no-repeat; - background-color: #E2E8F2; - - line-height: 1.25; - font-weight: 300; - float:left; -} - -.permalink -{ - font-size: 65%; - display: inline-block; - vertical-align: middle; -} - -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: normal; - margin-left: 9px; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; -} - -.memitem.glow { - box-shadow: 0 0 15px cyan; -} - -.memname { - font-weight: 400; - margin-left: 6px; -} - -.memname td { - vertical-align: bottom; -} - -.memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-color: #DFE5F1; - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 4px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 4px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 4px; - -} - -.overload { - font-family: "courier new",courier,monospace; - font-size: 65%; -} - -.memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 10px 2px 10px; - background-color: #FBFCFD; - border-top-width: 0; - /* - background-image:url('nav_g.png'); - background-repeat:repeat-x; - */ - background-color: #FFFFFF; - /* opera specific markup */ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-bottomright: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -dl.reflist dt { - padding: 5px; -} - -dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} -.paramname code { - line-height: 14px; -} - -.params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; -} - -.params .paramname, .retval .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; -} - -table.mlabels { - border-spacing: 0px; -} - -td.mlabels-left { - width: 100%; - padding: 0px; -} - -td.mlabels-right { - vertical-align: bottom; - padding: 0px; - white-space: nowrap; -} - -span.mlabels { - margin-left: 8px; -} - -span.mlabel { - background-color: #728DC1; - border-top:1px solid #5373B4; - border-left:1px solid #5373B4; - border-right:1px solid #C4CFE5; - border-bottom:1px solid #C4CFE5; - text-shadow: none; - color: white; - margin-right: 4px; - padding: 2px 3px; - border-radius: 3px; - font-size: 7pt; - white-space: nowrap; - vertical-align: middle; -} - - - -/* @end */ - -/* these are for tree view inside a (index) page */ - -div.directory { - margin: 10px 0px; - border-top: 1px solid #9CAFD4; - border-bottom: 1px solid #9CAFD4; - width: 100%; -} - -.directory table { - border-collapse:collapse; -} - -.directory td { - margin: 0px; - padding: 0px; - vertical-align: top; -} - -.directory td.entry { - white-space: nowrap; - padding-right: 6px; - padding-top: 3px; -} - -.directory td.entry a { - outline:none; -} - -.directory td.entry a img { - border: none; -} - -.directory td.desc { - width: 100%; - padding-left: 6px; - padding-right: 6px; - padding-top: 3px; - border-left: 1px solid rgba(0,0,0,0.05); -} - -.directory tr.even { - padding-left: 6px; - background-color: #F7F8FB; -} - -.directory img { - vertical-align: -30%; -} - -.directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; -} - -.directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; - color: #3D578C; -} - -.arrow { - color: #9CAFD4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - font-size: 80%; - display: inline-block; - width: 16px; - height: 22px; -} - -.icon { - font-family: Arial, Helvetica; - font-weight: bold; - font-size: 12px; - height: 14px; - width: 16px; - display: inline-block; - background-color: #728DC1; - color: white; - text-align: center; - border-radius: 4px; - margin-left: 2px; - margin-right: 2px; -} - -.icona { - width: 24px; - height: 22px; - display: inline-block; -} - -.iconfopen { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderopen.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.iconfclosed { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderclosed.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.icondoc { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('doc.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -table.directory { - font: 400 14px Roboto,sans-serif; -} - -/* @end */ - -div.dynheader { - margin-top: 8px; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable caption { - caption-side: top; -} - -table.doxtable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -table.fieldtable { - /*width: 100%;*/ - margin-bottom: 10px; - border: 1px solid #A8B8D9; - border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); -} - -.fieldtable td, .fieldtable th { - padding: 3px 7px 2px; -} - -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; - vertical-align: top; -} - -.fieldtable td.fieldname { - padding-top: 3px; -} - -.fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - /*width: 100%;*/ -} - -.fieldtable td.fielddoc p:first-child { - margin-top: 0px; -} - -.fieldtable td.fielddoc p:last-child { - margin-bottom: 2px; -} - -.fieldtable tr:last-child td { - border-bottom: none; -} - -.fieldtable th { - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - font-size: 90%; - color: #253555; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - font-weight: 400; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid #A8B8D9; -} - - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - /* - background-image: url('tab_b.png'); - */ - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image: none; - /* - background-image:url('tab_b.png'); - background-repeat:repeat-x; - background-position: 0 -5px; - */ - height:30px; - line-height:30px; - color:#1f6992; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - /* - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - */ - color:#364D7C; -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; - color: #283A5D; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; -} - -.navpath li.navelem a:hover -{ - color: #1f6992; -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -table.classindex -{ - margin: 10px; - white-space: nowrap; - margin-left: 3%; - margin-right: 3%; - width: 94%; - border: 0; - border-spacing: 0; - padding: 0; -} - -div.ingroups -{ - font-size: 8pt; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #C4CFE5; -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} - -dl -{ - padding: 0 0 0 10px; -} - -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ -dl.section -{ - margin-left: 0px; - padding-left: 0px; -} - -dl.note -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #D0C000; -} - -dl.warning, dl.attention -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00D000; -} - -dl.deprecated -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #505050; -} - -dl.todo -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00C0E0; -} - -dl.test -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #3030E0; -} - -dl.bug -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #C08050; -} - -dl.section dd { - margin-bottom: 6px; -} - - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; - padding-right: 30px; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectalign -{ - vertical-align: middle; -} - -#projectname -{ - font: 300% Garamond, Times, serif; - margin: 0px; - padding: 2px 0px; - -} - -#projectbrief -{ - font: 200% Garamond, Times, serif; - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font: 250% Garamond, Times, serif; - font-style: normal; - margin: 0px; - padding: 0px; -} - -#titlearea { - background:#1f6992; - color: #fff; - vertical-align: bottom; - font-weight: bold; - width: 100%; -} -#projectlogo { - text-align: left; -} - -.image -{ - text-align: center; - float: right; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.plantumlgraph -{ - text-align: center; -} - -.diagraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - -div.zoom -{ - border: 1px solid #90A5CE; -} - -dl.citelist { - margin-bottom:50px; -} - -dl.citelist dt { - color:#334975; - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; -} - -dl.citelist dd { - margin:2px 0; - padding:5px 0; -} - -div.toc { - padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 8px 10px 10px; - width: 200px; -} - -div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; -} - -div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #4665A2; - border-bottom: 0 none; - margin: 0; -} - -div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; -} - -div.toc li.level1 { - margin-left: 0px; -} - -div.toc li.level2 { - margin-left: 15px; -} - -div.toc li.level3 { - margin-left: 30px; -} - -div.toc li.level4 { - margin-left: 45px; -} - -.inherit_header { - font-weight: bold; - color: gray; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.inherit_header td { - padding: 6px 0px 2px 5px; -} - -.inherit { - display: none; -} - -tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; -} - -/* tooltip related style info */ - -.ttc { - position: absolute; - display: none; -} - -#powerTip { - cursor: default; - white-space: nowrap; - background-color: white; - border: 1px solid gray; - border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; - display: none; - font-size: smaller; - max-width: 80%; - opacity: 0.9; - padding: 1ex 1em 1em; - position: absolute; - z-index: 2147483647; -} - -#powerTip div.ttdoc { - color: grey; - font-style: italic; -} - -#powerTip div.ttname a { - font-weight: bold; -} - -#powerTip div.ttname { - font-weight: bold; -} - -#powerTip div.ttdeci { - color: #006318; -} - -#powerTip div { - margin: 0px; - padding: 0px; - font: 12px/16px Roboto,sans-serif; -} - -#powerTip:before, #powerTip:after { - content: ""; - position: absolute; - margin: 0px; -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.s:after, #powerTip.s:before, -#powerTip.w:after, #powerTip.w:before, -#powerTip.e:after, #powerTip.e:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.nw:after, #powerTip.nw:before, -#powerTip.sw:after, #powerTip.sw:before { - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; -} - -#powerTip.n:after, #powerTip.s:after, -#powerTip.w:after, #powerTip.e:after, -#powerTip.nw:after, #powerTip.ne:after, -#powerTip.sw:after, #powerTip.se:after { - border-color: rgba(255, 255, 255, 0); -} - -#powerTip.n:before, #powerTip.s:before, -#powerTip.w:before, #powerTip.e:before, -#powerTip.nw:before, #powerTip.ne:before, -#powerTip.sw:before, #powerTip.se:before { - border-color: rgba(128, 128, 128, 0); -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.nw:after, #powerTip.nw:before { - top: 100%; -} - -#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #ffffff; - border-width: 10px; - margin: 0px -10px; -} -#powerTip.n:before { - border-top-color: #808080; - border-width: 11px; - margin: 0px -11px; -} -#powerTip.n:after, #powerTip.n:before { - left: 50%; -} - -#powerTip.nw:after, #powerTip.nw:before { - right: 14px; -} - -#powerTip.ne:after, #powerTip.ne:before { - left: 14px; -} - -#powerTip.s:after, #powerTip.s:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.sw:after, #powerTip.sw:before { - bottom: 100%; -} - -#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #ffffff; - border-width: 10px; - margin: 0px -10px; -} - -#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; - border-width: 11px; - margin: 0px -11px; -} - -#powerTip.s:after, #powerTip.s:before { - left: 50%; -} - -#powerTip.sw:after, #powerTip.sw:before { - right: 14px; -} - -#powerTip.se:after, #powerTip.se:before { - left: 14px; -} - -#powerTip.e:after, #powerTip.e:before { - left: 100%; -} -#powerTip.e:after { - border-left-color: #ffffff; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.e:before { - border-left-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -#powerTip.w:after, #powerTip.w:before { - right: 100%; -} -#powerTip.w:after { - border-right-color: #ffffff; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.w:before { - border-right-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -@media print -{ - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } -} - -/* @group Markdown */ - -/* -table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.markdownTableHead tr { -} - -table.markdownTableBodyLeft td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -th.markdownTableHeadLeft { - text-align: left -} - -th.markdownTableHeadRight { - text-align: right -} - -th.markdownTableHeadCenter { - text-align: center -} -*/ - -table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.markdownTable tr { -} - -th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -th.markdownTableHeadLeft, td.markdownTableBodyLeft { - text-align: left -} - -th.markdownTableHeadRight, td.markdownTableBodyRight { - text-align: right -} - -th.markdownTableHeadCenter, td.markdownTableBodyCenter { - text-align: center -} - - -/* @end */ - -. -/* Doxygen tabs.css overrides */ - -.sm-dox { - background-image: none; - -} -.sm { - margin: 0 auto; - background-image: none; -} - - -.sm a { - background-image:none; - color: #1f6992; - background-color: #ffffff; - transition:all .3s ease-out; - border-bottom:2px solid transparent; -} - -.sm a:hover { - background-image:none; - text-shadow: none; - background-color: #1f6992; - color: #ffffff; - border-bottom: 2px solid #2d5c88; -} - -.sm li.current a { - background-image:none; - text-shadow: none; - color: #333333; - border-bottom: 2px solid #2d5c88; -} diff --git a/docs/dynsections.js b/docs/dynsections.js index c1ce1226..8012854c 100644 --- a/docs/dynsections.js +++ b/docs/dynsections.js @@ -1,120 +1,194 @@ /* - @licstart The following is the entire license notice for the - JavaScript code in this file. + @licstart The following is the entire license notice for the JavaScript code in this file. - Copyright (C) 1997-2017 by Dimitri van Heesch + The MIT License (MIT) - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. + Copyright (C) 1997-2020 by Dimitri van Heesch - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. - @licend The above is the entire license notice - for the JavaScript code in this file + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file */ -function toggleVisibility(linkObj) -{ - var base = $(linkObj).attr('id'); - var summary = $('#'+base+'-summary'); - var content = $('#'+base+'-content'); - var trigger = $('#'+base+'-trigger'); - var src=$(trigger).attr('src'); - if (content.is(':visible')===true) { - content.hide(); - summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); - } else { - content.show(); - summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } - return false; -} - -function updateStripes() -{ - $('table.directory tr'). - removeClass('even').filter(':visible:even').addClass('even'); -} - -function toggleLevel(level) -{ - $('table.directory tr').each(function() { - var l = this.id.split('_').length-1; - var i = $('#img'+this.id.substring(3)); - var a = $('#arr'+this.id.substring(3)); - if (l'); + // add vertical lines to other rows + $('span[class=lineno]').not(':eq(0)').append(''); + // add toggle controls to lines with fold divs + $('div[class=foldopen]').each(function() { + // extract specific id to use + const id = $(this).attr('id').replace('foldopen',''); + // extract start and end foldable fragment attributes + const start = $(this).attr('data-start'); + const end = $(this).attr('data-end'); + // replace normal fold span with controls for the first line of a foldable fragment + $(this).find('span[class=fold]:first').replaceWith(''); + // append div for folded (closed) representation + $(this).after(''); + // extract the first line from the "open" section to represent closed content + const line = $(this).children().first().clone(); + // remove any glow that might still be active on the original line + $(line).removeClass('glow'); + if (start) { + // if line already ends with a start marker (e.g. trailing {), remove it + $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); + } + // replace minus with plus symbol + $(line).find('span[class=fold]').css('background-image',codefold.plusImg[relPath]); + // append ellipsis + $(line).append(' '+start+''+end); + // insert constructed line into closed div + $('#foldclosed'+id).html(line); + }); + }, +}; /* @license-end */ diff --git a/docs/ems2011.html b/docs/ems2011.html new file mode 100644 index 00000000..c0b49697 --- /dev/null +++ b/docs/ems2011.html @@ -0,0 +1,186 @@ + + + + + + + + + cmf: A hydrological programming language extension for integrated catchment models + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    2.0.0b10
    +
    catchment modelling framework
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    A hydrological programming language extension for integrated catchment models
    +
    +
    +

    Authors

    +

    Philipp Kraft , Kellie B. Vaché, , Hans-Georg Frede, Lutz Breuer

    +
    Note
    this is the author's version of a work that was accepted for publication in Environmental Modelling and Software. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in [EnvSoft, Volume 26, Issue 6, June 2011 doi:10.1016/j.envsoft.2010.12.009] (https://doi.org/10.1016/j.envsoft.2010.12.009)
    +

    Abstract

    +

    Hydrological models are created for a wide range of scales and intents. The Catchment Modelling Framework (CMF) extends the Python programming language with hydrology specific language elements, to setup specific hydrological models adapted to the scientific problems and the dominant flow processes of a particular study area. CMF provides a straightforward method to test hydrological theories and serve as a transport module in integrated, interdisciplinary catchment model approaches.

    +

    Keywords: Hydrological model, solute transport, model coupling, object orientated programming, catchment models

    +

    Software availability

    + + + + + + + + + + + + + + + + + + + + + +
    Software name Catchment Modelling Framework (CMF)
    Software homepage http://www.uni-giessen.de/cms/faculties/f09/institutes/ilr/ilr-frede/download
    Developers Philipp Kraft, Kellie B. Vaché
    Contact Phili.nosp@m.pp.k.nosp@m.raft@.nosp@m.umwe.nosp@m.lt.un.nosp@m.i-gi.nosp@m.essen.nosp@m..de
    Year first available 2010
    Availability free download, GNU public license, v2
    Software required Python 2.6 with NumPy (>1.3) and Shapely (>1.2.4) on Linux and Windows
    Hardware required Multi-core CPU
    Programming language C++, Python
    Program size 2.2 MB source code, 4MB documentation
    +

    Introduction

    +

    In the last 40 years, a multitude of more or less physically-based, deterministic hydrological models have been developed for various scopes, scales and regions. Despite the existence of broadly accepted governing equations in hydrology, including the Richards equation describing flow in porous media and the St. Venant equations defining open channel flows, modelling landscape-scale water movement remains hampered by heterogeneity, parameter uncertainty and lacking computational power.

    +

    In response to this challenge, Buytaert et al. (2008) suggest that model codes should be fully accessible, modular and portable. The incorporation of these qualities into the code is a mechanism to allow the model developer to aid model users in testing different hypotheses about flow regimes, and, ultimately, in applying the most appropriate model structure to different questions of interest. To these essential characteristics we add the concept of connectability, i.e. that model codes also should focus on between-model connections, particularly in the case of water quality models, to allow integration into a multi-objective landscape model approach.

    +

    Software design concept

    +

    Our approach presented here, originally based on the rejectionist framework approach by Vaché and McDonnell (2006), represents a model abstraction concept similar to the finite volume method (FVM) approach by Qu and Duffy (2007). The Catchment Modelling Framework (CMF) generalizes the FVM discretization scheme to let the user attach the finite volumes (water storages in CMF) with a variety of flow accounting equations (flux connections in CMF). The compounds of the model are assembled using the well known scripting language Python. The advantages of scripting computer languages for scientific modelling are described by Ousterhout (1998) and Karssenberg et al. (2007), namely rapid application development using very high level instructions and a dynamic typing system. To benefit from the simplicity of scripting languages on the one hand, and from the reduced computation effort of compiled languages, the core components of the framework are written in C++ as an extension for Python, using the "Simplified Wrapper +Interface Generator" (SWIG) by Beazley and Lomdahl (1996).

    +

    A model built on CMF is composed of a network, a spatial context and a solver (Figure 1). The nodes of the network correspond to the water storages and boundary conditions, and the network edges to the governing equations, like Richard’s or Manning’s equation, amongst others. The differential equation representing the water volume (V) in one storage-object i is then derived from the network, and is defined as:

    +

    +\[ +\frac{{dV_i }}{{dt}} = \sum\limits_{j = 1}^{N_i } {\left( { - q_{i,j} \left( {V_i ,V_j ,t} \right)A_{i,j} } \right)} \hspace{20mm}(3) +\] +

    +

    The flux function q is calculated by the flux connection objects, the edges of the network. N is the number of connected nodes of the actual node i and j denotes a node connected to i. Sources and sinks of water are realized by boundary objects. Solute storages are associated with each water-storage-object. The resulting system of ordinary differential equations for water volume and matter content is in most cases stiff and only integratable with an implicit solver. The CVODE solver (Hindmarsh et al., 2005) has been included in CMF for that purpose, along with other integration methods for the few cases of non-stiff setups. Any solver in CMF supports shared memory parallelism using OpenMP. Each node of the network is part of a spatial context, either the whole study area (the project), like reaches and big aquifers, or of a horizontal discretization unit, the cell.

    +
    + +
    +Figure 1: Simplified UML class diagram of CMF. The left section includes the components for defining the network of water fluxes, the upper right part the classes to create and solve the resulting equation system, and the lower right (white) part shows classes for the spatial context
    +

    Using these components a wide range of hydrological catchment models can be build: Lumped conceptual models with physically based boundary conditions, semidistributed models as well as highly detailed physically based fully distributed models. Other modular framework approaches limit the range of models to be built to a specific model type. FUSE (Clark et al., 2008) and FLEX (Fenicia et al., 2006) for example are restricted to lumped and semidistributed approaches and the rejectionist framework by Vaché and McDonnell (2006) constrained to distributed topographic gradient driven approaches. The MIKE SHE model (Refsgaard and Storm 1995) covers a broader range of possible model setups. However due to the closed nature of the source code, the user cannot extend the system by his or herself. Apart from the catchment scale, hillslope models, as well as three dimensional representations of fluxes in a lysimeters can be set up using CMF. A feasibility study concerning the coupling capabilities with biogeochemical models of the CMF approach has recently been published (Kraft et al., 2010).

    +

    Reference List

    +
      +
    • Beazley, D.M. Lomdahl, P.S., 1996. Lightweight computational steering of very large scale molecular dynamics simulations. 96, 50-61. 1996. Proceedings of the 1996 ACM/IEEE conference on Supercomputing.
    • +
    • Buytaert, W., Reusser, D., Krause, S. Renaud, J.P. 2008. Why can't we do better than Topmodel? Hydrological Processes 22, 4175-4179.
    • +
    • Clark, M.P., Slater, A.G., Rupp, D.E., Woods, R.A., Vrugt, J.A., Gupta, H.V., Wagener, T. Hay, L.E. 2008. Framework for Understanding Structural Errors (FUSE): A modular framework to diagnose differences between hydrological models. Water Resources Research W00B02, doi:10.1029/2007WR006735.
    • +
    • Fenicia, F., Savenije, H.H.G., Matgen, P. Pfister, L. 2006. Is the groundwater reservoir linear? Learning from data in hydrological modelling. Hydrology and Earth System Sciences 10, 139-151.
    • +
    • Hindmarsh, A.C., Brown, P.N., Grant, K.E., Lee, S.L., Serban, R., Shumaker, D.E. Woodward, C.S. 2005. SUNDIALS: Suite of nonlinear and differential/algebraic equation solvers. ACM Transactions on Mathematical Software 31, 363-396.
    • +
    • Karssenberg, D., de Jong, K. van der Kwast, J. 2007. Modelling landscape dynamics with Python. International Journal of Geographical Information Science 21, 483-495.
    • +
    • Kraft, P., Multsch, S., Vaché, K.B., Frede, H.-G. Breuer, L. 2010. Using Python as a coupling platform for integrated catchment models. Advances in Geosciences 27, 51-56.
    • +
    • Ousterhout, J.K. 1998. Scripting: Higher-level programming for the 21st century. IEEE Computer 31, 23-30.
    • +
    • Qu, Y.Z. Duffy, C.J. 2007. A semidiscrete finite volume formulation for multiprocess watershed simulation. Water Resources Research 43, W08419, doi:10.1029/2006WR005752.
    • +
    • Refsgaard,J.C.& Storm,B. 1995. MIKE SHE. In: Computer Models of Watershed Hydrology (ed V.P.Singh), pp. 809-846. Water Resources Publications, Highlands Ranch, Colorado.
    • +
    • Vache, K.B. McDonnell, J.J. 2006. A process-based rejectionist framework for evaluating catchment runoff model structure. Water Resources Research W02409, doi:10.1029/2005WR004247.
    • +
    +
    +
    +
    + + + diff --git a/docs/finite_volume_method.html b/docs/finite_volume_method.html index a60dc7cf..46b230ee 100644 --- a/docs/finite_volume_method.html +++ b/docs/finite_volume_method.html @@ -2,33 +2,37 @@ - - - - -cmf: Finite Volume Method - - - - + + + + + cmf: Finite Volume Method + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,14 +93,20 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -
    -
    -
    Finite Volume Method
    +
    +
    Finite Volume Method

    Introduction

    @@ -103,13 +114,18 @@

    General mass conservation problem

    Any transport problem is largely governed by mass conservation. The closure of the mass balance in a hydrologic model should be the starting point of all model applications, even though the closure cannot be routinely verified by field experiments. Mass conservative problems in space, including water and solute transport in the landscape, can be expressed as a generalized hyperbolic problem:

    -\[ \frac{{\delta {\bf{u}}} }{{\delta t}} + \nabla \cdot f\left( {{\bf{u}},t} \right) = 0 \hspace{20mm}(1) \] +\[ +\frac{{\delta {\bf{u}}} +}{{\delta t}} + \nabla \cdot f\left( {{\bf{u}},t} \right) = 0 \hspace{20mm}(1) +\]

    with the state continuum \(\bf{u}\), and the fluxes \(f({\bf{u}},t)\).

    Finite volume discretization

    Using the finite volume method for discretizing u space, the partial differential equation turns into a system of ordinary differential equations (ODE's), where the fluxes in and out of the finite volume \(i\) are integrated over the shell of the volume \(S\) and normalized by the size of the finite volume \(V_i\).

    -\[ \frac{{du_i }}{{dt}} = - \frac{{\oint_{S_i } {f({\bf{u}},t)dS} }}{{v_i }} \hspace{20mm}(2) \] +\[ + \frac{{du_i }}{{dt}} = - \frac{{\oint_{S_i } {f({\bf{u}},t)dS} }}{{v_i }} \hspace{20mm}(2) +\]

    If the shell is constructed by a finite number of planes, the line integral over the shell is transformed to the sum of fluxes connecting adjacent volumes. When the FVM-discretization is applied to a water and solute problem, a wide range of model approaches can be implemented. The model approaches differ by the method used to discretize the problem domain, the flux functions (e.g. Richard's equation or linear storage function) and by the complexity of connections between the finite volumes.

    The CMF approach covers the flexibility of the description of volumes and fluxes by providing clearly defined and relatively independent interfaces to implement flux functions and discretization methods. A range from highly detailed one, two or three dimensional plot scale water and solute transport models to regional applications using simplified flux descriptions and discretization / connection concepts is possible.

    @@ -118,13 +134,17 @@

    The abstraction hierarchy

    Storage abstraction

    Storages, at the most abstract layer, are defined as state variables and expose their state and a function to calculate their derivatives at a given time. The state of an individual water storage is the volume of water and the change rate is the sum of the fluxes in and out of the volume. The water budget of a general water storage, derived from (2) is given by (3).

    -\[ \frac{{dV_i }}{{dt}} = \sum\limits_{j = 1}^{N_i } {\left( { - q_{i,j} \left( {V_i ,V_j ,t} \right)A_{i,j} } \right)} \hspace{20mm}(3) \] +\[ +\frac{{dV_i }}{{dt}} = \sum\limits_{j = 1}^{N_i } {\left( { - q_{i,j} \left( {V_i ,V_j ,t} \right)A_{i,j} } \right)} \hspace{20mm}(3) +\]

    \(V\) is the volume of stored water in the control volume, \(i\) the current control volume, \(N\) the number of connected storages to \(i\), \(q_{i,j}\) the flux from \(i\) to \(j\), and \(A_{i,j}\) is the cross sectional area of the flux.

    Solute transport

    The state of a solute storage is the amount of tracer particles in the finite volume. The change rate of the state is the sum of advective tracer fluxes and the sum of any existent source or sink flux.

    -\[ \frac{{dX_i }}{{dt}} = \sum\limits_{j = 1}^{N_i } {\left( { - q_{i,j} \left( {V_i ,V_j ,t} \right)[X]_s } \right) + q_{X,in} \left( t \right) - r^ - X} \hspace{20mm}(4) \] +\[ +\frac{{dX_i }}{{dt}} = \sum\limits_{j = 1}^{N_i } {\left( { - q_{i,j} \left( {V_i ,V_j ,t} \right)[X]_s } \right) + q_{X,in} \left( t \right) - r^ - X} \hspace{20mm}(4) +\]

    \(X_i\) is the amount (mols or mass) of a tracer in control volume \(i\), \([X]\) is the concentration of the tracer in amount per volume water and \(q_{X,in}(t)\) is a source or sink flux in amount per day (eg. g/day) and \(r^-\) is a decay rate in 1/day. \([X]_s\) is the concentration of the source of the flux, determined by the sign of \(q_{i,j}\).

    A water store maintains a reference to each tracer store for each simulated tracer. The figure shows the storage concept hierarchy in CMF. If needed, state variables for momentum or energy conservation models could be introduced.

    @@ -141,6 +161,7 @@

    Mathematical solving system

    The state variables provide methods for calculating their derivatives, thus any collection of state variables forms a system of ordinary differential equations, to be integrated by any well known integration scheme for initial value problems (IVP).

    All solvers, except the CVODE solver are implemented using OpenMP for parallel computation of the derivatives, while the original CVODE code is integrated into CMF as a static library. The CVODE library is also parallelized using OpenMP. The selection of the most appropriate solver for the ODEs making up any one model is not trivial. While explicit methods, like the explicit Euler scheme and the Runge-Kutta-Fehlberg (RKF) method are computationally inexpensive per time step, many possible setups of CMF are too unstable, or stiff, to be solved by an explicit method. The stiffer the system, the more complex integration method needs to be used. Stiffness of systems is indicated by the appearance of processes with highly different time scales. This is especially the case if the Richards equation is to be solved and surface runoff is allowed to reinfiltrate the soil. For such systems only the CVODE solver with an appropriate preconditioner for the Newton-Krylov iteration is able to solve the system. While CMF cannot provide significant guidance in terms of the most appropriate solution procedure, the fact that a variety of choices is available has a large degree of utility for modellers with an interest in the process of discretizing continuous systems of equations to develop solutions, and in particular how those choices may be reflected in modelled results. Again, we make the argument that the most appropriate model for any unique situation may best be arrived through some degree of experimentation. The solution procedure is part of this process, and CMF is designed to explicitly recognize this fact.

    +
    diff --git a/docs/fluxogram_and_get_fluxes.html b/docs/fluxogram_and_get_fluxes.html deleted file mode 100644 index eded607e..00000000 --- a/docs/fluxogram_and_get_fluxes.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - -cmf: How to get a nice visual representation of your model - - - - - - - - - - - - - - - - -
    -
    - - - - - - - -
    -
    2.0.0a0
    -
    The Catchment Modelling Framework
    -
    -
    - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    - - -
    - -
    - -
    -
    -
    How to get a nice visual representation of your model
    -
    -
    -

    Downloads

    - -

    Introduction

    -

    As your lumped model gets more and more complex it sometimes is difficult to not lose the overview in your own model. This tutorial will show you how to find out where the water in your model is stored and what its flowpaths are. Additionally you will learn how to make a nice graphic (a fluxogram) out of the data you get. One example for a bit more complex fluxogram can be seen here.

    -

    Building a simple and lumped CMF model

    -

    The first step we need to tackle is to construct a small CMF Model which we will explore in later steps. By now you should be familiar with simple setups like this. To be able to work your model file and the files for the fluxogram and get_storages_fluxes all need to be in the same directory.

    -

    ~~~~~~~~~~~{.py}

    first import a few handy tools

    -

    import numpy as np import cmf import datetime

    -

    also import the fluxogram and our function to find the fluxes and storages

    -

    import fluxogram import get_storages_fluxes as gsf

    -

    create the project and cell for the lumped model

    -

    p = cmf.project() c = p.NewCell(0,0,0,1000)

    -

    create the storages and the outlet they flow to

    -

    c.surfacewater_as_storage() c.add_layer(5.0) outlet = p.NewOutlet("outlet",10,0,0)

    -

    add the connections between the storages

    -

    cmf.kinematic_wave(c.surfacewater, outlet, 1) cmf.kinematic_wave(c.surfacewater, c.layers[0], 1) cmf.kinematic_wave(c.layers[0], outlet, 3)
    -

    define the timeperiod of the model

    -

    begin = datetime.datetime(1979,1,1) end = begin + 15 * datetime.timedelta(days = 1) step = datetime.timedelta(days=1)

    -

    create artificial rain data

    -

    Prec = cmf.timeseries(begin, step) Prec.extend(prec for prec in np.random.randint(0, high = 30, size = 15))

    -

    add a rainstation and tell the model to use it

    -

    rainstation = p.rainfall_stations.add("Rain", Prec, (0,0,0)) p.use_nearest_rainfall() ~~~~~~~~~~~~~~~

    -

    Creating a solver and letting the model run, while collecting the data

    -

    As we now have a model to explore, we can make it run by using a solver that calculates our fluxes and storages. While the model is running we also collect the fluxes and storages for every single day seperately. For this we use get_storages_fluxes.py. In this file are functions that go recursively through all nodes of the model and collect the data. For simple usage it is not neccesary to understand exactly how it works, but it sure does not hurt to try. If you cannot grasp it, do not be dissapointed. You can practice the leap of faith.

    -
    # create a solver
    solver = cmf.CVodeIntegrator(p, 1e-8)
    # create empty lists to store the results of the fluxes and storages later
    timeseries_fluxes = [] timeseries_storages = []
    # let the solver run for our timeperiod in one day steps
    for t in solver.run(begin, end, cmf.day):
    # the fluxes are at first returned in a very detailed way
    # as this can be a bit overwhelming we convert them to a version
    # that is easier to use
    fluxes_raw = gsf.flux_of_all_nodes_of_cell(c.rain_source, c, t)
    # the following function is used for this conversion
    fluxes_nicer = gsf.convert_fluxes_for_fluxogram(fluxes_raw)
    # add the fluxes and storages to our timeseries
    timeseries_fluxes.append(fluxes_nicer)
    timeseries_storages.append(gsf.storages_of_cell(c.rain_source, c))

    Clean and display the data

    -

    After we now have collected data for the fluxes and storages on every day our model run we can display it. But before this we have to clean it of artifacts.

    -
    # due to the way CMF constructs models and how this program searches
    # through it, nodes with no fluxes and storage can occur.
    # To get rid of them the following function can be useful
    # but be careful as sometimes those empty timeseries emerge because
    # you did something wrong and not the code
    timeseries_fluxes_stripped = gsf.del_empty_nodes(timeseries_fluxes)
    timeseries_storages_stripped = gsf.del_empty_nodes(timeseries_storages)
    # and now lets look on the results
    for day, day_counter in zip(timeseries_storages_stripped, range(len(
    timeseries_storages_stripped))):
    print("Storages volumes on day: " + str(day_counter))
    print(day)
    print("")
    for day, day_counter in zip(timeseries_fluxes_stripped, range(len(
    timeseries_fluxes_stripped))):
    print("Fluxes volumes on day: " + str(day_counter))
    print(day)
    print("")

    Getting ready to make a fluxogram

    -

    The fluxogram is animated from a bunch of single pictures that get stitched together. For this stitching we need ffmpeg. ffmpeg is a handy project to handle video and audio material. It can be downloaded ​here. To be able to use it correctly ffmpeg also needs to be added to your systems PATH. PATH is a variable your computer searches through if you try to call programs from the console. An explanation how to do this can be found ​here. You can test if you have done it right if you open a console and type "ffmpeg". If it does not throw an error and shows you the options of ffmpeg you have done everything right. If it does not work directly try restarting your computer.

    -

    Building a fluxogram

    -

    After we now have the data from our model and the additional programs we need, we can make a fluxogram.

    -

    ~~~~~~~~~~~{.py}

    first create an instance of the fluxogram object

    -

    To work properly the fluxogram needs to know a few things from you

    -

    The first number is the maximal flow that will occur in your model.

    -

    You do not need the exact number, just a rough estimate

    -

    This holds also true for the second number which is your maximal

    -

    storage volume. The grid_size defines how big your fluxogram will be

    -

    and root = True is needed if your data differs wildly in size.

    -

    In this case root = True will smooth things out.

    -

    fl = fluxogram.Fluxogram(30, 50, grid_size = 10, root = True)

    -

    After we now have a fluxogram instance to work with we can add the storages

    -

    and fluxes. But as the order must be the same as the order of our data.

    -

    Therefore, we first have to find out what the order of our data is

    -

    and shape our fluxogram accordingly. The following lines can be commented

    -

    out, once the order of the data is known

    -

    print(sorted(timeseries_fluxes_stripped[0].keys())) print(sorted(timeseries_storages_stripped[0].keys())) ~~~~~~~~~~~~~ Now we know our model is sorted. In this case the fluxes are sorted like:

    -

    1) Layer0 to outlet 2) rainfall to surfacewater 3) surfacewater to layer0 4) surfacewater to outlet

    -

    while the storages are sorted like:

    -

    1) Layer0 2) surfacewater

    -

    With this information we can build our fluxogram. But first a little note on what the structure of a fluxogram is. In a fluxogram every storage has an order and an offset. In this image you can see how the fluxogram is sorted using order and offset. So when you create a storage in a fluxogram you have to have an idea on how your fluxogram should look and set order and offset accordingly.

    -

    ~~~~~~~~~~~{.py}

    to add storages we have to give them some input as well

    -

    the sequence is (name_of_storage, starting volume, order, offset)

    -

    fl.add_storage("Layer0", 50, 2, 0) fl.add_storage("Surfacewater", 50, 1, 0)

    -

    Those were the storages we have a volume for. But our water

    -

    is also coming from the rain source and goint to the outlet

    -

    Therefore, we have to add those things as storages as well

    -

    fl.add_storage("Rain", 0, 0, 0) fl.add_storage("Outlet", 0, 2, 1)

    -

    The next step is to add the fluxes between the storages we have

    -

    just created. A flux needs to know what its name is, where it is

    -

    coming from, where it is going to and what its starting volume ist

    -

    fl.add_flux("lay0_out", fl.storages[0], fl.storages[3], 30) fl.add_flux("rain_surf", fl.storages[2], fl.storages[1], 30) fl.add_flux("surf_lay0", fl.storages[1], fl.storages[0], 30) fl.add_flux("surf_out", fl.storages[1], fl.storages[3], 30)

    -

    now our fluxogram is complete and we can display it

    -

    fl.draw() fl.show() ~~~~~~~~~~~~~~~~~

    -

    Animating a fluxogram

    -

    After we now have a complete fluxogram and all the data we need the animation is easy. Their is just one thing you should know: The animation function uses the windows console. If you use Linux or Mac you have to edit the fluxogram animation method yourselve.

    -
    fl.animate(timeseries_fluxes_stripped, timeseries_storages_stripped, "name_video")

    Now you have to wait until the fluxogram animation is ready. During the process a lot of pictures of the model will be created in your working directory. But do not worry, the fluxogram will delete all of them once it has finished the animation. Your result should look something like this. Have fun

    -
    -
    - - - diff --git a/docs/folderclosed.png b/docs/folderclosed.png deleted file mode 100644 index aadc8c3c..00000000 Binary files a/docs/folderclosed.png and /dev/null differ diff --git a/docs/folderclosed.svg b/docs/folderclosed.svg new file mode 100644 index 00000000..a99fa0bb --- /dev/null +++ b/docs/folderclosed.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/docs/folderclosedd.svg b/docs/folderclosedd.svg new file mode 100644 index 00000000..2c247f02 --- /dev/null +++ b/docs/folderclosedd.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/docs/folderopen.png b/docs/folderopen.png deleted file mode 100644 index dd7fb597..00000000 Binary files a/docs/folderopen.png and /dev/null differ diff --git a/docs/folderopen.svg b/docs/folderopen.svg new file mode 100644 index 00000000..2085fe56 --- /dev/null +++ b/docs/folderopen.svg @@ -0,0 +1,17 @@ + + + + + + + + + + diff --git a/docs/folderopend.svg b/docs/folderopend.svg new file mode 100644 index 00000000..bf01af51 --- /dev/null +++ b/docs/folderopend.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docs/functions.html b/docs/functions.html index 4f6659fd..8a507c0e 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - - - - + + + + + cmf: Class Members + + + + + + + - - + + - - - + + + +
    @@ -38,7 +42,7 @@ Logo -
    2.0.0b2
    +
    2.0.0b10
    catchment modelling framework
    @@ -46,21 +50,22 @@
    - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,33 +93,25 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    Here is a list of all documented class members with links to the class documentation for each member:
    -

    - _ -

    @@ -124,7 +121,7 @@

    - _ -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_0x7e.html b/docs/functions_0x7e.html deleted file mode 100644 index 5190ee83..00000000 --- a/docs/functions_0x7e.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - -cmf: Class Members - - - - - - - - - - - - - - - - -
      -
      - - - - - - - -
      -
      2.0.0b2
      -
      catchment modelling framework
      -
      -
      - - - - - - - -
      -
      - -
      -
      -
      - -
      - -
      -
      - - -
      - -
      - -
      -
      Here is a list of all documented class members with links to the class documentation for each member:
      - -

      - ~ -

      -
      -
      - - - diff --git a/docs/functions_a.html b/docs/functions_a.html index cb662f68..aee60546 100644 --- a/docs/functions_a.html +++ b/docs/functions_a.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - - - - + + + + + cmf: Class Members + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,111 +93,50 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    Here is a list of all documented class members with links to the class documentation for each member:
    -

    - a -

    @@ -202,7 +146,7 @@

    - a -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_b.html b/docs/functions_b.html index fe44cb74..8e15a021 100644 --- a/docs/functions_b.html +++ b/docs/functions_b.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - - - - + + + + + cmf: Class Members + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,40 +93,30 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    Here is a list of all documented class members with links to the class documentation for each member:
    -

    - b -

    @@ -131,7 +126,7 @@

    - b -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_c.html b/docs/functions_c.html index db6664ba..e79c87a1 100644 --- a/docs/functions_c.html +++ b/docs/functions_c.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - - - - + + + + + cmf: Class Members + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,155 +93,56 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    Here is a list of all documented class members with links to the class documentation for each member:
    -

    - c -

    @@ -246,7 +152,7 @@

    - c -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_d.html b/docs/functions_d.html index 495ea3e3..d5c2e26d 100644 --- a/docs/functions_d.html +++ b/docs/functions_d.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - - - - + + + + + cmf: Class Members + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,83 +93,43 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    Here is a list of all documented class members with links to the class documentation for each member:
    -

    - d -

    @@ -174,7 +139,7 @@

    - d -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_dup.js b/docs/functions_dup.js index ce049ee8..3ed998c3 100644 --- a/docs/functions_dup.js +++ b/docs/functions_dup.js @@ -27,5 +27,5 @@ var functions_dup = [ "x", "functions_x.html", null ], [ "y", "functions_y.html", null ], [ "z", "functions_z.html", null ], - [ "~", "functions_0x7e.html", null ] + [ "~", "functions_~.html", null ] ]; \ No newline at end of file diff --git a/docs/functions_e.html b/docs/functions_e.html index 45559fcf..495f4894 100644 --- a/docs/functions_e.html +++ b/docs/functions_e.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - - - - + + + + + cmf: Class Members + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,43 +93,30 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    Here is a list of all documented class members with links to the class documentation for each member:
    -

    - e -

    @@ -134,7 +126,7 @@

    - e -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_f.html b/docs/functions_f.html index f8d9f0f9..c1854efa 100644 --- a/docs/functions_f.html +++ b/docs/functions_f.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - - - - + + + + + cmf: Class Members + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,67 +93,35 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    Here is a list of all documented class members with links to the class documentation for each member:
    -

    - f -

    @@ -158,7 +131,7 @@

    - f -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_func.html b/docs/functions_func.html index 96099343..9c1e8d26 100644 --- a/docs/functions_func.html +++ b/docs/functions_func.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - Functions - - - - + + + + + cmf: Class Members - Functions + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,33 +93,25 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -  +
    Here is a list of all documented functions with links to the class documentation for each member:
    -

    - _ -

    @@ -124,7 +121,7 @@

    - _ -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_func.js b/docs/functions_func.js index f228f260..57ae3a43 100644 --- a/docs/functions_func.js +++ b/docs/functions_func.js @@ -25,5 +25,5 @@ var functions_func = [ "v", "functions_func_v.html", null ], [ "w", "functions_func_w.html", null ], [ "z", "functions_func_z.html", null ], - [ "~", "functions_func_0x7e.html", null ] + [ "~", "functions_func_~.html", null ] ]; \ No newline at end of file diff --git a/docs/functions_func_0x7e.html b/docs/functions_func_0x7e.html deleted file mode 100644 index 6e97ee09..00000000 --- a/docs/functions_func_0x7e.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - -cmf: Class Members - Functions - - - - - - - - - - - - - - - - -
      -
      - - - - - - - -
      -
      2.0.0b2
      -
      catchment modelling framework
      -
      -
      - - - - - - - -
      -
      - -
      -
      -
      - -
      - -
      -
      - - -
      - -
      - -
      -  - -

      - ~ -

      -
      -
      - - - diff --git a/docs/functions_func_a.html b/docs/functions_func_a.html index 05215e4f..c0e634d7 100644 --- a/docs/functions_func_a.html +++ b/docs/functions_func_a.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - Functions - - - - + + + + + cmf: Class Members - Functions + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,85 +93,42 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -  +
    Here is a list of all documented functions with links to the class documentation for each member:
    -

    - a -

    @@ -176,7 +138,7 @@

    - a -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_func_b.html b/docs/functions_func_b.html index c792dbe1..68852b52 100644 --- a/docs/functions_func_b.html +++ b/docs/functions_func_b.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - Functions - - - - + + + + + cmf: Class Members - Functions + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,24 +93,25 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -  +
    Here is a list of all documented functions with links to the class documentation for each member:
    -

    - b -

    @@ -115,7 +121,7 @@

    - b -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_func_c.html b/docs/functions_func_c.html index 5a206b33..4cf1a905 100644 --- a/docs/functions_func_c.html +++ b/docs/functions_func_c.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - Functions - - - - + + + + + cmf: Class Members - Functions + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,124 +93,45 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -  +
    Here is a list of all documented functions with links to the class documentation for each member:
    -

    - c -

    @@ -215,7 +141,7 @@

    - c -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_func_d.html b/docs/functions_func_d.html index d51b90cc..07d60e00 100644 --- a/docs/functions_func_d.html +++ b/docs/functions_func_d.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - Functions - - - - + + + + + cmf: Class Members - Functions + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,52 +93,33 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -  +
    Here is a list of all documented functions with links to the class documentation for each member:
    -

    - d -

    @@ -143,7 +129,7 @@

    - d -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_func_e.html b/docs/functions_func_e.html index 58a25298..86ec2a1c 100644 --- a/docs/functions_func_e.html +++ b/docs/functions_func_e.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - Functions - - - - + + + + + cmf: Class Members - Functions + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,28 +93,26 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -  +
    Here is a list of all documented functions with links to the class documentation for each member:
    -

    - e -

    @@ -119,7 +122,7 @@

    - e -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_func_f.html b/docs/functions_func_f.html index 4c3b29f7..39fe3d18 100644 --- a/docs/functions_func_f.html +++ b/docs/functions_func_f.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - Functions - - - - + + + + + cmf: Class Members - Functions + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,52 +93,30 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -  +
    Here is a list of all documented functions with links to the class documentation for each member:
    -

    - f -

    @@ -143,7 +126,7 @@

    - f -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_func_g.html b/docs/functions_func_g.html index f6e3036d..e7ef9e0b 100644 --- a/docs/functions_func_g.html +++ b/docs/functions_func_g.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - Functions - - - - + + + + + cmf: Class Members - Functions + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,382 +93,114 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -  +
    Here is a list of all documented functions with links to the class documentation for each member:
    -

    - g -

    @@ -473,7 +210,7 @@

    - g -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_func_h.html b/docs/functions_func_h.html index 112d7829..d3ddc1b8 100644 --- a/docs/functions_func_h.html +++ b/docs/functions_func_h.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - Functions - - - - + + + + + cmf: Class Members - Functions + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,30 +93,26 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -  +
    Here is a list of all documented functions with links to the class documentation for each member:
    -

    - h -

    @@ -121,7 +122,7 @@

    - h -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_func_i.html b/docs/functions_func_i.html index 46c11b63..08477359 100644 --- a/docs/functions_func_i.html +++ b/docs/functions_func_i.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - Functions - - - - + + + + + cmf: Class Members - Functions + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,73 +93,35 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -  +
    Here is a list of all documented functions with links to the class documentation for each member:
    -

    - i -

    @@ -164,7 +131,7 @@

    - i -

      Institute of Landscape Ecology and Resources Management,University of Gießen -Generated: Fri Apr 26 2019 12:43:55 +Generated: Fri Jan 19 2024 16:10:58 diff --git a/docs/functions_func_j.html b/docs/functions_func_j.html index 030d2d65..ff66c972 100644 --- a/docs/functions_func_j.html +++ b/docs/functions_func_j.html @@ -2,33 +2,37 @@ - - - - -cmf: Class Members - Functions - - - - + + + + + cmf: Class Members - Functions + + + + + + + - - + + - - - + + + +
      @@ -38,7 +42,7 @@ Logo -
      2.0.0b2
      +
      2.0.0b10
      catchment modelling framework
      @@ -46,21 +50,22 @@
      - + +/* @license-end */ +
    @@ -74,8 +79,8 @@
    @@ -88,18 +93,23 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -  +
    Here is a list of all documented functions with links to the class documentation for each member:
    -

    - j -

    @@ -109,7 +119,7 @@

    - j -

    @@ -74,8 +79,8 @@
    @@ -88,31 +93,26 @@
    - +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    -  +
    Here is a list of all documented functions with links to the class documentation for each member:
    -

    - k -

    @@ -122,7 +122,7 @@

    - k -