DDBS  [SOLVED]

Phonons, DFPT, electron-phonon, electric-field response, mechanical response…

Moderators: mverstra, joaocarloscabreu

Locked
aria
Posts: 11
Joined: Fri Mar 10, 2017 5:14 am

DDBS

Post by aria » Fri Oct 12, 2018 3:10 pm

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.

mverstra
Posts: 655
Joined: Wed Aug 19, 2009 12:01 pm

Re: DDBS  [SOLVED]

Post by mverstra » Fri Oct 12, 2018 4:10 pm

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.
Matthieu Verstraete
University of Liege, Belgium

aria
Posts: 11
Joined: Fri Mar 10, 2017 5:14 am

Re: DDBS

Post by aria » Sat Oct 13, 2018 7:13 am

Hi, Dear Pr.Verstraete
Thank you very much.
Y. Asadi

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

Re: DDBS

Post by gmatteo » Mon Oct 15, 2018 8:55 pm

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.


aria
Posts: 11
Joined: Fri Mar 10, 2017 5:14 am

Re: DDBS

Post by aria » Wed Oct 17, 2018 7:05 pm

Hi, Dear Pr.gmatteo
Thank you very much.
Y. Asadi

Locked