Check2xsf and Spinors
This page serves to give a trivial example of using Castep, check2xsf and spinors. GaAs is used as an example.
For the .cell file, the following suffices:
%block LATTICE_CART ang 2.8268500 2.8268500 0.0000000 2.8268500 0.0000000 2.8268500 0.0000000 2.8268500 2.8268500 %endblock LATTICE_CART %block POSITIONS_FRAC Ga 0.000000000 0.000000000 0.000000000 As 0.250000000 0.250000000 0.250000000 %endblock POSITIONS_FRAC %block SPECIES_POT As Asrel.RRKJ3.UPF Ga Garel.RRKJ3.UPF %endblock SPECIES_POT KPOINT_MP_GRID 2 2 2 KPOINT_MP_OFFSET 0.0 0.0 0.0
and for the .param file:
xc_functional LDA spin_treatment VECTOR spin_orbit_coupling true fix_occupancy false popn_calculate false
One has to provide suitable pseudopotentials, for the OTF ones currently won't do. So they are provided here as Asrel.RRKJ3.UPF and Garel.RRKJ3.UPF. And that is it: one should then be able to run "castep GaAs". The .castep file should say "treating system as non-collinear spin".
Finally, a simple example of check2xsf interpreting the final output:
$ c2x -B=3 -v --null GaAs.check Castep version 16.110 Wavefunction grid 24 24 24 Cell volume 45.179174 natoms 2 Requested cut-off energy 408.171 eV First FFT grid 24 24 24 spins=1 spinors=2 Found 3D data for band_vs0_k1_b3 min=2.70772e-05 max=0.108625 sum=158.081 int=0.516635 Found 3D data for band_vs1_k1_b3 min=2.56075e-05 max=0.101641 sum=147.901 int=0.483365
(Extract, as density, band number three, k-point 1 (implicit, modify with -k=), both spinor components (implict, modify with -S=), produce no output other than the above information about extrema and integrals.) Note that the sum of the two integrals is 1.0 exactly as norm-conserving pseudopotentials were used.