polarizability for 2D material

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

Post Reply
muhammadhasan
Posts: 47
Joined: Tue Aug 27, 2024 4:42 am

polarizability for 2D material

Post by muhammadhasan » Mon Apr 14, 2025 8:05 pm

Hi Professor,

I’m calculating the polarizability for 2D material (graphene) using Yambo. The input file I have used:

Code: Select all

optics                           # [R] Linear Response optical properties
chi                              # [R][CHI] Dyson equation for Chi.
dipoles                          # [R] Oscillator strenghts (or dipoles)
RandQpts=1000000                       # [RIM] Number of random q-points in the BZ
RandGvec= 100                RL    # [RIM] Coulomb interaction RS components
% Em1Anys
 0.000000 | 0.000000 | 0.000000 |        # [RIM] X Y Z Static Inverse dielectric matrix Anysotropy
%
IDEm1Ref=0                       # [RIM] Dielectric matrix reference component 1(x)/2(y)/3(z)
CUTGeo= "slab Z"                   # [CUT] Coulomb Cutoff geometry: box/cylinder/sphere/ws/slab X/Y/Z/XY..
% CUTBox
 0.000000 | 0.000000 | 0.000000 |        # [CUT] [au] Box sides
%
CUTRadius= 0.000000              # [CUT] [au] Sphere/Cylinder radius
CUTCylLen= 0.000000              # [CUT] [au] Cylinder length
CUTwsGvec= 0.700000              # [CUT] WS cutoff: number of G to be modified
Chimod= "IP"                     # [X] IP/Hartree/ALDA/LRC/PF/BSfxc
% QpntsRXd
    1 |  729 |                       # [Xd] Transferred momenta
%
% BndsRnXd
   1 |  90 |                         # [Xd] Polarization function bands
%
% EnRngeXd
  0.00100 | 1.00000 |         eV    # [Xd] Energy range
%
% DmRngeXd
 0.100000 | 0.100000 |         eV    # [Xd] Damping range
%
ETStpsXd= 200                    # [Xd] Total Energy steps
% LongDrXd
 1.000000 | 0.000000 | 0.000000 |        # [Xd] [cc] Electric Field
%
RPA.PNG
When using IP-RPA, does Yambo output the value of χ⁰(q, ω) (alpha-as follows), as shown in Equation 3?

Code: Select all

#    E[1] [eV]          Im(alpha)          Re(alpha)
#
        0.100000E-2        0.067819           27.33958
        0.006020           0.408439           27.33825
        0.011040           0.749750           27.33496
        0.016060           1.092316           27.32956
        0.021080           1.436667           27.32179
        0.026101           1.783295           27.31136
        0.031121           2.132639           27.29785
And when using Hartree-RPA with LFE, does Yambo output the χ(q, ω), as shown in Equation 3?

Thank you

Best Regards
Md J Hasan
PhD Student, Mechanical Engineering
University of Maine
You do not have the required permissions to view the files attached to this post.

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

Re: polarizability for 2D material

Post by Daniele Varsano » Tue Apr 15, 2025 7:45 am

Dear Hasan,

yes, Yambo print the polarizability which is proportional to X. Alpha=-X/(q^2*4pi)*Lc where Lc is the supercell dimension orthogonal to the plane of the 2D system.
To include the local fields you need to activate the Hartree kernel:

Code: Select all

yambo -r -o c -k hartree 
and set the NGsBlkXd variable until convergence, this will set the dimension of the kernel in G space.

Please note that, the intraband contribution in the limit of q->0 is not included.

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/

muhammadhasan
Posts: 47
Joined: Tue Aug 27, 2024 4:42 am

Re: polarizability for 2D material

Post by muhammadhasan » Tue Apr 15, 2025 8:53 pm

Hi Professor,

Thank you so much for your reply.

1) The expression you mentioned, Alpha=-X/(q^2*4pi)*Lc, where Lc is in the denominator right, professor? Otherwise the unit of alpha is (length)^3, considering the X is unitless.

I also checked the source in yambo/src/pol_function/X_OUTPUT.F and found the following related section:

Code: Select all

   ! Alpha
   if (X_do_obs("alpha")) then 
     if (l_alpha_prop_to_chi_full) then
       ! Alpha proportional to Lfull
       Alpha(:,2)=-spectra(:,2)
       ! Maybe we could extend Alpha ??
       if ( .not.(trim(X%ordering)=='T'.or.trim(X%ordering)=='R') ) &
       & call warning(" Res (or ares) only alpha")
     else
       ! Alpha proportional to Lbar
       Alpha(:,2)=-spectra(:,2)/(spectra(:,2)+1._SP)
     endif
     !
     ! As for the IP definition, I change bare_qpg into Q_plus_G_sq_modulus
     ! To check
     !  (i) if this is correct
     !  (ii) why it is done for alpha and not for Epsilon_ii
     fac=bare_qpg(iq,i_G_shift)**2/Q_plus_G_sq_modulus
     Alpha(:,2)=Alpha(:,2)*fac/4._SP/pi
   endif
From this, if fac= 1/|q|^2, then Alpha = -X/(q^2*4pi)
But I might miss the factor involving Lc, Would you please clarify where Lc is factored in?

2) For pristine graphene, I couldn't find the Drude plasmon frequency directly. As I understand, the empirical intraband contribution can be added via the DrudeWXd parameter:

Code: Select all

DrudeWXd= ( 0.000000 , 0.000000 )  eV    # [Xd] Drude plasmon
You described here nicely viewtopic.php?p=14908#p14908 how we can find the frequency.
Other than that, when performing the RPA calculation in Quantum ESPRESSO using epsilon.x, I see the following output:

Code: Select all

     Performing eps calculation...

     xx,yy,zz plasmon frequences [eV] are:     0.950193077    1.006887266    0.003730124
But I am not sure which one of these can be used as the Drude frequency input in yambo DrudeWXd = ( X.XXXXX , 0.000000 ) eV.

Thank you

Best Regards
Md J Hasan
PhD Student, Mechanical Engineering
University of Maine

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

Re: polarizability for 2D material

Post by Daniele Varsano » Wed Apr 16, 2025 9:49 am

Dear Hasan,

1) What is unitless is X/q^2, so alpha has the unit of length.
In X_OUTPUT you have:
Alpha=Alpha*eps_2_alpha

eps_2_alpha is defined in ./src/setup/check_periodic_directions.F and set according to the system dimension.

2) I do not know what epsilon.x prints, so I cannot help on that.
If you are dealing with pristine graphene (not doped), you should not need a Drude plasmon.

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/

muhammadhasan
Posts: 47
Joined: Tue Aug 27, 2024 4:42 am

Re: polarizability for 2D material

Post by muhammadhasan » Thu Apr 17, 2025 4:50 am

Hi Professor,

Thank you so much for your explanation.

Best
Md J Hasan
PhD student, Mechanical Engineering
University of Maine

muhammadhasan
Posts: 47
Joined: Tue Aug 27, 2024 4:42 am

Re: polarizability for 2D material

Post by muhammadhasan » Thu Apr 24, 2025 2:49 am

Hi Professor,

Would you please let me know what would be the relation between alpha and X^0 if it is 3D bulk system instead of 2D?
Is it something like, Alpha ((a.u)^3)=-X/(q^2*4pi)*super_cell_volume?
Yambo print the polarizability which is proportional to X. Alpha=-X/(q^2*4pi)*Lc where Lc is the supercell dimension orthogonal to the plane of the 2D system.
Thank you

Best
Md J Hasan
PhD student, Mechanical Engineering
University of Maine

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

Re: polarizability for 2D material

Post by Daniele Varsano » Thu Apr 24, 2025 9:37 am

Dear Hasan,

in the case of a 3D system, alpha is not calculated, you can rely on the dielectric constant or the response function of the system which are the relevant physical quantities.

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/

muhammadhasan
Posts: 47
Joined: Tue Aug 27, 2024 4:42 am

Re: polarizability for 2D material

Post by muhammadhasan » Fri Jun 27, 2025 2:56 pm

Hi Professor,

Hope you are doing well. I have a question regarding the real part of the polarizability. Like dielectric function, Does Yambo calculate it by Kramers-Kronig relations from imaginary part of the polarizability?

Thank you.

Best regards
Md J Hasan
PhD student, Mechanical Engineering
University of Maine

muhammadhasan
Posts: 47
Joined: Tue Aug 27, 2024 4:42 am

Re: polarizability for 2D material

Post by muhammadhasan » Mon Jun 30, 2025 4:18 pm

Hi Professor,

I’m really sorry to bother you again with a basic question, but I just want to make sure I understand things correctly.

As far as I know, Yambo first calculates X, and then uses that to find the imaginary part of the dielectric function (or polarizability). After that, it calculates the real part using the Kramers-Kronig relations for the dielectric function (or polarizability).

Could you please confirm if this understanding is correct?

Thank you so much again for your time and patience.

Best Regards
Md J Hasan
PhD Student, Mechanical Engineering
University of Maine

andrea.ferretti
Posts: 215
Joined: Fri Jan 31, 2014 11:13 am

Re: polarizability for 2D material

Post by andrea.ferretti » Tue Jul 01, 2025 1:58 pm

Dear Md J Hasan,

In a regular Yambo calculation (optics, GW, BSE), Xo is computed summing over transitions, i.e. evaluating the residues by making FFTs of the product of wave functions,
and the multiplying them by the typical polar structure of Xo, i.e. [ 1/(w -pole +id) - 1/(w +pole -id) ], where pole are the corresponding transition energies.

In doing so, no KK is performed numerically, while the resulting quantity is KK-compliant by construction.

HTH
Andrea
Andrea Ferretti, PhD
CNR-NANO-S3 and MaX Centre
via Campi 213/A, 41125, Modena, Italy
Tel: +39 059 2055322; Skype: andrea_ferretti
URL: http://www.nano.cnr.it

Post Reply