File: node9.html

package info (click to toggle)
espresso 6.7-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 311,068 kB
  • sloc: f90: 447,429; ansic: 52,566; sh: 40,631; xml: 37,561; tcl: 20,077; lisp: 5,923; makefile: 4,503; python: 4,379; perl: 1,219; cpp: 761; fortran: 618; java: 568; awk: 128
file content (240 lines) | stat: -rw-r--r-- 9,485 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<!--Converted with LaTeX2HTML 2019.2 (Released June 5, 2019) -->
<HTML lang="EN">
<HEAD>
<TITLE>5 Using PWneb</TITLE>
<META NAME="description" CONTENT="5 Using PWneb">
<META NAME="keywords" CONTENT="user_guide">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<META NAME="viewport" CONTENT="width=device-width, initial-scale=1.0">
<META NAME="Generator" CONTENT="LaTeX2HTML v2019.2">

<LINK REL="STYLESHEET" HREF="user_guide.css">

<LINK REL="next" HREF="node10.html">
<LINK REL="previous" HREF="node6.html">
<LINK REL="next" HREF="node10.html">
</HEAD>

<BODY >
<!--Navigation Panel-->
<A
 HREF="node10.html">
<IMG WIDTH="37" HEIGHT="24" ALT="next" SRC="next.png"></A> 
<A
 HREF="user_guide.html">
<IMG WIDTH="26" HEIGHT="24" ALT="up" SRC="up.png"></A> 
<A
 HREF="node8.html">
<IMG WIDTH="63" HEIGHT="24" ALT="previous" SRC="prev.png"></A> 
<A ID="tex2html43"
  HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALT="contents" SRC="contents.png"></A>  
<BR>
<B> Next:</B> <A
 HREF="node10.html">6 Performances</A>
<B> Up:</B> <A
 HREF="user_guide.html">User's Guide for The</A>
<B> Previous:</B> <A
 HREF="node8.html">4.2 Parallelization levels</A>
 &nbsp; <B>  <A ID="tex2html44"
  HREF="node1.html">Contents</A></B> 
<BR>
<BR>
<!--End of Navigation Panel-->

<H1><A ID="SECTION00060000000000000000">
5 Using <TT>PWneb</TT></A>
</H1>

<P>
NEB calculations with <TT>neb.x</TT> can be started in two different ways:

<OL>
<LI>by reading a single input file, specified with the command line 
option <TT>-i</TT> (or <TT>-in</TT>, or <TT>-inp</TT> );
</LI>
<LI>by specifying the number <I>N</I> of images with the command line option 
<TT>-input_images N</TT>, and providing the input data for <TT>PWneb</TT> in
a file named <TT>neb.dat</TT> and for the <TT>PWscf</TT> engine in the files
 <TT>pw_X.in</TT> (<I>X</I> = 1,..., <I>N</I>, see also below).
</LI>
</OL>

<P>
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).

<P>
<B>N.B.:</B> the <TT>neb.x</TT> code does not read from standard input,
so that input redirection (e.g., <TT>neb.x &lt; neb.in ...</TT>) cannot be used.

<P>
The general structure of the file to be parsed should be as follows:
<PRE>
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
</PRE>

<P>
After the parsing is completed, several files are generated by <TT>PWneb</TT>, more 
specifically: <TT>neb.dat</TT>, with NEB-related input data, 
and a set of input files in the <TT>PWscf</TT> format, <TT>pw_1.in</TT>, ...,
<TT>pw_N.in</TT>, one for each set of atomic position (image) found in 
the original input file.
For the second case, the <TT>neb.dat</TT> file and all <TT>pw_X.in</TT> 
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 <TT>Doc/INPUT_NEB.*</TT>, while for the
<TT>PWscf</TT> engine all the options of a <TT>scf</TT> calculation apply (see
<TT>PW/Doc/INPUT_PW.*</TT> and <TT>example01</TT> in the 
<TT>NEB/examples</TT> directory). 

<P>
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:
<DL>
<DT><STRONG><TT>prefix.dat</TT></STRONG></DT>
<DD>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/<I>a</I><SUB>0</SUB>.
</DD>
<DT><STRONG><TT>prefix.int</TT></STRONG></DT>
<DD>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
</DD>
<DT><STRONG><TT>prefix.path</TT></STRONG></DT>
<DD>information used by Q<SMALL>UANTUM </SMALL>ESPRESSO 
to restart a path calculation, its format depends on the input
details and is undocumented
</DD>
<DT><STRONG><TT>prefix.axsf</TT></STRONG></DT>
<DD>atomic positions of all path images in the XCrySDen animation format:
to visualize it, use <TT>xcrysden &ndash;axsf prefix.axsf</TT>
</DD>
<DT><STRONG><TT>prefix.xyz</TT></STRONG></DT>
<DD>atomic positions of all path images in the generic xyz format, used by
many quantum-chemistry softwares
</DD>
<DT><STRONG><TT>prefix.crd</TT></STRONG></DT>
<DD>path information in the input format used by <TT>pw.x</TT>, suitable for a manual
restart of the calculation
</DD>
</DL>
where <TT>prefix</TT> is the <TT>PWscf</TT> variable specified in the input.
The more verbose output from the <TT>PWscf</TT> engine is not printed on the standard
output, but is redirected into a file stored in the image-specific temporary 
directories (e.g. <TT>outdir/prefix_1/PW.out</TT> for the first image, etc.).

<P>
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):

<OL>
<LI>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 <TT>CI_scheme='auto'</TT> 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 <EM>increase</EM> the barrier).
</LI>
<LI>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 <TT>.axsf</TT> 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 Q<SMALL>UANTUM </SMALL>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. 
</LI>
<LI>Try to start the NEB process with most atomic positions fixed, 
in order to converge the more "problematic" ones, before leaving
all atoms move.
</LI>
<LI>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.
</LI>
<LI>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.
</LI>
<LI>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.
</LI>
</OL>

<P>
The code <TT>path_int.x</TT> 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
<TT>path_int.x</TT> can be easily set up  with the help of the self-explanatory
<TT>path_interpolation.sh</TT> shell script in the <TT>NEB/tools</TT> folder.

<P>
<HR>
<!--Navigation Panel-->
<A
 HREF="node10.html">
<IMG WIDTH="37" HEIGHT="24" ALT="next" SRC="next.png"></A> 
<A
 HREF="user_guide.html">
<IMG WIDTH="26" HEIGHT="24" ALT="up" SRC="up.png"></A> 
<A
 HREF="node8.html">
<IMG WIDTH="63" HEIGHT="24" ALT="previous" SRC="prev.png"></A> 
<A ID="tex2html43"
  HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALT="contents" SRC="contents.png"></A>  
<BR>
<B> Next:</B> <A
 HREF="node10.html">6 Performances</A>
<B> Up:</B> <A
 HREF="user_guide.html">User's Guide for The</A>
<B> Previous:</B> <A
 HREF="node8.html">4.2 Parallelization levels</A>
 &nbsp; <B>  <A ID="tex2html44"
  HREF="node1.html">Contents</A></B> 
<!--End of Navigation Panel-->

</BODY>
</HTML>