error in transferred moment grid

Concerns any physical issues arising during the setup step (-i option). This includes problems with symmetries, k/q-point sets, and so on. For technical problems (running in parallel, etc), refer to the Technical forum.

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

Post Reply
brsahu
Posts: 15
Joined: Sat Jul 11, 2009 7:39 pm

error in transferred moment grid

Post by brsahu » Mon Jul 13, 2009 9:57 pm

Hi,

The latest release of YAMBO [3.2.1 (revision 448)] was compiled on a linux cluster (with intel/10.1, scalapack/1.8.0, MVAPICH/1.0.1, NetCDF/3.6.2, FFTW/3.1.2) and I could interface it with PWSCF (version 4.0.5) meaning successful generation of executables p2y and yambo.

For a test system (Si cell, 2 atoms, norm-conserving pseuo, LDA), a scf and nscf run was done and using 'p2y -N', the files ns.db1 and ns.wf were generated. I did this in serial mode ie using -N to do the testing. I want to check the quasiparticle correction to the indirect gap of bulk silicon.
------------------------------------------------------------------
but invoking 'yambo -N' gives this error:

<---> [01] Job Setup
<---> [02] Input variables setup
<---> [02.01] Unit cells
<---> [02.02] Symmetries
<---> [02.03] RL shells
<24s> Shells finder |####################| [100%] 24s(E) 24s(X)
<24s> [02.04] K-grid lattice
<24s> [02.05] Energies [ev] & Occupations
<24s> [03] Transferred momenta grid

[ERROR] STOP signal received while in :[03] Transferred momenta grid
[ERROR][RL indx] 2 equivalent points in the rlu grid found
----------

I have attached (as a tar.gz file) the relevant inputs and outputs for reproduction of the error.

Moreover, assuming that the step 'yambo -N' is successful, is the following steps needs to be done in order to get the quasiparticle corrections to the bands:
yambo -i or yambo -i -V 2

and then yambo -g n -p p

Or some intermediate steps are needed. As Yambo does not need any input, can the info of the highest occupied band and the lowest unoccupied band be inserted in the generated input 'yambo.in' (by yambo -g n -p p step)
to check the correction to these bands only and therefore the correctinon to the DFT gap. Also from where the initial info is taken by yambo for filling in the 'yambo.in' file (generated by yambo -g n -p p)?
Which file need to be checked to see these corrected bands and to extract the quasiparticle indirect gap if the extracted gap is not printed in the output file?

Bhagawan Sahu, Researcher
Microelectronics Research Center,
University of Texas, Austin, TX 78758
You do not have the required permissions to view the files attached to this post.

User avatar
myrta gruning
Posts: 240
Joined: Tue Mar 17, 2009 11:38 am
Contact:

Re: error in transferred moment grid

Post by myrta gruning » Tue Jul 14, 2009 10:40 am

Dear Bhagawan Sahu,

For what I can see the problem is the k-grid you have chosen for the non-sc run.
K_POINTS
6
0.0 0.0 0.0 1.0
0.0 0.0 2.0 1.0
0.0 0.0 4.0 1.0
0.0 0.0 6.0 1.0
0.0 0.0 8.0 1.0
0.0 0.0 1.0 1.0
You cannot calculate the QP corrections directly along the high-symmetry lines of the BZ. For testing purpose you can use the same grid you used for the sc run:
K_POINTS {automatic}
4 4 4 0 0 0
You can look as well at the note [37] in the yambo paper, where the parameter for a converged GW calculation on bulk Si are described.

Have fun ;)

m
Dr Myrta Grüning
School of Mathematics and Physics
Queen's University Belfast - Northern Ireland

http://www.researcherid.com/rid/B-1515-2009

User avatar
andrea marini
Posts: 325
Joined: Mon Mar 16, 2009 4:27 pm
Contact:

Re: error in transferred moment grid

Post by andrea marini » Tue Jul 14, 2009 4:13 pm

brsahu wrote:
I have attached (as a tar.gz file) the relevant inputs and outputs for reproduction of the error.

Moreover, assuming that the step 'yambo -N' is successful, is the following steps needs to be done in order to get the quasiparticle corrections to the bands:
yambo -i or yambo -i -V 2

and then yambo -g n -p p

Or some intermediate steps are needed. As Yambo does not need any input, can the info of the highest occupied band and the lowest unoccupied band be inserted in the generated input 'yambo.in' (by yambo -g n -p p step)
to check the correction to these bands only and therefore the correctinon to the DFT gap.
Dear Bhagawan Sahu,

as Myrta has already answerd about the error message you got let me give you some advices. First of all the -V option increases the verbosity giving you access to more parameters. As a beginner you do not need it now, the lowest verbosity (no -V option) gives you all fondamental parameters.

Then, to calculate QP corrections the command line >yambo -g n -p p is correct.
brsahu wrote: Also from where the initial info is taken by yambo for filling in the 'yambo.in' file (generated by yambo -g n -p p)?
Yambo takes the value to propose to the input file from the core databases (n)s.db1 and (n)s.wf and from any other databases you create. You will shortly see that Yambo saves in the SAVE folder or in the folder specified with the -J option the result of you calculations.
brsahu wrote: Which file need to be checked to see these corrected bands and to extract the quasiparticle indirect gap if the extracted gap is not printed in the output file?
At the end of the GW calculation yambo creates a text file o.qp where you can find the QP corrections. More detailed informations are written in the report file.

I would suggest you, before running the code, to read the documentation and try to run some of the tutorials provided on the main Yambo web page.

Cheers
Andrea MARINI
Istituto di Struttura della Materia, CNR, (Italy)

brsahu
Posts: 15
Joined: Sat Jul 11, 2009 7:39 pm

Re: error in transferred moment grid

Post by brsahu » Tue Jul 14, 2009 8:35 pm

Dear Myrta and Andrea,

Thanks for your replies.

1) Is there a reason why one can not calculate QP corrections directly at high-symmetry k-points? In the 'band.in' file I sent, there were 6 kpoints (including Gamma and X point) at which GW corrections were sought. Putting a grid (automatically generated by pwscf) may miss the the points at which one wants to calculate the corrections. So putting explicitly the kpoint grid in the 'nscf' run and calculating the corrections to these Kohn-Sham bands seems to be right in principle.

2) In note [37] of the Yambo paper, it says input files used for the plots in the paper are kept at the http://www.yambo-code.org/publications.html. Can you point to the site where input files used in Yambo paper is kept?

3) Andrea: I feel if the tutorial for QP using GW is missing. It will be helpful for the users of Yambo to take a small step before doing BS or TDDFT run. Is it possible a create a tutorial (say for bulk silicon) where users can use the input from the Yambo developers to check the working mode of QP correction with Yambo.

Sahu

brsahu
Posts: 15
Joined: Sat Jul 11, 2009 7:39 pm

Re: error in transferred moment grid

Post by brsahu » Tue Jul 14, 2009 9:09 pm

Hi Mryta and Andrea,
BTW Andrea, I have gone through the documentations including the Yambo paper.

I got hold of the input kept at the 'www.yambo-code.org/publications.php' for the GW calculation of bulk Silicon.

yambo.in in GW directory has

%QPkrange # [GW] QP generalized Kpoint/Band indices
1| 1| 1| 10|
5| 5| 1| 10|
18| 18| 1| 10|
21| 21| 1| 10|
%

I guess this tells yambo to calculate QP corrections to these bands/kpoints. But how to interpret this input? Is the first three entry three k-point coordinates and the last one is the band-index or something else. For example I would like to get the quasiparticle corrections at the Gamma and X points of bulk silicon only, how to provide this input in the above format.

Sahu

User avatar
andrea marini
Posts: 325
Joined: Mon Mar 16, 2009 4:27 pm
Contact:

Re: error in transferred moment grid

Post by andrea marini » Tue Jul 14, 2009 9:20 pm

brsahu wrote: I guess this tells yambo to calculate QP corrections to these bands/kpoints. But how to interpret this input? Is the first three entry three k-point coordinates and the last one is the band-index or something else. For example I would like to get the quasiparticle corrections at the Gamma and X points of bulk silicon only, how to provide this input in the above format.

Sahu
Dear Sahu,

check here and here. In case you will still have additional questions, post them here.

Cheers
Andrea MARINI
Istituto di Struttura della Materia, CNR, (Italy)

User avatar
andrea marini
Posts: 325
Joined: Mon Mar 16, 2009 4:27 pm
Contact:

Re: error in transferred moment grid

Post by andrea marini » Tue Jul 14, 2009 9:30 pm

brsahu wrote: 1) Is there a reason why one can not calculate QP corrections directly at high-symmetry k-points? In the 'band.in' file I sent, there were 6 kpoints (including Gamma and X point) at which GW corrections were sought. Putting a grid (automatically generated by pwscf) may miss the the points at which one wants to calculate the corrections. So putting explicitly the kpoint grid in the 'nscf' run and calculating the corrections to these Kohn-Sham bands seems to be right in principle.
Dear Sahu,

in the GW method W is the screened electron-electron interaction. W is written in terms of a response function that contains an integral over the whole Brillouin zone. To do so you need to provide Yambo a uniform grid of k-points. Alternative, more elaborate options, are possible but are not released in the GPL version. For more informations check the documentation page.
brsahu wrote: 2) In note [37] of the Yambo paper, it says input files used for the plots in the paper are kept at the http://www.yambo-code.org/publications.html. Can you point to the site where input files used in Yambo paper is kept?
The file is here
brsahu wrote: 3) Andrea: I feel if the tutorial for QP using GW is missing. It will be helpful for the users of Yambo to take a small step before doing BS or TDDFT run. Is it possible a create a tutorial (say for bulk silicon) where users can use the input from the Yambo developers to check the working mode of QP correction with Yambo.
Unfortunately, at the moment, only 2 out of the 4 developers of Yambo have a permanent position. Thus, we cannot devote all our time to Yambo and we prefer to spend our time in keeping the code updated. So in the short period I do not think it will be easy for us to write a GW tutorial. Nevertheless we are planning to do a school about yambo sooner or later and, at that time, we will also prepare same lectures about GW. Let's see.

Cheers
Andrea MARINI
Istituto di Struttura della Materia, CNR, (Italy)

brsahu
Posts: 15
Joined: Sat Jul 11, 2009 7:39 pm

Re: error in transferred moment grid

Post by brsahu » Wed Jul 15, 2009 7:13 am

Dear Andrea,

To get the quasiparticle gap in bulk silicon with GW, I did the following,

1) scf and nscf run (with pwscf),both with 8x8x8 k-points with no shifts. There are 29 k-points in the IBZ including number of k points= 29 including the Gamma point:

cart. coord. in units 2pi/a_0
k( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.0039062
k( 2) = ( -0.1250000 0.1250000 -0.1250000), wk = 0.0312500
k( 3) = ( -0.2500000 0.2500000 -0.2500000), wk = 0.0312500
k( 4) = ( -0.3750000 0.3750000 -0.3750000), wk = 0.0312500
k( 5) = ( 0.5000000 -0.5000000 0.5000000), wk = 0.0156250
k( 6) = ( 0.0000000 0.2500000 0.0000000), wk = 0.0234375
k( 7) = ( -0.1250000 0.3750000 -0.1250000), wk = 0.0937500
k( 8) = ( -0.2500000 0.5000000 -0.2500000), wk = 0.0937500
k( 9) = ( 0.6250000 -0.3750000 0.6250000), wk = 0.0937500
k( 10) = ( 0.5000000 -0.2500000 0.5000000), wk = 0.0937500
k( 11) = ( 0.3750000 -0.1250000 0.3750000), wk = 0.0937500
k( 12) = ( 0.2500000 0.0000000 0.2500000), wk = 0.0468750
k( 13) = ( 0.0000000 0.5000000 0.0000000), wk = 0.0234375
k( 14) = ( -0.1250000 0.6250000 -0.1250000), wk = 0.0937500
k( 15) = ( 0.7500000 -0.2500000 0.7500000), wk = 0.0937500
k( 16) = ( 0.6250000 -0.1250000 0.6250000), wk = 0.0937500
k( 17) = ( 0.5000000 0.0000000 0.5000000), wk = 0.0468750
k( 18) = ( 0.0000000 0.7500000 0.0000000), wk = 0.0234375
k( 19) = ( 0.8750000 -0.1250000 0.8750000), wk = 0.0937500
k( 20) = ( 0.7500000 0.0000000 0.7500000), wk = 0.0468750
k( 21) = ( 0.0000000 -1.0000000 0.0000000), wk = 0.0117188
k( 22) = ( -0.2500000 0.5000000 0.0000000), wk = 0.0937500
k( 23) = ( 0.6250000 -0.3750000 0.8750000), wk = 0.1875000
k( 24) = ( 0.5000000 -0.2500000 0.7500000), wk = 0.0937500
k( 25) = ( 0.7500000 -0.2500000 1.0000000), wk = 0.0937500
k( 26) = ( 0.6250000 -0.1250000 0.8750000), wk = 0.1875000
k( 27) = ( 0.5000000 0.0000000 0.7500000), wk = 0.0937500
k( 28) = ( -0.2500000 -1.0000000 0.0000000), wk = 0.0468750
k( 29) = ( -0.5000000 -1.0000000 0.0000000), wk = 0.0234375
----------------------------------------------

You can see there is no X-point with coordinate (1,0,0) in the chosen set of k-points. Need a X-point to calculate the QP correction and the indirect gap.

2) then invoked 'p2y -N' to generate the core database files file.db1 and flle.wf in the SAVE directory.

3) invoked yambo -i and then yambo -g n -p p to generate the the starting input.

4) Changed the paramters % BndsRnXp, NGsBlkXp, %QPkrange in the default ' yambo.in' :

--------------------------------------
gw0 # [R GW] GoWo Quasiparticle energy levels
ppa # [R Xp] Plasmon Pole Approximation
xxvxc # [R XX] Hartree-Fock Self-energy and Vxc
em1d # [R Xd] Dynamical Inverse Dielectric Matrix
EXXRLvcs= 7391 RL # [XX] Exchange RL components
% QpntsRXp
1 | 29 | # [Xp] Transferred momenta
%
% BndsRnXp
1 | 60 | # [Xp] Polarization function bands
%
NGsBlkXp= 169 RL # [Xp] Response block size
% LongDrXp
1.000000 | 0.000000 | 0.000000 | # [Xp] [cc] Electric Field
%
PPAPntXp= 27.21138 eV # [Xp] PPA imaginary energy
% GbndRnge
1 | 200 | # [GW] G[W] bands range
%
GDamping= 0.10000 eV # [GW] G[W] damping
QPreport= "kpbne0ees0" # [GW] QP info. Keys: kp/bn/xx/xc/s0/sq/e0/eq/ee/zf/ds/lm/lf
%QPkrange # [GW] QP generalized Kpoint/Band indices
1| 1| 1| 10|
21| 21| 1| 10|
%
%QPerange # [GW] QP generalized Kpoint/Energy indices
% 1| 21| 6.2302|6.8605|
------------------------------

There is point (0,-1,0) i.e. k(21) which is the vector in y direction. I assumed that since the system is cubic, X, Y, Z are equivalent directions and therefore chose point 21 and point 1 from the above set, each with 10 bands to be between Gamma

In the entry %QPerange, the last two numbers are energy of the highest occupied band at first k-point ie Gamma and the lowest unoccupied band at 'Y' point ie 21st k-point from the above k-point set.

is the format of this entry correct: first k-point/second k-point/energy for highest occupied band at first k-point/energy for lowest unoccupied band at the second kpoint ?

Then invoked 'yambo' in parallel:

got the file o.qp, which has the entries
----------------------------------------------------------------
Kpt Band Eo E-Eo Sc(Eo)
#
1.00000 1.00000 -12.05084 -0.08216 6.73922
1.000000 2.000000 0.000000 -0.556002 0.504326
1.000000 3.000000 0.000000 -0.556009 0.504327
1.000000 4.000000 0.000000 -0.556012 0.504327
1.000000 5.000000 2.570040 0.123556 -4.044952
1.000000 6.000000 2.570040 0.123564 -4.044961
1.000000 7.000000 2.570040 0.123577 -4.044949
1.00000 8.00000 3.47699 0.07209 -4.73022
1.000000 9.000000 7.768295 0.307703 -5.378475
1.00000 10.00000 7.76830 0.30768 -5.37848
21.00000 1.00000 -7.83877 -0.43612 4.39779
21.00000 2.00000 -7.83877 -0.43615 4.39779
21.00000 3.00000 -2.90341 -0.57803 1.72195
21.00000 4.00000 -2.90341 -0.57805 1.72195
21.00000 5.00000 0.63032 0.13899 -3.61636
21.00000 6.00000 0.63032 0.13898 -3.61636
21.00000 7.00000 10.15438 -0.10730 -6.95247
21.00000 8.00000 10.15438 -0.10729 -6.95249
21.00000 9.00000 10.95771 0.08799 -6.41683
21.00000 10.00000 10.95771 0.08798 -6.41683
----------------------------

What is the meaning of E_0, E-E_0 and sc(E_0) above?

It is the 4th band at Gamma (first k-point) which is highest occupied state and 5th band at k-point 21 which is lowest occupied. Based on the definitions of the parameters
E_0, E-E_0 etc, the difference of 4th and 5th band. at these two k-points 1 and 21, will give the indirect gap between X (or Y) and Gamma.
Is the analysis correct:

5) Your Yambo paper says the indirect gap of 1.20 eV was obtained close to expt value of 1.17 eV. I do not know whether I am getting it or not. Only after I know the meanings of E_0, E-E_0 etc, then the indirect gap can be known for the above result.

Sahu

2) r_setup is not written in the parallel run.

User avatar
myrta gruning
Posts: 240
Joined: Tue Mar 17, 2009 11:38 am
Contact:

Re: error in transferred moment grid

Post by myrta gruning » Wed Jul 15, 2009 11:23 am

Dear Sahu,
In the entry %QPerange, the last two numbers are energy of the highest occupied band at first k-point ie Gamma and the lowest unoccupied band at 'Y' point ie 21st k-point from the above k-point set.

is the format of this entry correct: first k-point/second k-point/energy for highest occupied band at first k-point/energy for lowest unoccupied band at the second kpoint ?
The format/description of QPkrange and QPErange are specified in the online yambo documentation. Just click on the variable from http://www.yambo-code.org/doc/inputs/input_gw_ppa.php. So if you look there you see that the format is:

Code: Select all

first k-point|last-kpoint|lower energy|higher energy|
.
So the first two values define the k-point range (e.g 1|3|0.0|5.0| will take for the kpoits 1,2,3 all bands with energies between 0 and 5 eV)
Note however that in your input this entry is ignored (because of the % in front).
What is the meaning of E_0, E-E_0 and sc(E_0) above?
E_0 are the KS energies (shifted so that the 0.0 correspond to the top of the highest valence band in the set of input k-points)
E are the QP energies, so E-E_0 is their difference (or QP correction) and Sc(E_0) self-energy matrix at the given kpoint,band at E0
Note that you can set up the output format using
QPreport. In the online documentation the description of the long variable gives the meaning of the various entries.
(click QPreport from http://www.yambo-code.org/doc/inputs/input_gw_ppa.php)
5) Your Yambo paper says the indirect gap of 1.20 eV was obtained close to expt value of 1.17 eV. I do not know whether I am getting it or not. Only after I know the meanings of E_0, E-E_0 etc, then the indirect gap can be known for the above result.
So you got 1.3 eV for Gamma-X. This is in good agreement with the experiment [1.25 Ortega and Himpsel, Phys. Rev. B 47, 2130 (1993)]. The minimum is not exactly in X but close to it along the Gamma-X line.
2) r_setup is not written in the parallel run.
the r_setup is generated only after the setup run. Different runs generate a report file with a different name r_*. Where * describes the type of run(s).
After the run you invoked, you should have r_xxvxc_em1d_ppa_gw0
About the I/O of yambo refers to Sec 5.3 in the yambo paper.

Well... I guess after this intense exchange we can write the tutorial on GW just by cut&past ;)

cheers!
m
Dr Myrta Grüning
School of Mathematics and Physics
Queen's University Belfast - Northern Ireland

http://www.researcherid.com/rid/B-1515-2009

Post Reply