[QE-users] dielectric function from turbo_lanczos

Michal Krompiec michal.krompiec at gmail.com
Tue Apr 21 12:57:39 CEST 2020


Dear Iurii,
Thanks, I will try that.
But I noticed that eps is calculated for the EELS spectrum (line 555)
and  Re(eps) and Im(eps) are printed to the output file. Would it make
sense to use this for the calculation of the refractive index?

Best,

Michal

On Tue, 21 Apr 2020 at 10:43, Timrov Iurii <iurii.timrov at epfl.ch> wrote:
>
> Dear Michal,
>
>
> > Now, how do I convert the complex susceptibility chi (from the output of turbo_lanczos) to epsilon? I know that in principle epsilon = 1 + chi, but then the results don’t make sense. Am I missing some unit conversion or something else?
> > Moreover, turbo_lanczos is complaining it hasn’t got enough information to compute S - what could be the cause of this?
>
>
> S is the oscillator strength. Some useful information is written in the output file of the turbo_spectrum calculation (for finite systems):
>
>
> chi_i_j: dipole polarizability tensor  in units of e^2*a_0^2/energy
>
> S: oscillator strength in units of 1/energy
>
> S(\hbar \omega) = 2m/( 3 \pi e^2 \hbar)  \omega sum_j chi_j_j
>
> S(\hbar \omega) satisfies the f-sum rule:  \int_0^\infty dE S(E) = N_el
>
>
> In your case you are interested in epsilon for periodic systems, so you may look in the code TDDFPT/tools/tddfpt_calculate_spectrum.f90. E.g. on lines 463-475 it is written:
>
>
> DO ip=1,n_ipol
>
>   DO ip2=1,n_ipol
>
>      !
>
>      !eps(ip,ip2) = (1.d0,0.d0)-(32.d0*pi/omega)*green(ip,ip2)
>
>      !
>
>      WRITE(17,'(5x,"chi_",i1,"_",i1,"=",2x,3(e21.15,2x))') &
>
>          ip2, ip, start, dble(green(ip,ip2)), aimag(green(ip,ip2))
>
>
>      ! write(*,'(5x,"eps_",i1,"_",i1,"=",2x,3(e21.15,2x))') &
>
>      ! ip2, ip, ry*omeg, dble(eps), aimag(eps)
>
>      !
>
>   ENDDO
>
> ENDDO
>
>
> What you need is "eps", but it is commented out. So just uncomment it here and check in other places in this program and see what you obtain. Since this is commented out, one has to be careful and check if the result is correct. I do not know where the factor 32 comes from (one has to think). It was not me who coded this. You may also check the literature how the dielectric matrix is obtained from the susceptibility matrix (i.e. what are the prefactors).
>
>
> HTH
>
>
> Iurii
>
>
> --
> Dr. Iurii Timrov
> Postdoctoral Researcher
> STI - IMX - THEOS and NCCR - MARVEL
> Swiss Federal Institute of Technology Lausanne (EPFL)
> CH-1015 Lausanne, Switzerland
> +41 21 69 34 881
> http://people.epfl.ch/265334
> ________________________________
> From: users <users-bounces at lists.quantum-espresso.org> on behalf of Michal Krompiec <michal.krompiec at gmail.com>
> Sent: Monday, April 20, 2020 10:27:29 PM
> To: Quantum Espresso users Forum
> Subject: [QE-users] dielectric function from turbo_lanczos
>
> Hello,
> I'm trying to compare refractive index spectra calculated with epsilon.x and TDDFpT with the turbo_lanczos code. My system is a periodic supercell, I am using PBEsol functional, Gamma-only sampling and norm-conserving PPs.
>
> From the output of epsilon.x, I calculate refractive index n as follows:
> n = np.sqrt(np.sqrt(np.square(eps_real_iso)+np.square(eps_imag_iso)+eps_real_iso))
> # eps_real_iso and eps_imag_iso are averages of the spatial components of real and imaginary epsilon
>
> Now, how do I convert the complex susceptibility chi (from the output of turbo_lanczos) to epsilon? I know that in principle epsilon = 1 + chi, but then the results don’t make sense. Am I missing some unit conversion or something else?
> Moreover, turbo_lanczos is complaining it hasn’t got enough information to compute S - what could be the cause of this?
>
> Thanks,
> Michal Krompiec
> Merck KGaA
>
> _______________________________________________
> Quantum ESPRESSO is supported by MaX (www.max-centre.eu/quantum-espresso)
> users mailing list users at lists.quantum-espresso.org
> https://lists.quantum-espresso.org/mailman/listinfo/users


More information about the users mailing list