# Non-Equilibrium Optical Properties

### Preliminaries

This tutorial can be used to calculate the non-equlibrium optical properties of PbTe using *lmf*.

There is a full potential tutorial for lead telluride which will guide you through a self consistent DFT calculation.

To be able to follow this tutorial it is necessary to have a fully self-consistent calculation for PbTe, it will also be extremely helpful to review the tutorial for equilibrium optics calculations before continuing with this tutorial . This tutorial will assume that equilibrium optics tutorial has been completed, further more this tutorial will be using the same directory and files.

### Overview

Calculating optical properties with excited electron and hole populations is very similar to the equilibrium counterpart, however a number of additional steps are required, these steps include:

- Writting of optical matrix elements to disk
- Obtaining quasi-Fermi levels
- Adding appropiate tokens to the ctrl.ext file and preforming non-equlibrium calculation

These step are described in more detail in the following sections.

### 1-Writing/Reading Optical Matrix Element

As non-equilibrium optical calculations often require an extremely fine k-mesh to accurately describe the band edges, it may be desirable to write the optical matrix elements to disk (named *optdata.ext*) as repeating such calculations can be very computationaly costly. Writing of the optical matrix elements is simply preformed by including “- -opt:write” to the command line such that:

```
lmf -vnit=1 --rs=1,0 --opt:write ctrl.pbte
```

this will produce a new file name *optdata.pbte* which include all matrix elements for the specified k-mesh and selected bands. *optdata.pbte* can be read by the program to avoid repeating the optical calculations. To read in such *optdata.ext* files, the previous command is modified to indicate the action. by running

```
lmf -vnit=1 --rs=1,0 --opt:read ctrl.pbte
```

the optical calculations are preformed with out the recalculation of the matrix elements, additionally the eigenvalues are also read. The second calculation without any additional commands will take mere seconds compared to the costly standard method of optical calculations.

### 2-Quasi-Fermi Levels

In the non-equlibrium calculations it is assumed that the excited populations instantly thermalise to the band edges, this approximation is valid for most applications as this proccess happens on the femtosecond timescale , this is significantly faster compared to most other relaxation rates. Once the populations have thermalised they form independent quasi-Fermi levels which are dependent on the temperature, density of states and the population density. To obtain the quasi-Fermi levels, a one shot band structure calculations is needed, this is as follows:

```
lmf -vnit=1 -vnk=100 --rs=1,0 -voptmod=0 --quit=dos ctrl.pbte
```

this will preform a standard dft/qsGW calculation without altering the density files, additionally the switch “–quit=dos” will terminate the program after the *wkp.pbte* file is updated. The new *wkp.pbte* file which is calculated on a fine k-mesh can be used to calculate the DOS for a given energy window, in the case below the DOS just above the conduction band edge is calculated

```
echo 10001 .09 .2 | lmdos ctrl.pbte -vnk=100 --noinv --dos:rdm:ldig
```

this command will produce the DOS from 0.09 Ry to 0.2 Ry with 10001 energy points between the two values. the DoS file produced has to be modified so that in can be used to calculate the quasi-Fermi levels, that is it needs to start from the band edge energy (0.090685 in this case) and converted into eV units, both these task can be accomplished using the matrix calculator through

```
mcx -f4f14.8 ctdos.cdte -e2 '(x1-0.090685)*13.6' x2/13.6 -inc 'x1>0' -inc 'x2>8e-6' -sort x1 > cbdos.dat
```

now using cbdos.dat the quasi-Fermi level for any given temperature and carrier density can be obtained by

```
geteffromdos -emin=X -fn=cbdos.dat -Tmp=Y Z
```

where X, y and Z are the band edge energy(in eV), thermal energy (in eV) and carrier density (carriers per unit cell). Repeating this proccess the quasi-Fermi level for holes should be obtained(additional command line argument “-vb” in *geteffromdos* is neccessary to get the correct quasi-Fermi level for holes).

### 3-Non-Equilibrium optics Calculation

With the newly obtained quasi-Fermi levels it is possible to preform non-equlibrium absorption and emission calculations for the the joint density of states (**OPTICS_MODE**=-8 and -9 respectively) and the imaginary part of the dielectric function (**OPTICS_MODE**=8 and 9 respectively). Such calculations are preformed in a very similar manor to their equilibrium counterparts, however there are now a number of additional parameters, which are outlined below:

```
OPTICS_IMREF : This token takes two real values as input which represent the hole and electron quasi-fermi levels repectively, in Ry units.
OPTICS_KT : This token takes one real value as input which determine the thermal energy of the system, in Ry units.
OPTICS_FFMT : This is a logical token, once set to TRUE the optical output files (opt.ext,popt.ext ....) will be printed with higher numerical accuracy(needed when dealing with low excited populations).
```

After modifing the ctrl.pbte file to include the additional parameters for the optics calculation such that:

```
% const loptic=9 lteto=0
OPTICS MODE={lmoopt} NPTS=1001 WINDOW=0 1 LTET={lteto}
FILBND=9,10 EMPBND=11,12
FFMT=1 KT={kt} IMREF={efp} {efn}
```

It is possible to calculate the imaginary part of the dielectric function for the case where a number of electrons (holes) are excited to the conduction (valence band) by invoking:

```
lmf -vnit=1 --rs=1,0 -vloptic=9 -vefp=X -vefn=Y -vkt=Z ctrl.pbte
```

where X,Y and Z are the quasi-Fermi levels of the holes and electrons and the thermal energy respectively (all in Rydberg units). The output of such file will have an identical format to opt.ext file for **OPTICS_MODE=1**.