Basic magnetism

Fe in fcc structure

In its ground state Fe crystallizes in a bcc structure, but it is also possible to synthesize Fe in an fcc structure, e.g., fcc Fe clusters may form by fast annealing of Fe in a Cu matrix. In this tutorial we will consider such a structure and investigate different magnetic configurations of such a setup.

Ferromagnetism vs. Antiferromagnetism

When comparing ferromagnetic (FM) and antiferromagnetic (AFM) configurations of a crystal often the minimal unit cells for these different magnetic states vary in size. This implies that one has to be careful to adjust the parametrization of the calculation to be analogous. Especially the k-point mesh dimensions have to be scaled reciprocal to the unit cell dimensions. Other parameters have to be set to identical values. If one wants to avoid such a parameter adjustment step another option is to have a common chemical unit cell as a starting point for all calculations.

In this tutorial we choose this latter approach and set up a two-atom fcc unit cell that can be used to investigate the ferromagnetic state, as well as an antiferromagnetic configuration in (001) direction. The inpFeSimple.txt inpgen input in the FeSimple can be used to generate such a Fleur setup. It implements the two-atom fcc unit cell as a tetragonal cell ('tP'). Change into the mentioned directory and display this input.

cd FeSimple ; cat inpFeSimple.txt

Note the 'fractional atomic numbers' used for the Fe atoms. Fractional atomic numbers in inpgen input will not change the core charges of the nuclei but only indicate to inpgen that atoms with different fractional parts are not symmetry equivalent. Since we want to enable different magnetic setups for the two atoms this is important for our calculations.

Use the inpgen input to generate a Fleur input.

inpgen -f inpFeSimple.txt

Tests prior to this tutorial showed that the calculations on this system feature benign convergence behavior but also take some more iterations than is specified by default in the inp.xml file. Of course, we could just invoke Fleur a few times to get to the needed number of iterations but to reduce the number of Fleur calls in this tutorials we adjust the maximum number of SCF iterations Fleur does.

Edit the inp.xml file by setting /calculationSetup/scfLoop/@itmax to "50".

Note that in the inp.xml file the two Fe atoms are assigned to different atom groups. This is due to the fractional atomic numbers in the inpgen input. Atom groups (sometimes called atom types) in Fleur define the atoms found to be symmetry equivalent by the input generator.

We have to further modify the Fleur input for the antiferromagnetic calculation. In preparation create two directories FM and AFM and copy the Fleur input files inp.xml, sym.xml, and kpts.xml (all xml files created by inpgen) to these directories.

mkdir FM ; mkdir AFM ; cp *.xml FM/ ; cp *.xml AFM/

In the AFM folder modify the inp.xml file such that

  • You duplicate the entry for the Iron (Fe) atom species. In the test calculation this entry was:
      <species name="Iron (Fe)" element="Fe" atomicNumber="26">
         <mtSphere radius="2.35000000" gridPoints="777" logIncrement=".01600000"/>
         <atomicCutoffs lmax="8" lnonsphr="6"/>
         <electronConfig flipSpins="F">
            <coreConfig>(1s1/2) (2s1/2) (2p1/2) (2p3/2)</coreConfig>
            <valenceConfig>(3s1/2) (3p1/2) (3p3/2) (4s1/2) (3d3/2) (3d5/2)</valenceConfig>
            <stateOccupation state="(3d3/2)" spinUp="1.20000000" spinDown="1.20000000"/>
            <stateOccupation state="(3d5/2)" spinUp="2.90000000" spinDown=".70000000"/>
         <energyParameters s="4" p="4" d="3" f="4"/>
         <lo type="SCLO" l="0" n="3" eDeriv="0"/>
         <lo type="SCLO" l="1" n="3" eDeriv="0"/>
  • After having these two species entries in the /atomSpecies section change the name of them (/atomSpecies/species/@name) to "Iron (Fe) 1" and "Iron (Fe) 2", respectively.
  • In the "Iron (Fe) 2" entry we now give the initial magnetic moment a sign change. For this set the respective .../electronConfig/@flipSpins entry to "T".
  • Associate the two atom groups to the two atom species, i.e., change the entries /atomGroups/atomGroup/@species to "Iron (Fe) 1" and "Iron (Fe) 2", respectively.

Perform the Fleur calculations in the FM and AFM directories.

cd FM ; fleur_MPI ; cd -
cd AFM; fleur_MPI ; cd -

The charge density distance output of the calculations should indicate convergence. Extract the total energy from the last iteration of both calculations and compare them. You should find that from our calculations (with default parameters) the FM configuration is preferred and has a small energy advantage of about for the unit cell or per atom.

for f in $(find . -name "out"); do grep -H "total energy" $f | tail -1; done

Another quantity we can extract for magnetic calculations are the magnetic moments in the MT spheres. For this two-atom type system you can easily find these entries for the last SCF iteration by invoking

grep "magneticMoment" FM/out.xml | tail -n 4


grep "magneticMoment" AFM/out.xml | tail -n 4

Doing this for the out.xml files of the two calculations should show for the FM calculation a magnetic moment of about in both MT spheres and for the AFM calculation a magnetic moment of about with opposite signs in the two MT spheres.

One can also extract for each spin the total charges in the whole unit cell. We do that for the FM calculation. For the last iteration we obtain the respective entries with:

grep "spinDependent" FM/out.xml | tail -n 2

Subtracting the spin 2 charge from the spin 1 charge and dividing by 2 (for the two atoms in the unit cell) should give a magnetic moment of about per atom.