WARNING: This project has been archived, as the functionality of SOAPLite has been merged into DScribe.
Smooth Overlap of Atomic Positions (SOAP) is an algorithm used for accurately classifying and machine learning chemical environments [1,2]. For a detailed documentation, please read soapDoc.pdf in this repository.
This is a low level, lightweight and fast implementation of SOAP for machine learning in quantum chemistry and materials physics. When given a structure and SOAP parameters, SOAPLite will spit out the SOAP spectra of local points in space. For a higher level interface, please use DScribe instead.
Here is an example of the python interface:
from soaplite import getBasisFunc, get_soap_locals
from ase.build import molecule
#-------------- Define structure -----------------------------------------------
atoms = molecule("H2O")
#-------------- Define positions of desired local environments ----------------
hpos = [
[0, 1, 2],
[2, 3, 4]
]
#------------------ Basis function settings (rCut, N_max) ----------------------
n_max = 5
l_max = 5
r_cut = 10.0
my_alphas, my_betas = getBasisFunc(r_cut, n_max)
#--------- Get local chemical environments for each defined position -----------
x = get_soap_locals(
atoms,
hpos,
my_alphas,
my_betas,
rCut=r_cut,
NradBas=n_max,
Lmax=l_max,
crossOver=True
)
print(x)
print(x.shape)
We provide a python interface to the code with precompiled C-extension. This precompiled version should work with linux-based machines, and can be installed with:
pip install soaplite
Or by cloning this repository, you can install it by
pip3 install .
in the SOAPLite directory.
- Eiaki V. Morooka - Aki78
- Marc Jäger - marchunter
- Lauri Himanen - lauri-codes
See also the list of contributors who participated in this project.
- Yu Ninomiya - Yu
- Filippo Federici - fullmetalfelix
- Yashasvi S. Ranawat - yashasvi-ranawat
- Adam Foster - suurimonster
This project is licensed under the GNU LESSER GENERAL PUBLIC LICENSE - see the LICENSE.md file for details
If you use this software, please cite
- [1] On representing chemical environments - Albert P. Bartók, Risi Kondor, Gábor Csányi paper
- [2] Comparing molecules and solids across structural and alchemical space - Sandip De, Albert P. Bartók, Gábor Cásnyi, and Michele Ceriotti paper
- Machine learning hydrogen adsorption on nanoclusters through structural descriptors - Marc O. J. Jäger, Eiaki V. Morooka, Filippo Federici Canova, Lauri Himanen & Adam S. Foster paper
The theory is based on the first two papers, and the implementation is based on the third paper.