Spinors with Siesta
Note that c2x 2.41 or later is required for this example.
The example follows the fe_noncol_kp example from the Siesta Tests
directory, with the addition of SaveRho .true.
so
that the density is written.
Input Files
The pseudopotential fe_nc.psf
can be found in
the Tests/Pseudos
directory.
$ wget https://gitlab.com/siesta-project/siesta/-/raw/v4.1.5/Tests/Pseudos/fe_nc.psf
And Siesta can be run as
$ siesta < Fe.fdf > Fe.out
Results
This short test calculation might not converge fully, but the output contains spin information as follows
siesta: E_KS(eV) = -2326.9239 siesta: E_KS - E_eggbox = -2326.9239 spin moment: S , {S} = 1.64896 1.64896 0.00000 0.00000 [...] mulliken: Atomic and Orbital Populations: Species: fe_nc Atom Orb Charge Spin Svec ---------------------------------------------------------------- [...] 1 Total 7.94481 3.09031 0.099 0.000 3.089 [...] 2 Total 8.11037 1.45182 1.452 0.000 -0.000 [...] 3 Total 7.94481 3.09031 0.099 0.000 -3.089 ---------------------------------------------------------------- Total 24.00000 1.64896 1.649 0.000 0.000
These data can be compared to the output of c2x.
$ c2x -scv --vec2force=0.96i --cubic --null fe_noncol_kp.RHO Found 3D data for Density min=0 max=5.87102 sum=10365.5 int=24 (integral is e per cell for charge and spin densities) Found 3D data for Vector spin Data contain 3 components. Per component analysis: min=-0.00338721 max=1.87392 sum=712.176 int=1.64896 int|s|=1.68155 min=-6.20107e-16 max=5.80643e-15 sum=2.02319e-12 int=4.68447e-15 int|s|=5.14379e-15 min=-3.06191 max=3.06191 sum=3.47021e-05 int=8.03489e-08 int|s|=6.68912 With s as vector, min(|s|)=0.000000, max(|s|)=3.067627, int|s|=7.936363 (integral is e per cell for charge and spin densities) Sampling of vector data integrating over 0.960000A using 16 points radially Fe at (0.0000,0.0000,0.1822) vector ( 0.0979, 0.0000, 2.7294) modulus 2.7312 Fe at (0.0000,0.0000,0.0000) vector ( 1.2653, 0.0000,-0.0000) modulus 1.2653 Fe at (0.0000,0.0000,-0.1822) vector ( 0.0979, 0.0000,-2.7294) modulus 2.7312
So c2x finds a total charge of 24, a total spin of (1.64896, 4.7e-15, 8.0e-8), and per-atom spins of (0.098, 0, 2.729), (1.265, 0, 0) and (0.098, 0, -2.729). C2x's per-atom analysis is based on integrating over (almost) touching spheres, whereas Siesta is performing Mulliken analysis. It is unsurprising that Siesta's answers are larger, as it will effectively be attributing a greater volume of space to each atom, and has attributed every part of the electron density to an atom, whereas c2x will leave some density unattributed.
In pictures
The Siesta test systems is three Fe atoms in a line, centred on the origin. The centring is unhelpful, but c2x can move them to the centre of the cell.
$ c2x -scv --vec2force=0.96i --cubic --xsf -m='(.5,.5,.5)' fe_noncol_kp.RHO Fe.xsf
And after Modify, Force Settings, Length Factor is set to 2, Display, Forces, to on, and a little rotation, something like the below should be seen.