Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sudarshanv01/tpd-analyse
First order Temperature Programmed Desorption analysis package
https://github.com/sudarshanv01/tpd-analyse
catalysis surface-science
Last synced: about 2 months ago
JSON representation
First order Temperature Programmed Desorption analysis package
- Host: GitHub
- URL: https://github.com/sudarshanv01/tpd-analyse
- Owner: sudarshanv01
- License: mit
- Created: 2021-05-20T18:03:42.000Z (over 3 years ago)
- Default Branch: develop
- Last Pushed: 2021-08-12T09:25:48.000Z (over 3 years ago)
- Last Synced: 2023-03-05T14:38:45.446Z (almost 2 years ago)
- Topics: catalysis, surface-science
- Language: Python
- Homepage: https://pubs.rsc.org/en/content/articlehtml/2021/cp/d1cp01992a
- Size: 158 KB
- Stars: 3
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
TPD analysis for first order desorption process
-----------------------------------------------## Details
Calculate the adsorption energy, configurational entropy and adsorbate-adsorbate interaction parameter for first order desorption from TPD curves.
Equations used to fit are described in the manuscipt: How to Extract Adsorption Energies, Adsorbate-adsorbate Interaction Parameters, and Saturation Coverages from Temperature Programmed Desorption Experiments ([link](https://chemrxiv.org/engage/chemrxiv/article-details/60c75888567dfe0feeec6887))
## Installation
The package can be installed via
```
pip install tpd-analyse
```## Usage
All inputs must be passed to the central class `PlotTPD`. An example of some possible inputs are shown below.
```
TPDClass = PlotTPD(exp_data=files,
order=order,
thermo_ads=vibration_energies_ads,
thermo_gas=vibration_energies_gas,
plot_temperature=np.linspace(100, 500, 50),
T_switch=T_switch_211,
T_max=T_max_211,
T_rate_min=T_rate_min_211,
beta=beta_211)
```1. `exp_data`: list of filenames. Each filename must be of the format `exposure_.csv` where some_value can be the exposure in any units.
2. `order`: currently only first order desorption reactions are implemented, so `order=1`
3. `thermo_ads` (optional): Here the `ase` class `HarmonicThermo` can be passed with the required inputs for the adsorbate(s) of interest. More information about the class can be found [here](https://wiki.fysik.dtu.dk/ase/ase/thermochemistry/thermochemistry.html).
4. `thermo_gas`: Similar to the `thermo_ads`, only for gas molecules. One option is to use `IdealGasThermo`
5. `plot_temperature`: A temperature range that the equibirium coverage can be determined in. An example range would be `np.linspace(100, 500)
6. `T_switch`: Is there are more than one processes occuring in one TPD plot, supply a list of temperatures to switch from one to another in K.
7. `T_max`: Maximum temperature to consider for *all* the TPDs.
8. `T_rate_min`: Minimum temperature at which the baseline correction can be done.
9. `beta`: Heating rate in K/s
10. `correct_background` (optional): bool to decide if the background is corrected
11. `p` (optional): Pressure in the case of *equilibirum*, only useful if equilbirum coverages are needed
12. `initial_guess_theta` (optional): Initial guess for the coverage in the Newton root solver
13. `guess_b`(optional): Guess for the ads-ads interaction.
14. `calculate_eq_coverage` (oprtional): Decide is the equilibrium coverage is computed.