Very similar to the t-plot method, the $\alpha_s$ method compares an isotherm on a porous material with one that was taken on a reference non-porous surface. The reference isotherm should have a wide range of pressures to be able to interpolate the loading values at the required pressures. First, make sure the data is imported notebook.
In [1]:
%run import.ipynb
Unfortunately, we don't have a reference isotherm in our data. We are instead going to be creative and assume that the adsorption on the silica ($SiO_2$ sample) is a good representation of an adsorption on a non-porous version of the MCM-41 sample. Let's try:
In [2]:
iso_1 = next(i for i in isotherms_n2_77k if i.material=='MCM-41')
iso_2 = next(i for i in isotherms_n2_77k if i.material=='SiO2')
print(iso_1.material)
print(iso_2.material)
try:
pygaps.alpha_s(iso_1, reference_isotherm=iso_2, verbose=True)
except Exception as e:
print('ERROR!:',e)
The data in our reference isotherm is on a smaller range than that in the isotherm that we want to calculate! We are going to be creative again and first model the adsorption behaviour using a ModelIsotherm.
In [3]:
model = pygaps.ModelIsotherm.from_pointisotherm(iso_2, model='BET')
pygaps.plot_iso([iso_2, model], branch='ads')
plt.show()
With our model fitting the data pretty well, we can now try the $\alpha_s$ method again.
In [4]:
pygaps.alpha_s(iso_1, model, verbose=True)
plt.show()
The results don't look that bad, considering all our assumptions and modelling. There are other parameters which can be specified for the $\alpha_s$ function such as:
More info can be found in the documentation of the module