GW nkptgw variable bigger than one possible?
Posted: 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:
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:
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:
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.
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.