how to get the information of dielectric function

Deals with issues related to computation of optical spectra in reciprocal space: RPA, TDDFT, local field effects.

Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano, Conor Hogan

xixi
Posts: 30
Joined: Tue Mar 24, 2009 1:08 pm

how to get the information of dielectric function

Post by xixi » Thu Dec 24, 2009 8:15 am

Hi developers;
can I get some information of dielectric function (such as static dielectric constants) from yambo?
if not , may i know on which F90 file contains such information?(so I can modify the source code),
Thanks!

Xi zhu
Nanyang Technological University
Singapore

User avatar
Conor Hogan
Posts: 111
Joined: Tue Mar 17, 2009 12:17 pm
Contact:

Re: how to get the information of dielectric function

Post by Conor Hogan » Sun Dec 27, 2009 5:21 pm

Dear Xi,
Yambo can calculate the frequency dependent dielectric function within RPA or including higher order effects using the "-o" runtime option. See the ample documentation at our website, and run the tutorials....! The resulting data appears in an o.eps* file.
The static dielectric constant will of course just be the value of the macroscopic (i.e. including local fields, etc) dielectric function at zero frequency.
Cheers,
Conor
Dr. Conor Hogan
CNR-ISM, via Fosso del Cavaliere, 00133 Roma, Italy;
Department of Physics and European Theoretical Spectroscopy Facility (ETSF),
University of Rome "Tor Vergata".

xixi
Posts: 30
Joined: Tue Mar 24, 2009 1:08 pm

Re: how to get the information of dielectric function

Post by xixi » Mon Dec 28, 2009 6:55 am

Dear Conor;
I mean can I read the dielectric function from a BSE out file?
after I got a o.eps_q001-bd file from a BSE calculation (yam -o b -b -y d),
there are four columns

#
# E/ev[1] alpha/Im alpha/Re alphao/Im alphao/Re
#
0.0000 0.0156 1.4318 0.0044 1.2329
0.0100 0.0157 1.4333 0.0044 1.2333
0.0200 0.0158 1.4349 0.0044 1.2338

is the dielectric function included?

Thanks!

User avatar
Conor Hogan
Posts: 111
Joined: Tue Mar 17, 2009 12:17 pm
Contact:

Re: how to get the information of dielectric function

Post by Conor Hogan » Tue Dec 29, 2009 3:38 pm

Hi Xi,
The dielectric function can in your case be obtained from the polarizability using the final expression at http://www.yambo-code.org/doc/docs/doc_LR.php, according to the dimensionality of your system.
Cheers,
Conor
Dr. Conor Hogan
CNR-ISM, via Fosso del Cavaliere, 00133 Roma, Italy;
Department of Physics and European Theoretical Spectroscopy Facility (ETSF),
University of Rome "Tor Vergata".

User avatar
Daniele Varsano
Posts: 3773
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: how to get the information of dielectric function

Post by Daniele Varsano » Wed Dec 30, 2009 9:06 am

Dear Xi,
in the four column you have the frequency dependent dielectric response (pay attention on the dimensionality of
your system if you have the epsilon or the polarizability). The fioe should have 5 column:
#1(energy) #2/#3 Im /Real part of alpha/epsilon(depending on dimensions) #4/#5 the same in the non-interactin picture.

Anyway if you want to look inside the code,
in this post
you should find what you need.

PS: I suggest you to inlcude your affiliation directly in your profile as signature otherwise sometimes you can forget to add in
your posts.
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

User avatar
andrea marini
Posts: 325
Joined: Mon Mar 16, 2009 4:27 pm
Contact:

Re: how to get the information of dielectric function

Post by andrea marini » Fri Jan 01, 2010 9:58 pm

Dear Xi, what system are you talking about ? Please provide more informations about the system. If it is an isolated material (nanotube, molecule, surface) are you sure that it is possible to define the dielectric constants ? I mean, if there is same vacuum in your simulation cell then the macroscopic dielectric constant may go to 1 as the cavuum goes to infinity. This is way Yambo gives you the polarizability, instead.
Andrea MARINI
Istituto di Struttura della Materia, CNR, (Italy)

pyadav
Posts: 86
Joined: Thu Nov 26, 2020 2:56 pm
Contact:

Re: how to get the information of dielectric function

Post by pyadav » Wed Nov 17, 2021 7:32 pm

Dear Yambo team,

I'm trying to get the dielectric function for a material for two different approximations 1) RPA level 2) GW level

For the RPA level, I'm using the following input settings and getting the results that match with the literature-

Code: Select all

infver                           # [R] Input file variables verbosity
optics                           # [R] Linear Response optical properties
kernel                           # [R] Kernel
chi                              # [R][CHI] Dyson equation for Chi.
dipoles                          # [R] Oscillator strenghts (or dipoles)
FFTGvecs=  3475            RL    # [FFT] Plane-waves
Chimod= "HARTREE"                # [X] IP/Hartree/ALDA/LRC/PF/BSfxc
NGsBlkXd= 9                Ry    # [Xd] Response block size
% QpntsRXd
   1 | 1 |                         # [Xd] Transferred momenta
%
% BndsRnXd
    1 |  280 |                       # [Xd] Polarization function bands
%
% EnRngeXd
  0.00000 | 6.00000 |         eV    # [Xd] Energy range
%
% DmRngeXd
 0.100000 | 0.100000 |         eV    # [Xd] Damping range
%
ETStpsXd= 500                    # [Xd] Total Energy steps
% LongDrXd
 1.000000 | 0.000000 | 0.000000 |        # [Xd] [cc] Electric Field


But when I'm trying to get the dielectric function from the GW level using the following input -

Code: Select all

# | optics                           # [R] Linear Response optical properties
# | dipoles                          # [R] Oscillator strenghts (or dipoles)
# | bss                              # [R] BSE solver
# | bse                              # [R][BSE] Bethe Salpeter Equation.
# | em1d                             # [R][X] Dynamically Screened Interaction
# | ppa                              # [R][Xp] Plasmon Pole Approximation for the Screened Interaction
# | ElecTemp= 0.025869         eV    # Electronic Temperature
# | FFTGvecs=  3475            RL    # [FFT] Plane-waves
# | BS_CPU= "20.6"                   # [PARALLEL] CPUs for each role
# | BS_ROLEs= "eh.k"                 # [PARALLEL] CPUs roles (k,eh,t)
# | BS_nCPU_LinAlg_INV= 1            # [PARALLEL] CPUs for Linear Algebra (if -1 it is automatically set)
# | BS_nCPU_LinAlg_DIAGO= 1          # [PARALLEL] CPUs for Linear Algebra (if -1 it is automatically set)
# | Chimod= "HARTREE"                # [X] IP/Hartree/ALDA/LRC/PF/BSfxc
# | BSEmod= "retarded"               # [BSE] resonant/retarded/coupling
# | BSKmod= "HARTREE"                # [BSE] IP/Hartree/HF/ALDA/SEX/BSfxc
# | BSSmod= "h"                      # [BSS] (h)aydock/(d)iagonalization/(s)lepc/(i)nversion/(t)ddft`
# | % DipBands
# |   45 |  56 |                         # [DIP] Bands range for dipoles
# | %
# | BSENGexx= 21813            RL    # [BSK] Exchange components
# | KfnQPdb= "E < ./SAVE/ndb.QP"     # [EXTQP BSK BSS] Database action
# | % BSEQptR
# |  1 | 1 |                             # [BSK] Transferred momenta range
# | %
# | % BSEBands
# |   45 |  56 |                         # [BSK] Bands range
# | %
# | % BEnRange
# |  0.000000 | 5.000000 |         eV    # [BSS] Energy range
# | %
# | % BDmRange
# |  0.100000 | 0.100000 |         eV    # [BSS] Damping range
# | %
# | BEnSteps= 250                    # [BSS] Energy steps
# | % BLongDir
# |  0.100000E-4 |  0.00000    |  0.00000    # [BSS] [cc] Electric Field
# | %
# | BSHayTrs=-0.020000               # [BSS] Relative [o/o] Haydock threshold. Strict(>0)/Average(<0)
# | % BndsRnXp
# |    1 | 280 |                         # [Xp] Polarization function bands
# | %
# | NGsBlkXp= 225              RL    # [Xp] Response block size
# | % LongDrXp
# |  0.100000E-4 |  0.00000    |  0.00000    # [Xp] [cc] Electric Field
# | %
# | PPAPntXp= 27.21138         eV    # [Xp] PPA imaginary energy
# | XTermKind= "BG"                  # [X] X terminator ("none","BG" Bruneval-Gonze)
then the results obtained are completely different from the RPA results. I'm attaching the outputs for both the method, please let me know what is wrong with my GW method or what is wrong I'm doing here.

Any kind of help is appreciated.

Wishes,
Pushpendra
You do not have the required permissions to view the files attached to this post.
Pushpendra Yadav
Ph.D. Research Scholar
Quantum Transport and Theory Group
Department of Physics
Indian Instittute of Technology Kanpur, India.

https://sites.google.com/site/amitkag1/

User avatar
Daniele Varsano
Posts: 3773
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: how to get the information of dielectric function

Post by Daniele Varsano » Thu Nov 18, 2021 9:09 am

Dear Pushpendra,

it is not really clear to me what do you want to get and what do you expect.
You are comparing an RPA calculation (where you include 280 bands and 9 Ry in the local field) with an RPA calculation (calcualted in transition space, where few bands are included 45-56, and 21813 RL in the local fled) considering GW correction.

Why should you expect similar results? , beside the different parameters used in the calculation you have at least a blueshift due to the QP correction.

Also note, if you want to do an RPA calculation using GW correction you can also use the same input you used for the RPA adding the QP correction to the X:

Code: Select all

XfnQPdb= "E < ./SAVE/ndb.QP"     # [EXTQP BSK BSS] Database action
Best,

Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

pyadav
Posts: 86
Joined: Thu Nov 26, 2020 2:56 pm
Contact:

Re: how to get the information of dielectric function

Post by pyadav » Thu Nov 18, 2021 12:38 pm

Dear Daniele,

Initially, I missed the fact that both the methods were for different spaces (G space and transition space).

Now if I'm calculating the dielectric function within RPA and G0W0 (in G space) and I'm encountering the following discrepancies,


Case 1) I did the DFT calculation (but not the G0W0) and then I calculated the RPA dielectric function I got some results (input and output files in the attached directory named "chi_after_DFT")

Case 2) After DFT I did the G0W0 calculation and then I calculated the RPA dielectric function using the same inputs that were used in case 1 without adding the QP corrections.
I find that these two dielectric function results are not the same which I think should be the same as I have not added any correction term. (input and output files in the attached directory named "chi_after_G0W0")

May I please know why these two results are not the same if no QP corrections are added explicitly?
PFA.

Thanking you,
Pushpendra
You do not have the required permissions to view the files attached to this post.
Pushpendra Yadav
Ph.D. Research Scholar
Quantum Transport and Theory Group
Department of Physics
Indian Instittute of Technology Kanpur, India.

https://sites.google.com/site/amitkag1/

User avatar
Daniele Varsano
Posts: 3773
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: how to get the information of dielectric function

Post by Daniele Varsano » Thu Nov 18, 2021 1:24 pm

Dear Pushendra,

in the chi_after_g0w0 run you are including QP corrections. This can be seen looking at the end of the report file where the used input file is reported:

Code: Select all

 XfnQPdb= "E < SAVE/ndb.QP"       # [EXTQP Xd] Database action
In the same file you can see that the ndb.QP is read:

Code: Select all

 [RD./SAVE/ndb.QP]
Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

Post Reply