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 <[email protected]> on behalf of Michal 
Krompiec <[email protected]>
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 [email protected]
https://lists.quantum-espresso.org/mailman/listinfo/users

Reply via email to