Spinors with Abinit

Note that c2x 2.41 or later is required for this example.

This example closely follows the Mn3Sn Castep example, with just the differences highlighted.

Input Files

Pseudopotentials

$ curl -O http://www.pseudo-dojo.org/pseudos/nc-fr-04_pbe_standard/Sn.psp8.gz
$ gunzip Sn.psp8.gz
$ curl -O http://www.pseudo-dojo.org/pseudos/nc-fr-04_pbe_standard/Mn.psp8.gz
$ gunzip Mn.psp8.gz

Note the use of "FR" (fully relativistic) pseudopotentials for a spinor calculation. If the above URLs have changed, trying going directly to Pseudo Dojo.

Running Abinit

$ abinit Mn3Sn.abi

This is a large calculation, perhaps about one core-day. Just as with Castep, a large number of valence electrons is being used, with the pseudopotentials being Mn15+ and Sn14+.

Output

Abinit includes much useful data in its output file. The magnetisation section is

 Integrated electronic and magnetization densities in atomic spheres:
 ---------------------------------------------------------------------
 Radius=ratsph(iatom), smearing ratsm=  0.0000. mag(i)=approximate local magneti
c moment.
 Atom    Radius     Total density     mag(x)      mag(y)      mag(z)
    1   2.00000       10.581160     -0.000295   -0.000511   -0.000000
    2   2.00000       10.581160     -0.000295   -0.000511   -0.000000
    3   2.00000       12.853100      3.031833    0.048564   -0.000000
    4   2.00000       12.851438     -1.516938   -2.627414   -0.000000
    5   2.00000       12.853100     -1.473858    2.649926    0.000000
    6   2.00000       12.853100     -1.473858    2.649926    0.000000
    7   2.00000       12.851438     -1.516938   -2.627414   -0.000000
    8   2.00000       12.853100      3.031833    0.048564   -0.000000
 ---------------------------------------------------------------------
 Total magnetization (spheres)       0.081482    0.141130   -0.000000
 Total magnetization (exact)         0.086663    0.150105    0.000000
================================================================================

Much of this can be replicated by c2x.

$ ./c2x -sv --vec2force=2Bi --null Mn3Sn_DEN 
[...]
Found 3D data for Vector spin
Data contain 3 components. Per component analysis:
  min=-1.93773 max=3.40303 sum=90.1651 int=0.0866629 int|s|=13.5453
  min=-3.01506 max=3.04075 sum=156.171 int=0.150105 int|s|=12.3744
  min=-0.0116719 max=0.0116719 sum=-1.48637e-17 int=-1.42864e-20 int|s|=0.0321831
  With s as vector, min(|s|)=0.000001, max(|s|)=3.405064, int|s|=20.552894
  (integral is e per cell for charge and spin densities)
Sampling of vector data integrating over 1.058354A using 22 points radially
Sn at (0.8333,0.1667,0.2500) vector (-0.0003,-0.0005,-0.0000) modulus 0.0006
Sn at (0.1667,0.8333,0.7500) vector (-0.0003,-0.0005,-0.0000) modulus 0.0006
Mn at (0.8227,0.6613,0.2500) vector ( 3.0249, 0.0485,-0.0000) modulus 3.0253
Mn at (0.3387,0.6613,0.2500) vector (-1.5134,-2.6213,-0.0000) modulus 3.0268
Mn at (0.3387,0.1773,0.2500) vector (-1.4705, 2.6439, 0.0000) modulus 3.0253
Mn at (0.6613,0.8227,0.7500) vector (-1.4705, 2.6439, 0.0000) modulus 3.0253
Mn at (0.6613,0.3387,0.7500) vector (-1.5134,-2.6213, 0.0000) modulus 3.0269
Mn at (0.1773,0.3387,0.7500) vector ( 3.0249, 0.0485,-0.0000) modulus 3.0253

Abinit's "total magnetisation (exact)" agrees precisely with the per-component data from c2x.

Abinit reports integrated spin densities for each atom by integrating over a radius of "2.00000", with Bohr assumed. C2x can do the same, by adding "2Bi" to its vec2force argument, where "B" means radius in Bohr, not c2x's default of Angstrom, and "i" means integrate rather than average.

The results are very similar, but not identical. This is unsurprising. The data are on a regular grid, and there is no exact way of performing integrals over spheres of such data. C2x defaults to linear methods, but can also be requested to use cubic methods.

$ c2x -sv --cubic --vec2force=2Bi --null Mn3Sn_DEN
Sampling of vector data integrating over 1.058354A using 22 points radially
Sn at (0.8333,0.1667,0.2500) vector (-0.0003,-0.0005, 0.0000) modulus 0.0006
Sn at (0.1667,0.8333,0.7500) vector (-0.0003,-0.0005, 0.0000) modulus 0.0006
Mn at (0.8227,0.6613,0.2500) vector ( 3.0320, 0.0486,-0.0000) modulus 3.0324
Mn at (0.3387,0.6613,0.2500) vector (-1.5170,-2.6275,-0.0000) modulus 3.0340
Mn at (0.3387,0.1773,0.2500) vector (-1.4739, 2.6501,-0.0000) modulus 3.0324
Mn at (0.6613,0.8227,0.7500) vector (-1.4739, 2.6501,-0.0000) modulus 3.0324
Mn at (0.6613,0.3387,0.7500) vector (-1.5170,-2.6275, 0.0000) modulus 3.0340
Mn at (0.1773,0.3387,0.7500) vector ( 3.0320, 0.0486,-0.0000) modulus 3.0324

One can also request that it uses denser sampling of the spheres as it interpolates.

Sampling of vector data integrating over 1.058354A using 44 points radially
Sn at (0.8333,0.1667,0.2500) vector (-0.0003,-0.0005, 0.0000) modulus 0.0006
Sn at (0.1667,0.8333,0.7500) vector (-0.0003,-0.0005, 0.0000) modulus 0.0006
Mn at (0.8227,0.6613,0.2500) vector ( 3.0320, 0.0486,-0.0000) modulus 3.0323
Mn at (0.3387,0.6613,0.2500) vector (-1.5170,-2.6275,-0.0000) modulus 3.0340
Mn at (0.3387,0.1773,0.2500) vector (-1.4739, 2.6500,-0.0000) modulus 3.0324
Mn at (0.6613,0.8227,0.7500) vector (-1.4739, 2.6500,-0.0000) modulus 3.0323
Mn at (0.6613,0.3387,0.7500) vector (-1.5170,-2.6275,-0.0000) modulus 3.0340
Mn at (0.1773,0.3387,0.7500) vector ( 3.0320, 0.0486,-0.0000) modulus 3.0324

In this case it has made almost no difference.

These per-atom integrated spin densities can be visualised.

$ c2x -s --vec2force=2Bif --xsf Mn3Sn_DEN Mn3Sn.xsf

Mn3Sn with frustrated vector spins, Abinit

The vectors are perfectly planar, and a force length factor of 0.7 was used for the above.

Increasing the integration radius from 2 Bohr to the 1.35A used with the other DFT codes increases the modulus of the spin on the Mn atoms to around 3.3.