In a normal runsp calculation, the sequence of program steps is:

x lapw1 -up     # creates vectorup and energyup
x lapw1 -dn     #         vectordn     energydn
x lapw2 -up     # calculates EF from energy up/dn and clmvalup
x lapw2 -dn     #                                     clmvaldn

After an scf cycle, you thus still have "valid" enrgyup/dn and vectorup/dn files, thus can run: x lapw2 -up/dn -qtl

in runfsm we have:

x lapw1 -up
cp energyup energydn     !!!!
x lapw2 -up         # with a larger NE in case.in2 file  (cp in2up in2)
x lapw1 -dn
cp energydn energyup
x lapw2 -dn         # with a smaller NE (cp case.in2dn case.in2)

This gives of course 2 different EF. Small correction of what L.Marks said: It is true, that a FSM calculation does NOT give you a true fixed point solution, except: you can interpret the difference in EF-up - dn as a magnetic field, and thus the solution with a fixed moment of M=xx is a solution with an magnetic field of delta-EF. (Note, in most of your cases when far away from a scf-solution and without metamagnetic transitions), the field would be unphysical and really huge (several 1000 Tesla).

From the above sequence it should now also be clear what you have to for the qtls:

x lapw2 -dn -qtl is fine (since you still have the correct energy/vector/in2 files .

x lapw1 -up
cp case.energyup case.energydn
cp case.in2up case.in2
x lapw2 -up -qtl

For the DOS:   x tetra -up/dn

Plotting the DOS in Ry is fine.

Plotting both up and dn DOS in eV in one plot is "wrong", since the energy scale (0 eV = EF) corresponds to two different absolute energies (EF) and thus one should shift up vs dn-DOS by delta-EF !!!!!!

Am 21.05.2016 um 06:35 schrieb Laurence Marks:
I believe the problem here is that you have misunderstood the role of
fixed spin moment calculations.

In some cases there may be more than one fixed-point for a spin
polarized calculator, i.e. two or more local minima with different
spins. It can be useful to try and force a particular spin state, for
instance to see if it is stable. The FSM code does this by controlling
the relative number of up/dn electrons. For instance, with -m 8 there
are always 8 more electrons in the up levels than the down, the Fermi
level is not the same for the up/dn states.

The FSM code only gets you close to a possible spin state, it does not
yield a true fixed point. After doing the FSM calculation in all cases I
can think of you need to remove the case.broyd* files and use runsp
again. It may stabilize to a moment of 8, or it may not. You can't tell
the electrons what to do!

If you want to look at what the FSM calculation did, ignoring that it is
not representative of anything, you have to do some tricks. Depending
upon the current state of your directory you may have files case.in2up,
case.in2dn and case.in2_fsm. The last one has the right number of
valence electrons, similar to when you had when you did a straight runsp
(and saved the results I hope). The in2up file will have 8 more, and
in2dn 8 less. You will need to look at the csh script runfsm and see
what it actually does for a normal lapw2, and then adapt this by hand
adding -qtl. (I don't have the script handy.) I do not think there is a
simple script in Wien2k to do this.

Professor Laurence Marks
"Research is to see what everybody else has seen, and to think what
nobody else has thought", Albert Szent-Gyorgi
Corrosion in 4D
Partner of the CFW 100% gender equity project,
Co-Editor, Acta Cryst A

On May 20, 2016 22:46, "saurabh singh" <
<>> wrote:

    Dear All users,

    Hope many people have faced similar problem in fixed spin moment DOS
    I found problem in calculating DOS in fixed spin moment calculation.
    The similar question asked long before
     but there is no answer given for that.
    In our case I do the LDA+U calculation I do follow the following
    step before calculating DOS
    1. init_lapw
    2.runsp_lapw  -cc 0.0001
    3. runsp_lapw -orb -cc 0.0001
    4. runfsm_lapw -orb -m 8 -cc 0.0001

    I get total spin magnetic moment in unit cell 8.0001 μ_B.  I do
    follow the instruction of user manual where it is recommended that
    one should run x lapw1 -orb -up before calculating the DOS. So i did
    it then i executed following command
    x lapw2 -qtl -up
    x tetra -up

    the above three command with dn. I calculated total DOS in present
    case. The problem I faced that

    1. As per the manual "only case.vectordn is ok, but case.vectorup is
    NOT the proper up-spin vector and MUST NOT be used for the
    calculations of QTLs (and DOS). It must be regenerated by x lapw1
    -up ". Its ok then why if I calculate first the dos for dn spin and
    then follow the required correction of case.vectorup by running the
    x lapw1 -up command it gives two different fermi level in qtlup and
    qtldn file. This is done by the following steps :
    After SCF convergence
    x lapw2 -qtl -dn
    x tetra -dn
    x lapw1 -orb -up
    x lapw2 -qtl -up
    x tetra -up

    I also integrated DOS (case.dosevup/dn) for up and dn spin and found
    the difference in the integrated value at Fermi level (0 eV) is
    nearly 3.07. If the above steps is right it should be nearly 8
    2. If I follow the following steps
    x lapw1 -orb -up
    x lapw2 -qtl -up
    x tetra -up
    x lapw2 -qtl -dn
    x tetra -dn

    Then I got same Fermi level in both the qtlup and qtldn file. But
    again the difference at  Fermi level (i.e. 0 eV) in integrated value
    of up and down spin DOS is nearly 6.13, where as it should be nearly 8.

    I do not understand why this is happening. Can any one give the
    proper steps of finding the DOS for the fixed spin moment
    calculation. Where I am doing the mistakes or which procedure
    followed by me is wrong. I will be very grateful to you.

Wien mailing list

Peter BLAHA, Inst.f. Materials Chemistry, TU Vienna, A-1060 Vienna
Phone: +43-1-58801-165300             FAX: +43-1-58801-165982
Email:    WIEN2k:
Wien mailing list

Reply via email to