Probable bug on output of spin-orbit calculations?

Asked by Marcos Verissimo Alves on 2018-06-25

Dear all,

I'd like to report a possible bug in the output of spin moment vectors with SOC calculations. The matter is simple: when one does an SCF for a free Fe atom, with SOC interaction included, one gets the following table of spin vector components:

Species: Fe

Atom Orb Charge sqrt(<S>^2) <(Sx,Sy,Sz)> sqrt(<L>^2) <(Lx,Ly,Lz)>
----------------------------------------------------------------------------------------------------
   1 1 4s 1.6662 -0.000 0.000 0.013 0.000 0.000 0.000
   1 2 4s 0.1595 0.000 -0.000 0.074 0.000 0.000 0.000
   1 3 3dxy 1.1160 -0.000 0.000 0.324 0.000 0.000 0.101
   1 4 3dyz 1.1101 0.000 0.000 0.326 -0.000 0.000 0.026
   1 5 3dz2 1.1084 -0.000 0.000 0.327 -0.000 0.000 0.000
   1 6 3dxz 1.1101 0.000 -0.000 0.326 0.000 -0.000 0.026
   1 7 3dx2-y2 1.1162 -0.000 -0.000 0.324 0.000 -0.000 0.101
   1 8 3dxy 0.1227 0.000 -0.000 0.057 0.000 0.000 -0.001
   1 9 3dyz 0.1227 -0.000 -0.000 0.057 -0.000 0.000 -0.000
   1 10 3dz2 0.1227 0.000 -0.000 0.058 -0.000 0.000 0.000
   1 11 3dxz 0.1227 -0.000 0.000 0.057 0.000 -0.000 -0.000
   1 12 3dx2-y2 0.1226 0.000 0.000 0.057 0.000 -0.000 -0.001
   1 13 4Ppy 0.0000 0.000 -0.000 0.000 0.000 0.000 -0.000
   1 14 4Ppz 0.0000 -0.000 0.000 -0.000 0.000 -0.000 0.000
   1 15 4Ppx 0.0000 -0.000 -0.000 0.000 0.000 -0.000 -0.000
----------------------------------------------------------------------------------------------------
   1 Total 8.0000 1.999 -0.000 0.000 1.999 0.502 -0.000 0.000 0.502

----------------------------------------------------------------------------------------------------
 Sum 8.0000 1.999 -0.000 0.000 1.999 0.502 -0.000 0.000 0.502

and, at the end of the output file:

siesta: Total spin polarization (x,y,z) = -0.000000 0.000000 3.998063
siesta: S , {S} = 3.998063 -0.000000 0.000000 3.998063

However, for a non-collinear calculation without inclusion of SOC, one gets:

Species: Fe

Atom Orb Charge Spin Svec
----------------------------------------------------------------
    1 1 4s 1.66646 0.02551 0.000 0.000 0.026
    1 2 4s 0.15994 0.14805 -0.000 0.000 0.148
    1 3 3dxy 1.11194 0.65038 -0.000 0.000 0.650
    1 4 3dyz 1.11194 0.65038 0.000 0.000 0.650
    1 5 3dz2 1.11213 0.65023 -0.000 0.000 0.650
    1 6 3dxz 1.11194 0.65038 0.000 0.000 0.650
    1 7 3dx2-y2 1.11213 0.65023 -0.000 0.000 0.650
    1 8 3dxy 0.12271 0.11497 0.000 0.000 0.115
    1 9 3dyz 0.12271 0.11497 0.000 0.000 0.115
    1 10 3dz2 0.12269 0.11495 0.000 0.000 0.115
    1 11 3dxz 0.12271 0.11497 0.000 0.000 0.115
    1 12 3dx2-y2 0.12269 0.11495 -0.000 0.000 0.115
    1 13 4Ppy 0.00000 0.00000 0.000 0.000 0.000
    1 14 4Ppz 0.00000 0.00000 0.000 0.000 0.000
    1 15 4Ppx 0.00000 0.00000 -0.000 0.000 0.000
    1 Total 8.00000 3.99996 0.000 0.000 4.000

----------------------------------------------------------------
Total 8.00000 3.99996 0.000 0.000 4.000

and at the end of the output file,

siesta: Total spin polarization (x,y,z) = 0.000000 0.000000 3.999957
siesta: S , {S} = 3.999957 0.000000 0.000000 3.999957

Therefore, it seems that when SOC is turned on, individual spin moments are under-reported by a factor of 2 with respect to the non-SOC calculations.

If this is not a bug, what is the reason for this difference in spin vector component values?

Best regards,

Marcos

Question information

Language:
English Edit question
Status:
Answered
For:
Siesta Edit question
Assignee:
No assignee Edit question
Last query:
2018-06-25
Last reply:
2018-07-06
Nick Papior (nickpapior) said : #1

I believe this has been fixed, could you try and download the latest 4.1 branch and try that out?

https://code.launchpad.net/~siesta-maint/siesta/rel-4.1

Thanks, Nick, I'll try it.

Can you help with this problem?

Provide an answer of your own, or ask Marcos Verissimo Alves for more information if necessary.

To post a message you must log in.