Page 1 of 2
diople calculation
Posted: Sat Nov 24, 2018 5:01 pm
by Weiqing Zhou
Hi all,
I have a stupid question here.
I want to calculate dielectric function within RPA (-o c).
I notice that, for q1 (0,0,0), dipoles P and iR will be calculated first:
<20s> P0001: [WF] Performing Wave-Functions I/O from ./SAVE
<22s> P0001: Dipoles: P and iR (T): | | [000%] --(E) --(X)
<33s> P0001: Dipoles: P and iR (T): |# | [002%] 10s(E) 07m-13s(X)
and then enter response function calculation:
<07m-39s> P0001: Xo@q[1] | | [000%] --(E) --(X)
<07m-44s> P0001: Xo@q[1] |#################### | [052%] 05s(E) 09s(X)
<07m-48s> P0001: Xo@q[1] |########################################| [100%] 09s(E) 09s(X)
but for finite q, response function would be calculated directly after reading wavefunction from ./SAVE while dipoles are not calculated.
<21s> P0001: [WF] Performing Wave-Functions I/O from ./SAVE
<21s> P0001: [FFT-X] Mesh size: 21 21 48
<39s> P0001: [X-CG] R(p) Tot o/o(of R) : 51399 258176 100
<39s> P0001: [X] Upper matrix triangle filled
<39s> P0001: Xo@q[6] | | [000%] --(E) --(X)
<44s> P0001: Xo@q[6] |# | [004%] 05s(E) 01m-48s(X)
Q: why is dipole calculation only necessary for q1 vector? what is the difference between q=0 and finite q calculation ?
Re: diople calculation
Posted: Sat Nov 24, 2018 5:15 pm
by claudio
Dear Zhou
the difference is that for q/=0 you can calculate matrix elements directly doing
<\psi_v | exp{-i q r } | \psi_c>
while this is not possible at q=0 at you have to use the commutator
p = i [H,r]
p_{v,c} = i (e_v - e_c ) r_{v,c}
to evaluate r_{v,c}.
best
Claudio
Re: diople calculation
Posted: Wed Jun 12, 2019 2:27 pm
by Weiqing Zhou
Dear Claudio
Many Thanks!
I want to know the detail about how the macroscopic dielectric function is actually evaluated in yambo at q→0. Is there any paper or ref ?
Best,
Weiqing
Re: diople calculation
Posted: Wed Jun 12, 2019 2:40 pm
by claudio
Re: diople calculation
Posted: Thu Jun 13, 2019 7:42 am
by Daniele Varsano
Dear Weiking,
you can have a look to this recent paper about the yambo code:
It is an open access paper and you can get it at this address:
https://iopscience.iop.org/article/10.1 ... 48X/ab15d0
Best,
Daniele
Re: diople calculation
Posted: Fri Jun 14, 2019 7:01 am
by Weiqing Zhou
Dear Daniele,
Thanks!
What I want to know is explicit expressions of the microscopic dielectric function implemented in Yambo.
In Ref Rev. Mod. Phys.74, 601 (2002), Eq.(2.8) give the formula of so-called independent-particle-random-phase approximation macroscopic dielectric function. Does yambo use exactly same expression?
If the answer is not, what explicit formula implemented in Yambo to calculate macroscopic dielectric function ?
Best,
Weiqing
Re: diople calculation
Posted: Fri Jun 14, 2019 12:12 pm
by Daniele Varsano
Dear Weiking,
are you interested in macrsoscopic o microscopic dielectric function, this is not clear in your post?
In the case of macroscopic you need to distinguish if local filed are included or not.
In case of independent-particle-random-phase approximation the expression is:
eps_M=1-vX^0_00
where v is the coulomb potential and X^0_00 is the G=0,G'=0 component of the independent particle response function.
the explicit expression of X^0 is reported in Eq.1 of the paper I mentioned before:
https://iopscience.iop.org/article/10.1 ... 48X/ab15d0
For the G=0,G'=0 component of X^0 dipoles are needed and there are different ways to calculate them as explained in Sec. 3.1
Best,
Daniele
Re: diople calculation
Posted: Sat Jun 15, 2019 4:35 am
by Weiqing Zhou
Dear Daniele,
Thanks for reply!
Maybe I did not express myself correctly. My focus is macroscopic dielectric function \epsilon(q \to 0,ω), whose definition can be found in Eq.(2.7) in Rev. Mod. Phys.74, 601 (2002).
In Eq.1 and Eq.2 of the paper
https://iopscience.iop.org/article/10.1 ... 48X/ab15d0, \epsilon(q,ω) is not well-defined for the case of q = 0. And in Section 3.1, the paper gives the expression of dipole element and says \epsilon(q= 0,ω) can be calculated by using dipole elements . But I still don't know the exact expression of \epsilon(q= 0,ω) implemented in yambo.
Last post, I mention Eq.(2.8) of Rev. Mod. Phys.74, 601 (2002). It give the exact expression of Im[\epsilon(q \to 0,ω)] within independent-particle-random-phase approximation. that is why I'm asking if Yambo use same expression in case of independent-particle-random-phase approximation. If not, I want to know the exact expression of \epsilon(q= 0,ω) if local field effect is not included since I don't find it at any paper related to yambo.
Best,
Weiqing
Re: diople calculation
Posted: Sat Jun 15, 2019 9:08 am
by Daniele Varsano
Dear Weiking,
ithe indipendent particle macroscopic dilelectric function is caluclated as:
eps_M=1-vX^0_00
v is the Coulomb potential.
X^0 is the independent particle response function.
X_GG' is given Eq.1 of the paper. For the macroscopic equation G=0 and G'=0 and the limit for q->0 need to be considered.
In this limit e^iq.r ~ 1+iq.r so the term iq.<nk|r|mk> needs to be calculated and there different way to calculate the dipole elements (Sec 3.1).
If you want to go into the code you can have a look at ./src/pol_function/OPTICS_driver.F
line 222
Code: Select all
if (Macroscopic_CPU) Epsilon_ii(:,1)=1.0_SP-X_par(1)%blc(i_G_shift,i_G_shift,:)*4.0_SP*pi/Q_plus_G_sq_modulus
223 !
224 ! X Dyson equation solver
225 !
226 if (l_rpa_IP) then
227 !
228 if (Macroscopic_CPU) Epsilon_ii(:,2)=Epsilon_ii(:,1)
229 !
Note that with repsect the expression of RevModPhys the delta function are substituted by Lorentziam as there is always a finite damping \eta.
If the dipole is calculated as expression 3 of the paper: p+[r,Vnl] = v
and the expression is equivalent to the one of RevModPhys in the limit of the damping goes to zero.
I hope now it is more clear,
Best,
Daniele
Re: diople calculation
Posted: Thu Sep 03, 2020 12:13 pm
by a.ugolotti
Hello Yamboers,
I'd take advantage of this old thread instead of opening a new one to ask a couple of additional questions about the transition dipole matrix elements.
1) on the Yambo cheatsheet, the section (2) reports the IP equation which is the result of taking the long wavelenght limit, i.e. q->0, while in section (3) about RPA-LF the more general chi/chi_0 is shown.
Only in the IP case the dipole matrix is explicitly shown; however in Yambo v 4.5 whether I calculate IP or RPA-LF optical spectra the dipoles are getting calculated and written to files in both cases. I also checked that the files are the same. From such a perspective it seems linear that the transition dipole elements can be calculated just once and then re-used; however, I found a great difference between the case in which I use an already calculated transition dipole matrix (from IP run), where I can push easily to larger values of the response block size (>3 Ry) and the case in which I do a unique calculation, which is of course longer, but I get memory issues if I don't change the job settings.
Hence I'd like to get a confirmation that for calculating the dielectric response at whatever level, namely RPA-LF with any size of NGsBlkXd parameter or to get the screening matrix, I can first calculate the IP spectrum to get the dipole databases and then using those for the next step of the calculation.
2) if the system is non-periodic along a J direction, for example setting a box Z geometry, the response at G=G'=0 is always taken into account with the above equations (and the final spectrum scaled by just a constant ~ lenght of the box) or the equations are different, and the simplification in the steps described at Q1) are not valid anymore?
Thanks in advace for your time,