[Pw_forum] NEB: wild changes in image energies
Chad Junkermeier
junkermeier at yahoo.com
Thu Dec 29 17:37:53 CET 2011
Hello,
I have a problem that I keep encountering when performing NEB calculations. I will briefly describe what is happening here, and then give a more detailed explanation below. In short, the NEB calculations appear to run well for some number of iterations (usually on the order of 40 or 50 iterations) and then all of the sudden weird image energies start showing up, and the activation energy starts jumping around with each iteration.
More detailed explanation:
Physically what I am trying to do is model the diffusion of a small molecule across a graphene surface. This molecule is only weakly absorbed (physisorbed) onto the surface, thus, the activation energy is going to be rather small. Our relaxation calculations show that van der Waals type interactions are important in this system, as should be expected for something that is weakly absorbed. In the NEB calculation the molecule is going from one lowest energy site to a neighboring lowest energy site that is only a few angstroms away, all of which is well within the bounds of the supercell.
I am using Quantum Espresso 4.3.2 on a Cray XE6.
My input file looks like this:
BEGIN
BEGIN_PATH_INPUT
&PATH
restart_mode = 'from_scratch'
string_method = 'neb',
ds = 2.D0,
opt_scheme = "broyden",
num_of_images = 45,
k_max = 0.3D0,
k_min = 0.2D0,
CI_scheme = "auto",
nstep_path=3000,
use_freezing = .TRUE.
first_last_opt = .FALSE.
/
END_PATH_INPUT
BEGIN_ENGINE_INPUT
&CONTROL
prefix="TW2_u_B3_B4",
pseudo_dir = "/espresso/pseudo",
outdir = "/workspace/TW2_u_B3_B4/tmp",
/
&SYSTEM
ibrav = 4,
celldm(1) = 37.2672889,
celldm(3) = 0.760623,
nat = 144,
ntyp = 4,
ecutwfc = 50.0,
ecutrho = 400,
occupations = "smearing",
smearing = "methfessel-paxton",
degauss = 0.01,
london = .TRUE.
/
&ELECTRONS
conv_thr = 0.0000001,
mixing_beta = 0.3,
electron_maxstep = 150,
/
ATOMIC_SPECIES
C 12.0 C.pbe-van_ak.UPF
H 1.0 H.pbe-van_ak.UPF
O 18.0 O.pbe-van_ak.UPF
P 31.0 P.pbe-van_ak.UPF
BEGIN_POSITIONS
FIRST_IMAGE
ATOMIC_POSITIONS angstrom
C 0.000000000 0.000000000 0.000000000 0 0 0
C 1.234000000 0.710000000 0.000000000 0 0 0
C 2.465000000 0.000000000 0.000000000 0 0 0
C 3.699000000 0.710000000 0.000000000 0 0 0
C 4.930000000 0.000000000 0.000000000 0 0 0
.
.
.
LAST_IMAGE
ATOMIC_POSITIONS angstrom
.
.
.
H 12.789295543 12.155855132 2.858948537
H 13.430079977 11.427859045 4.385644094
H 14.299090315 11.190357788 2.820979411
END_POSITIONS
K_POINTS {gamma}
END_ENGINE_INPUT
END
While I didn't include all of the atoms in here (since there are a lot, and I don't think this is necessarily to the resolution problem), I will note that the majority of the atoms will not move appreciably during the course of the calculation, and thus to speed up the calculation I tell the code to fix the positions of the atoms that aren't moving.
I started off with values that I thought would help the code run quicker:
conv_thr = 0.00001
ecutwfc = 30.0,
ecutrho = 280,
num_of_images = 15,
electron_maxstep = 100,
After finding the problem that I am writing here about, and reading everything I could find on the QE website, and within pw_forum, I slowly made changes trying to work through the problem. Having the number of images set to 45 in the above input file has many more images than I think I need, but one of the things that I kept reading is that having more images will decrease the likelihood of problems arising.
After the first few NEB iterations a nice potential barrier curve appears and is slowly refined. An example of the standard output for one of the well behaved images is given below:
------------------------------ iteration 44 ------------------------------
tcpu = 61713.9 self-consistency for image 10
tcpu = 61932.1 self-consistency for image 21
tcpu = 62113.6 self-consistency for image 28
tcpu = 62294.4 self-consistency for image 31
activation energy (->) = 0.043939 eV
activation energy (<-) = 0.044011 eV
image energy (eV) error (eV/A) frozen
1 -21959.2382129 0.081337 T
2 -21959.2388966 0.020923 T
3 -21959.2381194 0.123092 T
4 -21959.2363069 0.164123 F
5 -21959.2352170 0.044025 T
6 -21959.2331629 0.220840 F
7 -21959.2301578 0.115291 T
8 -21959.2277497 0.199382 F
9 -21959.2256241 0.037564 T
10 -21959.2216078 0.257680 F
11 -21959.2173790 0.220445 F
12 -21959.2159181 0.195525 F
13 -21959.2122799 0.189871 F
14 -21959.2093498 0.070035 T
15 -21959.2075466 0.156424 F
16 -21959.2037818 0.237338 F
17 -21959.2013877 0.059399 T
18 -21959.2006768 0.168875 F
19 -21959.1986806 0.049577 T
20 -21959.1962718 0.054413 T
21 -21959.1966851 0.022074 T
22 -21959.1954724 0.053047 T
23 -21959.1942736 0.054956 T
24 -21959.1944583 0.140762 F
25 -21959.1964535 0.032502 T
26 -21959.1950797 0.210304 F
27 -21959.1987196 0.051561 T
28 -21959.2008371 0.031058 T
29 -21959.2005944 0.183532 F
30 -21959.2045923 0.059183 T
31 -21959.2074746 0.148483 F
32 -21959.2094894 0.139970 F
33 -21959.2129334 0.033060 T
34 -21959.2156972 0.237590 F
35 -21959.2188749 0.065209 T
36 -21959.2223341 0.020410 T
37 -21959.2256989 0.041502 T
38 -21959.2278845 0.206609 F
39 -21959.2309458 0.064352 T
40 -21959.2333476 0.228702 F
41 -21959.2354058 0.034633 T
42 -21959.2369634 0.053540 T
43 -21959.2383146 0.179708 F
44 -21959.2390413 0.052827 T
45 -21959.2382847 0.084999 T
climbing image = 23
path length = 18.663 bohr
inter-image distance = 0.424 bohr
If you were to plot the image number versus the energy that is given above you would find what appears to be a very well behaved curve.
But after a while, all of the sudden, there is a problem with the output.
------------------------------ iteration 45 ------------------------------
tcpu = 62502.4 self-consistency for image 4
tcpu = 62758.1 self-consistency for image 6
tcpu = 63006.7 self-consistency for image 8
tcpu = 63287.9 self-consistency for image 10
tcpu = 63556.1 self-consistency for image 11
tcpu = 63876.3 self-consistency for image 12
tcpu = 64126.9 self-consistency for image 13
tcpu = 64409.9 self-consistency for image 15
tcpu = 64661.2 self-consistency for image 16
tcpu = 64941.7 self-consistency for image 18
tcpu = 65190.6 self-consistency for image 24
tcpu = 65480.1 self-consistency for image 26
tcpu = 65780.1 self-consistency for image 29
tcpu = 66077.9 self-consistency for image 31
tcpu = 66317.9 self-consistency for image 32
tcpu = 66580.4 self-consistency for image 34
tcpu = 66857.5 self-consistency for image 38
tcpu = 67137.2 self-consistency for image 40
tcpu = 67386.9 self-consistency for image 43
activation energy (->) = 0.287582 eV
activation energy (<-) = 0.287654 eV
image energy (eV) error (eV/A) frozen
1 -21959.2382129 0.081337 T
2 -21959.2388966 0.020929 T
3 -21959.2381194 0.128767 T
4 -21959.1561960 2.016407 T
5 -21959.2352170 0.054181 T
6 -21959.1233419 3.440925 F
7 -21959.2301578 0.119857 T
8 -21959.1295895 3.858443 F
9 -21959.2256241 0.031368 T
10 -21959.2007906 0.830489 T
11 -21958.9506305 4.210877 F
12 -21959.1226848 2.774980 F
13 -21959.1255613 3.306542 F
14 -21959.2093498 0.063904 T
15 -21959.1425146 2.576069 F
16 -21959.0686534 4.452463 F
17 -21959.2013877 0.051986 T
18 -21959.1237018 2.915400 F
19 -21959.1986806 0.070271 T
20 -21959.1962718 0.055066 T
21 -21959.1966851 0.022251 T
22 -21959.1954724 0.053511 T
23 -21959.1942736 0.155528 T
24 -21959.0321128 1.669573 T
25 -21959.1964535 0.033436 T
26 -21958.9641160 2.813188 F
27 -21959.1987196 0.170191 T
28 -21959.2008371 0.119487 T
29 -21959.0410354 2.100854 T
30 -21959.2045923 0.217405 T
31 -21959.2006761 0.946770 T
32 -21959.1091999 2.022318 T
33 -21959.2129334 0.033922 T
34 -21959.0832736 3.736941 F
35 -21959.2188749 0.136602 T
36 -21959.2223341 0.033429 T
37 -21959.2256989 0.038111 T
38 -21959.1226548 4.018138 F
39 -21959.2309458 0.068887 T
40 -21959.1163356 3.540681 F
41 -21959.2354058 0.069677 T
42 -21959.2369634 0.053677 T
43 -21959.1651795 2.854320 F
44 -21959.2390413 0.041340 T
45 -21959.2382847 0.084999 T
climbing image = 11
path length = 19.063 bohr
inter-image distance = 0.433 bohr
Where if you plot the image number versus the energy given above you will find that many of the points lay on the same curve as in the proceeding plot, but now almost half of them are jumping to higher energies. When I look at the xyz output in VMD, there doesn't seem to be any change in what the images look like pre/post the start of iteration 45.
I will now list some of the activation energies produced towards the end of the run (I stopped the code once I saw this happening again).
activation energy (->) = 0.043939 eV
activation energy (->) = 0.043939 eV
activation energy (->) = 0.043939 eV
activation energy (->) = 0.046128 eV
activation energy (->) = 0.043939 eV
activation energy (->) = 0.044786 eV
activation energy (->) = 0.043951 eV
activation energy (->) = 0.043939 eV
activation energy (->) = 0.043939 eV
activation energy (->) = 0.043939 eV
activation energy (->) = 0.043939 eV
activation energy (->) = 0.044436 eV
activation energy (->) = 0.043939 eV
activation energy (->) = 0.043939 eV
activation energy (->) = 0.043939 eV
activation energy (->) = 0.043939 eV
activation energy (->) = 0.043939 eV
activation energy (->) = 0.043939 eV
activation energy (->) = 0.043939 eV
activation energy (->) = 0.287582 eV
activation energy (->) = 0.206100 eV
activation energy (->) = 0.601468 eV
activation energy (->) = 0.231222 eV
activation energy (->) = 0.216514 eV
activation energy (->) = 0.252992 eV
activation energy (->) = 0.289003 eV
activation energy (->) = 0.107865 eV
activation energy (->) = 0.154660 eV
activation energy (->) = 0.302177 eV
activation energy (->) = 0.154660 eV
activation energy (->) = 0.290079 eV
You can see that the activation energy is fairly constant at about 0.04 eV for a while and then after a certain point bedlam.
Any ideas would be welcome.
Chad Junkermeier, Ph.D.
NRC Post-Doctoral Associate
U. S. Naval Research Laboratory
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20111229/6c0b1d54/attachment.html>
More information about the users
mailing list