Hello,
I would like to know how you can compute the static dielectric function eps^{1} (q, G,G') from the ndb.em1s databases.
I found in a yambopy script that the following quantity is stored in the ndb.em1s files: sqrt(v(q+G)) chi(G,G') sqrt(v(q + G')).
To isolate the epsilon, I have to compute eps^{1} (q, G,G') = delta_{G,G'} + v(q+G) chi(G,G') for G .ne. G'
But in order to do so, I need to exactly know how you build your Coulomb interaction, especially in the limits of q > 0 or G > 0 or both.
Thanks for your help.
Edit:
I am additionally using the RIM as well as the truncated Coulomb potential within a box z geometry to properly treat the 2D systems of study.
Thus, I also have the ndb.RIM and ndb.cutoff that I probably need to correctly construct v(q, G).
Best,
Franz Fischer
Static dielectric function from ndb.em1s
Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano, Conor Hogan

 Posts: 43
 Joined: Wed Jul 20, 2022 9:36 am
Static dielectric function from ndb.em1s
Franz Fischer
PhD student / IMPRSUFAST fellow
Institute of Physical Chemistry
University of Hamburg
PhD student / IMPRSUFAST fellow
Institute of Physical Chemistry
University of Hamburg
 palful
 Posts: 75
 Joined: Tue Jan 26, 2016 11:23 am
 Location: Modena and Milan
Re: Static dielectric function from ndb.em1s
Dear Franz,
What you write about the contents of the ndb.em1s database is correct.
The Coulomb interaction v is just the standard 4\pi/q+G^2 if no Coulomb cutoff is used, otherwise it is the cutoffed version according to the chosen geometry.
So you don't need ndb.cutoff in order to reconstruct epsilon.
By the way, if you have a 2D system I would suggest using the "slab z" geometry instead of "box z". In this way, an analytical expression for v is used and you don't need to specify a CUTBox parameter anymore. In addition, the RIM Monte Carlo integral will be calculated on the analytical cutoffed version instead of the 3D version of v, which is more consistent.
The RIM is not included in the v stored in ndb.em1s. It is a kind of averaging for very small qpoints and a few Gvectors normally used to accelerate convergence of integrals over momentum space. If you want the exact values of epsilon_GG'(q) in that region you probably don't need to add it, but for good samplings you might need to use a very dense k/qmesh.
Cheers,
Fulvio
What you write about the contents of the ndb.em1s database is correct.
The Coulomb interaction v is just the standard 4\pi/q+G^2 if no Coulomb cutoff is used, otherwise it is the cutoffed version according to the chosen geometry.
So you don't need ndb.cutoff in order to reconstruct epsilon.
By the way, if you have a 2D system I would suggest using the "slab z" geometry instead of "box z". In this way, an analytical expression for v is used and you don't need to specify a CUTBox parameter anymore. In addition, the RIM Monte Carlo integral will be calculated on the analytical cutoffed version instead of the 3D version of v, which is more consistent.
The RIM is not included in the v stored in ndb.em1s. It is a kind of averaging for very small qpoints and a few Gvectors normally used to accelerate convergence of integrals over momentum space. If you want the exact values of epsilon_GG'(q) in that region you probably don't need to add it, but for good samplings you might need to use a very dense k/qmesh.
Cheers,
Fulvio
Dr. Fulvio Paleari
S3CNR Institute of Nanoscience and MaX Center
Modena, Italy
S3CNR Institute of Nanoscience and MaX Center
Modena, Italy

 Posts: 43
 Joined: Wed Jul 20, 2022 9:36 am
Re: Static dielectric function from ndb.em1s
Dear Fulvio,
thanks a lot for your reply. But I want to add a naive followup question to your answer concerning the correct construction of the inverse dielectric function eps^{1}_{GG'}(q).
As I can tell, what is stored is the matrix M_GG'(q) = sqrt(v_{G}(q)) * chi^0_{GG'}(q) * sqrt(v_{G'}(q)).
So for a given q, I could compute eps_{GG'}(q) = delta_{GG'}  M_{GG'}(q), and then invert the matrix eps_{GG'}(q) to get the inverse dielectric function. I have experimented with this approach, but it seems to result in wrongful values for Gx = Gx' = Gy = Gy' = 0 for Gz = Gz' > 0
(For monolayer MoTe2 at q=0, these values are far greater than 1, which contradicts most references, e.g. [1]).
What would be the correct way to handle this issue or did I took a wrong turn at some point?
Best,
Franz Fischer
[1] Screening and manybody effects in twodimensional crystals: Monolayer MoS2,
Diana Y. Qiu, Felipe H. da Jornada, and Steven G. Louie,
Phys. Rev. B 93, 235435 (2016)
thanks a lot for your reply. But I want to add a naive followup question to your answer concerning the correct construction of the inverse dielectric function eps^{1}_{GG'}(q).
As I can tell, what is stored is the matrix M_GG'(q) = sqrt(v_{G}(q)) * chi^0_{GG'}(q) * sqrt(v_{G'}(q)).
So for a given q, I could compute eps_{GG'}(q) = delta_{GG'}  M_{GG'}(q), and then invert the matrix eps_{GG'}(q) to get the inverse dielectric function. I have experimented with this approach, but it seems to result in wrongful values for Gx = Gx' = Gy = Gy' = 0 for Gz = Gz' > 0
(For monolayer MoTe2 at q=0, these values are far greater than 1, which contradicts most references, e.g. [1]).
What would be the correct way to handle this issue or did I took a wrong turn at some point?
Best,
Franz Fischer
[1] Screening and manybody effects in twodimensional crystals: Monolayer MoS2,
Diana Y. Qiu, Felipe H. da Jornada, and Steven G. Louie,
Phys. Rev. B 93, 235435 (2016)
Franz Fischer
PhD student / IMPRSUFAST fellow
Institute of Physical Chemistry
University of Hamburg
PhD student / IMPRSUFAST fellow
Institute of Physical Chemistry
University of Hamburg
 Daniele Varsano
 Posts: 3980
 Joined: Tue Mar 17, 2009 2:23 pm
 Contact:
Re: Static dielectric function from ndb.em1s
Dear Franz,
please note that what is stored in ndb.em1s is vX and *not* vX^0, so that
\epsm1=1+vX
Best,
Daniele
please note that what is stored in ndb.em1s is vX and *not* vX^0, so that
\epsm1=1+vX
Best,
Daniele
Dr. Daniele Varsano
S3CNR Institute of Nanoscience and MaX Center, Italy
MaX  Materials design at the Exascale
http://www.nano.cnr.it
http://www.maxcentre.eu/
S3CNR Institute of Nanoscience and MaX Center, Italy
MaX  Materials design at the Exascale
http://www.nano.cnr.it
http://www.maxcentre.eu/

 Posts: 43
 Joined: Wed Jul 20, 2022 9:36 am
Re: Static dielectric function from ndb.em1s
Dear Daniele and dear Fulvio,
thanks for your replies. I computed the inverse dielectric function as you suggested, i.e.: eps^1_GG'(q) = delta_GG' + v_G(q) X_GG'(q) for a monolayer of MoS2 to compare the results with the ones presented in literature [1].
I tried two different cases a) using the bare Coulomb interaction and b) using the truncated Coulomb interaction.
The inverse dielectric function for case a) is in perfect agreement with the literature, see 'em1s_bare.png' in the attachments.
The issue is that the inverse dielectric function in case b) is correct, if Gx=Gy=Gz=0, but not, if we set Gx=Gy=0 and Gz .neq. 0 (see em1s_trunc.png).
I will furthermore attach the report file for the calculation of case b).
I also tried the suggestion of Fulvio to not use the "box z" cutoff geometry, but the "slab z" geometry instead.
Doing so, the Coulomb interaction was not truncated at all. Maybe the "slab" geometry is not implemented in the yambo version that I am using (v4.5.2).
What is causing the unexpected behaviour using the truncated Coulomb interaction?
[1] Screening and manybody effects in twodimensional crystals: Monolayer MoS2,
Diana Y. Qiu, Felipe H. da Jornada, and Steven G. Louie,
Phys. Rev. B 93, 235435 (2016)
thanks for your replies. I computed the inverse dielectric function as you suggested, i.e.: eps^1_GG'(q) = delta_GG' + v_G(q) X_GG'(q) for a monolayer of MoS2 to compare the results with the ones presented in literature [1].
I tried two different cases a) using the bare Coulomb interaction and b) using the truncated Coulomb interaction.
The inverse dielectric function for case a) is in perfect agreement with the literature, see 'em1s_bare.png' in the attachments.
The issue is that the inverse dielectric function in case b) is correct, if Gx=Gy=Gz=0, but not, if we set Gx=Gy=0 and Gz .neq. 0 (see em1s_trunc.png).
I will furthermore attach the report file for the calculation of case b).
I also tried the suggestion of Fulvio to not use the "box z" cutoff geometry, but the "slab z" geometry instead.
Doing so, the Coulomb interaction was not truncated at all. Maybe the "slab" geometry is not implemented in the yambo version that I am using (v4.5.2).
What is causing the unexpected behaviour using the truncated Coulomb interaction?
[1] Screening and manybody effects in twodimensional crystals: Monolayer MoS2,
Diana Y. Qiu, Felipe H. da Jornada, and Steven G. Louie,
Phys. Rev. B 93, 235435 (2016)
You do not have the required permissions to view the files attached to this post.
Franz Fischer
PhD student / IMPRSUFAST fellow
Institute of Physical Chemistry
University of Hamburg
PhD student / IMPRSUFAST fellow
Institute of Physical Chemistry
University of Hamburg
 Daniele Varsano
 Posts: 3980
 Joined: Tue Mar 17, 2009 2:23 pm
 Contact:
Re: Static dielectric function from ndb.em1s
Dear Franz,
as suggested by Fulvio I would avoid the box shape (which is not analytical and can also present negative components) and I would switch to the slab geometry "slab z".
Yes, the slab is present starting from the 5.X release. I strongly suggest you update to the last release of the code.
Best,
Daniele
as suggested by Fulvio I would avoid the box shape (which is not analytical and can also present negative components) and I would switch to the slab geometry "slab z".
Yes, the slab is present starting from the 5.X release. I strongly suggest you update to the last release of the code.
Best,
Daniele
Dr. Daniele Varsano
S3CNR Institute of Nanoscience and MaX Center, Italy
MaX  Materials design at the Exascale
http://www.nano.cnr.it
http://www.maxcentre.eu/
S3CNR Institute of Nanoscience and MaX Center, Italy
MaX  Materials design at the Exascale
http://www.nano.cnr.it
http://www.maxcentre.eu/

 Posts: 43
 Joined: Wed Jul 20, 2022 9:36 am
Re: Static dielectric function from ndb.em1s
Dear Daniele,
I updated to the yambo version 5.1.0 and repeated the calculation and found that using the "slab z" option solves my issues.
For completeness I attach the corresponding eps^1 file plotted against q for different outofplane G's of MoS2 that shows the exact same behaviour as reported in the source I cited earlier.
Thanks for your help!
Best,
Franz
I updated to the yambo version 5.1.0 and repeated the calculation and found that using the "slab z" option solves my issues.
For completeness I attach the corresponding eps^1 file plotted against q for different outofplane G's of MoS2 that shows the exact same behaviour as reported in the source I cited earlier.
Thanks for your help!
Best,
Franz
You do not have the required permissions to view the files attached to this post.
Franz Fischer
PhD student / IMPRSUFAST fellow
Institute of Physical Chemistry
University of Hamburg
PhD student / IMPRSUFAST fellow
Institute of Physical Chemistry
University of Hamburg