Inconsistent G0W0 bandstructure of 3D-hBN with the yambo tutorials

You can find here problems arising when using old releases of Yambo (< 5.0). Issues as parallelization strategy, performance issues and other technical aspects.

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

Locked
hellolori
Posts: 2
Joined: Mon Apr 19, 2021 9:08 am
Location: Department of physcis, Jinan University, Guangdong province, China

Inconsistent G0W0 bandstructure of 3D-hBN with the yambo tutorials

Post by hellolori » Mon Apr 19, 2021 10:48 am

Dear all,

I recently run into a problem when I follow the tutorial of "How to obtain the quasi-particle band structure of a bulk material: h-BN" (http://www.yambo-code.org/wiki/index.ph ... rial:_h-BN) to obtain the quasiparticle bandstructure of 3D-hBN. The version of yambo I used is v5.0.1 with QE6.6. My problem is that the the finally LDA and GW bandstructures I obtained by "ypp" is very different from the reference in the tutorials, which is also shown below:
Image
The bandstructure I obtained is as follow:
Image
You can see that my result is wrong, but I can not work out the problem myself. In the following part, I will show the process of how I calculate the QP bandstructure.
1. First, I download the hBN.tar.gz from the following link: http://www.yambo-code.org/educational/t ... hBN.tar.gz
2. Then, I enter the folder: hBN/YAMBO, and calculate the quasiparticle energies on the uniform k-gird, which is 6*6*2 with 14 irreducible kpoints. The inputfiles of gw_ppa_all_Bz.in is copied from the tutorials, which reads:

Code: Select all

HF_and_locXC                   # [R XX] Hartree-Fock Self-energy and Vxc
ppa                            # [R Xp] Plasmon Pole Approximation
gw0                            # [R GW] GoWo Quasiparticle energy levels
em1d                           # [R Xd] Dynamical Inverse Dielectric Matrix
X_Threads=0                    # [OPENMP/X] Number of threads for response functions
DIP_Threads=0                  # [OPENMP/X] Number of threads for dipoles
SE_Threads=0                   # [OPENMP/GW] Number of threads for self-energy
EXXRLvcs=  40 Ry      # [XX] Exchange    RL components
VXCRLvcs=  3187        RL      # [XC] XCpotential RL components
Chimod= "HARTREE"              # [X] IP/Hartree/ALDA/LRC/PF/BSfxc
% BndsRnXp
   1 | 30 |                   # [Xp] Polarization function bands
%
NGsBlkXp= 3            Ry      # [Xp] Response block size
 GfnQPdb= "E < ./all_Bz/ndb.QP"
% LongDrXp
 1.000000 | 1.000000 | 1.000000 |        # [Xp] [cc] Electric Field
%
PPAPntXp= 27.21138     eV      # [Xp] PPA imaginary energy
% GbndRnge
   1 | 40 |                   # [GW] G[W] bands range
%
GDamping=  0.10000     eV      # [GW] G[W] damping
dScStep=  0.10000      eV      # [GW] Energy step to evaluate Z factors
DysSolver= "n"                 # [GW] Dyson Equation solver ("n","s","g")
%QPkrange                      # # [GW] QP generalized Kpoint/Band indices
1|14|6|11|
%
After tapping the following commands, I got the QP energy on the uniform k-grids.

Code: Select all

yambo -F gw_ppa_all_Bz.in -J all_Bz
and the results seem consistent with the tutorial, which is also shown below:
Image
3. Then I turn to the interpolation of quasiparticle energies along the high-symmetric k-path using the following inputfiles (ypp_bands.in,copy from the folder of the tutorials ):

Code: Select all

#                                                           
electrons                      # [R] Electrons (and holes)
bnds                           # [R] Bands
INTERP_mode= "NN"              # Interpolation mode (NN=nearest point, BOLTZ=boltztrap aproach)
cooIn= "rlu"                   # Points coordinates (in) cc/rlu/iku/alat
cooOut= "rlu"                  # Points coordinates (out) cc/rlu/iku/alat
% INTERP_Grid
-1 |-1 |-1 |                             # Interpolation BZ Grid
%
INTERP_Shell_Fac= 20.00000     # The bigger it is a higher number of shells is used
CIRCUIT_E_DB_path= "none"      # SAVE obtained from the QE `bands` run (alternative to %BANDS_kpts)
BANDS_path= ""                 # BANDS path points labels (G,M,K,L...)

% BANDS_bands
   6 | 11 |                   # Number of bands
%
BANDS_steps=30
%BANDS_kpts                       # K points of the bands circuit
 0.33300 |-.66667 |0.00000 |
 0.00000 |0.00000 |0.00000 |
 0.50000 |-.50000 |0.00000 |
 0.33300 |-.66667 |0.00000 |
 0.33300 |-.66667 |0.50000 |
 0.00000 |0.00000 |0.50000 |
 0.50000 |-.50000 |0.50000 |
%
By tapping the following commands, I got the LDA energies along the high-symmetric kpoints.

Code: Select all

ypp -F ypp_bands.in
By adding the tag 'GfnQPdb= "E < ./all_Bz/ndb.QP" ' into the ypp_bands.in and relaunch again, I got the QP energies. The standard output is as follow:
<---> [01] MPI/OPENMP structure, Files & I/O Directories
<---> [02] Y(ambo) P(ost)/(re) P(rocessor)
<---> [03] Core DB
<---> :: Electrons : 16.00000
<---> :: Temperature : 0.000000 [eV]
<---> :: Lattice factors : 4.71600 4.08418 12.17671 [a.u.]
<---> :: K points : 14
<---> :: Bands : 100
<---> :: Symmetries : 24
<---> :: RL vectors : 8029
<---> [04] K-point grid
<---> :: Q-points (IBZ): 14
<---> :: X K-points (IBZ): 14
<---> [05] CORE Variables Setup
<---> [05.01] Unit cells
<---> [05.02] Symmetries
<---> [05.03] Reciprocal space
<---> [05.04] K-grid lattice
<---> Grid dimensions : 6 6 2
<---> [05.05] Energies & Occupations
<---> [05.05.01] External/Internal QP corrections
<---> E<./all_Bz/ndb.QP[ PPA@E 27.21138 = XG 37 = Xb 1-30 = Scb 1-40]
<---> [dE_from_DB-Nearest K] Exact matches : 100.0000 [o/o]
<---> [QP_apply] Action to be applied: E<./all_Bz/ndb.QP[ PPA@E 27.21138 = XG 37 = Xb 1-30 = Scb 1-40]
<---> [05.05.01.01] QP corrections report
<---> [06] Interpolation tool
<---> [06.01] Special Points for the HCP lattice
<---> [06.02] Circuit analyzer/generator
<---> Number of Q/K-points in the circuit : 137
<---> Circuit path : A
<---> [06.03] Interpolation@work: Circuit
<---> [E_K_PATH-Nearest K] Exact matches : 2.919708 [o/o]
<---> [E_K_PATH-Nearest K] Neighbours [user]: 1
<---> [E_K_PATH-Nearest K] [real]: 1
<---> [E_K_PATH-Nearest K] Interpolations : 97.08029 [o/o]
<---> [06.04] Fermi Levels
<---> Fermi Level (BUILT-in bands) : 0.004019 [eV]
<---> [06.05] Bands output
<---> Generating output for interpolated bands
<---> [07] Timing Overview
<---> [08] Memory Overview
<---> [09] Game Over & Game summary
However, when I examine the output file "o.bands_interpolated", I found that my results are very different from tutorial as shown below, resulting in very strange bandstrucuture as shown in the beginning of this message.
Image
Can anyone help me work out the problem? Thanks in advance.
Dr. F.P. Zheng
Department of Physics, Jinan university, Guangdong Province, China

User avatar
claudio
Posts: 534
Joined: Tue Mar 31, 2009 11:33 pm
Location: Marseille
Contact:

Re: Inconsistent G0W0 bandstructure of 3D-hBN with the yambo tutorials

Post by claudio » Mon Apr 19, 2021 10:53 am

Dear hellolori

please put your affiliation in the forum,

then your error it is easy to correct, just change the ypp.in input file

INTERP_mode= "BOLTZ"

best
Claudio
Claudio Attaccalite
[CNRS/ Aix-Marseille Université/ CINaM laborarory / TSN department
Campus de Luminy – Case 913
13288 MARSEILLE Cedex 09
web site: http://www.attaccalite.com

Locked