https://github.com/sandialabs/pykinml
Machine learning in chemical kinetics
https://github.com/sandialabs/pykinml
scr-3008 snl-data-analysis
Last synced: 5 months ago
JSON representation
Machine learning in chemical kinetics
- Host: GitHub
- URL: https://github.com/sandialabs/pykinml
- Owner: sandialabs
- License: other
- Created: 2024-05-28T23:28:31.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-13T22:00:51.000Z (about 1 year ago)
- Last Synced: 2025-05-14T00:05:11.075Z (about 1 year ago)
- Topics: scr-3008, snl-data-analysis
- Language: Python
- Homepage:
- Size: 7.44 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pyKinML: Package for training Neural Net Potential Energy Surfaces
## Description
This repository contains the code to train NNPESs and use those models with an ASE calculator.
### How to install
This package can be installed with pip or by cloning this repo and installing it locally.
First, make sure to have pytorch installed:
https://pytorch.org/
This package relies on pytorch_scatter to sum the atomic contributions to energy. Ensure you have the proper version. Instructions for installing torch_scatter can be found at:
https://github.com/rusty1s/pytorch_scatter
## Install with pip:
pip install pykinml
### Clone from repo:
git clone git@github.com:sandialabs/pykinml.git
We also highly recomend (required for force training) using the aevmod package for calculation of the aevs and their jacobians:
https://github.com/sandialabs/aevmod.git
For transition state optimization, we recomend Sella:
https://github.com/zadorlab/sella
This code is designed for the training and running of atomistic neural network potentials.
It pulls training data from sql files which should include energies, forces, and atomic corrdinates.
The sql files should be named in with the chemical formula of the molecules within them (e.g. C5H5.db, C2H4.db, etc.)
and the atomic coordinates and forces should be in the same sequence as thier cooresponding atom type
in the database name. The models use ANI style atomic environment vectors (AEVs).
For details on AEV descriptors see DOI:https://doi.org/10.1039/C6SC05720A.
During training, the AEVs for each structure are computed prior to entering the training loop and saved.
This ensures that the AEVs only need to be computed a single time.