Having computed the \(\operatorname{Im}\Sigma\) values from the 'imsigma'
PERTURBO calculation (described here), one can find the relaxation time \(\tau\) in the following way:
The scattering rate can be then found as the inverse of the relaxation time, \(\tau^{-1}\).
In order to calculate the relaxation times and the scattering rates from the 'imsigma'
calculation, we provide the relaxation_time.py
Python script.
To use it, you should have a ‘preifx’.imsigma file obtained as an output from the 'imsigma'
calculation.
Run the script in the directory where the ‘preifx’.imsigma file is located:
$ [perturbo_path]/utils/relaxation_time.py
If you have more than one .imsigma file in the directory, specify the file name with --imsigma_file [file.imsigma]
(or -i [file.imsigma]
) option.
The script generates the file called relaxation_time.dat, which has the following format:
# it ik ibnd E(ibnd)(eV) Relaxation time(in fs) Scattering rate (in THz)
1 1 1 6.955370 2.6511488462206518e+01 3.7719496641071323e+01
......
......
#------------------------------------------------------------
The first four columns are the same as in the ‘prefix’.imsigma file, which are: 1) the dummy variable for the temperature, 2) the number of \(\mathbf{k}\) point, 3) the band number, 4) the energy. The 5th and 6th columns are the relaxation time (in fs) and the scattering rate (in THz).