Menu

Flag change from T to F for "core" electrons

Ravi
2007-06-26
2013-06-05
  • Ravi

    Ravi - 2007-06-26

    Dear Kay

    I am doing this for Si as I am looking for the contribution of Core levels to the response function. In this regard, a few questions:

    1. Taking a specific example Si, the 2p states are fixed as core level. I needed to see a Si (L-2,3 edge) at around 100 eV.
       So I changed the flag to F, then as you had advised previously increased the number of local orbitals. I also increased the radius of the muffin tin sphere right upto (~2.2: the IAD being 4.44). I also increased the lmaxapw and lmaxvr. But the total energy is converging to a different value.

       Si (2p as Core): -578.0793988

       Si (2p changed to valence states): -511.2893990

    2. How good is the generation of conduction bands through this program? I mean by that the "unoccupied" density of states?

    Please let me know

    Ravi Shivaraman

     
    • andrei

      andrei - 2007-07-02

      I would also like to extend this question with a couple more points.

      1. If one needs changing some of the states from core to valence, is it okay to change core-valence cutoff energy (ecvcut parameter) in species.f90 and let the modified species utility re-create species files and calculate the additional local orbitals?

      2. If I understand it correctly, EXCITING species files allow adding different kinds of local orbitals, including energy derivative or radial functions with different energy parameter (lo or LO or mixes in Wien2k terminology). The linearization energies are calculated by the species utility. If one needs changing the energies manually, how would linearization energy zero correspond to DOS energy zero?

      3. How important is it to have the core leakage, i.e. valence charge treated by core basis functions, as low as possible?

      Thanks!
      andrei

       
      • exciting

        exciting - 2007-07-13

        Dear Andrei and Ravi,

        Sorry for the delay in replying.

        I think it would be best just to modify the existing species files rather than change the species.f90 code. The procedure is to run EXCITING with the default species files and note the converged energy of the core state you want to make valence. These energies can be found in EVALCORE.OUT. Then simply add a local orbital in the species file at that energy (minus about 0.2 Ha) and set the spcore flag to false. Here's the example with silicon, where we make all the core states valence:

        Run the default Si example. You should get the core eigenvalues in EVALCORE.OUT to be
        n = 1, l = 0, k = 1 :   -64.93832710
        n = 2, l = 0, k = 1 :   -4.692538332
        n = 2, l = 1, k = 1 :   -3.122298124
        n = 2, l = 1, k = 2 :   -3.098578036

        Now change Si.in to the following:

        -------------------------------------------------------------------------------------
        'Si'                                       : spsymb
        'silicon'                                  : spname
          -14.0000                                  : spzn
           51196.73454                              : spmass
          0.534522E-06    2.0000   46.0509   400    : sprmin, rmt, sprmax, nrmt
           7                                        : spnst
           1   0   1   2.00000    F                 : spn, spl, spk, spocc, spcore
           2   0   1   2.00000    F
           2   1   1   2.00000    F
           2   1   2   4.00000    F
           3   0   1   2.00000    F
           3   1   1   1.00000    F
           3   1   2   1.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
           1   3                                    : lorbl, lorbord
          0.1500   0  F                             : lorbe0, lorbdm, lorbve
          0.1500   1  F
        -3.3000   0  T
           0   3                                    : lorbl, lorbord
          0.1500   0  F                             : lorbe0, lorbdm, lorbve
          0.1500   1  F
        -4.8000   0  T
           0   3                                    : lorbl, lorbord
        -65.2000   0  T
        -65.2000   1  T
        -65.2000   2  T
        -------------------------------------------------------------------------------------

        Note the lowest energy state has three local-orbitals of the same energy. Note also that the default linearisation energies slightly lower than the EVALCORE.OUT values because the routine which updates the linearisation energies starts at the default values and searches upwards.

        It's best to use your modified Si.in file in the same directory as exciting.in, to avoid confusion. You must also change the variable which specifies minimum allowed eigenvalue (default: evalmin=-4.5). My new exciting.in file looks like this:

        -------------------------------------------------------------------------------------
        tasks
          0

        evalmin
        -1000.0

        avec
        5.13 5.13 0.00
        5.13 0.00 5.13
        0.00 5.13 5.13

        atoms
        1                                 : nspecies
        'Si.in'                            : spfname
        2                                 : natoms
        0.0 0.0 0.0      0.0 0.0 0.0      : atposl, bfcmt
        0.25 0.25 0.25   0.0 0.0 0.0

        ngridk
        4  4  4

        vkloff
        0.5 0.5 0.5
        -------------------------------------------------------------------------------------

        For the default species file, the total energy is
        -578.0797961 Ha

        whereas for the new species file with no core states, the total energy is
        -578.7321198 Ha

        The difference is due mainly to two reasons: 1. Valence states are effectively solved with the scalar relativistic Schrodinger equation (as opposed to the full Dirac equation for core states). 2. Core states are solved in only the spherical part of the effective potential, whereas the valence states are solved in the full (non-spherical) potential.

        With regards to the core leakage, it should be small (about 10^-3 or lower). To decrease this you can either promote a core state to valence, or increase the muffin-tin radius.

        (EXCITING version 0.9.99 was used for these calculations)

        Best wishes,
        Kay.

         

Log in to post a comment.