Binding Models#
In CADET-Process, a number of binding models can be used to describe the interaction of molecules with a stationary phase.
For an overview of all models in CADET-Process, see CADETProcess.processModel
.
It’s important to note that the adsorption model is defined independently of the unit operation.
This facilitates reusing the same configuration in different unit operations or processes.
To instantiate a binding model, the corresponding class needs to be imported from the CADETProcess.processModel
module.
For example, consider the Langmuir
isotherm with a two-component system.
Show code cell content
from CADETProcess.processModel import ComponentSystem
component_system = ComponentSystem(2)
from CADETProcess.processModel import Langmuir
binding_model = Langmuir(component_system)
All model parameters can be listed using the parameters
attribute.
print(binding_model.parameters)
{'adsorption_rate': None, 'desorption_rate': None, 'capacity': None, 'is_kinetic': True}
Note that some parameters might have default values.
To only show required parameters, inspect required_parameters
.
print(binding_model.required_parameters)
['adsorption_rate', 'desorption_rate', 'capacity']
Multi-State Binding#
Some binding models support multiple binding sites, for example, the BiLangmuir
model.
Note that originally, the Bi-Langmuir model is limited to two different binding site types.
In CADET, the model has been extended to arbitrary many binding site types.
from CADETProcess.processModel import BiLangmuir
binding_model = BiLangmuir(component_system, n_binding_sites=2, name='langmuir')
n_binding_sites
denotes the total number of binding sites whereas n_bound_states
the total number of bound states.
print(binding_model.n_binding_sites)
print(binding_model.n_bound_states)
2
4
This means that parameters like adsorption_rate
now have \(4\) entries.
binding_model.adsorption_rate = [1,2,3,4]
The order of this linear array is in state-major
ordering.
I.e., the bound state index changes the slowest and the component index the fastest:
comp0bnd0, comp1bnd0, comp0bnd1, comp1bnd1
Note that this also effects the number of entries for the initial state of the stationary phase q
(see Unit Operation Models).