NEB / Transition-State Analysis

This tutorial explains how to prepare and analyze nudged elastic band (NEB) and climbing-image NEB (CI-NEB) calculations with VQkit.

VQkit supports:

  • VASP endpoint interpolation and NEB image generation;

  • Quantum ESPRESSO native neb.x input generation;

  • visual CIF inspection of QE interpolated images;

  • completed VASP and QE NEB energy-profile analysis;

  • forward activation barrier;

  • reverse activation barrier;

  • reaction energy;

  • energy-profile plots and numerical exports.

Important

VQkit-generated interpolated images are only initial guesses for a NEB or CI-NEB calculation.

They are not transition states by themselves.

The actual transition-state estimate comes only after a properly converged NEB or CI-NEB calculation.

Before starting

Prepare two well-relaxed endpoint structures representing:

  • the initial state;

  • the final state.

The two endpoints must represent the same atomic system.

They should have:

  • the same number of atoms;

  • the same atom ordering;

  • the same chemical species ordering;

  • the same simulation cell for a normal NEB path;

  • physically meaningful endpoint geometries.

Open NEB image generation

From the VQkit main menu choose:

[1] Pre-processing

Then select the NEB / transition-state image-generation workflow.

You can also use the smart keyword:

neb

VQkit opens:

NEB / TRANSITION-STATE IMAGE GENERATION

and asks:

Select electronic-structure code:
  [1] VASP
  [2] Quantum ESPRESSO
  [0] Back

VASP NEB preparation

Choose:

1

VQkit expects two optimized VASP structures.

Typical filenames are:

POSCAR
CONTCAR

VQkit asks:

Initial structure file in current directory [POSCAR]:

and:

Final structure file in current directory [CONTCAR]:

Press Enter to accept the defaults when appropriate.

Endpoint validation

VQkit verifies that both selected files are valid VASP structures.

If either file cannot be parsed as a VASP structure, the workflow stops.

Number of intermediate images

VQkit asks:

Number of intermediate images [5]:

If you accept the default:

5

the total number of structures is:

\[N_{\mathrm{total}} = N_{\mathrm{intermediate}} + 2\]

so:

5 intermediate images + 2 endpoints = 7 total structures

Output directory

VQkit asks:

Output folder [VQkit_NEB_images]:

Press Enter to use the default.

VQkit generates the interpolated path in the output folder.

The resulting VASP NEB path follows the standard numeric image-directory convention.

A typical path may look like:

VQkit_NEB_images/
├── 00/
├── 01/
├── 02/
├── 03/
├── 04/
├── 05/
└── 06/

The first directory is the initial endpoint and the final directory is the final endpoint.

Intermediate coordinates

VQkit interpolates between the two endpoint structures to create starting images.

These structures should always be checked visually before submitting the NEB calculation.

Linear interpolation can produce unphysical configurations when:

  • atoms cross each other;

  • bonds change substantially;

  • diffusion occurs around an obstacle;

  • molecular rotations are important;

  • multiple reaction pathways are possible.

VASP production setup

After image generation, prepare the normal VASP NEB calculation around the image folders.

Typical top-level files include:

INCAR
KPOINTS
POTCAR

with the image directories:

00/
01/
...
NN/

Each image directory normally contains the structure for that image.

The actual NEB INCAR settings remain the responsibility of the researcher.

Typical NEB/CI-NEB parameters should be reviewed according to the VASP documentation and the scientific problem.

Quantum ESPRESSO NEB preparation

Choose:

2

VQkit expects two optimized QE pw.x endpoint input files.

The preferred names are:

initial.in
final.in

VQkit explains:

initial.in : optimized initial endpoint + QE settings/species/constraints
final.in   : optimized final endpoint with identical atom order/cell

If those names do not exist, VQkit searches the current directory for available *.in files and proposes suitable defaults.

QE endpoint requirements

The initial and final inputs must have:

  • the same number of atoms;

  • identical species ordering;

  • identical atom ordering;

  • the same simulation cell.

If these conditions are not satisfied, VQkit stops and reports an error.

Number of intermediate images

VQkit asks:

Number of intermediate images [5]:

The current QE workflow requires at least one intermediate image.

It also verifies that the total number of images is suitable for neb.x.

QE native input

VQkit asks:

QE neb.x input file [VQkit_QE_neb.in]:

Press Enter to use:

VQkit_QE_neb.in

VQkit creates a native neb.x input containing:

  • BEGIN_PATH_INPUT;

  • &PATH;

  • BEGIN_ENGINE_INPUT;

  • BEGIN_POSITIONS;

  • FIRST_IMAGE;

  • INTERMEDIATE_IMAGE;

  • LAST_IMAGE.

The generated PATH block contains starter settings such as:

string_method = 'neb'
restart_mode = 'from_scratch'
nstep_path = 100
opt_scheme = 'broyden'
CI_scheme = 'no-CI'
path_thr = 0.05

These are starter values and must be reviewed before a production calculation.

QE CIF inspection images

VQkit also asks:

CIF image-check folder [VQkit_NEB_CIF_images]:

It creates a set of CIF files containing exactly the same interpolated coordinates used in the generated neb.x input.

Typical files are:

VQkit_NEB_CIF_images/
├── 00_initial.cif
├── 01_image.cif
├── 02_image.cif
├── ...
└── 06_final.cif

VQkit then asks:

Have you checked/approved the intermediate CIF images? [y/N]:

You should inspect these structures visually before submission.

If you answer N or press Enter, VQkit warns:

Do NOT submit NEB until the CIF path has been inspected.

Running QE NEB

After reviewing:

  • PATH settings;

  • prefix;

  • outdir;

  • pseudopotentials;

  • cutoffs;

  • k-points;

  • constraints;

  • interpolated structures,

a typical run command is:

neb.x -in VQkit_QE_neb.in > neb.out

For MPI execution, adapt the command to your HPC environment.

NEB post-processing

After the NEB calculation is complete, VQkit can analyze the energy profile.

From the main menu choose:

[2] Post-processing

Then choose:

[5] Energetics and thermodynamics

Then select:

[3] NEB / transition-state analysis and plot

VQkit opens:

NEB / TRANSITION-STATE POST-PROCESSING

Expected directory layout

VQkit expects numeric image directories:

00/
01/
02/
...
06/

At least three numeric image folders are required.

VASP energy detection

For each VASP image, VQkit first searches:

OUTCAR

and reads the final:

free energy TOTEN

If that is unavailable, VQkit tries:

OSZICAR

and reads the final E0 value or, as a fallback, F.

Quantum ESPRESSO energy detection

For a QE image directory, VQkit searches files such as:

*.out
*.pwo
pw.out*

and reads:

! total energy = ... Ry

The energy is converted from Rydberg to electron volts using:

\[1\ \mathrm{Ry} = 13.605693122994\ \mathrm{eV}\]

Mixed-code profiles

All NEB images must belong to the same electronic-structure code.

If some image folders contain VASP results and others contain QE results, VQkit stops and reports an error.

Relative-energy profile

Let:

\[E_0\]

be the initial-image energy.

For every image:

\[\Delta E_i = E_i - E_0\]

The initial image is therefore referenced to:

0 eV

Transition-state candidate

VQkit identifies the highest-energy image as the transition-state candidate:

\[E_{\mathrm{TS,candidate}} = \max(E_i)\]

For a standard NEB calculation, this is only an approximate transition-state region.

For a converged CI-NEB calculation, the climbing image should provide the saddle-point estimate.

Forward activation barrier

The forward barrier is:

\[E_a^{\mathrm{forward}} = E_{\mathrm{TS}} - E_{\mathrm{initial}}\]

Reverse activation barrier

The reverse barrier is:

\[E_a^{\mathrm{reverse}} = E_{\mathrm{TS}} - E_{\mathrm{final}}\]

Reaction energy

The reaction energy is:

\[\Delta E_{\mathrm{rxn}} = E_{\mathrm{final}} - E_{\mathrm{initial}}\]

If:

\[\Delta E_{\mathrm{rxn}} < 0\]

the final state is lower in energy than the initial state.

If:

\[\Delta E_{\mathrm{rxn}} > 0\]

the final state is higher in energy.

Generated NEB outputs

VQkit writes:

VQkit_NEB_PROFILE.dat
VQkit_NEB_ANALYSIS_summary.txt
VQkit_NEB_PROFILE.png
VQkit_NEB_PROFILE.pdf

Profile data

VQkit_NEB_PROFILE.dat contains:

image_index
image_label
total_energy_eV
relative_energy_eV

Summary

VQkit_NEB_ANALYSIS_summary.txt reports:

  • electronic-structure code;

  • NEB root directory;

  • all image energies;

  • relative energies;

  • highest-energy image;

  • forward barrier;

  • reverse barrier;

  • reaction energy;

  • transition-state caution.

Plot

VQkit_NEB_PROFILE.png and VQkit_NEB_PROFILE.pdf show:

  • NEB image number / reaction coordinate on the x-axis;

  • relative energy in eV on the y-axis;

  • each image as a point;

  • the initial image referenced to zero.

Example: VASP diffusion pathway

Assume you have optimized:

POSCAR_initial
POSCAR_final

Step 1 — Place endpoints together

Copy both endpoint structures into one directory.

Step 2 — Start VQkit

Run:

vqkit

Step 3 — Open NEB generation

Use the NEB pre-processing workflow or type:

neb

Step 4 — Select VASP

Choose:

1

Step 5 — Enter endpoints

For example:

Initial structure file: POSCAR_initial
Final structure file: POSCAR_final

Step 6 — Choose image count

For example:

Number of intermediate images [5]: 5

Step 7 — Generate images

Use:

VQkit_NEB_images

as the output directory.

Step 8 — Inspect images

Visualize all structures from:

00
01
02
...
06

and confirm that the path is physically reasonable.

Step 9 — Run VASP NEB / CI-NEB

Prepare the NEB calculation and run VASP.

Step 10 — Analyze the finished path

After all image calculations complete, open:

Post-processing
Energetics and thermodynamics
NEB / transition-state analysis and plot

Step 11 — Inspect the outputs

Check:

VQkit_NEB_PROFILE.png
VQkit_NEB_ANALYSIS_summary.txt
VQkit_NEB_PROFILE.dat

Example: QE NEB workflow

Assume the endpoint files are:

initial.in
final.in

Step 1 — Open NEB generation

Type:

neb

Step 2 — Choose Quantum ESPRESSO

Enter:

2

Step 3 — Confirm endpoints

Use:

initial.in
final.in

Step 4 — Select intermediate images

For example:

5

Step 5 — Create native QE input

Accept:

VQkit_QE_neb.in

Step 6 — Create CIF check images

Accept:

VQkit_NEB_CIF_images

Step 7 — Visualize every CIF

Confirm:

  • atom ordering;

  • no atomic overlap;

  • no unrealistic bond crossing;

  • a physically reasonable pathway.

Step 8 — Confirm the path

Only answer:

y

after you have actually inspected the path.

Step 9 — Review QE settings

Check:

  • &PATH;

  • CI settings;

  • prefix;

  • outdir;

  • pseudopotentials;

  • cutoff energies;

  • k-point mesh;

  • constraints.

Step 10 — Run neb.x

For example:

neb.x -in VQkit_QE_neb.in > neb.out

Step 11 — Analyze the completed profile

Organize completed image outputs in numeric directories if necessary and use the VQkit NEB post-processing workflow.

Common problems

Initial and final atom counts differ

NEB requires equivalent atomic systems.

If the atom counts differ, VQkit stops.

Atom ordering differs

Even if the compositions are identical, different atom ordering can produce an incorrect interpolation.

Make sure atom i in the initial structure corresponds physically to atom i in the final structure.

Simulation cells differ

For the QE native NEB generator, the endpoint cells must match.

Use consistent lattice vectors for both endpoints.

Unphysical interpolated images

Linear interpolation may produce poor paths.

Possible solutions include:

  • manually adjusting intermediate images;

  • adding more chemically informed waypoints;

  • using an improved interpolation method;

  • choosing a different reaction coordinate.

Missing image energy

If VQkit reports:

Could not read a completed energy for image folder(s)

check that every numeric image directory contains a completed output.

For VASP, check:

OUTCAR
OSZICAR

For QE, check for completed pw.x output.

Fewer than three image folders

VQkit requires at least:

initial
intermediate
final

for post-processing.

Mixed VASP and QE files

A single energy profile cannot mix VASP and QE image outputs.

Use one electronic-structure code consistently.

No plot generated

The numerical profile and summary can still be written even if Matplotlib is unavailable.

Install the plotting dependencies to generate:

VQkit_NEB_PROFILE.png
VQkit_NEB_PROFILE.pdf

Scientific cautions

Highest-energy image is not automatically a true transition state

For a normal NEB calculation, the highest-energy image is only the highest-energy point sampled along the discrete path.

A true transition-state estimate requires appropriate saddle-point treatment, commonly CI-NEB.

Convergence must be checked

Do not report a barrier unless the NEB forces and pathway are adequately converged.

Image count

Too few images may poorly resolve the reaction path.

Too many images may increase computational cost without improving the scientific result.

Choose the image count based on pathway complexity.

Endpoint quality

The initial and final states should be independently optimized and physically meaningful minima.

Pathway dependence

Different mechanisms can have different activation barriers.

One interpolated NEB path does not prove that the corresponding mechanism is the globally lowest-energy reaction pathway.

Energy consistency

All images should use consistent:

  • pseudopotentials;

  • exchange-correlation functional;

  • cell;

  • k-point settings;

  • cutoff;

  • spin treatment;

  • electronic convergence settings.

VQkit provides preparation and post-processing assistance, but the physical validity of the NEB pathway and transition-state assignment remains the responsibility of the researcher.