BSE calcuation parameters setting

Deals with issues related to computation of optical spectra, solving the Bethe-Salpeter equation.

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

Post Reply
pandachang97
Posts: 19
Joined: Mon Feb 19, 2024 11:06 pm

BSE calcuation parameters setting

Post by pandachang97 » Tue May 07, 2024 9:47 pm

Hello Yambo experts:

Thank you for your previous help. I have some more silly questions about running BSE with Yambo code. I try calculate absorption spectrum of 2D MoS2. The SCF calculation is done by QE with the primer cell (only one MoS2) with 24*24*1 K-mesh. There are 26 electrons included in the SCF, no SOC. In all Yambo calculations, I always use 4 Nodes with 192 cores. In the static screening calculation, I only include 4000 G-vectors.If I use 6000 G-vectors, the calculation job will crash due to insufficient virtural memory. In BSE kernel and diago solver, as you can see, I only specify BSENGexx= 2000 RL and BSENGBlk= 400 RL. It seems to take 12 hours to finish the job.
My question is how to estimate the number of G-vectors used in the exchange components and block size? What is the threthold that it is enough to cut-off at spcific number, 4000 or 5000? Thank you.
The r_setup file is attached in the attachment.
The yambo input files are listed as below:
01_2D_BSE_screening

Code: Select all

 # Version 5.2.1 Revision 22792 Hash (prev commit) ace55e496e          
#                        Branch is                                    
#                  MPI+HDF5_MPI_IO Build                              
#                http://www.yambo-code.org                            
#
screen                           # [R] Inverse Dielectric/Response Matrix
em1s                             # [R][Xs] Statically Screened Interaction
rim_cut                          # [R] Coulomb potential
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
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= "HARTREE"                # [X] IP/Hartree/ALDA/LRC/PF/BSfxc
% BndsRnXs
   10 | 25 |                         # [Xs] Polarization function bands
%
NGsBlkXs= 4000                RL    # [Xs] Response block size
% LongDrXs
 1.000000 | 1.000000 | 1.000000 |        # [Xs] [cc] Electric Field
%
02_3D_BSE_kernel

Code: Select all

# Version 5.2.1 Revision 22792 Hash (prev commit) ace55e496e          
#                        Branch is                                    
#                  MPI+HDF5_MPI_IO Build                              
#                http://www.yambo-code.org                            
#
optics                           # [R] Linear Response optical properties
rim_cut                          # [R] Coulomb potential
bse                              # [R][BSE] Bethe Salpeter Equation.
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
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
BSKmod= "SEX"                    # [BSE] IP/Hartree/HF/ALDA/SEX/BSfxc
BSEmod= "resonant"               # [BSE] resonant/retarded/coupling
BSENGexx= 2000           RL    # [BSK] Exchange components
BSENGBlk= 400             RL    # [BSK] Screened interaction block size [if -1 uses all the G-vectors of W(q,G,Gp)]
#WehCpl                        # [BSK] eh interaction included also in coupling
% BSEQptR
 1 | 1 |                             # [BSK] Transferred momenta range
%
% BSEBands
   10 | 25 |                         # [BSK] Bands range
%

04_2D_BSE_diago_solver

Code: Select all

bss                              # [R] BSE solver
rim_cut                          # [R] Coulomb potential
optics                           # [R] Linear Response optical properties
dipoles                          # [R] Oscillator strenghts (or dipoles)
bse                              # [R][BSE] Bethe Salpeter Equation.
RandQpts= 1000000                # [RIM] Number of random q-points in the BZ
RandGvec= 101              RL    # [RIM] Coulomb interaction RS components
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
BSKmod= "SEX"                    # [BSE] IP/Hartree/HF/ALDA/SEX/BSfxc
BSEmod= "resonant"               # [BSE] resonant/retarded/coupling
BSSmod= "d"                      # [BSS] (h)aydock/(d)iagonalization/(s)lepc/(i)nversion/(t)ddft`
BSENGexx= 2015             RL    # [BSK] Exchange components
BSENGBlk=  403             RL    # [BSK] Screened interaction block size [if -1 uses all the G-vectors of W(q,G,Gp)]
#WehCpl                        # [BSK] eh interaction included also in coupling
KfnQPdb= "E < ../G0W0_nospinpol2/2D_G0W0/ndb.QP"                  # [EXTQP BSK BSS] Database action
KfnQP_INTERP_NN= 1               # [EXTQP BSK BSS] Interpolation neighbours (NN mode)
KfnQP_INTERP_shells= 20.00000    # [EXTQP BSK BSS] Interpolation shells (BOLTZ mode)
KfnQP_DbGd_INTERP_mode= "NN"     # [EXTQP BSK BSS] Interpolation DbGd mode
% KfnQP_E
 0.000000 | 1.000000 | 1.000000 |        # [EXTQP BSK BSS] E parameters  (c/v) eV|adim|adim
%
KfnQP_Z= ( 1.000000 , 0.000000 )         # [EXTQP BSK BSS] Z factor  (c/v)
KfnQP_Wv_E= 0.000000       eV    # [EXTQP BSK BSS] W Energy reference  (valence)
% KfnQP_Wv
 0.000000 | 0.000000 | 0.000000 |        # [EXTQP BSK BSS] W parameters  (valence) eV| 1|eV^-1
%
KfnQP_Wv_dos= 0.000000     eV    # [EXTQP BSK BSS] W dos pre-factor  (valence)
KfnQP_Wc_E= 0.000000       eV    # [EXTQP BSK BSS] W Energy reference  (conduction)
% KfnQP_Wc
 0.000000 | 0.000000 | 0.000000 |        # [EXTQP BSK BSS] W parameters  (conduction) eV| 1 |eV^-1
%
KfnQP_Wc_dos= 0.000000     eV    # [EXTQP BSK BSS] W dos pre-factor  (conduction)
% BSEQptR
 1 | 1 |                             # [BSK] Transferred momenta range
%
% BSEBands
 10 | 25 |                           # [BSK] Bands range
%
% BEnRange
  2.00000 | 8.00000 |         eV    # [BSS] Energy range
%
% BDmRange
 0.100000 | 0.100000 |         eV    # [BSS] Damping range
%
BEnSteps= 100                    # [BSS] Energy steps
% BLongDir
 1.000000 | 1.000000 | 1.000000 |        # [BSS] [cc] Electric Field
%
BSEprop= "abs"                   # [BSS] Can be any among abs/jdos/kerr/magn/dich/photolum/esrt
BSEdips= "none"                  # [BSS] Can be "trace/none" or "xy/xz/yz" to define off-diagonal rotation plane
WRbsWF                        # [BSS] Write to disk excitonic the WFs
You do not have the required permissions to view the files attached to this post.
Xin Chang
Postdoc research @UT Austin

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

Re: BSE calcuation parameters setting

Post by Daniele Varsano » Thu May 09, 2024 11:42 am

Dear Xin Chang,

convergence parameter are system dependent and should be carefully checked.
For MoS2 you can anyway look at published papers where convergence studied were done as for instance:
https://doi.org/10.1103/PhysRevB.88.045412

Here you can also find a tutorial on BSE ofr MoS2 I just found on the web (It is not prepared by us, so I cannot guarantee on its quality):
https://www.paradim.org/sites/default/f ... _YAMBO.pdf

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