[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