File: lesson_paral_string.html

package info (click to toggle)
abinit 7.8.2-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 278,292 kB
  • ctags: 19,095
  • sloc: f90: 463,759; python: 50,419; xml: 32,095; perl: 6,968; sh: 6,209; ansic: 4,705; fortran: 951; objc: 323; makefile: 43; csh: 42; pascal: 31
file content (406 lines) | stat: -rw-r--r-- 25,681 bytes parent folder | download
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
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="fr-fr"><head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Tutorial Paral String</title></head><body style="background-color: rgb(255, 255, 255);">
<hr>
<h1>ABINIT,
lesson paral_string :</h1>
<h2>String method for the computation of minimum energy
paths:&nbsp;</h2>
<h2>how to use it on&nbsp;parallel architectures ?</h2>
<hr>
<p>This lesson aims at showing how to perform a calculation of a
minimum energy path (MEP) using the <span style="font-style: italic;">string method</span>. </p>
<ul>
</ul>
You will learn how to run the <span style="font-style: italic;">string
method</span> on a parallel architecture and what are
the main
input
variables that govern convergency and numerical efficiency.&nbsp;<br>
<p>This lesson should take about 1.5 hour and requires
to have at least a 200 CPU cores parallel computer. </p>
<p>You are supposed to know already some basics of parallelism in ABINIT, explained in the tutorial
<a href="lesson_basepar.html">A first introduction to ABINIT in parallel</a>, and 
<a href="lesson_paral_gspw.html">ground state with plane waves</a>.
<h5>Copyright (C) 2011-2014 ABINIT group (MT, GG) <br>
This file is distributed under the terms of the GNU General Public
License, see ~ABINIT/COPYING or <a href="http://www.gnu.org/copyleft/gpl.txt">
http://www.gnu.org/copyleft/gpl.txt </a>. <br>
For the initials of contributors, see ~ABINIT/Infos/contributors . </h5>

<script type="text/javascript" src="list_internal_links.js"> </script>

<h3><b><b>Contents of lesson paral_string :</b></b></h3>
<ul>
<li><a href="lesson_paral_string.html#0">0.</a>
Summary of the <span style="font-style: italic;">string
method</span></li>
<li><a href="lesson_paral_string.html#1">1.</a>
Computation of the initial and final configurations</li>
<li><a href="lesson_paral_string.html#2">2.</a>
Related keywords</li>
<li><a href="lesson_paral_string.html#3">3.</a>
Computation of the MEP without parallelism over images</li>
<li><a href="lesson_paral_string.html#4">4.</a>&nbsp;Computation
of the MEP using parallelism over images</li>
<li><a href="lesson_paral_string.html#5">5.</a>
Converging the MEP</li>
</ul>
<hr>
<h3><a name="0"></a><b><br>
0. Summary of the String Method</b></h3>
The <span style="font-style: italic;">string method</span>
[1] is an algorithm that allows the computation of a
Minimum Energy Path (MEP) between an initial (i) and a final (f)
configuration. It is inspired from the Nudge Elastic Band (NEB) method.
An elastic chain of configurations joining (i) to (f) is progressively
driven to the MEP using an iterative procedure in which each iteration
consists of two steps:<br>
(1)<span style="font-style: italic;"> evolution step</span>:
the images are moved following the atomic forces,<br>
(2) <span style="font-style: italic;">reparametrization
step</span>: the images are equally redistributed along the
string.<br>
The
algorithm presently implemented in ABINIT is the so-called "simplified
string method" [2]. It has been designed for the sampling of smooth
energy landscapes.<br>
<span style="font-weight: bold;">[1]</span> "<span style="font-style: italic;">String method for the study of
rare events</span>", W. E, W. Ren, E. Vanden-Eijnden, Physical
Review B <span style="font-weight: bold;">66</span>,
052301
(2002).<br>
<span style="font-weight: bold;">[2]</span> "<span style="font-style: italic;">Simplified string method for
computing the minimum energy path in barrier-crossing events</span>",
W. E, W. Ren, E. Vanden-Eijnden, J. Chem. Phys. <span style="font-weight: bold;">126</span>, 164103
(2007).<br style="font-style: italic;">
<hr style="width: 100%; height: 2px; font-style: italic;"><span style="font-style: italic;"><br>
Before continuing you might work in a different subdirectory as
for the other lessons. Why not "work_paral_string" ? In what follows,
the names of files are mentionned as if you were in this subdirectory.</span><br style="font-style: italic;">
<span style="font-style: italic;">All the input files can
be found in the ~abinit/tests/tutoparal/Input directory.</span><br style="font-style: italic;">
<span style="font-style: italic;">You can compare your
results with reference output files located in
~abinit/tests/tutoparal/Refs.<br>
<br>
In the following, when "run ABINIT over nn CPU cores" appears, you have
to use a specific command line according to the operating system and
architecture of the computer you are using. This can be for instance:
mpirun -n nn abinit &lt; abinit.files or the use of a specific
submission file.<br>
</span><span style="font-weight: bold;"></span>
<h3>
<hr> <a name="1"></a>&nbsp;<b><b><br>
1.&nbsp; Computation of the initial and final configurations</b></b></h3>
We propose to compute the energy barrier for transfering a proton from
an<span style="font-weight: bold; color: rgb(51, 51, 255);">
hydronium ion (H</span><sub style="font-weight: bold; color: rgb(51, 51, 255);">3</sub><span style="font-weight: bold; color: rgb(51, 51, 255);">O</span><sup style="font-weight: bold; color: rgb(51, 51, 255);">+</sup><span style="font-weight: bold; color: rgb(51, 51, 255);">)</span>
onto a <span style="font-weight: bold; color: rgb(51, 51, 255);">NH</span><sub style="font-weight: bold; color: rgb(51, 51, 255);">3</sub><span style="font-weight: bold; color: rgb(51, 51, 255);"> molecule</span>:
<br>
<dl>
<dd>H<sub>3</sub>O<sup>+</sup> + NH<sub>3</sub>
-&gt; H<sub>2</sub>O + NH<sub>4</sub><sup>+</sup></dd>
</dl>
Starting
from an hydronium ion and an ammoniac molecule, we obtain as final
state a <span style="font-weight: bold; color: rgb(51, 51, 255);">water
molecule</span> and an <span style="font-weight: bold; color: rgb(51, 51, 255);">ammonium
ion NH</span><sub style="font-weight: bold; color: rgb(51, 51, 255);">4</sub><sup style="font-weight: bold; color: rgb(51, 51, 255);">+</sup>.
In such a process, the
MEP and the barrier are dependent on the distance between the hydronium
ion and the NH<sub>3</sub> molecule. Thus we choose to fix
the O atom of H<sub>3</sub>O<sup>+</sup> and
the
N atom of NH<sub>3</sub> at a given distance from each
other (4.0 ). The
calculation is performed using a LDA exchange-correlation functional.<br>
<br>
You
can visualize the initial and final states of the reaction below (H
atoms are in white, the O atom is in red and the N atom in grey). <br>
<br>
<img style="width: 419px; height: 338px;" alt="initial state" src="lesson_paral_string/Initial1.png" hspace="20"><img style="width: 469px; height: 338px;" alt="final state" src="lesson_paral_string/Initial2.png" hspace="50"><br>
<br>
Before
using the<span style="font-style: italic;"> string method</span>,
it is necessary to optimize the initial and
final points. The input files <span style="color: rgb(204, 0, 0);">tstring_01.in</span>
and <span style="color: rgb(204, 0, 0);">tstring_02.in</span>
contain
respectively two geometries close to the initial and final states of
the system. You have first to optimize properly these initial and final
configurations, using for instance the Broyden algorithm implemented in
ABINIT.<br>
<br>
Open the <span style="color: rgb(204, 0, 0);">tstring_01.in</span>
file and look at it carefully. The
unit cell is defined at the end. Note that the keywords <a href="../input_variables/varrlx.html#natfix" target="_blank">natfix</a>
and
<a href="../input_variables/varrlx.html#iatfix" target="_blank">iatfix</a> are
used to keep fixed the positions of the O and N atoms. The
cell is tetragonal and its size is larger along <span style="font-style: italic;">x</span>
so that the periodic images of the system are separated by 4.0  of
vacuum in the three directions. The keyword <a href="../input_variables/vargs.html#charge" target="_blank">charge
</a>is used to
remove an
electron of the system and thus obtain a protonated molecule
(neutrality is recovered by adding a uniform compensating charge
background). <br>
<br>
The exchange-correlation functional uses the external
library <span style="font-style: italic;">libxc</span>.
You have to compile ABINIT using the <span style="font-style: italic;">libxc</span> plugin (if
not, simply replace <a href="../input_variables/varbas.html#ixc" target="_blank">ixc
</a>-001009 by <a href="../input_variables/varbas.html#ixc" target="_blank">ixc</a>
7). This input file has to be
run in parallel using 20 CPU cores. You might use the <span style="color: rgb(204, 0, 0);">tstring.files</span>
file.
Edit it and adapt it with the appropriate file names.<br>
<br>
Then run the
calculation in parallel over <span style="font-weight: bold;">20
CPU cores</span>, first for the initial
configuration (<span style="color: rgb(204, 0, 0);">tstring_01.in</span>),
and then for the final one
(<span style="color: rgb(204, 0, 0);">tstring_02.in</span>).
You should obtain the folowing positions:<br>
<br>
1) for the initial configuration<br>
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp; &nbsp; &nbsp;xangst&nbsp; &nbsp; &nbsp;
0.0000000000E+00&nbsp;
0.0000000000E+00&nbsp; 0.0000000000E+00</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-3.7593832509E-01 -2.8581911534E-01&nbsp; 8.7109635973E-01</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-3.8439081179E-01&nbsp; 8.6764073738E-01 -2.8530130333E-01</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
4.0000000000E+00&nbsp; 0.0000000000E+00&nbsp; 0.0000000000E+00</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
4.3461703447E+00 -9.9808458269E-02 -9.5466143436E-01</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
4.3190273240E+00 -7.8675247603E-01&nbsp; 5.6699786920E-01</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
4.3411410402E+00&nbsp; 8.7383785043E-01&nbsp; 4.0224838603E-01</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1.0280313162E+00&nbsp; 2.2598784215E-02&nbsp; 1.5561763093E-02<br>
<br>
</span>2) for the final configuration<br>
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
xangst&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0.0000000000E+00&nbsp;
0.0000000000E+00&nbsp; 0.0000000000E+00</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-3.0400286349E-01 -1.9039526061E-01&nbsp; 9.0873550186E-01</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-3.2251946581E-01&nbsp; 9.0284480687E-01 -1.8824324581E-01</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
4.0000000000E+00&nbsp; 0.0000000000E+00&nbsp; 0.0000000000E+00</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
4.4876385468E+00 -1.4925704575E-01 -8.9716581956E-01</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
4.2142401901E+00 -7.8694929117E-01&nbsp; 6.3097154506E-01</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
4.3498225718E+00&nbsp; 8.7106686509E-01&nbsp; 4.2709343135E-01</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2.9570301511E+00&nbsp; 5.5992672027E-02 -1.3560839453E-01<br>
</span>
<h3>
<hr> <a name="2"></a>&nbsp;<b><b><br>
2.&nbsp; Related keywords</b></b></h3>
Once
you have properly optimized the initial and final states of the
process, you can turn to the computation of the MEP. Let us first have
a look at the related keywords. <br>
<br>
1) <a href="../input_variables/varrlx.html#imgmov" target="_blank">imgmov</a>: selects an algorithm using
replicas of the unit cell. For the <span style="font-style: italic;">string
method</span>, choose <span style="font-weight: bold;">2</span>.<br>
2) <a href="../input_variables/varrlx.html#nimage" target="_blank">nimage</a>: gives the number of
replicas of the unit cell including the initial and
final ones.<br>
3) <a href="../input_variables/varrlx.html#dynimage" target="_blank">dynimage</a>(<a href="../input_variables/varrlx.html#nimage">nimage</a>):
arrays of
flags specifying if the image evolves or not (0: does not evolve; 1:
evolves).<br>
4) <a href="../input_variables/varrlx.html#ntimimage" target="_blank">ntimimage</a>: gives the maximum
number of iterations (for the relaxation of the string).<br>
5) <a href="../input_variables/varrlx.html#tolimg" target="_blank">tolimg</a>: convergence criterion (in
Hartree) on the total energy (averaged over
the <a href="../input_variables/varrlx.html#nimage" target="_blank">nimage</a> images).<br>
6)
<a href="../input_variables/varrlx.html#fxcartfactor" target="_blank">fxcartfactor</a>: "time step" (in
Bohr^2/Hartree) for the evolution step of
the string method. For the time being (ABINITv6.10), only
steepest-descent algorithm is implemented.<br>
7) <a href="../input_variables/varpar.html#npimage" target="_blank">npimage</a>:
gives the
number of processors among which the work load over the image level is
shared. Only dynamical images are considered (images for which <a href="../input_variables/varrlx.html#dynimage" target="_blank">dynimage</a>
is 1). This input variable can be automatically set by ABINIT if the
number of processors is large enough.<br>
8) <a href="../input_variables/varfil.html#prtvolimg" target="_blank">prtvolimg</a>:
governs the printing volume in the output file (0: full output; 1:
intermediate; 2: minimum output).<br>
<br>
<hr>
<h3><a name="3">&nbsp;</a><b><b><br>
3. Computation of the MEP without parallelism over images
</b></b></h3>
<p>You can now start with the <span style="font-style: italic;">string method</span>.&nbsp;</p>
<p>First, for
test purpose, we will not use the parallelism over images and will thus
only perform one step of <span style="font-style: italic;">string
method</span>.&nbsp;</p>
<p>Open the&nbsp;<span style="color: rgb(204, 0, 0);">tstring_03.in</span>
file
and look at it. The initial and final configurations are specified at
the end through the keywords <a href="../input_variables/varbas.html#xangst" target="_blank">xangst</a>
and <a href="../input_variables/varrlx.html#nimage" target="_blank">xangst_lastimg</a>.
By default,
ABINIT generates the intermediate images by a linear interpolation
between these two configurations. In this first calculation, we will
sample the MEP with 12 points (2 are fixed and correspond to the
initial and final states, 10 are evolving). <a href="../input_variables/varrlx.html#nimage" target="_blank">nimage</a>
is thus set to
12.&nbsp;The keyword <a href="../input_variables/varpar.html#npimage" target="_blank">npimage</a>
is set to 1 (no parallelism over
images) and <a href="../input_variables/varrlx.html#ntimimage" target="_blank">ntimimage</a> is set to 1 (only one
time step). <span style="text-decoration: underline;"></span></p>
<p>You
might use the <span style="color: rgb(204, 0, 0);">tstring.files</span>
file. Edit it and adapt it with the appropriate
file
names. Since the parallelism over the images is not used, this
calculation has to be run over <span style="font-weight: bold;">20
CPU cores</span>.</p>
<p><br>
</p>
<hr>
<h3>
<p><b><a name="4"><br>
4.</a>&nbsp;</b><b><b><b><b>Computation
of the MEP using parallelism over images</b></b></b></b></p>
</h3>
Now
you can perform the complete computation of the MEP using the
parallelism over the images. <br>
<br>
Open the <span style="color: rgb(204, 0, 0);">tstring_04.in</span>
file. The keyword
<a href="../input_variables/varpar.html#npimage" target="_blank">npimage</a> has
been&nbsp;set to 10, and <a href="../input_variables/varrlx.html#ntimimage" target="_blank">ntimimage</a>
has been
increased to 50. <br>
<br>
This calculation has thus to be run over <span style="font-weight: bold;">200 CPU
cores</span>. Note that the output file is very big, so that no reference file is provided in the ABINIT package.<br>
<br>
The convergence of the <span style="font-style: italic;">string
method</span> algorithm is controlled by <a href="../input_variables/varrlx.html#tolimg" target="_blank">tolimg</a>,
which has
been set to 0.0001 Ha. In order to obtain a more lisible output file,
you can decrease
the <span style="text-decoration: underline;">printing
volume</span> and set <a href="../input_variables/varfil.html#prtvolimg" target="_blank">prtvolimg</a>
to 2. <span style="text-decoration: underline;"></span>Here
again, you might use the <span style="color: rgb(204, 0, 0);">tstring.files</span>.
Edit it and adapt it with the
appropriate file names. Then run ABINIT over 200 CPU cores.&nbsp;<br>
<br>
When
the calculation is completed, ABINIT provides you with 12
configurations that sample the Minimum Energy Path between the initial
(i) and final (f) states. Plotting the total energy of these
configurations with respect to a reaction coordinate that join (i) to
(f) gives you the energy barrier that separates (i) from (f). In our
case, a natural reaction coordinate can be the distance between the
hopping proton and the O atom of H<sub>2</sub>O (d<sub>OH</sub>),
or
equivalently the
distance between the proton and the N atom (d<sub>HN</sub>).
The graph below
shows the total energy as a function of the OH distance along the MEP.
It indicates that the barrier for crossing from H<sub>2</sub>O
to NH<sub>3</sub> is ~ 1.36
eV. The 6th image gives an approximate geometry of the transition
state. Note that in the initial state, the OH distance is significantly
stretched, due to the presence of the NH<sub>3</sub>
molecule.<br>
<br>
Note that the total energy of each of the 12 replicas of the simulation
cell can be found at the end of the output file in the section:<br>
<span style="font-family: monospace;">&nbsp;-outvars: echo values of variables after computation&nbsp; --------</span><br>
<br>
The total energies are printed out as: <span style="font-family: monospace; font-weight: bold;">etotal_1img, etotal_2img, ...., etotal_12img</span>.<br>
Also, you can can have a look at the atomic positions in each image: in cartesian coordinates (<span style="font-family: monospace;">xcart_1img, xcart_2img</span>, ...) or in reduced coordinates (<span style="font-family: monospace;">xred_1img, xred_2img,</span> ...). Similarly, the forces are printed out: <span style="font-family: monospace;">fcart_1img, fcart_2img, ..., fcart_12img</span>.<br>
<br>
<div style="text-align: center;"><img style="width: 705px; height: 545px;" alt="courbe 1" src="lesson_paral_string/curve1.png"><br></div><small><span style="font-style: italic;">Total
energy as a function of OH distance for the path computed with 12
images and tolimg=0.0001 (which is very close to the x coordinate of
the proton: first coordinate of xangst for the 8th atom in the output
file).</span></small><br><br>The keyword <a href="../input_variables/varpar.html#npimage" target="_blank">npimage</a>
can be automatically set by ABINIT. It takes the requested total number
of CPU cores divided by the number of dynamical images. The remaining
cores are, if possible, distributed over k, band and FFT. <br>
<br>
Let us test
this functionnality. Edit again the <span style="color: rgb(204, 0, 0);">tstring_04.in</span>
file and comment the
<a href="../input_variables/varpar.html#npimage" target="_blank">npimage</a> line. Then run the
calculation again over a number of cores of
your choice (less than 200). If the code stops with an error message
indicating that the number of kpt, band anf FFT processors is not
correct, adapt the value of <a href="../input_variables/varpar.html#npband" target="_blank">npband</a>
and <a href="../input_variables/varpar.html#npfft" target="_blank">npfft</a>.<br>
<br>
Open the output file and look at the <a href="../input_variables/varpar.html#npimage" target="_blank">npimage</a>
value ...<br>
<br>
<hr>
<h3>
<p><b><a name="5"><br>
5.</a> Converging the MEP</b></p>
</h3>
Like all physical quantities, the MEP has to be converged with
respect to some numerical parameters. The two most important are the
number of points along the path (<a href="../input_variables/varrlx.html#nimage" target="_blank">nimage</a>)
and the convergence criterion (<a href="../input_variables/varrlx.html#tolimg" target="_blank">tolimg</a>).<br>
<br>
1<span style="font-style: italic;">) </span><a href="../input_variables/varrlx.html#nimage" target="_blank">nimage</a><br>
Increase
the number of images to 22 (2 fixed + 20 evolving) and recompute the
MEP. The graph below superimposes the previous MEP (black curve,
calculated with 12 images) and the new one obtained by using 22 images
(red curve). You can see that the global profile is almost not modified
as well as the energy barrier.<br>
<div style="text-align: center;"><img style="width: 705px; height: 545px;" alt="curve 2" src="lesson_paral_string/curve2.png" hspace="100"><br></div><small><span style="font-style: italic;">Total energy as a function of OH distance for the path computed with 12 images and tolimg=0.0001 (black curve) and the one </span></small><small><span style="font-style: italic;">computed with 22 images and tolimg=0.0001 (red curve).</span></small><br><br>The
following animation (animated gif file) is made by putting together the
22 images obtained
at the end of this calculation, from (i) to (f) and then from (f) to
(i). It allows to visualize the MEP.<br>
<br>
<div style="text-align: center;"><a href="lesson_paral_string/stringvideo.gif" target="_blank"><img style="border: 0px solid ; width: 308px; height: 320px;" alt="image" src="lesson_paral_string/start.gif"></a><br></div>
<br><div style="text-align: center;"><small><span style="font-style: italic;">Click on the above image to visualize the animation (that should open in another window).</span></small><br></div><br>
2) <a href="../input_variables/varrlx.html#tolimg" target="_blank">tolimg</a><br>Come back to <a href="../input_variables/varrlx.html#nimage" target="_blank">nimage</a>=12.
First you can increase <a href="../input_variables/varrlx.html#tolimg" target="_blank">tolimg</a>
to 0.001 and recompute the MEP. This will be much faster than in the
previous case. <br><br>Then you should decrease <a href="../input_variables/varrlx.html#tolimg" target="_blank">tolimg</a>
to 0.00001 and recompute the MEP. To gain CPU time, you can start your
calculation by using the 12 images obtained at the end of the
calculation that used <a href="../input_variables/varrlx.html#tolimg" target="_blank">tolimg</a>=0.0001.
In your input file, these starting images will be specified by the
keywords <a href="../input_variables/varbas.html#xangst" target="_blank">xangst</a>,
<a href="../input_variables/varrlx.html#nimage" target="_blank">xangst_2img</a>,
<a href="../input_variables/varrlx.html#nimage" target="_blank">xangst_3img</a>,
... <a href="../input_variables/varrlx.html#nimage">xangst_12img</a>.
You can copy them directly from the output file obtained at the
previous section. The graph below superimposes the path obtained with 12 images and <a href="../input_variables/varrlx.html#tolimg" target="_blank">tolimg</a>=0.001 (red curve) and the one with 12 images and <a href="../input_variables/varrlx.html#tolimg" target="_blank">tolimg</a>=0.0001 (black curve).<br>
<div style="text-align: center;"><img style="width: 705px; height: 545px;" alt="image" src="lesson_paral_string/curve3.png" hspace="100"><br></div><small><span style="font-style: italic;">Total energy as a function of OH distance for the path computed with 12 images and tolimg=0.0001 (black curve) and the one </span></small><small><span style="font-style: italic;">computed with 12 images and tolimg=0.001 (red curve).<br></span></small>

<script type="text/javascript" src="list_internal_links.js"> </script>

</body>
</html>