Non-Collinear Magnetism

Objectives

  • Understanding of non-collinear magnetism
  • Setting up a non-magnetic calculation in FLEUR.
  • Learning how to create different magnetic setups.

Introduction

For many materials the magnetic unit cell is neither ferromagnetic nor antiferromagnetic but features a more complex magnetic structure in which the orientation of the magnetization changes within the unit cell. Such magnetic structures are called noncollinear and may be caused by different circumstances. One possible cause is magnetic frustration, i.e., a preferred alignment of the magnetic moments at the different atoms is in contradiction with the geometry of the system. Another cause may be spin-orbit coupling. In this tutorial we will calculate several noncollinear magnetic structures for a magnetically frustrated system.

``{warning}Implementation detail: In Fleur noncollinearity is treated such that within the MT sphere of a certain atom a single magnetization direction is assumed in the setup of the Hamiltonian but this direction can differ between the atoms. The magnetization directions in the MT spheres are given in terms of the two anglesalphaandbetaanalogous to thephiandtheta` angles used for the specification of the SQA in SOC calculations. In the interstitial region between the MT spheres the orientation of the magnetization continuously changes.

In this tutorial we will extend the kind of magnetic structures to simulate from the simple collinear examples to a non-collinear setup. 
Our first example will be a simple two atom unit-cell of iron.

## 1.Example: Fe in bcc structure

As a first example, we revisit the simple collinear setup we investigated in the first magnetism tutorial. Of course, one can also calculate the collinear state using the more general non-collinear setup and we will demonstrate that we get the same results.

### Input for non-collinear calculations

To create a non-collinear setup we will again employ `inpgen` with a simple input file.


```bash
export THOME=$PWD
cd FeNoco ; cat inpFeNocoAFM.txt

Please notice, that we not only specify the magnetic moment per atom here but the full vector of magnetization . This indicates for inpgen that a non-collinear setup is required.

Actually, `inpgen` always reads the three components. If all $m_y$ and $m_z$ are zero, a collinear setup is used. So we have choosen here the magnetic moment to be oriented along the $z$ axis to avoid this.
inpgen -f inpFeNocoAFM.txt

The generated inp.xml file is now somewhat more complex than that used in collinear magnetic calculations. In particular, we would like to draw your attention to:

  1. The additional switches in the magnetism section:
      <magnetism jspins="2" l_noco="T" l_ss="F">
         <qss>.0000000000 .0000000000 .0000000000</qss>
         <mtNocoParams l_mperp="F" l_mtNocoPot="F" l_relaxSQA="F" mag_mixing_scheme="0" mix_RelaxWeightOffD="1.00000000" l_constrained="F" mix_constr="1.00000000"/>
         <sourceFreeMag l_sourceFree="F" l_scaleMag="F" mag_scale="1.00000000"/>
      </magnetism>

here, many more parameters are now available. For the most basic non-collinear calculation we are performing now, the relevant switch is l_noco="T" which makes your simulation a non-collinear one.

  1. For each atomGroup there is now an additional tag:
<nocoParams  alpha=".00000000" beta=".00000000"/>

These two angles define the local spin-frame of the representative atom of the group, i.e., the direction in which the local spin-quantization axis is pointing during the simulation.

In our AFM setup we just created, we have only a single species. This is different from the collinear calculation done before in which we had two different 'Fe' atoms, one with an initial 'up' spin and one with a 'down' spin. In our non-collinear setup these two different atoms differ by the angles in `nocoParams`.

Converging a FM and an AFM configuration using the non-collinear setup

In order to perform a simulation for the ferro- and antiferromagnetic configurations, we create two directories:

mkdir FM ; cd FM ; cat ../inpFeNocoFM.txt ; inpgen -f ../inpFeNocoFM.txt ; cd -
mkdir AFM ; cd AFM ; cat ../inpFeNocoAFM.txt ; inpgen -f ../inpFeNocoAFM.txt ; cd -

Then you can run FLEUR until it converges. Please note that the default of itmax=15 is not sufficent, so you should either - start FLEUR several times until you reach convergence - increase the itmax parameter.

Please note that these calculations are now significantly more computational expensive compared to the collinear setups in the previous tutorial. This is mostly due to two effects: - a non-collinear calculation will always lead to a complex hermitian eigenvalue problem, while a collinear setup with inversion symmetry leads to a real symmetric problem. - in a non-collinear calculation we construct an eigenvalue problem for both spins that is double in size to the collinear setup. As the effort to diagonalize scales cubically with the size, this is significantly more demanding than solving two eigenvalue problems for each spin.

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 FM/out AFM/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 -B 3 "smm" FM/out| tail -n 5

and

grep -B 3 "smm" AFM/out| tail -n 5

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 .

Please note how the magnetization is written out in the AFM case: - The local magnetization is the same for the two atoms. It points to the local +z direction. - The global magnetization vector is different. For one atom it points in +z, for the other in -z direction. - The corresponding beta angle for the second atom is different.

2. Example: Noncollinear magnetism in a Cr Monolayer with hexagonal lattice geometry

For Cr atoms the preferred magnetic ordering is antiferromagnetic. In a triangular lattice this is not possible and such a setup therefore is an example for a magnetically frustrated system. To obtain such a lattice for Cr one can grow a single layer of Cr atoms on a Cu(111) surface. In such a sample the Cr atoms will occupy the positions of Cu atoms in the respective layer. As an approximation to such a setup we calculate an unsupported Cr monolayer with atoms at such positions. Assume an fcc Cu crystal with a lattice constant of . This translates into a nearest-neighbor distance between the atoms of .

Here we now compare three different magnetic states:

  • The FM state where we have only a single atom.
  • The collinear AFM state in which we have "stripe" antiferromagnetic aligment of the magnetisation. Here we have two different atoms, one with magnetisation "up" and one with the magnetisation "down". Note, that one nearest neighbour is now antiferromagnetically aligned while the other is ferromagnetically coupled.
  • The so called "Néel" state in which the three nearest neighbours have magnetic moments pointing at with respect to each other. This can be understood as a compromise in which nearest neighbours are as antiferromagnetic as possible.

First we loop over all three directories to generate the corresponding inp.xml files. Please have a look at the different inp_Cr.txt files and the generated inp.xml to confirm you understand the settings.

cd $THOME/Cr
for f in FM AFM Neel ; do cd $f ; inpgen -f inp_Cr.txt ; cd - ; done

Now you can converge the charge density in the different configurations. You will have to restart FLEUR in order to achieve convergence.

for f in FM AFM Neel ; do cd $f ; aiida-fleur launch scf ; cd - ; done
#
# if you do not want to use the AiiDA SCF workflow here, you can also call FLEUR directly. However,
# you will have to restart it or increase the number of iterations
#
# for f in FM AFM Neel ; do cd $f ; fleur_MPI; cd - ; done

Once you have a converged result, you can look for output quantities. Here we use xmllint to extract from the out.xml file:

  • the magnetic moments
  • the total energy
for f in FM AFM Neel 
do 
  echo $f
  xmllint $f/out.xml --xpath '/fleurOutput/scfLoop/iteration[last()]/magneticMomentsInMTSpheres'
done
for f in FM AFM Neel 
do 
 echo $f
 xmllint $f/out.xml --xpath '/fleurOutput/scfLoop/iteration[last()]/totalEnergy/@value'
done

We observe that the FM configuration actually loses all magnetism and we obtain results for a nonmagnetic setup. Something like this can always happen if the configuration is unstable. Not all magnetic configurations survive the SCF process of a DFT calculation. Sometimes such a behavior can be overcome by choosing a smarter starting point, e.g., a larger initial magnetic moment.

Keeping into account that the FM unit cell contains 1 atom, the AFM cell 2 atoms and the Néel cell 3 atoms we obtain:

Configuration Total Energy Atoms Energy/atom
FM (non-mag) -1048.764Htr 1 -1048.764Htr
AFM -2097.539Htr 2 -1048.769Htr
Neel -3146.314Htr 3 -1048.771Htr

As expected, the total energy per atom of the Néel configuration is lowest and thus it is the most stable one of the 3 inspected configurations.

Learn more:

Obviously, the examples here can be expanded, e.g. by taking different configurations and different materials into account.

Further options related to magnetism are also discussed in the following tutorials and on the documentation website

  • https://www.flapw.de/rel/documentation/magnetism/