Alpha-s plot#

This module contains the alpha-s calculation.

pygaps.characterisation.alphas_plots.alpha_s(isotherm: PointIsotherm | ModelIsotherm, reference_isotherm: PointIsotherm | ModelIsotherm, reference_area: str = 'BET', reducing_pressure: float = 0.4, branch: str = 'ads', branch_ref: str = 'ads', t_limits: tuple[float, float] = None, verbose: bool = False)[source]#

Calculate surface area and pore volume using the alpha-s method.

The reference_isotherm parameter is an Isotherm class which will form the x-axis of the alpha-s plot. The optional t_limits parameter has the upper and lower limits of the loading the section which should be taken for analysis.

Parameters:
  • isotherm (PointIsotherm, ModelIsotherm) -- The isotherm of which to calculate the alpha-s plot parameters.

  • reference_isotherm (PointIsotherm, ModelIsotherm) -- The isotherm to use as reference.

  • reference_area (float, 'BET', 'langmuir', optional) -- Area of the reference material or function to calculate it using the reference isotherm. If not specified, the BET method is used.

  • reducing_pressure (float, optional) -- p/p0 value at which the loading is reduced. Default is 0.4 as it is the closing point for the nitrogen hysteresis loop.

  • branch ({'ads', 'des'}, optional) -- Branch of the isotherm to use. It defaults to adsorption.

  • branch_ref ({'ads', 'des'}, optional) -- Branch of the reference isotherm to use. It defaults to adsorption.

  • t_limits (tuple[float, float], optional) -- Reference thickness range in which to perform the calculation.

  • verbose (bool, optional) -- Prints extra information and plots graphs of the calculation.

Returns:

dict -- A dictionary containing the t-plot curve, as well as a list of dictionaries with calculated parameters for each straight section. The basis of these results will be derived from the basis of the isotherm (per mass or per volume of adsorbent material):

  • alpha curve (list) : Calculated alpha-s curve

  • results (list of dicts):

    • section (array) : the points of the plot chosen for the line

    • area (float) : calculated surface area, from the section parameters

    • adsorbed_volume (float) : the amount adsorbed in the pores as calculated per section

    • slope (float) : slope of the straight trendline fixed through the region

    • intercept (float) : intercept of the straight trendline through the region

    • corr_coef (float) : correlation coefficient of the linear region

Raises:

Notes

Description

In order to extend the t-plot analysis with other adsorbents and non-standard thickness curves, the \(\alpha_s\) method was devised [1]. Instead of a formula that describes the thickness of the adsorbed layer, a reference isotherm is used. This isotherm is measured on a non-porous version of the material with the same surface characteristics and with the same adsorbate. The \(\alpha_s\) values are obtained from this isotherm by regularisation with an adsorption amount at a specific relative pressure, usually taken as 0.4 since nitrogen hysteresis loops theoretically close at this value

\[\alpha_s = \frac{n_a}{n_{0.4}}\]

The analysis then proceeds as in the t-plot method.

The slope of the linear section (\(s\)) can be used to calculate the area where adsorption is taking place. If it is of a linear region at the start of the curve, it will represent the total surface area of the material. If at the end of the curve, it will instead represent external surface area of the material. The calculation uses the known area of the reference material. If unknown, the area will be calculated here using the BET or Langmuir method.

\[A = \frac{s A_{ref}}{(n_{ref})_{0.4}}\]

If the region selected is after a vertical deviation, the intercept (\(i\)) of the line will no longer pass through the origin. This intercept be used to calculate the pore volume through the following equation:

\[V_{ads} = \frac{i M_m}{\rho_{l}}\]

Limitations

The reference isotherm chosen for the \(\alpha_s\) method must be a description of the adsorption on a completely non-porous sample of the same material. It is often impossible to obtain such non-porous versions, therefore care must be taken how the reference isotherm is defined.

References

pygaps.characterisation.alphas_plots.alpha_s_raw(loading: list[float], reference_loading: list[float], alpha_s_point: float, reference_area: float, liquid_density: float, adsorbate_molar_mass: float, t_limits: tuple[float, float] = None)[source]#

Calculate surface area and pore volume using the alpha-s method.

This is a 'bare-bones' function to calculate alpha-s parameters which is designed as a low-level alternative to the main function. Designed for advanced use, its parameters have to be manually specified.

Parameters:
  • loading (list[float]) -- Amount adsorbed at the surface, in mmol/material.

  • reference_loading (list[float]) -- Loading of the reference curve corresponding to the same pressures.

  • alpha_s_point (float) -- p/p0 value at which the loading is reduced.

  • reference_area (float) -- Area of the surface on which the reference isotherm is taken.

  • liquid_density (float) -- Density of the adsorbate in the adsorbed state, in g/cm3.

  • adsorbate_molar_mass (float) -- Molar mass of the adsorbate, in g/mol.

  • t_limits (tuple[float, float], optional) -- Reference thickness range in which to perform the calculation.

Returns:

  • results (list) -- A list of dictionaries with the following components:

    • section (array[float]) : the points of the plot chosen for the line

    • area (float) : calculated surface area, from the section parameters

    • adsorbed_volume (float) : the amount adsorbed in the pores as calculated per section

    • slope (float) : slope of the straight trendline fixed through the region

    • intercept (float) : intercept of the straight trendline through the region

    • corr_coef (float) : correlation coefficient of the linear region

  • alpha_curve (array) -- The generated thickness curve at each point using the thickness model.