Page 1 of 2

how to get the information of dielectric function

Posted: Thu Dec 24, 2009 8:15 am
by xixi
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

Re: how to get the information of dielectric function

Posted: Sun Dec 27, 2009 5:21 pm
by Conor Hogan
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

Re: how to get the information of dielectric function

Posted: Mon Dec 28, 2009 6:55 am
by xixi
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!

Re: how to get the information of dielectric function

Posted: Tue Dec 29, 2009 3:38 pm
by Conor Hogan
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

Re: how to get the information of dielectric function

Posted: Wed Dec 30, 2009 9:06 am
by Daniele Varsano
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.

Re: how to get the information of dielectric function

Posted: Fri Jan 01, 2010 9:58 pm
by andrea marini
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.

Re: how to get the information of dielectric function

Posted: Wed Nov 17, 2021 7:32 pm
by pyadav
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

Re: how to get the information of dielectric function

Posted: Thu Nov 18, 2021 9:09 am
by Daniele Varsano
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

Re: how to get the information of dielectric function

Posted: Thu Nov 18, 2021 12:38 pm
by pyadav
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

Re: how to get the information of dielectric function

Posted: Thu Nov 18, 2021 1:24 pm
by Daniele Varsano
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