Gadolinium Bulk

Exercise written by Johanna P. Carbone. For questions, please contact j.carbone@fz-juelich.de or he.janssen@fz-juelich.de.

In this part of the tutorial we will take a look into 4f-materials. Indeed, 4f-electrons are characterized by a very localized nature such that DFT alone is not able to describe these systems accurately. We will do a short exercise which shows the effect of the Hubbard U on 4f-electrons.

The system we are gonna try to describe is Gd bulk as it is one of the easiest 4f-systems to start with. Remember, Gd is characterized by 7 4f-electrons, leading to a half-filled situation. The first thing to do is preparing the input file for FLEUR. In the Gd_bulk folder you can find the Gd.txt file needed for the input generator.

export THOME=$PWD #Save tutorial home dir
cd Gd_Bulk/
cat Gd.txt

Now we generate the inp.xml file by calling inpgen

inpgen -f Gd.txt

DFT calculation

We start with a standard DFT calculation which means without any Hubbard U. Change directory to the DFT one.

mkdir DFT; cp inp.xml sym.xml kpts.xml $THOME/Gd_Bulk/DFT 
cd DFT

You can now open the inp.xml file and chose the number of iterations we will approximately need by changing the number in the tag

<scfLoop itmax="15"> 

Also, one might want to increase some parameters like numbands or Kmax. Then we call FLEUR.

Repeat the call to fleur_MPI until the charge density is converged

fleur_MPI

Once the calculation is converged we can take a look at the magnetic moment of Gd and its occupation numbers

grep "magneticMoment" out.xml
grep "mtCharge" out.xml

Now we calculate the DOS by switching the switch

<output dos="F"> 

to T in the inp.xml file and by calling FLEUR. Note the other parameters one can choose in the output section for the DOS calculation.

Open an editor and modify the inp.xml file as sketched above.

fleur_MPI

This will give the banddos.hdf file which we now give in input to the script plot_dos.py

cd $THOME/Gd_Bulk; cat plot_dos.py
python plot_dos.py

From this plot we can notice that the f-peaks are separated by more or less 5 eV and the spin-down peak is on the Fermi energy.

DFT+U calculation

Calculation with U=3 eV

mkdir DFTU3; cp inp.xml sym.xml kpts.xml DFTU3/
cd DFTU3

We will now do the procedure again applying a U on the 4f-electrons starting with U= 3 eV. To do this, we go inside of the DFTU3 folder and add the line

<ldaU l="3" U="3.0" J="0.7" l_amf="F"/>

in the inp.xml file just above the LO's of Gd and below the energyParameters tag.

Open an editor and modify the inp.xml file as sketched above.

Now we call FLEUR again to converge the new calculation with the Hubbard U.

Repeat the call to fleur_MPI until the charge density is converged

fleur_MPI
grep "magneticMoment" out.xml
grep "mtCharge" out.xml

Remember to switch the DOS calculation to T inside of the inp.xml file.

Open an editor and modify the inp.xml file as sketched above.

fleur_MPI

And again, we call the plotting script

cd ..; python plot_dos.py

The effect of the Hubbard U is clear: the energy splitting between the two spin channels of Gd is bigger (around 7-8 eV) and the spin-down peak is pushed away from the Fermi energy.

Calculation with U=6.7 eV

Finally we use the U value commonly accepted in literature for Gd which is 6.7 eV

mkdir DFTU6; cp inp.xml sym.xml kpts.xml DFTU6
cd DFTU6

Modify the inp.xml file introducing in the correct position the line

<ldaU l="3" U="6.7" J="0.7" l_amf="F"/>

Open an editor and modify the inp.xml file as sketched above.

Repeat the call to fleur_MPI until the charge density is converged

fleur_MPI
grep "magneticMoment" out.xml
grep "mtCharge" out.xml

Remember to switch the DOS calculation to T inside of the inp.xml file

Open an editor and modify the inp.xml file as sketched above.

fleur_MPI
cd ..; python plot_dos.py

The two f-spin channels now are even more split by around 11 eV.

Further Tasks

Set up an antiferromagnetic structure for hcp Gd. What are the energy differences between AFM and FM structures for both DFT and DFT+U with the DFT+U configuration

<ldaU l="3" U="6.7" J="0.7" l_amf="F"/>