Dielectric function computation

Post here any question you encounter when running the scripts of the yambo-py suite. Post here problem strictly to the python interface as problem coming from the yambo runs should go in the appropriate subforum.

Moderators: palful, amolina, mbonacci

Post Reply
MarinT
Posts: 1
Joined: Tue Apr 25, 2023 11:12 am

Dielectric function computation

Post by MarinT » Tue Apr 25, 2023 12:02 pm

Dear all,

Thank you for welcoming me on this forum.

I am using yambopy to post-process a Yambo simulation on an 2D semiconductor.
The source Yambo program, parametrized as independent particle (Chimod= "IP") produces the "o.eps_q1_ip" file where the imaginary dielectric function appears.

But I want to identify the contributions of the inner terms of the dielectric function. For this, I use the YamboDipolesDB.ip_eps2() from yambopy, that is using the DIP_iR elements for its computation. However the dielectric function from Yambo is not reproduced. They are quite similar, but the y scale does not match.

Yambo py seems to use the following equation: eps2 = 1/nkpoints * |DIP_iR|^2 * ( g/pi * 1/ ((Ec - Ev - freq)^2 * g^2) ) for a Lorentzian broadening
However it does not match equation (1) from Yambo guide https://www.yambo-code.eu/wiki/index.ph ... heatsheets.

Would you have a formula to compute the imaginary dielectric function from the DIP_iR elements?

Thank you for your help,
Best regards,

EDIT: I should add that trying to implement equation (1) at hand did not work, neither the experimental shape nor the scaling was good.
Marin Tharrault
PhD student
LPENS Ecole Normale Supérieure, Paris, France

User avatar
palful
Posts: 60
Joined: Tue Jan 26, 2016 11:23 am
Location: Modena and Milan

Re: Dielectric function computation

Post by palful » Fri Apr 28, 2023 8:32 am

Dear Marin,

As for the dipole types, we have that i*<v| p |c>/(Ec-Ev) = <c|r|v> (apart from some constants that are accounted for), so the formula used in yambopy (iR) should match that of the yambo cheat sheet (P).

However, the y-scale problem may be due to the use of the 2D Coulomb cutoff in yambo. If you are using the rim_cut runlevel with CUTGeo, then the scale of the absorption spectrum changes due to the truncation of the Coulomb cutoff.

At present, yambopy does not take this into account in the independent-particles case (only in the BSE case this is accounted for). I need to patch this.

In the meantime, if this is indeed the problem, then it's just a scaling factor that does not change anything in the spectrum except for its magnitude. You can still do the analysis as normal. You can also find the scaling constant by just rescaling the yambopy plot until it coincides with the yambo output (it should coincide exactly).

Cheers,
Fulvio
Dr. Fulvio Paleari
S3-CNR Institute of Nanoscience and MaX Center
Modena, Italy

Post Reply