Often the magnetic ground state in a material is neither ferromagnetic nor antiferromagnetic but a noncollinear magnetic structure. In this example we will investigate a special case of such a noncollinear magnetic structure in fcc Fe: A spin spiral in z-direction, where the magnetization rotates in the xy plane.
It is obvious that the FM and AFM states are special cases of such spin spirals. In the FM case the rotation vanishes and in the AFM case the rotation from one atomic layer to the next is $\pi$. The exception here is that in Fleur a spin-spiral calculation assumes, according to the provided angles, a collinear orientation of the magnetization within the MT spheres, while in the interstitial region the magnetization is allowed to vary its direction in spaces. Hence a spin-spiral calculation of these collinear states in principle allows more freedom for the magnetic degrees of freedom.
FLEUR can efficiently describe such spin spirals by employing the generalized Bloch theorem. It allows us to describe the FM and AFM configuration, as well as all other magnetic configuration covered by such a spin spiral in a unit cell with a single Fe atom.
In the FeSpinSpiral
directory the inpFeSpinSpiral.txt
is a starting point for such a calculation. Change into that directory and display the file.
cd FeSpinSpiral/ ; cat inpFeSpinSpiral.txt
It describes a primitive fcc unit cell. The &qss
entry is the spin-spiral vector q associated with the general expression for the magnetization in the MT spheres
where $\vec{R}_{n}$ is the lattice vector pointing from the origin to unit cell $n$, $\vec{\tau}_{\mu}$ is the position of atom $\mu$ in the unit cell, $\beta_{\mu}$ is the cone angle between the magnetic moment of atom $\mu$ and the rotation axis, and $\alpha_{\mu}$ is an atom-dependent phase shift.
Multiplying the q vector with the reciprocal Bravais matrix shows that it actually describes a spin spiral in z direction. With $\beta=\pi/2$ the expression for the magnetization then descibes the FM state for $\vec{q} = (0.0,0.0,0.0)$ and the AFM state for $\vec{q} = (0.5,0.5,0.0)$.
Specifying the spin-spiral vector in the inpgen input is important because of two reasons:
-noco
command line switch or a spin spiral is specified in the inpgen input. Specifying the spin spiral here will also set a few switches in the Fleur input file to special valus. /calculationSetup/magnetism/@l_noco
and /calculationSetup/magnetism/@l_ss
are set to "T"
to activate the spin-spiral calculation and /calculationSetup/coreElectrons/@ctail
is set to "F"
because this feature is not implemented for calculations with noncollinear magnetism.Generate the Fleur input file.
inpgen -f inpFeSpinSpiral.txt
**Before starting the spin-spiral calculation we have to perform a few more modifications in the Fleur input file:**
inpgen -inp.xml -kpt grid=8,8,8
/calculationSetup/scfLoop/@itmax
to "50"
. /cell/bzIntegration/kPointListSelection/@listName
to "default-3"
./atomGroups/atomGroup/nocoParams/@beta
to "0.5*Pi"
.We will calculate spin spirals of the form $(q_\text{xy}, q_\text{xy}, 0.0)$ for qXY from 0.0 to 0.5 in steps of 0.1. For this create directories qXY-0.0
to qXY-0.5
. Copy all xml files needed for these calculations to each of the directories.
mkdir qXY-0.0 ; mkdir qXY-0.1 ; mkdir qXY-0.2 ; mkdir qXY-0.3 ; mkdir qXY-0.4 ; mkdir qXY-0.5
cp *.xml qXY-0.0/ ; cp *.xml qXY-0.1/ ; cp *.xml qXY-0.2/ ; cp *.xml qXY-0.3/ ; cp *.xml qXY-0.4/ ; cp *.xml qXY-0.5/
**In each directory modify the q vector of the spin spiral in the ```inp.xml``` file** by adjusting the numbers in /calculationSetup/magnetism/qss
, i.e., from
<qss>.0000000000 .0000000000 .0000000000</qss>
to
<qss>.5000000000 .5000000000 .0000000000</qss>
Invoke Fleur in each qXY directory.
cd qXY-0.0 ; fleur_MPI ; cd -
cd qXY-0.1 ; fleur_MPI ; cd -
cd qXY-0.2 ; fleur_MPI ;cd -
cd qXY-0.3 ; fleur_MPI ;cd -
cd qXY-0.4 ; fleur_MPI ;cd -
cd qXY-0.5 ; fleur_MPI ; cd -
Extract the total energy for the self-consistent solution of each calculation, e.g, by invoking
for f in $(find . -name "out"); do grep -H "total energy" $f | tail -1; done
(Note: the outputs might not be properly ordered)
**Order the entries and store them in a two-column file with columns containing qXY and the total energy, respectively. Plot the file, e.g., with gnuplot.** Your result should look similar to every 2nd point from the following plot.
While the calculations agree nicely with the previous exercise on the energy difference between FM and AFM configurations, they also show that there is a spin-spiral configuration with $q_\text{xy}$ between $0.25$ and $0.30$ featuring a lower total energy.
In FLEUR the spin spiral is always rotating around the z-axis. By choosing the Euler angle $\beta=0.5*\pi$ in this tutorial we created a "flat" spiral. You can also change this angle to a smaller angle to have a "coned" spiral. But be careful, by setting $\beta=0$ you end up having no spiral. So you could extend this example by looking at different cone angles of the spin-spiral.