This repository provides source code for Maximov MA, Galukhin AV, and Gor GY, "Pore-Size Distribution of Silica Colloidal Crystals from Nitrogen Adsorption Isotherms", Langmuir 2019, https://doi.org/10.1021/acs.langmuir.9b02252
In short, it generates a kernel of adsorption and desorption isotherms using Frenkel-Halsey-Hill and Derjaguin-Broekhoff-de Boer theories and extracts the pore size distribution using Non-Negative Least Squares regression with Tikhonov (ridge) regularization and Generalized Cross-Validation.
To install the package without cloning the project, run pip install dbdb
.
To run examples from docs, clone the project git clone https://github.com/2xmax/dbdb.git && cd dbdb
, run pip3 install . && pip3 install -r requirements.docs.txt && jupyter notebook
in terminal/cmd and open the notebooks in your browser. Python 3.5+ is required for the source code, 3.6+ is required for the notebooks with examples.
Description of notebooks:
- psd_n2.ipynb - quick introduction based on the article data
- maximov2019lang_figures.ipynb - reproduced pictures from the current article
- galukhin2019lang_figures.ipynb - reproduced pictures from the previous article in series
- psd_arc.psd - application of FHH and DBdB theories on data from Cychosz, Katie A., et al., Langmuir 28.34 (2012): 12647-12654.
Pre-calculated kernels for the article are available on the releases page. If you want to reparametrize it, go to docs/maximov2019lang_figures.ipynb and see how it was done.
@article{maximov2019opals,
title={Pore-Size Distribution of Silica Colloidal Crystals from Nitrogen Adsorption Isotherms},
author={Maximov, Max A and Galukhin, Andrey V and Gor, Gennady Y},
journal={Langmuir},
volume={35},
number={47},
pages={14975--14982},
year={2019},
publisher={ACS Publications},
doi = {10.1021/acs.langmuir.9b02252},
}