Skip to content

Commit

Permalink
Update documentation (#193)
Browse files Browse the repository at this point in the history
* Add radial flow models documentation
* Update DG documentation
* Fix FV boundary model documentation
* Fix surface diffusion salt dependence documentation
* Update citing: Selected applications moved to website, only cite
CADET-Core (extension) publications on github

Co-authored-by: Eric von Lieres <[email protected]>
  • Loading branch information
jbreue16 and lieres committed Oct 23, 2024
1 parent d8de618 commit b2c66b4
Show file tree
Hide file tree
Showing 19 changed files with 261 additions and 250 deletions.
13 changes: 8 additions & 5 deletions BUILD-LINUX.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,14 @@ sudo apt -y install liblapack3 liblapack-dev libblas3 libblas-dev

- Open a terminal and change to `CADET/build`
- If using MKL, execute `export MKLROOT=/opt/intel/mkl`
- Using standard LAPACK: Execute `cmake -DCMAKE_INSTALL_PREFIX="../install" ../`
- To compile:
- Using standard LAPACK: Execute `cmake -DCMAKE_INSTALL_PREFIX="../install" ../`

- Using MKL (sequential): Execute `cmake -DCMAKE_INSTALL_PREFIX="../install" -DBLA_VENDOR=Intel10_64lp_seq ../`
- Using MKL (sequential): Execute `cmake -DCMAKE_INSTALL_PREFIX="../install" -DBLA_VENDOR=Intel10_64lp_seq ../`

- Using MKL (parallel): Execute `cmake -DCMAKE_INSTALL_PREFIX="../install" -DBLA_VENDOR=Intel10_64lp ../`
- Using MKL (parallel): Execute `cmake -DCMAKE_INSTALL_PREFIX="../install" -DBLA_VENDOR=Intel10_64lp ../`

- Execute `make`
- Execute `make install`
- To build:
- Execute `make`
- To install:
- Execute `make install`
6 changes: 4 additions & 2 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@
* Andreas Püttmann (Forschungszentrum Juelich GmbH, IBG-1: Biotechnology, Juelich, Germany): Parameter sensitivities, Jacobians via AD, AD techniques (block- & band-compression)
* [Samuel Leweke](https://github.com/sleweke) (Forschungszentrum Juelich GmbH, IBG-1: Biotechnology, Juelich, Germany): Complete rewrite of v3.0 from scratch, build system, code & framework design and architecture, Matlab interface, file format, frontends (MEX, CLI), domain decomposition (multi-unit systems), reactions, 2D general rate model (paid by GE Healthcare), multiple particle types (paid by GE Healthcare)
* [William Heymann](https://github.com/immudzen) (Forschungszentrum Juelich GmbH, IBG-1: Biotechnology, Juelich, Germany): Networks of unit operations, compiler flag optimization
Salah Azzouzi (Forschungszentrum Juelich GmbH, IBG-1: Biotechnology, Juelich, Germany): Core-shell particles (paid by GE Healthcare)
* Salah Azzouzi (Forschungszentrum Juelich GmbH, IBG-1: Biotechnology, Juelich, Germany): Core-shell particles (paid by GE Healthcare)
* [Johannes Schmölder](https://github.com/schmoelder) (Forschungszentrum Juelich GmbH, IBG-1: Biotechnology, Juelich, Germany)
* [Jayghosh Rao](https://github.com/jayghoshter) (Forschungszentrum Juelich GmbH, IBG-1: Biotechnology, Juelich, Germany)
* [Jazib Hassan](https://github.com/jazib-hassan-juelich) (Forschungszentrum Juelich GmbH, IBG-1: Biotechnology, Juelich, Germany)
* [Jan Breuer](https://github.com/jbreue16) (Forschungszentrum Juelich GmbH, IBG-1: Biotechnology, Juelich, Germany)
* [Jan Breuer](https://github.com/jbreue16) (Forschungszentrum Juelich GmbH, IBG-1: Biotechnology, Juelich, Germany): Spatial DG discretizations (LRM, LRMP, GRM)
* [Ronald Jäpel](https://github.com/ronald-jaepel) (Forschungszentrum Juelich GmbH, IBG-1: Biotechnology, Juelich, Germany)
* [Hannah Lanzrath](https://github.com/hannahlanzrath) (Forschungszentrum Juelich GmbH, IBG-1: Biotechnology, Juelich, Germany)
* [Antonia Berger](https://github.com/AntoniaBerger) (Forschungszentrum Juelich GmbH, IBG-1: Biotechnology, Juelich, Germany)

## Funding Acknowledgement

Expand Down
26 changes: 7 additions & 19 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ CADET

- **Website (including documentation):** https://cadet.github.io
- **Forum:** https://forum.cadet-web.de
- **Source:** https://github.com/modsim/cadet
- **Bug reports:** https://github.com/modsim/cadet/issues
- **Source:** https://github.com/cadet/cadet-core
- **Bug reports:** https://github.com/cadet/cadet-core/issues
- **Demo:** https://www.cadet-web.de
- **Newsletter:** https://cadet-web.de/newsletter/

Expand Down Expand Up @@ -55,22 +55,10 @@ Therefore, we kindly ask that any publications or projects leveraging the capabi

- Püttmann, A.; Schnittert, S.; Naumann, U.; von Lieres, E.: `Fast and accurate parameter sensitivities for the general rate model of column liquid chromatography <http://dx.doi.org/10.1016/j.compchemeng.2013.04.021>`_, Computers and Chemical Engineering **56** (2013), 46–57.

**Selected applications:**

- Heymann, W.; Glaser, J.; Schlegel, F.; Johnson, W.; Rolandi, P.; von Lieres, E.: `Advanced score system and automated search strategies for parameter estimation in mechanistic chromatography modeling <https://doi.org/10.1016/j.chroma.2021.462693>`_, Journal of Chromatography A **1661** (2022): 462693.

- He, Q.-L.; Leweke, S.; von Lieres, E.: `Efficient numerical simulation of simulated moving bed chromatography with a single-column solver <http://doi.org/10.1016/j.compchemeng.2017.12.022>`_, Computers and Chemical Engineering **111** (2018), 183–198.

- Freier, L.; von Lieres, E.: `Robust multi-objective global optimization of stochastic processes with a case study in gradient elution chromatography <http://doi.org/10.1002/biot.201700257>`_, Biotechnology Journal **13,1** (2018), 1700257.

- Freier, L.; von Lieres, E.: [Multi-objective global optimization (MOGO): `Algorithm and case study in gradient elution chromatography <http://dx.doi.org/10.1002/biot.201600613>`_, Biotechnology Journal **12,7** (2017), 1600613.

- Diedrich, J.; Heymann, W.; Leweke, S.; Kunert, C.; Johnson, W.; Hunt, S.; Todd, B.; von Lieres, E.: `Multi-state steric mass-action model and case study on complex high loading behavior of mAb on ion exchange tentacle resin <https://doi.org/10.1016/j.chroma.2017.09.039>`_, Journal of Chromatography A **1525** (2017), 60–70.

- Püttmann, A.; Schnittert, S.; Leweke, S.; von Lieres, E.: `Utilizing algorithmic differentiation to efficiently compute chromatograms and parameter sensitivities <https://doi.org/10.1016/j.ces.2015.08.050>`_, Chemical Engineering Science, **139** (2016), 152–162.

Additionally, to ensure reproducibility of your work, we recommend citing the zenodo doi corresponding to the specific CADET release that you used.

Selected applications that demonstrate the capabilities and use-cases of CADET are highlighted in the `documentation <https://cadet.github.io>`_.

Ongoing Development
-------------------

Expand All @@ -79,7 +67,7 @@ We do our best to provide you with a stable API. However, CADET is actively deve
Bugs
----

Please report any bugs that you find `here <https://github.com/modsim/cadet/issues>`_. Or, even better, fork the repository on `GitHub <https://github.com/modsim/cadet>`_ and create a pull request (PR) with the fix.
Please report any bugs that you find `here <https://github.com/cadet/cadet-core/issues>`_. Or, even better, fork the repository on `GitHub <https://github.com/cadet/cadet-core>`_ and create a pull request (PR) with the fix.

Donations
---------
Expand All @@ -90,11 +78,11 @@ Donations
License
-------

Released under GPL v3. License (see `LICENSE.txt <https://github.com/modsim/CADET/blob/master/LICENSE.txt>`_)::
Released under GPL v3. License (see `LICENSE.txt <https://github.com/cadet/cadet-core/blob/master/LICENSE.txt>`_)::

Acknowledgments
---------------

Please refer to the `list of contributors <https://github.com/modsim/CADET/blob/master/CONTRIBUTORS.md>`_ who helped building and funding this project.
Please refer to the `list of contributors <https://github.com/cadet/cadet-core/blob/master/CONTRIBUTORS.md>`_ who helped building and funding this project.

Copyright (C) 2004-2024 CADET Authors
2 changes: 1 addition & 1 deletion doc/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## CADET Documentation


To build the documentation locally, install sphinx and other dependencies by running
To build the documentation locally, in the `doc` folder, install sphinx and other dependencies by running

```
pip install -r requirements.txt
Expand Down
Binary file modified doc/developer_guide/_images/architecture_libcadet_classes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 23 additions & 5 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,30 @@ Donations
Citing
------

To cite CADET please use the following publication:
Citing
------------
The development of CADET has been a collaborative effort, with multiple dedicated individuals contributing their expertise to create a powerful and versatile open-source software tool.
Countless hours of hard work have been invested to provide the scientific community with a valuable resource.
As an open-source project, CADET relies on the support and recognition from users and researchers to thrive.
Therefore, we kindly ask that any publications or projects leveraging the capabilities of CADET acknowledge its creators and their contributions by citing an adequate selection of our publications.

**General:**

- Leweke, S.; von Lieres, E.: `Chromatography Analysis and Design Toolkit (CADET) <https://doi.org/10.1016/j.compchemeng.2018.02.025>`_, Computers and Chemical Engineering **113** (2018), 274–294.

- von Lieres, E.; Andersson, J.: `A fast and accurate solver for the general rate model of column liquid chromatography <https://doi.org/10.1016/j.compchemeng.2010.03.008>`_, Computers and Chemical Engineering **34,8** (2010), 1180–1191.

**Numerics:**

- Breuer, J. M.; Leweke, S.; Schmölder, J.; Gassner, G.; von Lieres, E.: `Spatial discontinuous Galerkin spectral element method for a family of chromatography models in CADET <https://doi.org/10.1016/j.compchemeng.2023.108340>`_, Computers and Chemical Engineering **177** (2023), 108340.

- Leweke, S.; von Lieres, E.: `Fast arbitrary order moments and arbitrary precision solution of the general rate model of column liquid chromatography with linear isotherm <http://dx.doi.org/10.1016/j.compchemeng.2015.09.009>`_, Computers and Chemical Engineering **84** (2016), 350–362.

- Püttmann, A.; Schnittert, S.; Naumann, U.; von Lieres, E.: `Fast and accurate parameter sensitivities for the general rate model of column liquid chromatography <http://dx.doi.org/10.1016/j.compchemeng.2013.04.021>`_, Computers and Chemical Engineering **56** (2013), 46–57.

Additionally, to ensure reproducibility of your work, we recommend citing the `zenodo doi <https://doi.org/10.5281/zenodo.8179015>`_ corresponding to the specific CADET release that you used.

* Leweke, S.; von Lieres, E.: `Chromatography Analysis and Design Toolkit (CADET) <http://doi.org/10.1016/j.compchemeng.2018.02.025>`_, Computers and Chemical Engineering 113 (2018), 274–294.
* Püttmann, A.; Schnittert, S.; Leweke, S.; von Lieres, E.: `Utilizing algorithmic differentiation to efficiently compute chromatograms and parameter sensitivities <http://doi.org/10.1016/j.ces.2015.08.050>`_, Chemical Engineering Science, 139 (2016), 152–162.
* Püttmann, A.; Schnittert, S.; Naumann, U.; von Lieres, E.: `Fast and accurate parameter sensitivities for the general rate model of column liquid chromatography <http://doi.org/10.1016/j.compchemeng.2013.04.021>`_, Computers and Chemical Engineering 56,13 (2013), 46-57.
* von Lieres, E.; Andersson, J.: `A fast and accurate solver for the general rate model of column liquid chromatography <http://doi.org/10.1016/j.compchemeng.2010.03.008>`_, Computers and Chemical Engineering 34,8 (2010), 1180–1191.
Selected applications that demonstrate the capabilities and use-cases of CADET are highlighted `here <https://github.com/cadet/CADET-Core/tree/master/doc/publications.md>`_.

Acknowledgments
---------------
Expand Down
2 changes: 1 addition & 1 deletion doc/interface/flux_reconstruction.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. _flux_restruction_methods:
.. _flux_reconstruction_methods:

Flux reconstruction methods
===========================
Expand Down
103 changes: 102 additions & 1 deletion doc/interface/parameter_dependencies.rst
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,108 @@ Here, :math:`p_{dep}` is the dependent parameter and :math:`p_{on}` is the param
Parameter-State Dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Currently, the dependence of surface diffusion on the particle liquid salt component is the only available parameter-state dependence.

Group /input/model/unit_XXX
---------------------------

Parameter-State Dependencies are not fully implemented yet.
``PAR_SURFDIFFUSION_DEP``

Parameter dependence of :math:`\texttt{PAR_SURFDIFFUSION}` on the particle liquid salt component (i.e. component with index 0). Valid dependencies are:

- :math:`\texttt{NONE}` Original parameter is used unmodified.
- :math:`\texttt{LIQUID_SALT_EXPONENTIAL}` Original parameter is modified by exponential law of liquid phase salt concentration.
- :math:`\texttt{LIQUID_SALT_POWER}` Original parameter is modified by power law of liquid phase salt concentration.
- :math:`\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}` Original parameter is modified by colloidal binding affinity based on liquid phase salt concentration.

Optional: If left out, no parameter dependence is assumed and the original surface diffusion coefficients are used unmodified.

================ =========================================
**Type:** string **Length:** :math:`1 / \texttt{NPARTYPE}`
================ =========================================

``PAR_SURFDIFFUSION_EXPFACTOR``

Factor :math:`\texttt{p1}` in exponential law particle surface diffusion relation
:math:`D_{s, i, m} = \tilde{D}_{s, i, m} p_{1, i, m} exp \left(p_{2, i, m} c_{0}^{p} \right)`, where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient.
Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_EXPONENTIAL}`.

================ ========================= ===================================
**Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NBOUND}`
================ ========================= ===================================

``PAR_SURFDIFFUSION_EXPFACTOR``
:math:`D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]`
where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient and
:math:`k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}`.
Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}`.

================ ============================= ===================================
**Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NBOUND}`
================ ============================= ===================================

``PAR_SURFDIFFUSION_EXPARGMULT``

Factor :math:`\texttt{p2}` in exponential law particle surface diffusion relation
:math:`D_{s, i, m} = \tilde{D}_{s, i, m} p_{1, i, m} exp \left(p_{2, i, m} c_{0}^{p} \right)`
where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient. Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_EXPONENTIAL}`.

================ ============================= ===================================
**Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NBOUND}`
================ ============================= ===================================

``PAR_SURFDIFFUSION_POWFACTOR``

Factor :math:`\texttt{p1}` in power law particle surface diffusion relation
:math:`D_{s, i, m} = \tilde{D}_{s, i, m} p_{1, i, m} \left( c_{0}^{p} \right)^{p_{2, i, m}}`
where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient. Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_POWER}`.

================ ========================= ===================================
**Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NBOUND}`
================ ========================= ===================================

``PAR_SURFDIFFUSION_POWEXP``

Fjactor :math:`\texttt{p2}` in power law particle surface diffusion relation
:math:`D_{s, i, m} = \tilde{D}_{s, i, m} p_{1, i, m} \left( c_{0}^{p} \right)^{p_{2, i, m}}`
where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient. Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_POWER}`.

================ ============================= ===================================
**Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NBOUND}`
================ ============================= ===================================

``PAR_SURFDIFFUSION_LOGKEQFACTOR``

Factor :math:`\texttt{p1}` in colloidal affinity law particle surface diffusion relation
:math:`D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]`
where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient and
:math:`k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}`.
Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}`.

================ ============================= ===================================
**Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NBOUND}`
================ ============================= ===================================

``PAR_SURFDIFFUSION_LOGKEQEXP``

Factor :math:`\texttt{p2}` in colloidal affinity law particle surface diffusion relation
:math:`D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]`
where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient and
:math:`k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}`.
Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}`.

================ ============================= ===================================
**Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NBOUND}`
================ ============================= ===================================

``PAR_SURFDIFFUSION_LOGKEQCONST``

Factor :math:`\texttt{p3}` in colloidal affinity law particle surface diffusion relation
:math:`D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]`
where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient and
:math:`k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}`.
Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}`.

================ ============================= ===================================
**Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NBOUND}`
================ ============================= ===================================
Loading

0 comments on commit b2c66b4

Please sign in to comment.