bug between versions?

2011-05-26
2013-06-11
  • Greg Walker

    Greg Walker - 2011-05-26

    Later versions of Elk produce dramatically different results.  Is this a feature or a bug?


    As you can see the initial release (1.0.0) appears to work fine and in fact matches Wien2k very well.  The 1.0.0 results are also consistent with Exciting.  Subsequent versions of Elk appear broken.  All data were generated using the exact same input file, where _LATTICECONSTANT_ was set using a script.

    ! lattice constant of lithium fluoride.
    tasks
      0
    tforce
      .true.
    scale
      _LATTICECONSTANT_
    avec
      1.0   1.0   0.0
      1.0   0.0   1.0
      0.0   1.0   1.0
    atoms
      2                                       : nspecies
      'Li.in'                                 : spfname
      1                                       : natoms
      0.0000  0.0000  0.0000    0.0 0.0 0.0   : atposl, bfcmt
      'F.in'                                  : spfname
      1                                       : natoms
      0.5000  0.5000  0.5000    0.0 0.0 0.0   : atposl, bfcmt
    xctype
      100 101 130 
    swidth
      0.005
    lradstp
      2
    nempty
      10
    ngridk
     10 10 10
    

    By the way, LDA functionals seem to work fine, but PBE functionals I have tried (built-in as well as libxc, which is shown in the plot) do not. 

    I have not received any response from the user forum, and since this looks like a bug, I thought I would try the developer forum. 

    Thanks for the help and keep up the good work.

    Greg

     
  • John Kay Dewhurst

    Dear Greg,

    Thanks for all the careful testing and the encouraging remarks! Apologies also for the delay in replying.

    I can reproduce your data, and there is indeed a problem which was introduced in version 1.0.16. This was when we truncated the effective potential in G-space, ironically to improve stability (see 'genveffig.f90'). I've now restored the original routine in version 1.3.2, and the problem is fixed:

    (I think the offset is due to the different method of calculating the exchange-correlation potential: natively the PBE routine returns the potential directly, whereas libxc requires a second step using integration by parts)

    You may need to increase 'gmaxvr' to get the the code to converge for all lattice parameters.

    Thanks again,
    Kay.

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks