Menu

Lu2O3 EOS improvement

Elk Users
2020-05-08
2020-06-06
  • Andrew Shyichuk

    Andrew Shyichuk - 2020-05-08

    Dear Users,

    Some time ago I had a problem with cubic Lu2O3 EOS, which was rough.
    The roughness problem has been fixed thanks to Michael Fechner and vkloff = 0.25 0.125 0.625 trick.

    Now, I have another issue.
    With JTH PAW pseudopotentials (4f in valence, no +U), LDA and Quantum Espresso, I get energy minimum at 99.5% of the experimental cell size, which is great.
    With Elk and LDA, I get energy minimum at 98.1%, which is too small (even for LDA) and strange.

    The two caluclations have almost identical DOS, meaning that band positions are similar, and thus inter-orbital electrostatic interactions must be similar.

    Thus, I've considered my basis to be bad, and tried different tricks to fix it.
    My starting point was: Lu RMT 2.0 (standard LOs), O RMT 1.45 (with this radius, no LOs), rgkmax 7.8, gmaxvr 17. isgkmax -2. Here and below, by LO I mean a variable energy local orbital.
    This EOS had some roughness, and the minimum at about 98%.
    The next find was Lu RMT 2.3, resulting much smoother (but not perfect) EOS, and minimum at about 98%.
    Lu RMT 2.3, vkloff and rgkmax 8.0 resulted in a perfect EOS, with minimum at 98.1%.

    Then, I tried the following options, as separate calculations:
    With Lu RMT 2.0:
    - lorbcnd = .true. : no effect
    - Lu LOs with increased order : no effect
    - additional 6p valence shell and LO : no effect

    With Lu RMT 2.3:
    - lmaxapw 10, lmaxi 4, lmaxo 8 : no effect
    - nxoapwlo=1 : roughness went up
    - 4f in core : nice and smooth, but minimum at 96%

    • Lu LOs with even higher order : minimum ad 97.5 %
    • autolinengy = .true. : no effect
    • 6p valence shell and LO, new linengy : no effect

    Thus, what can be done to improve the basis?
    Or maybe, the 2% error is normal, and the PAW potential simply has some error cancelation?

    Thank you.
    Andrew

    UPD: the "autolinengy = .true." and "6p valence shell and LO" tests completed, with no effect.

    ============= regular Lu  =============
     'Lu'                                       : spsymb
     'lutetium'                                 : spname
      -71.0000                                  : spzn
       318945.3295                              : spmass
      0.237356E-06    2.3000   60.6496   700    : rminsp, rmt, rmaxsp, nrmt   <<<<<  RMT was 2.0 in some cases
      21                                        : nstsp
       1   0   1   2.00000    T                 : nsp, lsp, ksp, occsp, spcore
       2   0   1   2.00000    T
       2   1   1   2.00000    T
       2   1   2   4.00000    T
       3   0   1   2.00000    T
       3   1   1   2.00000    T
       3   1   2   4.00000    T
       3   2   2   4.00000    T
       3   2   3   6.00000    T
       4   0   1   2.00000    T
       4   1   1   2.00000    T
       4   1   2   4.00000    T
       4   2   2   4.00000    T
       4   2   3   6.00000    T
       4   3   3   6.00000    F
       4   3   4   8.00000    F
       5   0   1   2.00000    F
       5   1   1   2.00000    F
       5   1   2   4.00000    F
       5   2   2   1.00000    F
       6   0   1   2.00000    F
       1                                        : apword
        0.1500   0  F                           : apwe0, apwdm, apwve
       0                                        : nlx
       7                                        : nlorb
       0   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       1   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       2   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       3   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       3   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
       -0.3291   0  T
       0   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
       -2.2383   0  T
       1   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
       -1.0908   0  T
    
    ============= Lu with valence 6p =============
     'Lu'                                       : spsymb
     'lutetium'                                 : spname
      -71.0000                                  : spzn
       318945.3295                              : spmass
      0.237356E-06    2.0000   60.6496   700    : rminsp, rmt, rmaxsp, nrmt
      22                                        : nstsp
       1   0   1   2.00000    T                 : nsp, lsp, ksp, occsp, spcore
       2   0   1   2.00000    T
       2   1   1   2.00000    T
       2   1   2   4.00000    T
       3   0   1   2.00000    T
       3   1   1   2.00000    T
       3   1   2   4.00000    T
       3   2   2   4.00000    T
       3   2   3   6.00000    T
       4   0   1   2.00000    T
       4   1   1   2.00000    T
       4   1   2   4.00000    T
       4   2   2   4.00000    T
       4   2   3   6.00000    T
       4   3   3   6.00000    F
       4   3   4   8.00000    F
       5   0   1   2.00000    F
       5   1   1   2.00000    F
       5   1   2   4.00000    F
       5   2   2   1.00000    F
       6   0   1   2.00000    F
       6   1   1   0.0        F                 :                 <<<<  NEW SHELL HERE
       1                                        : apword
        0.1500   0  F                           : apwe0, apwdm, apwve
       0                                        : nlx
       8                                        : nlorb
       0   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       1   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       2   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       3   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       3   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
       -0.3291   0  T
       0   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
       -2.2383   0  T
       1   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
       -1.0908   0  T
       1   2                                    : lorbl, lorbord         <<<<  NEW LO HERE
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.4      0  T                     <<<< THIS ENERGY HERE WAS TOO HIGH, TRYING AGAIN
    
    ============= Lu with LOs order 3 =============
     'Lu'                                       : spsymb
     'lutetium'                                 : spname
      -71.0000                                  : spzn
       318945.3295                              : spmass
      0.237356E-06    2.0000   60.6496   700    : rminsp, rmt, rmaxsp, nrmt
      21                                        : nstsp
       1   0   1   2.00000    T                 : nsp, lsp, ksp, occsp, spcore
       2   0   1   2.00000    T
       2   1   1   2.00000    T
       2   1   2   4.00000    T
       3   0   1   2.000`
    `00    T
       3   1   1   2.00000    T
       3   1   2   4.00000    T
       3   2   2   4.00000    T
       3   2   3   6.00000    T
       4   0   1   2.00000    T
       4   1   1   2.00000    T
       4   1   2   4.00000    T
       4   2   2   4.00000    T
       4   2   3   6.00000    T
       4   3   3   6.00000    F
       4   3   4   8.00000    F
       5   0   1   2.00000    F
       5   1   1   2.00000    F
       5   1   2   4.00000    F
       5   2   2   1.00000    F
       6   0   1   2.00000    F
       1                                        : apword
        0.1500   0  F                           : apwe0, apwdm, apwve
       0                                        : nlx
       7                                        : nlorb
       0   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       1   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       2   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       3   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       3   3                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
       -0.3291   0  T
       -0.3291   1  T
       0   3                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
       -2.2383   0  T
       -2.2383   1  T
       1   3                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
       -1.0908   0  T
       -1.0908   1  T
    
    ============= Lu with LOs order 4 =============
     'Lu'                                       : spsymb
     'lutetium'                                 : spname
      -71.0000                                  : spzn
       318945.3295                              : spmass
      0.237356E-06    2.3000   60.6496   700    : rminsp, rmt, rmaxsp, nrmt
      21                                        : nstsp
       1   0   1   2.00000    T                 : nsp, lsp, ksp, occsp, spcore
       2   0   1   2.00000    T
       2   1   1   2.00000    T
       2   1   2   4.00000    T
       3   0   1   2.00000    T
       3   1   1   2.00000    T
       3   1   2   4.00000    T
       3   2   2   4.00000    T
       3   2   3   6.00000    T
       4   0   1   2.00000    T
       4   1   1   2.00000    T
       4   1   2   4.00000    T
       4   2   2   4.00000    T
       4   2   3   6.00000    T
       4   3   3   6.00000    F
       4   3   4   8.00000    F
       5   0   1   2.00000    F
       5   1   1   2.00000    F
       5   1   2   4.00000    F
       5   2   2   1.00000    F
       6   0   1   2.00000    F
       1                                        : apword
        0.1500   0  F                           : apwe0, apwdm, apwve
       0                                        : nlx
       7                                        : nlorb
       0   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       1   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       2   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       3   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       3   4                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
       -0.3291   0  T
       -0.3291   1  T
       -0.3291   2  T
       0   4                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
       -2.2383   0  T
       -2.2383   1  T
       -2.2383   2  T
       1   4                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
       -1.0908   0  T
       -1.0908   1  T
       -1.0908   2  T
    
    ============= Oxygen =============
     'O'                                        : spsymb
     'oxygen'                                   : spname
      -8.00000                                  : spzn
       29165.12202                              : spmass
      0.707107E-06    1.4500   32.0067   300    : rminsp, rmt, rmaxsp, nrmt
       4                                        : nstsp
       1   0   1   2.00000    T                 : nsp, lsp, ksp, occsp, spcore
       2   0   1   2.00000    F
       2   1   1   2.00000    F
       2   1   2   2.00000    F
       1                                        : apword
        0.1500   0  F                           : apwe0, apwdm, apwve
       0                                        : nlx
       2                                        : nlorb
       0   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
       1   2                                    : lorbl, lorbord
        0.1500   0  F                           : lorbe0, lorbdm, lorbve
        0.1500   1  F
    
     

    Last edit: Andrew Shyichuk 2020-05-08
  • J. K. Dewhurst

    J. K. Dewhurst - 2020-05-08

    Hi Andrew,

    Could you post your elk.in? I'll try it out.

    Regards,
    Kay.

     
  • Andrew Shyichuk

    Andrew Shyichuk - 2020-05-08

    Dear Kay,

    In the zip, there are two series of inputs, with the respective outputs.

    Thank you.
    Andrew

     
  • J. K. Dewhurst

    J. K. Dewhurst - 2020-05-08

    Dear Andrew,

    I just noticed that it's possible reduce the number of atoms from 80 to 40 by using

    primcell
    .true.

    I'll now run some energy-volume calculations on our cluster.

    Regards,
    Kay.

     
  • Andrew Shyichuk

    Andrew Shyichuk - 2020-05-15

    Dear Kay,

    Using primitive cell was indeed a good idea.
    I does not affect the minimum position, but it runs quite faster and is thus a better test subject.

    Best regards.
    Andrew

     
  • Andrew Shyichuk

    Andrew Shyichuk - 2020-06-03

    Dear Kay,

    Did you happen to get any improvements on my input?

    In a meantime, I tried two options, highq and spin-orbit coupling.
    Both calculations got me the same minimum position.

    What else can it be?

    Thank you.
    Andrew.

     
  • J. K. Dewhurst

    J. K. Dewhurst - 2020-06-04

    Dear Andrew,

    I ran the system on our cluster using the latest version. Here is my input file:

    tasks
      0
    
    scale
      1.00
    
    highq
     .true.
    
    ngridk
      4  4  4
    
    primcell
     .true.
    
    xctype
      100 1 9
    
    avec
       19.64030000       0.000000000       0.000000000    
       0.000000000       19.64030000       0.000000000    
       0.000000000       0.000000000       19.64030000    
    
    atoms
       2                                    : nspecies
    'Lu.in'                                 : spfname
      32                                    : natoms; atposl below
        0.25000000    0.25000000    0.25000000
        0.75000000    0.75000000    0.75000000
        0.75000000    0.25000000    0.25000000
        0.25000000    0.75000000    0.75000000
        0.25000000    0.75000000    0.25000000
        0.75000000    0.25000000    0.75000000
        0.75000000    0.75000000    0.25000000
        0.25000000    0.25000000    0.75000000
        0.46685000    0.00000000    0.25000000
        0.96685000    0.50000000    0.75000000
        0.53315000    0.00000000    0.75000000
        0.03315000    0.50000000    0.25000000
        0.53315000    0.50000000    0.25000000
        0.03315000    0.00000000    0.75000000
        0.46685000    0.50000000    0.75000000
        0.96685000    0.00000000    0.25000000
        0.25000000    0.46685000    0.00000000
        0.75000000    0.96685000    0.50000000
        0.75000000    0.53315000    0.00000000
        0.25000000    0.03315000    0.50000000
        0.25000000    0.53315000    0.50000000
        0.75000000    0.03315000    0.00000000
        0.75000000    0.46685000    0.50000000
        0.25000000    0.96685000    0.00000000
        0.00000000    0.25000000    0.46685000
        0.50000000    0.75000000    0.96685000
        0.00000000    0.75000000    0.53315000
        0.50000000    0.25000000    0.03315000
        0.50000000    0.25000000    0.53315000
        0.00000000    0.75000000    0.03315000
        0.50000000    0.75000000    0.46685000
        0.00000000    0.25000000    0.96685000
    'O.in'                                  : spfname
      48                                    : natoms; atposl below
        0.39159000    0.15282000    0.38011000
        0.89159000    0.65282000    0.88011000
        0.60841000    0.84718000    0.61989000
        0.10841000    0.34718000    0.11989000
        0.60841000    0.34718000    0.38011000
        0.10841000    0.84718000    0.88011000
        0.39159000    0.65282000    0.61989000
        0.89159000    0.15282000    0.11989000
        0.39159000    0.84718000    0.11989000
        0.89159000    0.34718000    0.61989000
        0.60841000    0.15282000    0.88011000
        0.10841000    0.65282000    0.38011000
        0.60841000    0.65282000    0.11989000
        0.10841000    0.15282000    0.61989000
        0.39159000    0.34718000    0.88011000
        0.89159000    0.84718000    0.38011000
        0.38011000    0.39159000    0.15282000
        0.88011000    0.89159000    0.65282000
        0.61989000    0.60841000    0.84718000
        0.11989000    0.10841000    0.34718000
        0.38011000    0.60841000    0.34718000
        0.88011000    0.10841000    0.84718000
        0.61989000    0.39159000    0.65282000
        0.11989000    0.89159000    0.15282000
        0.11989000    0.39159000    0.84718000
        0.61989000    0.89159000    0.34718000
        0.88011000    0.60841000    0.15282000
        0.38011000    0.10841000    0.65282000
        0.11989000    0.60841000    0.65282000
        0.61989000    0.10841000    0.15282000
        0.88011000    0.39159000    0.34718000
        0.38011000    0.89159000    0.84718000
        0.15282000    0.38011000    0.39159000
        0.65282000    0.88011000    0.89159000
        0.84718000    0.61989000    0.60841000
        0.34718000    0.11989000    0.10841000
        0.34718000    0.38011000    0.60841000
        0.84718000    0.88011000    0.10841000
        0.65282000    0.61989000    0.39159000
        0.15282000    0.11989000    0.89159000
        0.84718000    0.11989000    0.39159000
        0.34718000    0.61989000    0.89159000
        0.15282000    0.88011000    0.60841000
        0.65282000    0.38011000    0.10841000
        0.65282000    0.11989000    0.60841000
        0.15282000    0.61989000    0.10841000
        0.34718000    0.88011000    0.39159000
        0.84718000    0.38011000    0.89159000
    

    I get the following energy volume points:

     3457.240236  -234956.285089
     3510.978768  -234956.296647
     3565.271299  -234956.302806
     3620.120673  -234956.303879
     3675.529729  -234956.299993
     3731.501309  -234956.291479
     3788.038253  -234956.278467
    

    ... resulting in this plot:

    The fit to the 'universal equation of state' by Vinet P et al., J. Phys.: Condens. Matter 1, p1941 (1989), gives:

     V0                =            3604.020273    
     E0                =           -234956.3041    
     B0                =           0.5926690796E-02
     B0'               =            4.018505409    
    
     B0 (GPa)          =            174.3692340
    

    How do these compare to your results?

    Regards,
    Kay.

     
  • Andrew Shyichuk

    Andrew Shyichuk - 2020-06-06

    Dear Kay,

    Thank you.

    From your results, the minimum is at 95.1% of the initial / experimental cell size.
    I've got 98.1% in my best attempts.

    In the same calculation using PAW I get 99.5%.

    Thus, either 98% is the LDA-optimal cell size for my input, while some error compensation occurs in my PAW calculation, or we are still missing something here.

    Also, a small update - I tried bringing back the local orbital on oxygen (present in the default specie, missing in the one I mainly use). The resulting curve was basically the same as the one without the LO.

    Best regards.
    Andrew

     
  • J. K. Dewhurst

    J. K. Dewhurst - 2020-06-06

    Hi Andrew,

    Are you absolutely sure the PAW results are correct? LDA typically overbinds resulting in lattice constants around 5% smaller than experiment.

    I'll now try GGA, this should underbind by 1-2%.

    Regards,
    Kay.

     
    • Andrew Shyichuk

      Andrew Shyichuk - 2020-06-06

      Dear Kay,

      I did the same calculations will ultrasoft pseudopotentials as well, and got something like 98.5%.

      I cannot be 100% sure that the PAW result is correct. I did not make the PAW datasets and have no experience in making them from scratch - I cannot thus be sure that the ones I use are correct. The augmentation radii do not overlap, the code does not complain, it converges smoothly, EOS is smooth. Lu2O3 DOS from PAW (with 4f as valence) looks almost exactly the same as the DOS from Elk. It thus looks fine for me. But 99.5% is somehow surprisingly good, I guess?

      I have another small update. Following your suggestion, I did a geometry optimization on a primitive cell, with highq, which means (among the others) a tight force convergence threshold (0.1E-03). It resulted in something like 10 steps of atom position optimization and 1 step of cell optimisation (so far). The threshold was reached. It did not complete yet, but the cell size is 99.9%. Which is great.

      Previously, I tried optimizations with the higher (default) threshold (0.5E-02). The lattice positions did not get optimized - because the forces were lower than the threshold. And I thought, great, Elk finds my geometry to be fine. But then, lattice vectors started getting optimized, and got reduced to 97%. So I went on trying to improve the EOS in order to get the best settings / basis.

      Anyway, it seems that the problem was in the atomic positions that were suboptimal. I will report the final result here when the geometry is done.

      Is there a way to convert the optimized primitive cell back into a regular cell? I mean, other than regenerating it in Spacegroup using the optimized values?

      Best regards.
      Andrew

       

Log in to post a comment.