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 Sn
14+.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
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.