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 optionalt_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 curveresults
(list of dicts):section
(array) : the points of the plot chosen for the linearea
(float) : calculated surface area, from the section parametersadsorbed_volume
(float) : the amount adsorbed in the pores as calculated per sectionslope
(float) : slope of the straight trendline fixed through the regionintercept
(float) : intercept of the straight trendline through the regioncorr_coef
(float) : correlation coefficient of the linear region
- Raises:
ParameterError -- When something is wrong with the function parameters.
CalculationError -- When the calculation itself fails.
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
See also
pygaps.characterisation.alphas_plots.alpha_s_raw
low level method
- 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 linearea
(float) : calculated surface area, from the section parametersadsorbed_volume
(float) : the amount adsorbed in the pores as calculated per sectionslope
(float) : slope of the straight trendline fixed through the regionintercept
(float) : intercept of the straight trendline through the regioncorr_coef
(float) : correlation coefficient of the linear region
alpha_curve (array) -- The generated thickness curve at each point using the thickness model.