Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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