Pylada High-throughput Workflow for SS-NEB Calculations

This tutorial is based on VASP+VTST, vtstscripts, and Pylada

Written by Cheng-Wei Lee (clee2 [at] mines [dot] edu)

This tutorial assumes that users already have the relaxed endpoints for (SS-)NEB calculations, which can be also done in a high-throughput fashion using Pylada scripts like HT_relax.py or any other Python workflow that can automate the VASP calculations. The tutorials cover three topics: (1) modification to existing Pylada package, (2) customized Pylada workflows, and (3) user defined inputs.

Modification to exiting Pylada

Since nudged elastic band (NEB) calculations are performed differently from the typical VASP calculations, i.e., there are multiple working subfolders within a working folder, there are two required modifications to the published Pylada package.

modification 1 applies to "pylada/vasp/functional.py"

At line 865-868 (see blow) of the python script, there is a IF condition block to ensure that the typical VASP runs are executed properly. Since the file structure are different for NEB calculations from typical VASP calculations, we need to comment these lines out as a temporary solution.

 865         ## Last yield should be an extraction object.
 866         #if not program.success:
 867         #    raise RuntimeError("Vasp failed to execute correctly.")
 868         #return program

modification 2 applies to "pylada/vasp/keywords.py"

For the two blocks that determine ICHARG and ISTART for continuing VASP calculations, the original Pylada package only consider the main working folder and we need to add one of the working subfolders to the checklist:

original ones at line 702 and 796

            directories = [outdir]

modified one for both

            directories = [outdir, outdir+'/01/']

Customized Pylada workflow

Here's the customized Pylada workflow that takes the number of NEB iterations and the number of intermediate NEB images as input.

The user needs to modify the path to vtstscripts

User-defined inputs

Here's an exemplar Pylada submission script to utilize the customized Pylada workflow above. Pylada will prepare the INCAR, KPOINTS, POTCAR for each provided pair of endpoints and interact with HPC system to submit VASP jobs. User still need to create the initial intermediate images.

Here an exmeplar script based on Pylada and vtstscript to generate initial neb intermediate images

User needs to change the path to vtstscript

Last updated