by Christian Vorwerk for exciting oxygen
Purpose: In this tutorial, we will show how to perform X-ray emission spectra (XES). To do so, we show the example of the F K-edge emission in LiF.
1. Introduction
The calculation of x-ray emission spectra is similar to that of the x-ray absorption spectra, and we will assume in the following that you have already finished the tutorial Excited states from BSE. The main difference resides in the initial states of the transitions, which are core states. As such, they are solutions of the radial Dirac equation in the muffin-tin spheres.
A description of the basic setup for BSE calculations can be found in X-ray Absorption Spectra using BSE. In addition, all the input parameters are described in Input Reference. Note that, in order to obtain reliable X-ray emission spectra, the calculation needs to be converged with respect to several parameters, such as the size of the k-mesh.
2. The F-K edge in LiF
In a first step, we calculate the electronic groundstate of LiF with the following input file (do not forget to change the path in speciespath).
<input> <title>LiF-BSE</title> <structure speciespath="$EXCITINGROOT/species"> <crystal scale="7.608"> <basevect>0.5 0.5 0.0</basevect> <basevect>0.5 0.0 0.5</basevect> <basevect>0.0 0.5 0.5</basevect> </crystal> <species speciesfile="Li.xml"> <atom coord="0.0000 0.0000 0.0000" /> </species> <species speciesfile="F.xml"> <atom coord="0.5000 0.5000 0.5000" /> </species> </structure> <groundstate do="fromscratch" ngridk="10 10 10" xctype="GGA_PBE_SOL" gmaxvr="14.0"/> </input>
Create a new directory, which you can call, e.g., LiF-XES and move inside it.
$ mkdir LiF-XES
$ cd LiF-XES
The symbol $ indicates the shell prompt. Copy and paste the text of the example above for the ground state of LiF into the file input.xml. Replace the $EXCITINGROOT variable with the correct path by using the command:
$ SETUP-excitingroot.sh
Run the ground-state calculation with the usual command:
$ time exciting_smp
After the ground-state calculation is completed, we inspect the output file EVALCORE.OUT, which contains the information about core electrons. Since we are interested here in the excitations from the flouride K-edge, we have to look specifically for the F 1s electron. For this purpose we have to consider the core state with quantum numbers n=1 and l=0:
Species : 2 (F), atom : 1
n = 1, l = 0, k = 1 : -23.88933329
From the file EVALCORE.OUT we obtain the information that the F 1s electron in LiF has a binding energy of about -23.89 Ha. With this knowledge, we can add to the input file the parameters required to perform a XES calculation. Since we are dealing with excited-state properties, we have to insert the xs element. Paste the following block into the input file:
... <xs xstype="BSE" ngridk="4 4 4" vkloff="0.097 0.273 0.493" ngridq="4 4 4" nempty="30" gqmax="3.0" broad="0.007" scissor="0.20947" tevout="true"> <energywindow intv="23.9 24.1" points="1200"/> <screening screentype="full" nempty="100"/> <BSE xes="true" bsetype="IP" xasspecies="2" xasatom="1" nstlxas="1 5" /> <qpointset> <qpoint>0.0 0.0 0.0</qpoint> </qpointset> </xs> ...
You should be already familiar with many parameters shown above. However, three parameters are unique for XES calculations:
- The attribute xes = "true" in the BSE element triggers the x-ray emission calculation;
- In XES calculations, the attribute nstlxas describes the number of occupied states used in the BSE-Hamiltonian. In the XES process, valence electrons fill the core hole, and with this parameter, we specify which valence states are included in the calculation. In the example above, we use all 5 valence bands of LiF.
- While for x-ray absorption, the interaction of the excited electron and the core hole has a significant influence on the spectrum, there is no core hole in the final state of the x-ray emission process. Therefore, bsetype = "IP" has to be chosen to obtain results that can be compared with experimental ones. More details can be found here.
We are now ready to run the calculation with the usual command (do not forget to skip the ground-state run by inserting the attribute do = "skip" inside the groundstate element):
$ time exciting_smp
The calculation will run for a few seconds. The output will be the same as those described in Excited states from BSE. The x-ray emission spectra are given by the imaginary part of the dielectric function (as in the case of x-ray absorption).
In order to visualize the results, we execute the following commands:
$ cp EPSILON/EPSILON_BSE-IP_SCR-full_OC11.OUT epsilon-IP
$ PLOT-files.py -f epsilon-IP -lx 'Energy [eV]' -ly 'Im $\varepsilon_M$' -t 'Macroscopic dielectric function' -g -rc -cy 3 -x 650 656 -nl
The result is stored in PLOT.png and PLOT.eps and should resemble this plot: