The codes uses SOAP descriptors throught the Dscribe Library, Machine Learning tools with scikit-learn library and the Atomic Simulation Environment (ASE) Library.
The codes uses SOAP descriptors through the Dscribe Library, Machine Learning tools with scikit-learn library and the Atomic Simulation Environment (ASE) Library.
Here is the list of libraries you need to install to execute the code:
- python = 3.10
- ase==3.22.1
- scikit-learn==1.4.1
- dscribe==2.1.0
- numpy==1.26.4
- scipy==1.12.0
- matplotlib==3.8.3
All of them can be installed via `pip` , e.g.
```
pip install -r requirements.txt
```
## Usage
This code purpose is to recreate Energy Adsorption Map (EAM) using machine learning.
running file "run.py" will train a model using an ase ".traj" object as a training set. It then predict on a n X n regular grid above the POSCAR file the adsorption energy. Results are written on a ".txt" file.
running file "run.py" will train a model using an ase ".traj" object as a training set. It then predicts on a n \times n regular grid above the POSCAR file the adsorption energy. Results are written on a ".txt" file.
train set file, POSCAR file, n value as well as parameters for the SOAP and Gaussian Process Regression can be modify in the "run.py" file.
The code to obtain AEM image like "Ag111_AEM.pdf" is also given and uses matplotlib package. Run in same repository as "results.txt" obtain previously to obtain AEM pdf map.
## Data bases
Two data bases are given in this git. The minimum working exemple is focus on the adsorption of Hydrogen on Ag(111). The data for Hydrogen adsorption on Al_{13}_Co_{4}(100) on wich the related [paper](https://doi.org/10.1021/acs.jctc.4c00367)