Code for calculating the path of least resistance between two points in a scalar field using nudged elastic band (NEB).
The method is described in our paper Accelerated Autonomous Workflow For Antiperovskite-based Solid State Electrolytes.
Parts of the code is based on Pytorch-AutoNEB.
The two main components of the software is a module for linear interpolation on a grid interpolate_grid.py
and a module for running NEB torchneb.py
.
Clone the repository and install the code as a python package by running the following in the cloned directory:
pip install .
If you want to be able to run the examples with an interactive window showing the path on the charge density, install it with
pip install .[viewer]
. This will installmayavi
andPyQt5
. If using these with an X-server, make sure not to use Xming, since it's generally unsupported byPyQt5
.
Only numpy
and torch
are strictly needed. The rest of the dependencies are only for running the examples.
You can run a simple toy example by running torchneb.py
as a script:
python src/densityNEB/torchneb.py
Another example script will visualize the NEB path finding between two Li atoms in a charge density file from VASP:
python examples/chgcar_neb_animation.py examples/calculations/Li3SeF_Pm-3m/charge_density/CHGCAR
The chgcar_neb.py
file is included as an example on how to process multiple CHGCARs in a batch job.
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 957189.