0% found this document useful (0 votes)
20 views2 pages

NEB Calculations with PWneb Guide

The document provides instructions for performing NEB calculations using the PWneb code, detailing two methods for input file preparation and the expected output files generated. It emphasizes the importance of careful setup and offers practical advice for ensuring convergence during calculations. Additionally, it introduces the path_int.x tool for generating new paths through interpolation based on existing data.

Uploaded by

lookyoursoul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views2 pages

NEB Calculations with PWneb Guide

The document provides instructions for performing NEB calculations using the PWneb code, detailing two methods for input file preparation and the expected output files generated. It emphasizes the importance of careful setup and offers practical advice for ensuring convergence during calculations. Additionally, it introduces the path_int.x tool for generating new paths through interpolation based on existing data.

Uploaded by

lookyoursoul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

20/05/2025, 13:26 5 Using PWneb

Next: 6 Performances Up: User's Guide for The Quantum Previous: 4 Parallelism Contents

5 Using PWneb
NEB calculations with neb.x can be started in two different ways:

1. by reading a single input file, specified with the command line option -i (or -in, or -inp );
2. by specifying the number N of images with the command line option -input_images N, and
providing the input data for PWneb in a file named [Link] and for the PWscf engine in the files
pw_X.in (X = 1,..., N, see also below).

In the first case, the input file contains keywords (described here below) that enable the code to
distinguish between parts of the input containing NEB-specific parameters and parts containing
instructions for the computational engine (only PW is currently supported).

N.B.: the neb.x code does not read from standard input, so that input redirection (e.g., neb.x < [Link]
...) cannot be used.

The general structure of the file to be parsed should be as follows:


BEGIN
BEGIN_PATH_INPUT
~... neb specific namelists and cards
END_PATH_INPUT
BEGIN_ENGINE_INPUT
~...pw specific namelists and cards
BEGIN_POSITIONS
FIRST_IMAGE
~...pw ATOMIC_POSITIONS card
INTERMEDIATE_IMAGE
~...pw ATOMIC_POSITIONS card
LAST_IMAGE
~...pw ATOMIC_POSITIONS card
END_POSITIONS
~... other pw specific cards
END_ENGINE_INPUT
END

After the parsing is completed, several files are generated by PWneb, more specifically: [Link], with NEB-
related input data, and a set of input files in the PWscf format, pw_1.in, ..., pw_N.in, one for each set of
atomic position (image) found in the original input file. For the second case, the [Link] file and all
pw_X.in should be already present in the directory where the code is started. A detailed description of all
NEB-specific input variables is contained in the input description files Doc/INPUT_NEB.*, while for the
PWscf engine all the options of a scf calculation apply (see PW/Doc/INPUT_PW.* and example01 in the
NEB/examples directory).

A NEB calculation will produce a number of output files containing additional information on the
minimum-energy path. The following files are created in the directory were the code is started:
[Link]
is a three-column file containing the position of each image on the reaction coordinate (arb. units),
its energy in eV relative to the energy of the first image and the residual error for the image in
eV/a0.
[Link]
contains an interpolation of the path energy profile that pass exactly through each image; it is
computed using both the image energies and their derivatives
[Link]

[Link] 1/2
20/05/2025, 13:26 5 Using PWneb

information used by QUANTUM ESPRESSO to restart a path calculation, its format depends on the
input details and is undocumented
[Link]
atomic positions of all path images in the XCrySDen animation format: to visualize it, use xcrysden
–axsf [Link]
[Link]
atomic positions of all path images in the generic xyz format, used by many quantum-chemistry
softwares
[Link]
path information in the input format used by pw.x, suitable for a manual restart of the calculation

where prefix is the PWscf variable specified in the input. The more verbose output from the PWscf engine
is not printed on the standard output, but is redirected into a file stored in the image-specific temporary
directories (e.g. outdir/prefix_1/[Link] for the first image, etc.).

NEB calculations are a bit tricky in general and require extreme care to be setup correctly. Sometimes it
can easily take hundreds of iterations for them to converge, depending on the number of atoms and of
images. Here you can find some advice (courtesy of Lorenzo Paulatto):

1. Don't use Climbing Image (CI) from the beginning. It makes convergence slower, especially if the
special image changes during the convergence process (this may happen if CI_scheme='auto' and if
it does it may mess up everything). Converge your calculation, then restart from the last
configuration with CI option enabled (note that this will increase the barrier).
2. Carefully choose the initial path. If you ask the code to use more images than those you have
supplied on input, the code will make a linear interpolation of the atomic positions between
consecutive input images. You can visualize the .axsf file with XCrySDen as an animation: take
some time to check if any atoms overlap or get very close in some of the new images (in that case
you will have to supply intermediate images). Remember that QUANTUM ESPRESSO assumes
continuity between two consecutive input images to initialize the path. In other words, periodic
images are not used by default, so that an unwanted path could result if some atom crosses the
border of the unit cell and it is refolded in the unit cell in the input image. The problem can be
solved by activating the mininum_image option, which choses an appropriate periodic replica of
any atom that moves by more than half the size of the unit cell between two consecutive input
images. If this does not work either, you may have to manually translate an atom by one or more
unit cell base vectors in order to have a meaningful initial path.
3. Try to start the NEB process with most atomic positions fixed, in order to converge the more
"problematic" ones, before leaving all atoms move.
4. Especially for larger systems, you can start NEB with lower accuracy (less k-points, lower cutoff)
and then increase it when it has converged to refine your calculation.
5. Use the Broyden algorithm instead of the default one: it is a bit more fragile, but it removes the
problem of "oscillations" in the calculated activation energies. If these oscillations persist, and you
cannot afford more images, focus to a smaller problem, decompose it into pieces.
6. A gross estimate of the required number of iterations is (number of images) * (number of atoms) *
3. Atoms that do not move should not be counted. It may take half that many iterations, or twice as
many, but more or less that's the order of magnitude, unless one starts from a very good or very bad
initial guess.

The code path_int.x is is a tool to generate a new path (what is actually generated is the restart file)
starting from an old one through interpolation (cubic splines). The new path can be discretized with a
different number of images (this is its main purpose), images are equispaced and the interpolation can be
also performed on a subsection of the old path. The input file needed by path_int.x can be easily set up
with the help of the self-explanatory path_interpolation.sh shell script in the NEB/tools folder.

Next: 6 Performances Up: User's Guide for The Quantum Previous: 4 Parallelism Contents

[Link] 2/2

You might also like