The enthalpy of adsorption represents the energy released as heat during the adsorption process as a function of loading. It can be obtained either indirectly, through the isosteric enthalpy method, or directly, using adsoption microcalorimetry. Once an enthalpy curve is calculated, a useful performance indicator is the enthalpy of adsorption at zero loading, corresponding to the inital interactions of the probe with the surface. pyGAPS contains two methods to determine the initial enthalpy of adsorption starting from an enthalpy curve.
First, make sure the data is imported by running the import notebook.
In [1]:
%run import.ipynb
The point method of determining enthalpy of adsorption is the simplest method. It just returns the first measured point in the enthalpy curve.
Depending on the data, the first point method may or may not be representative of the actual value.
In [2]:
import matplotlib.pyplot as plt
# Initial point method
isotherm = next(i for i in isotherms_calorimetry if i.material=='HKUST-1(Cu)')
res = pygaps.initial_enthalpy_point(isotherm, 'enthalpy', verbose=True)
plt.show()
isotherm = next(i for i in isotherms_calorimetry if i.material=='Takeda 5A')
res = pygaps.initial_enthalpy_point(isotherm, 'enthalpy', verbose=True)
plt.show()
This method attempts to model the enthalpy curve by the superposition of several contributions. It is slower, as it runs a constrained minimisation algorithm with several initial starting guesses, then selects the optimal one.
In [3]:
# Modelling method
isotherm = next(i for i in isotherms_calorimetry if i.material=='HKUST-1(Cu)')
res = pygaps.initial_enthalpy_comp(isotherm, 'enthalpy', verbose=True)
plt.show()
isotherm = next(i for i in isotherms_calorimetry if i.material=='Takeda 5A')
res = pygaps.initial_enthalpy_comp(isotherm, 'enthalpy', verbose=True)
plt.show()