Menu

How to detect ghost bands?

alexib
2007-11-06
2013-06-05
  • alexib

    alexib - 2007-11-06

    Dear Exciting users and developers,

    should Exciting issue any warning or error in case a ghost-band solution appears? I did a calculation of hcp yttrium with 3d-bands moved from the core to the semicore to minimize core leakage and found that the solution I received has essentially higher energy (-6587.753618 vs. -6763.854596 before this change) and two strange flat bands appears at -1.61(s-character) and -0.66(d-character), which do not coincide with the linearization energies of appropriate lo(must be -3.09 and -0.664 correspondingly, Fermi level is about 0.26). I suggest they are the ghost bands.

    There was only one warning from the Exciting during this run - at the very first SCF cycle:

    Warning(occupy): valence eigenvalues below evalmin for s.c. loop     1

    Warning(charge): total charge density incorrect for s.c. loop     1
    Calculated :    69.88166169
    Required   :    78.00000000

    Should this warning be considered as an indication for a potential ghost bands?
    What should be a general way to check if the calculation is correct and does not contain any ghost bands?

    Thank you in advance!

    Alexey

     
    • francesco cricchio

      Hello Alexey,

      may I ask you to post the input file exciting.in and the species file you modified Y.in so we could have a closer look to the problem.

      If you moved the 3d electrons from core to valence make sure you added the corresponding local orbitals in Y.in.

      Best

      Francesco

       
    • alexib

      alexib - 2007-11-07

      Hello Francesco,

      thank you for you reply!

      I did a mistake in my first post - the strange band energies were -3.095 (s) -2.115(p) and -0.664(d) while the LO energies were -1.612(s) -0.913(p) and -5.333(d). Sorry for that.

      Of course I have added LO for 3d Y, at least I think I did it correct.

      I'm posting the files here:

      ------------------------------------------exciting.in------------------------------------------------
      Y 1.000000

      tasks
      0

      avec
      5.994852     -3.461129      0.0
      0.0    6.922259      0.0
      0.0    0.0     10.988195
      scale
      1.0
      atoms
      1
      'Y.in'
      2
      0.3333333333  0.6666666667  0.25  0.0  0.0  0.0
      0.6666666667  0.3333333333  0.75  0.0  0.0  0.0
      ngridk
      6 6 4
      rgkmax
      10
      gmaxvr
      20
      lmaxapw
      14
      lmaxvr
      7
      lmaxmat
      8
      lradstp
      1
      vkloff
      0.5 0.5 0.5
      plot3d
      1 1 1
      10 10 10

      --------------------------------------------Y.in-----------------------------------------------------
      'Y'                                        : spsymb
      'yttrium'                                  : spname
        -39.0000                                  : spzn
         162065.4502                              : spmass
      0.320256E-06 2.2000 52.1163 1200            :sprmin, rmt, sprmax, nrmt.
        14                                        : spnst
         1   0   1   2.00000    T                 : spn, spl, spk, spocc, 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    F
         3   2   3   6.00000    F
         4   0   1   2.00000    F
         4   1   1   2.00000    F
         4   1   2   4.00000    F
         4   2   2   1.00000    F
         5   0   1   2.00000    F
         2                                        : apword
        0.1500   0  F                             : apwe0, apwdm, apwve
        0.1500   1  F                             : apwe0, apwdm, apwve
         1
         3   1                                    : lorbl, lorbord
        0.1500   0  F                             : lorbe0, lorbdm, lorbve
         7                                        : nlorb
         0   3                                    : lorbl, lorbord
        0.1500   0  F                             : lorbe0, lorbdm, lorbve
        0.1500   1  F
        0.1500   2  F
         1   3                                    : lorbl, lorbord
        0.1500   0  F                             : lorbe0, lorbdm, lorbve
        0.1500   1  F
        0.1500   2  F
         2   3                                    : lorbl, lorbord
        0.1500   0  F                             : lorbe0, lorbdm, lorbve
        0.1500   1  F
        0.1500   2  F
         3   2                                    : lorbl, lorbord
        0.1500   0  F                             : lorbe0, lorbdm, lorbve
        0.1500   1  F
         0   3                                    : lorbl, lorbord
        0.1500   0  F                             : lorbe0, lorbdm, lorbve
        0.1500   1  F
      -1.6119   0  T
         1   3                                    : lorbl, lorbord
        0.1500   0  F                             : lorbe0, lorbdm, lorbve
        0.1500   1  F
      -0.9125   0  T
         2   3                                    : lorbl, lorbord
        0.1500   0  F                             : lorbe0, lorbdm, lorbve
        0.1500   1  F                          
      -5.3335   0  T

      The BS in this file is not a standard one (LAPW for 5sp4d instead of APW+lo) but it does not matter - the results for the standard APW+lo basis are very close, also high energy and strange bands. And even no any warning at all.

      Thank you in advance!

      Alexey

       
    • francesco cricchio

      Hello Alexey,
      I runned your exciting.in + Y.in and yes the 3d electrons you added in valence are missing from the eigenvalues.
      That's way you also got the warning

      Warning(charge): total charge density incorrect for s.c. loop 1
      Calculated : 69.88166169
      Required : 78.00000000

      I think I know what's happening.

      The parameter evalmin that set up the minimum valence energy allowed is set by default to -4.5, so if you would like to include 3d in valence with energy about -5.5 you should change evalmin for example to:

      evalmin
      -6.5

      in exciting.in

      I added this to your input and it seems I get correct eigenvalues, for example at gamma point after few iterations I get the following energies in EIGVAL.OUT:

           1  -5.113110384       2.000000000       1.000000000   
           2  -5.113110354       2.000000000       1.000000000   
           3  -5.113089920       2.000000000       1.000000000   
           4  -5.113089746       2.000000000       1.000000000   
           5  -5.113080615       2.000000000       1.000000000   
           6  -5.113080594       2.000000000       1.000000000   
           7  -5.112916820       2.000000000       1.000000000   
           8  -5.112916749       2.000000000       1.000000000   
           9  -5.112914152       2.000000000       1.000000000   
          10  -5.112914150       2.000000000       1.000000000   
          11  -1.312944597       2.000000000       1.000000000   
          12  -1.310986745       2.000000000       1.000000000   
          13 -0.5870757502       2.000000000       1.000000000   
          14 -0.5747448735       2.000000000       1.000000000   
          15 -0.5737607143       2.000000000       1.000000000   
          16 -0.5723978268       2.000000000       1.000000000   
          17 -0.5702978833       2.000000000       1.000000000   
          18 -0.5698670541       2.000000000       1.000000000   
          19  0.1022855415       2.000000000       1.000000000   
          20  0.1965560894    etc etc....

          
      So the first 10 energies (5 orbitals per atom) are the 3d states you moved in the valence and treated with the local orbital:
      2   3                                    : lorbl, lorbord
        0.1500   0  F                             : lorbe0, lorbdm, lorbve
        0.1500   1  F                          
      -5.3335   0  T

      now they finally appear.

      In the band structure they are straight lines since they are core states, very localized in energy.

      Energies 11 and 12 should be the 4s you inclued in the valence and correctly treated with the local orbital:

        0   3                                    : lorbl, lorbord
        0.1500   0  F                             : lorbe0, lorbdm, lorbve
        0.1500   1  F
      -1.6119   0  T

      The energy is not exactly the same as you provided but in the same range. Also the flag T means that such energy is updated at every iteration.
      I suppose they are almost straigh lines in the band structure.

      Then energy 13,14,15,16,17,18 are 4p states, 3 orbitals per atom.

      By the way why would you like to include 3d states so deep in energy in your valence band, since they are so localized, and they are not supposed to influence the valence electrons?

      To reduce the computational effort I would use the following APW+LO species file with a minimal set of local orbitals:

      'Y'                                        : spsymb
      'yttrium'                                  : spname
        -39.0000                                  : spzn
         162065.4502                              : spmass
        0.320256E-06    2.2000   52.1163   600    : sprmin, rmt, sprmax, nrmt
        14                                        : spnst
         1   0   1   2.00000    T                 : spn, spl, spk, spocc, 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    F
         4   1   1   2.00000    F
         4   1   2   4.00000    F
         4   2   2   1.00000    F
         5   0   1   2.00000    F
         1                                        : apword
        0.1500   0  F              
        0                                        : nlx
         5                                        : 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
         0   3                                    : lorbl, lorbord
        0.1500   0  F                             : lorbe0, lorbdm, lorbve
        0.1500   1  F
      -1.6119   0  T
         1   3                                    : lorbl, lorbord
        0.1500   0  F                             : lorbe0, lorbdm, lorbve
        0.1500   1  F
      -0.9125   0  T
                         
      in which I removed f-local orbitals, unoccupied, I kept 3d in core. Maybe you could also move the 3s from valence to core and remove the corresponding LO, but for safety I kept those in valence, since an s local orbital does not cost much.

      Hope this solve your problem!

      Best

      Francesco

       
    • alexib

      alexib - 2007-11-08

      Thank you very much Francesco!

      The reason why I'm playing with moving some core states into semicore is to minimize core leakage which can result in WF or density or ELF discontinuity on the sphere boundaries. So, for me it is better to use a bit bigger basis than to have non-smooth fields.

      Best regards,

      Alexey.

       

Log in to post a comment.