From 818cedb44e90e41708393b735ca4bd664034b4ba Mon Sep 17 00:00:00 2001 From: philippkraft Date: Wed, 22 Aug 2018 15:43:59 +0200 Subject: [PATCH] Wrote improved abstract flux tutorial (fixes #45) --- cmf/cmf_core_src/water/adsorption.h | 2 +- documentation/media/CmfTutAbstractFluxes.png | Bin 0 -> 28400 bytes .../conceptual/CmfTutAbstractFluxes.md | 45 ++++++++++++++++-- .../tutorial/conceptual/conceptual.md | 3 +- .../tutorial/gettingstarted/CmfTutBoundary.md | 2 +- .../gettingstarted/CmfTutFirstModel.md | 2 +- 6 files changed, 45 insertions(+), 9 deletions(-) create mode 100644 documentation/media/CmfTutAbstractFluxes.png diff --git a/cmf/cmf_core_src/water/adsorption.h b/cmf/cmf_core_src/water/adsorption.h index b6cb0c28..0590a49c 100644 --- a/cmf/cmf_core_src/water/adsorption.h +++ b/cmf/cmf_core_src/water/adsorption.h @@ -116,7 +116,7 @@ namespace cmf { /// The eq. above can not be rearanged to get \f$x_{free}\f$ from \f$x_{tot}\f$. Instead, the value is iterated /// using [regula falsi](http://en.wikipedia.org/wiki/False_position_method). If n is near to 1, /// using LinearAdsorption will speed up your calculations. - /// @TODO Check if an analytical solution is available + /// @todo Check if an analytical solution is available /// The simplest physically based adsorption model by Langmuir (LangmuirAdsorption) has also a analytical solution /// and is hence calculated faster then Freundlich. class FreundlichAdsorbtion: public Adsorption { diff --git a/documentation/media/CmfTutAbstractFluxes.png b/documentation/media/CmfTutAbstractFluxes.png new file mode 100644 index 0000000000000000000000000000000000000000..739619c48fff13da18bc86992352fbee8fa65a46 GIT binary patch literal 28400 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