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