Howto define the grid of q wavevectors

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

Moderators: mverstra, joaocarloscabreu

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

Howto define the grid of q wavevectors

Post by roginovicci » Tue May 31, 2011 1:16 pm

Hello I am trying to calculate dispersion branches of Hg2Cl2 crystal. The first step is to find qpt grid with the following kpt grid in the input file trf2_2.in:

kptrlatt 4 0 0 0 4 0 -2 -2 4
nshiftk 1
shiftk 0.0 0.0 0.0

The next step is to form input file trf2_1.in. Here it comes:

Code: Select all

ndtset   11                                                                                                    
#Set 1 : ground state self-consistency                                                                           
  getwfk1   0            # Cancel default                                                                         
  kptopt1   1            # Automatic generation of k points, taking into account the symmetry                                                             
  nqpt1   0              # Cancel default                                                                         
  tolvrs1   1.0d-21      # SCF stopping criterion (modify default)                                               
  rfphon1   0            # Cancel default                                                                         

  nqpt   1            # One qpt for each dataset (only 0 or 1 allowed)                                         
                         # This is the default for all datasets and must                                         
                         #  be explicitly turned off for dataset 1.                                               
 qpt2   0.00000000E+00  0.00000000E+00  0.00000000E+00                                                     
  qpt3   0.00000000E+00  0.00000000E+00  0.00000000E+00                                                     
  qpt4  -2.50000000E-01 -2.50000000E-01  0.00000000E+00                                                     
  qpt5  -2.50000000E-01  2.50000000E-01  0.00000000E+00                                                     
  qpt6   5.00000000E-01  5.00000000E-01  0.00000000E+00                                                     
  qpt7  -2.50000000E-01  5.00000000E-01  1.25000000E-01                                                     
  qpt8  -2.50000000E-01 -2.50000000E-01  2.50000000E-01                                                     
  qpt9   5.00000000E-01  0.00000000E+00  0.00000000E+00                                                     
  qpt10 -2.50000000E-01  0.00000000E+00  1.25000000E-01                                                     
  qpt11  5.00000000E-01  2.50000000E-01  1.25000000E-01                                                     
  qpt12  5.00000000E-01  5.00000000E-01  2.50000000E-01                                                     
  qpt13  2.50000000E-01  0.00000000E+00  1.25000000E-01                                                     
  qpt14  5.00000000E-01  0.00000000E+00  2.50000000E-01                                                     
  qpt15 -2.50000000E-01  0.00000000E+00  3.75000000E-01                                                     
  qpt16  0.00000000E+00  0.00000000E+00  2.50000000E-01                                                     
  qpt17  0.00000000E+00  0.00000000E+00  5.00000000E-01   
#Exchange-correlation functional                                                                                 
  ixc   11                                                                                                       
#Definition of the planewave basis set                                                                           
  ecut   30.0           # Maximal kinetic energy cut-off, in Hartree
 kptrlatt    -1  2  2   2 -1  2   3  3  0                                                                       
  nshiftk 1                                                                                                       
  shiftk 0.0  0.0  0.0                                                                                           



The problem I can't merge DDB files with the following error:

read the input derivative database number 2
compare the current and input DDB information
chki8 : ERROR -
Comparing integers for variable nkpt.
Value from input DDB is 19 and
from transfer DDB is 36.
Action : check your DDBs.


This is probably because I am using wrong kpt grid in main input file. I am using the same kpt grid in both trf2_1.in and trf2_2.in files. I select the one with shiftk vector equal to 0.0 0.0 0.0.
Last edited by roginovicci on Fri Jun 23, 2017 1:29 pm, edited 2 times in total.

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

Re: Howto define the grid of q wavevectors

Post by roginovicci » Wed Jun 01, 2011 12:11 am

While searching the problem I've found the general one. That is the algorithm to search the grid of q wavevectors?
I'm using additional input file trf2_2.in as it pointed in rf2 tutorial using kptrlatt 4 0 0 0 4 0 -2 -2 4 not ngkpt and the list of kpt-points in the output is as follows:

Code: Select all

kpt   -2.50000000E-01 -2.50000000E-01  0.00000000E+00                                         
                    -2.50000000E-01  2.50000000E-01  0.00000000E+00                                         
                     5.00000000E-01  5.00000000E-01  0.00000000E+00                                         
                    -2.50000000E-01  5.00000000E-01  1.25000000E-01                                         
                    -2.50000000E-01 -2.50000000E-01  2.50000000E-01                                         
                     5.00000000E-01  0.00000000E+00  0.00000000E+00                                         
                    -2.50000000E-01  0.00000000E+00  1.25000000E-01                                         
                     5.00000000E-01  2.50000000E-01  1.25000000E-01                                         
                     5.00000000E-01  5.00000000E-01  2.50000000E-01                                         
                     0.00000000E+00  0.00000000E+00  0.00000000E+00                                         
                     2.50000000E-01  0.00000000E+00  1.25000000E-01                                         
                     5.00000000E-01  0.00000000E+00  2.50000000E-01                                         
                    -2.50000000E-01  0.00000000E+00  3.75000000E-01                                         
                     0.00000000E+00  0.00000000E+00  2.50000000E-01                                         
                     0.00000000E+00  0.00000000E+00  5.00000000E-01


Since then qpt grid is as follows:

Code: Select all

   qpt3   0.00000000E+00  0.00000000E+00  0.00000000E+00                                                    
   qpt4   2.00000000E-01  0.00000000E+00  0.00000000E+00                                                   
   qpt5   4.00000000E-01  0.00000000E+00  0.00000000E+00                                                   
   qpt6   2.00000000E-01  2.00000000E-01  0.00000000E+00                                                   
   qpt7   4.00000000E-01  2.00000000E-01  0.00000000E+00                                                   
   qpt8   0.00000000E+00  0.00000000E+00  2.50000000E-01                                                   
   qpt9   2.00000000E-01  0.00000000E+00  2.50000000E-01                                                   
   qpt10  4.00000000E-01  0.00000000E+00  2.50000000E-01                                                   
   qpt11  2.00000000E-01  2.00000000E-01  2.50000000E-01                                                   
   qpt12  4.00000000E-01  2.00000000E-01  2.50000000E-01                                                   
   qpt13  0.00000000E+00  0.00000000E+00  5.00000000E-01                                                   
   qpt14  2.00000000E-01  0.00000000E+00  5.00000000E-01                                                   
   qpt15  4.00000000E-01  0.00000000E+00  5.00000000E-01                                                   
   qpt16  2.00000000E-01  2.00000000E-01  5.00000000E-01                                                   
   qpt17  4.00000000E-01  2.00000000E-01  5.00000000E-01


It seems correct. But anaddb utility needs ngqpt variable which seems to be analog to ngkpt but I'm using kptrlatt 4 0 0 0 4 0 -2 -2 4 and can't get ngkpt value. How to calculate ngqpt?

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

Re: Howto define the grid of q wavevectors (was RF2 with Hg2

Post by mverstra » Wed Oct 12, 2011 12:02 pm

anaddb will only accept simple grids with a single shift (preferably 0.0 0.0 0.0) for ngqpt

your kptrlatt probably comes from a doubly shifted grid. You just have to make sure that the q grid is a sub grid of the k, or else choose the (uniform) q grid you want and calculate the GS wf at k+q explicitly, as in the tutorial. For a general kptrlatt with several shifts and off-diagonal elements, there can not be an equivalent ngkpt, which is a single grid.

Matthieu
Matthieu Verstraete
University of Liege, Belgium

Locked