Binding Models

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.

Hide 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).