Open ronald-jaepel opened 3 months ago
For reference, here's the current state of the documentation.
A multi-component extension to the classical Freundlich adsorption model. A linear driving force approach is applied to obtain a kinetic form.
$$$
\begin{aligned}
\frac{\mathrm{d} qi}{\mathrm{d} t} &= k{\text{ldf},i} \left(q_i^ - qi \right) & i = 0, \dots, N{\text{comp}} - 1 \
q_i^ &= k{f,i} c{p,i} \left( \sumj a{ij} c_{p,j} + \tau \right)^{n_i - 1}.
\end{aligned}
$$$
Here, $\tau > 0$ is a small constant that ensures numerical stability. In a rapid-equilibrium setting with a diagonal matrix (i.e., $a{ii} = 1$ and $a{ij} = 0$ for $j \neq i$), the traditional Freundlich isotherm is recovered.
For more information on model parameters required to define in CADET file format, see :ref:multi_component_ldf_freundlich_config
.
Multi Component Linear Driving Force Freundlich
===============================================
**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTI_COMPONENT_LDF_FREUNDLICH**
``IS_KINETIC``
Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 =
quasi-stationary. If a single value is given, the mode is set for all
bound states. Otherwise, the adsorption mode is set for each bound
state separately.
=================== ========================= =========================================
**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND
=================== ========================= =========================================
``MCLDFFRL_KLDF``
Rate constants in linear driving force approach
**Unit:** :math:`s^{-1}`
=================== ========================= =========================================
**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP
=================== ========================= =========================================
``MCLDFFRL_KF``
Proportionality constants
**Unit:** :math:`m_{MP}^{3}~m_{SP}^{-3}`
=================== ========================= ==================================
**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP
=================== ========================= ==================================
``MCLDFFRL_EXP``
Freundlich exponent
=================== ========================= ==================================
**Type:** double **Range:** :math:`\gt 0` **Length:** NCOMP
=================== ========================= ==================================
``MCLDFFRL_A``
Component influences in row-major ordering
**Unit:** :math:`m_{MP}^{3}~mol^{-1}`
=================== ========================= ==================================
**Type:** double **Range:** :math:`\ge 0` **Length:** :math:`\text{NCOMP}^2`
=================== ========================= ==================================
``MCLDFFRL_TAU``
Small constant that ensures numerical stability
=================== ========================= =========================================
**Type:** double **Range:** :math:`\gt 0` **Length:** 1
=================== ========================= =========================================
I got some comments from collaborators, so this PR will need work before it can be merged. I can take care of it after my return but I'll also forward you the email. Can't do much more from my phone atm.
This PR continues work by @sleweke to add the multicomponent Freundlich isotherm to CADET-Core.
I've rebased the branch onto master.
Status and ToDos:
The Freundlich isotherm works in all tests configurations I threw at it (both components c_p > 1, cp == 0 and cp < 0).