GW nkptgw variable bigger than one possible?  [SOLVED]

GW, Bethe-Salpeter …

Moderators: maryam.azizi, bruneval

Locked
roginovicci
Posts: 75
Joined: Thu Dec 02, 2010 10:36 pm

GW nkptgw variable bigger than one possible?

Post by roginovicci » Wed Mar 09, 2016 1:08 pm

Hello, I'm trying to perform GW calculations for alpha-TeO2 crystal. My input file is as follows:

Code: Select all

ecut 25

ndtset      3

# Definition of parameters for the calculation of the KSS file
kssform1     3
nbandkss1   298       # Number of bands in KSS file (-1 means the maximum possible)
nband1      304       # Number of (occ and empty) bands to be computed
nbdbuf1      5
tolwfr1  1.0d-14     # Will stop when this tolerance is achieved

# Calculation of the screening (epsilon^-1 matrix)
optdriver2  3        # Screening calculation
getkss2     -1       # Obtain KSS file from previous dataset
nband2      304       # Bands to be used in the screening calculation
ecutwfn2    12      # Cut-off energy of the planewave set to represent the wavefunctions. It would be more convenient to keep the default ecut value.
ecuteps2    15      # Cut-off energy of the planewave set to represent the dielectric matrix. It is important to adjust this parameter.
ppmfrq2    16.7 eV   # Imaginary frequency where to calculate the screening
awtr2       1        # Note : the default awtr 1 is better

# Calculation of the Self-Energy matrix elements (GW corrections)
optdriver3  4        # Self-Energy calculation
irdkss3     1       # Obtain KSS file from dataset 1
irdscr3     1       # Obtain SCR file from previous dataset
nband3      304       # Bands to be used in the Self-Energy calculation
ecutwfn3     18.0     # Planewaves to be used to represent the wavefunctions. It would be ore convenient to keep the default ecut value.
ecutsigx3    22.0     # Dimension of the G sum in Sigma_x. It would be better to keep the default ecut value.
                     # (the dimension in Sigma_c is controlled by ecuteps)
nkptgw3      1       # number of k-point where to calculate the GW correction
kptgw3   0.25 0.0  0.0
         0.25 0.25 0.0
         0.0  0.0  0.0

bdgw3       56  57     # calculate GW corrections for bands from 4 to 5
icutcoul3   3        # old deprecated value of icutcoul, only used for legacy

gwmem3 0
# Structural parameters
            acell      8.7776950718E+00  8.7776950718E+00  1.3977052910E+01 Bohr

rprim    1.000000000000000   0.000000000000000   0.000000000000000
         0.000000000000000   1.000000000000000   0.000000000000000
         0.000000000000000   0.000000000000000   1.000000000000
       
natom    12 
ntypat   2 
typat    1 1 1 1 2 2 2 2 2 2 2 2 
znucl    52 8 
             xred      2.7500442791E-02  2.7500442791E-02  0.0000000000E+00
                       9.7249955721E-01  9.7249955721E-01  5.0000000000E-01
                       4.7249955721E-01  5.2750044279E-01  2.5000000000E-01
                       5.2750044279E-01  4.7249955721E-01  7.5000000000E-01
                       1.4357560587E-01  2.5931243009E-01  1.8486303230E-01
                       8.5642439413E-01  7.4068756991E-01  6.8486303230E-01
                       7.4068756991E-01  8.5642439413E-01  3.1513696770E-01
                       3.5642439413E-01  7.5931243009E-01  6.5136967701E-02
                       6.4357560587E-01  2.4068756991E-01  5.6513696770E-01
                       2.5931243009E-01  1.4357560587E-01  8.1513696770E-01
                       2.4068756991E-01  6.4357560587E-01  4.3486303230E-01
                       7.5931243009E-01  3.5642439413E-01  9.3486303230E-01

# Definition of the k-point grid
   kptopt    1
   nshiftk   1
   shiftk    0. 0. 0.
   ngkpt     4 4 4

istwfk  *1         # This is mandatory in all the GW steps.

# Use only symmorphic operations
symmorphi 1 # The current status GW is allow to use full symm?

nstep   200        # Maximal number of SCF cycles
#toldfe  1.0d-6    # Will stop when this tolerance is achieved on total energy
diemac  6.0      # Although this is not mandatory, it is worth to
  iscf 5



And I'd like to calculate GW corrections for the set of points:
kptgw3 0.25 0.0 0.0
0.25 0.25 0.0
0.0 0.0 0.0
Following Tuttorial I should set variables:
nkptgw3 1 # number of k-point where to calculate the GW correction
kptgw3 0.25 0.0 0.0
0.25 0.25 0.0
0.0 0.0 0.0

But when I set nkptgw3 = 3 (3 k-point) I get the following error:
--- !ERROR
message: |
There is a problem with the input file : maybe
a disagreement between the declared dimension of the array,
and the number of data actually provided.
Action: correct your input file !


Which do disappear when I set nkptgw3 to 1. Of course it is possible to perform a set of GW corrections for each point as a separate jdtset, but the Documentations is as follows:
nkptgw
Mnemonics: Number of K-Points for GW corrections
Characteristic: GW
Variable type: integer parameter
Default is 0

Only relevant if optdriver=4, that is, sigma calculations. This input variable was called "ngwpt" in versions before v4.3.

nkptgw gives the number of k-points for which the GW calculation must be done. It is used to dimension kptgw


Is it a BUG in code, or BUG in documentation?

p.s. I'm running ABINIT v7.10.5
p.p.s. The k-point mesh do contain the points in kptgw3 array.

Best regards,
Eugene.

User avatar
gmatteo
Posts: 291
Joined: Sun Aug 16, 2009 5:40 pm

Re: GW nkptgw variable bigger than one possible?  [SOLVED]

Post by gmatteo » Thu Mar 10, 2016 10:26 am

If you change the value of nkptgw in the input file, you should also modify bdgw.
This variable is an array of shape (2, nkptgw) specifying the range of bands treated with GW
for each k-point in kptgw:

nkptgw 3
bdgw
56 57
56 57
56 57

roginovicci
Posts: 75
Joined: Thu Dec 02, 2010 10:36 pm

Re: GW nkptgw variable bigger than one possible?

Post by roginovicci » Thu Mar 10, 2016 7:42 pm

Thank you!

Locked