Menu

LiF strange discontinuity in energy-lattice constant curve

2015-07-22
2015-07-31
  • Casey Brock

    Casey Brock - 2015-07-22

    I am using Elk 2.3.22 to calculate the lattice constant of lithium fluoride. I have calculated the energy at different lattice constants so I can fit an equation of state, but the energies near the expected lattice constant are deviating strongly from the expected curve.

    I am wondering if it is a bug in the code, as it's similar to this problem from a much earlier release:
    https://sourceforge.net/p/elk/discussion/897820/thread/e8f1ea1b/?limit=25#3980

    Attached is the calculated energy plotted against lattice constant. You can see that the discontinuity is near the experimental lattice constant of 7.6 bohr.

     

    Last edit: Casey Brock 2015-07-22
  • Casey Brock

    Casey Brock - 2015-07-22

    Also, here's the input file for the point on the plot with the highest energy. The other input files are identical except for the scale.

    tasks
      0
    
    tforce
      .true.
    
    ! libxc   XC_GGA_X_PBE   XC_GGA_C_PBE
    xctype
      100     101            130
    
    lradstp
      1
    
    sppath
     '/home/brockc/local/elk/elk_latest/species/'
    
    scale
      3.794510
    
    avec
      1.0  1.0  0.0
      0.0  1.0  1.0
      1.0  0.0  1.0
    
    atoms
      2                                   : nspecies
      'Li.in'                             : spfname
      1                                   : natoms
      0.0 0.0 0.0    0.0 0.0 0.0          : atposl, bfcmt
      'F.in'                              : spfname
      1                                   : natoms
      0.5 0.5 0.5    0.0 0.0 0.0          : atposl, bfcmt
    
    ngridk
      10 10 10
    
    vkloff
      0.5  0.5  0.5
    
     

    Last edit: Casey Brock 2015-07-22
  • J. K. Dewhurst

    J. K. Dewhurst - 2015-07-31

    Hi Casey,

    Sorry for the delay. It appears that you are finding 'ghost bands' in your calculation.

    I was able to get a smooth curve in two different ways:

    First by increasing rgkmax:

    tasks
      0
    
    ! libxc   XC_GGA_X_PBE   XC_GGA_C_PBE
    xctype
      100  101  130
    
    lradstp
      3
    
    mixtype
      3
    
    rgkmax
      8.5
    
    gmaxvr
      20.0
    
    trimvg
     .true.
    
    sppath
     '../../species/'
    
    scale
      3.7
    
    avec
      1.0  1.0  0.0
      0.0  1.0  1.0
      1.0  0.0  1.0
    
    atoms
      2                                   : nspecies
      'Li.in'                             : spfname
      1                                   : natoms; atposl below
      0.0 0.0 0.0
      'F.in'                              : spfname
      1                                   : natoms
      0.5 0.5 0.5
    
    ngridk
      8 8 8
    

    ... or using autolinengy=.true.:

    tasks
      0
    
    ! libxc   XC_GGA_X_PBE   XC_GGA_C_PBE
    xctype
      100  101  130
    
    lradstp
      3
    
    mixtype
      3
    
    autolinengy
     .true.
    
    sppath
     '../../species/'
    
    scale
      3.7
    
    avec
      1.0  1.0  0.0
      0.0  1.0  1.0
      1.0  0.0  1.0
    
    atoms
      2                                   : nspecies
      'Li.in'                             : spfname
      1                                   : natoms; atposl below
      0.0 0.0 0.0
      'F.in'                              : spfname
      1                                   : natoms
      0.5 0.5 0.5
    
    ngridk
      8 8 8
    

    You can simply set 'highq=.true.' and obtain a smooth curve.

    Regards,
    Kay.

     
  • Casey Brock

    Casey Brock - 2015-07-31

    Thanks for the help, Kay.

    I used the first input file you suggested and didn't see any improvements. As it turns out, I just needed to fix the muffin-tin radii and then my old input file gave me a smooth curve.

    Casey

     

Log in to post a comment.