How to ensure the hole position?

Anything regarding the post-processing utility (e.g. excitonic wavefunction analysis) is dealt with in this forum.

Moderators: Davide Sangalli, andrea marini, Daniele Varsano

Post Reply
Tianshu
Posts: 27
Joined: Wed Sep 20, 2017 8:36 am

How to ensure the hole position?

Post by Tianshu » Mon Apr 16, 2018 3:53 am

Dear developers,

I want to analyze the excitonic states using "ypp -e a", is the hole position corresponding to the k-point position? If the transition occurs at the gamma point, the hole position is 0.0 |0.0 |0.0, is this right?

Another question is, if I want to compare the absorption spectrum of a 2D material between monolayer and threelayers, I need to normalize the EPS_Im values obtained from o-bse.eps_q1_diago_bse file. The lattice parameter of interlayer direction (c value) is different (threelayer's is larger of course). In normalization, should I use the EPS_Im value of threelayers to divide by layer number or the value of (layer number)*(c_threelayer/c_monolayer), which means also normalize the lattice parameter at the same time? Thank you for your patience and help.


Best regards,
Tianshu Li,
Jilin University, China

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

Re: How to ensure the hole position?

Post by Daniele Varsano » Mon Apr 16, 2018 9:45 am

Dear Tianshu,
I want to analyze the excitonic states using "ypp -e a", is the hole position corresponding to the k-point position? If the transition occurs at the gamma point, the hole position is 0.0 |0.0 |0.0, is this right?
When you analyze the exciton in k space (ypp -e a), you get information on the independent qp transition participating in the exciton, there is not hole position to set. The hope position in required when you want to plot the excitonic wave function in real space and it is not related to the position of the k points in the BZ where the most important transition occurs.
if I want to compare the absorption spectrum of a 2D material between monolayer and three layers, I need to normalize the EPS_Im values obtained from o-bse.eps_q1_diago_bse file.
The eps scales with the volume of the supercell so you can normalize to the dimension orthogonal to the planes, ie taking into account the vacuum you have added to isolate the system in that direction. I would not normalize to the number of layers. But again, this is arbitrary units so you can also consider the EPS per layer.


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/

Tianshu
Posts: 27
Joined: Wed Sep 20, 2017 8:36 am

Re: How to ensure the hole position?

Post by Tianshu » Mon Apr 16, 2018 2:09 pm

Dear Daniele,

Thank you a lot for your help. If I want to plot the wave function, could you be more specific about how to obtain the hole position?

Another problem I found is when I use ypp after bse calculation, it always has error message as following:

<---> [01] CPU structure, Files & I/O Directories
<---> [02] Y(ambo) P(ost)/(re) P(rocessor)
<---> [03] Core DB
<---> :: Electrons : 60.00000
<---> :: Temperature [ev]: 0.000000
<---> :: Lattice factors [a.u.]: 6.27630 67.91126 8.33202
<---> :: K points : 30
<---> :: Bands : 40
<---> :: Symmetries : 4
<---> :: RL vectors : 223105
<---> [04] K-point grid
<---> :: Q-points (IBZ): 30
<---> :: X K-points (IBZ): 30
<---> [05] CORE Variables Setup
<---> [05.01] Unit cells
<---> [05.02] Symmetries
<---> [05.03] RL shells
<---> [05.04] K-grid lattice
<---> [05.05] Energies [ev] & Occupations
<---> [06] Excitonic Properties

[ERROR] STOP signal received while in :[06] Excitonic Properties
[ERROR] ndb.BS not found or not compatible with ypp input

I also set the WRbsWF in input file, but it seems doesn't work. I show my bse input file as following,

Code: Select all

#                                                           
#  **    **    **     ****     ****  ******     *******     
# //**  **    ****   /**/**   **/** /*////**   **/////**    
#  //****    **//**  /**//** ** /** /*   /**  **     //**   
#   //**    **  //** /** //***  /** /******  /**      /**   
#    /**   **********/**  //*   /** /*//// **/**      /**   
#    /**  /**//////**/**   /    /** /*    /**//**     **    
#    /**  /**     /**/**        /** /*******  //*******     
#    //   //      // //         //  ///////    ///////      
#                                                           
#              GPL Version 4.1.3 Revision 76                
#                      Serial Build                         
#                http://www.yambo-code.org                  
#
rim_cut                      # [R RIM CUT] Coulomb potential
optics                       # [R OPT] Optics
ppa                          # [R Xp] Plasmon Pole Approximation
bss                          # [R BSS] Bethe Salpeter Equation solver
bse                          # [R BSE] Bethe Salpeter Equation.
bsk                          # [R BSK] Bethe Salpeter Equation kernel
em1d                         # [R Xd] Dynamical Inverse Dielectric Matrix
StdoHash=  40                # [IO] Live-timing Hashes
Nelectro= 60.00000           # Electrons number
ElecTemp= 0.000000     eV    # Electronic Temperature
BoseTemp=-1.000000     eV    # Bosonic Temperature
OccTresh=0.1000E-4           # Occupation treshold (metallic bands)
DBsIOoff= "none"             # [IO] Space-separated list of DB with NO I/O. DB=(DIP,X,HF,COLLs,J,GF,CARRIERs,W,SC,BS,ALL)
DBsFRAGpm= "none"            # [IO] Space-separated list of +DB to be FRAG and -DB NOT to be FRAG. DB=(DIP,X,W,HF,COLLS,K,BS,QINDX,
FFTGvecs=  15079       RL    # [FFT] Plane-waves
WFbuffIO                    # [IO] Wave-functions buffered I/O
NonPDirs= "none"             # [X/BSS] Non periodic chartesian directions (X,Y,Z,XY...)
RandQpts=1000000                   # [RIM] Number of random q-points in the BZ
RandGvec= 200            RL    # [RIM] Coulomb interaction RS components
#QpgFull                     # [F RIM] Coulomb interaction: Full matrix
% Em1Anys
 0.00     | 0.00     | 0.00     |        # [RIM] X Y Z Static Inverse dielectric matrix
%
IDEm1Ref=0                   # [RIM] Dielectric matrix reference component 1(x)/2(y)/3(z)
CUTGeo= "box y"               # [CUT] Coulomb Cutoff geometry: box/cylinder/sphere X/Y/Z/XY..
% CUTBox
0.00     | 50.00     | 0.00     |        # [CUT] [au] Box sides
%
CUTRadius= 0.000000          # [CUT] [au] Sphere/Cylinder radius
CUTCylLen= 0.000000          # [CUT] [au] Cylinder length
#CUTCol_test                 # [CUT] Perform a cutoff test in R-space
Chimod= "Hartree"            # [X] IP/Hartree/ALDA/LRC/BSfxc
BSEmod= "retarded"           # [BSE] resonant/retarded/coupling
BSKmod= "SEX"                # [BSE] IP/Hartree/HF/ALDA/SEX
BSSmod= "d"                  # [BSS] (h)aydock/(d)iagonalization/(i)nversion/(t)ddft`
BSENGexx= 50       Ry    # [BSK] Exchange components
#ALLGexx                     # [BSS] Force the use use all RL vectors for the exchange part
BSENGBlk= 5           Ry    # [BSK] Screened interaction block size
WehDiag                     # [BSK] diagonal (G-space) the eh interaction
#WehCpl                      # [BSK] eh interaction included also in coupling
KfnQPdb= "E < gw/ndb.QP"              # [EXTQP BSK BSS] Database
#KfnQPdb= "none"              # [EXTQP BSK BSS] Database
KfnQP_N= 1                   # [EXTQP BSK BSS] Interpolation neighbours
% 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.00     | 0.00     | 0.00     |        # [EXTQP BSK BSS] W parameters  (valence) eV| eV|eV^-1
%
KfnQP_Wc_E= 0.000000   eV    # [EXTQP BSK BSS] W Energy reference  (conduction)
% KfnQP_Wc
 0.00     | 0.00     | 0.00     |        # [EXTQP BSK BSS] W parameters  (conduction) eV| eV|eV^-1
%
Gauge= "length"              # [BSE] Gauge (length|velocity)
#MetDamp                     # [BSE] Define \w+=sqrt(\w*(\w+i\eta))
DrudeWBS= ( 0.00     , 0.00     )  eV  # [BSE] Drude plasmon
#Reflectivity                # [BSS] Compute reflectivity at normal incidence
BoseCut=  0.10000            # [BOSE] Finite T Bose function cutoff
% BEnRange
  0.00000 | 10.00000 | eV    # [BSS] Energy range
%
% BDmRange
  0.10000 |  0.10000 | eV    # [BSS] Damping range
%
BEnSteps= 300                # [BSS] Energy steps
% BLongDir
 0.000000 | 0.000000 | 1.000000 |        # [BSS] [cc] Electric Field
%
% BSEBands
   28 |  32 |                 # [BSK] Bands range
%
% BSEEhEny
-1.000000 |-1.000000 | eV    # [BSK] Electron-hole energy range
%
WRbsWF                      # [BSS] Write to disk excitonic the WFs
#BSSPertWidth                # [BSS] Include QPs lifetime in a perturbative way
XfnQPdb= "none"              # [EXTQP Xd] Database
XfnQP_N= 1                   # [EXTQP Xd] Interpolation neighbours
% XfnQP_E
 0.000000 | 1.000000 | 1.000000 |        # [EXTQP Xd] E parameters  (c/v) eV|adim|adim
%
XfnQP_Z= ( 1.000000 , 0.000000 )       # [EXTQP Xd] Z factor  (c/v)
XfnQP_Wv_E= 0.000000   eV    # [EXTQP Xd] W Energy reference  (valence)
% XfnQP_Wv
 0.00     | 0.00     | 0.00     |        # [EXTQP Xd] W parameters  (valence) eV| eV|eV^-1
%
XfnQP_Wc_E= 0.000000   eV    # [EXTQP Xd] W Energy reference  (conduction)
% XfnQP_Wc
 0.00     | 0.00     | 0.00     |        # [EXTQP Xd] W parameters  (conduction) eV| eV|eV^-1
%
% QpntsRXp
  1 | 30 |                   # [Xp] Transferred momenta
%
% BndsRnXp
   21 |  45 |                 # [Xp] Polarization function bands
%
NGsBlkXp= 5            Ry    # [Xp] Response block size
CGrdSpXp= 100.0000           # [Xp] [o/o] Coarse grid controller
% EhEngyXp
-1.000000 |-1.000000 | eV    # [Xp] Electron-hole energy range
%
% LongDrXp
 0.000000 | 0.000000 | 1.000000 |        # [Xp] [cc] Electric Field
%
PPAPntXp= 27.21138     eV    # [Xp] PPA imaginary energy
XTermKind= "none"            # [X] X terminator ("none","BG" Bruneval-Gonze)
XTermEn= 40.81708      eV    # [X] X terminator energy (only for kind="BG")
Thank you for your help.

Best regards,
Tianshu Li,
Jilin University, China
College of Materials Science and Engineering,
Jilin University, China
Institute http://dmse.jlu.edu.cn/?mod=info&act=view&id=502

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

Re: How to ensure the hole position?

Post by Daniele Varsano » Mon Apr 16, 2018 2:21 pm

Dear Tianshu,
in line of principle you can put the hole at your convenience. Usually, it is favorable to set it in a symmetric point if any.
Another recommendation is to ensure yourself you to put it in a point where the valence electron participating in the excitation has non-negligible charge.

About the problem you are facing, be sure you have the ndb.BSdiago file in the SAVE directory, if you used the -J dir option you should it also when running ypp.
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/

Tianshu
Posts: 27
Joined: Wed Sep 20, 2017 8:36 am

Re: How to ensure the hole position?

Post by Tianshu » Mon Apr 16, 2018 2:51 pm

Dear Daniele,

Awesome! The error message no longer shows up after adding '-J'. Thank you very much!


Best regards,
Tianshu Li,
Jilin University, China
College of Materials Science and Engineering,
Jilin University, China
Institute http://dmse.jlu.edu.cn/?mod=info&act=view&id=502

Post Reply