Dear all,
Hello, I'm trying to calculate the phonon band structures and thermodynamical properties of a hexagonal system. So, similar to what ABINIT did, at first, I generate q wavevectors using trf2_2.in.
trf2_2.in=============
ngkpt 4 4 4
nshiftk 1
shiftk 0 0 0.0
# Note the dummy values of nstep and nline
nstep 1 # Maximal number of SCF cycles
nline 1 # Maximal number of SCF cycles
#Gives the number of band, explicitely (do not take the default)
nband 50
....
============
Then, the derivative databases are generated using trf2_1.in==========
ndtset 14
#Set 1 : ground state self-consistency
getwfk1 0 # Cancel default
kptopt1 1 # Automatic generation of k points, taking
nqpt1 0 # Cancel default
tolvrs1 1.0d-18 # SCF stopping criterion (modify default)
rfphon1 0 # Cancel default
nqpt 1 # One qpt for each dataset (only 0 or 1 allowed)
qpt2 0.00000000E+00 0.00000000E+00 0.00000000E+00
qpt3 0.00000000E+00 0.00000000E+00 0.00000000E+00
qpt4 2.50000000E-01 0.00000000E+00 0.00000000E+00
qpt5 5.00000000E-01 0.00000000E+00 0.00000000E+00
qpt6 2.50000000E-01 2.50000000E-01 0.00000000E+00
qpt7 0.00000000E+00 0.00000000E+00 2.50000000E-01
qpt8 2.50000000E-01 0.00000000E+00 2.50000000E-01
qpt9 5.00000000E-01 0.00000000E+00 2.50000000E-01
qpt10 2.50000000E-01 2.50000000E-01 2.50000000E-01
qpt11 0.00000000E+00 0.00000000E+00 5.00000000E-01
qpt12 2.50000000E-01 0.00000000E+00 5.00000000E-01
qpt13 5.00000000E-01 0.00000000E+00 5.00000000E-01
qpt14 2.50000000E-01 2.50000000E-01 5.00000000E-01
#Set 2 : Response function calculation of d/dk wave function
iscf2 -3 # Need this non-self-consistent option for d/dk
kptopt2 2 # Modify default to use time-reversal symmetry
rfphon2 0 # Cancel default
rfelfd2 2 # Calculate d/dk wave function only
tolwfr2 1.0d-22 # Use wave function residual criterion instead
#Set 3 : Response function calculation of Q=0 phonons and electric field pert.
getddk3 2 # d/dk wave functions from last dataset
kptopt3 2 # Modify default to use time-reversal symmetry
rfelfd3 3 # Electric-field perturbation response only
#Sets 4-10 : Finite-wave-vector phonon calculations (defaults for all datasets)
getwfk 1 # Use GS wave functions from dataset1
kptopt 3 # Need full k-point set for finite-Q response
rfphon 1 # Do phonon response
rfatpol 1 6 # Treat displacements of all atoms
rfdir 1 1 1 # Do all directions (symmetry will be used)
tolvrs 1.0d-8 # This default is active for sets 3-10
#Gives the number of band, explicitely (do not take the default)
nband 26
#Exchange-correlation functional
# ixc 1 # LDA Teter Pade parametrization
#Definition of the planewave basis set
ecut 55.0 # Maximal kinetic energy cut-off, in Hartree
ecutsm 0.5
#Definition of the k-point grid
ngkpt 4 4 4
nshiftk 1 # of the reciprocal space (that form a BCC lattice !),
# repeated four times, with different shifts :
shiftk 0.0 0.0 0.0
#Definition of the SCF procedure
nstep 250000 # Maximal number of SCF cycles
============================
But , in the manipulation of the derivative databases, trf2_3.in=====
trf2_3.ddb.out
MoS2 phonons on 4 4 4 mesh
12
trf2_1o_DS3_DDB
trf2_1o_DS4_DDB
trf2_1o_DS5_DDB
trf2_1o_DS6_DDB
trf2_1o_DS7_DDB
trf2_1o_DS8_DDB
trf2_1o_DS9_DDB
trf2_1o_DS10_DDB
trf2_1o_DS11_DDB
trf2_1o_DS12_DDB
trf2_1o_DS13_DDB
trf2_1o_DS14_DDB=======
I have faced with the following ERROR:===
Comparing integers for variable nkpt.
Value from input DDB is 36 and
from transfer DDB is 64.
Action: check your DDBs.
==============
Please tell me how to solve this problem.
I'm Impatiently waiting for your help.
Thank you.
DDBS [SOLVED]
Moderators: mverstra, joaocarloscabreu
Re: DDBS [SOLVED]
Hello
_all_ DFPT runs should be done with kptopt 3 so change line
kptopt3 2 # Modify default to use time-reversal symmetry
etc...
The trouble is that perturbations reduce the symmetry, and the code itself has to find the small group, and then always reduces the k by symmetry, including TR (you have to set nsym to 1 to avoid this). Here for Gamma you reduced the k points, but depending on whether the atoms, or especially the E fields, are displaced along x y or z, the k-points might be chosen differently, and this is not allowed in the merging of the ddb. In this case, for Gamma only, and just for the case of TR symmetry, the 2DTE are probably fine, but the mrgddb check is rigorous and correct.
Last resort (but you should really test that this gives identical results) is to go modify the DDB file by hand, to enforce nkpt=64.
Don't tell anyone I recommended this... The clean thing to do is set kptopt 3 always.
_all_ DFPT runs should be done with kptopt 3 so change line
kptopt3 2 # Modify default to use time-reversal symmetry
etc...
The trouble is that perturbations reduce the symmetry, and the code itself has to find the small group, and then always reduces the k by symmetry, including TR (you have to set nsym to 1 to avoid this). Here for Gamma you reduced the k points, but depending on whether the atoms, or especially the E fields, are displaced along x y or z, the k-points might be chosen differently, and this is not allowed in the merging of the ddb. In this case, for Gamma only, and just for the case of TR symmetry, the 2DTE are probably fine, but the mrgddb check is rigorous and correct.
Last resort (but you should really test that this gives identical results) is to go modify the DDB file by hand, to enforce nkpt=64.
Don't tell anyone I recommended this... The clean thing to do is set kptopt 3 always.
Matthieu Verstraete
University of Liege, Belgium
University of Liege, Belgium
Re: DDBS
Last resort (but you should really test that this gives identical results) is to go modify the DDB file by hand, to enforce nkpt=64.
Alternatively, one can use the --nostrict option to disable the check:
Code: Select all
mrgddb --help
Usage:
mrgddb Interactive prompt.
mrgddb < run.files Read arguments from run.files.
mrgddb out_DDB in1_DDB in2_DDB Merge list of input DDB files, produce new out_DDB file.
mrgddb out_DDB in*_DDB Same as above but use shell wildcards instead of file list.
Available options:
-v, --version Show version number and exit.
-f Overwrite output DDB if file already exists.
--nostrict Disable consistency checks
-h, --help Show this help and exit.