G-vectors and kpoints in OUTCAR

Queries about input and output files, running specific calculations, etc.


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
giovanni_cantele1
Newbie
Newbie
Posts: 2
Joined: Fri Apr 01, 2022 8:16 am
License Nr.: 22-0136 5-1760
Contact:

G-vectors and kpoints in OUTCAR

#1 Post by giovanni_cantele1 » Fri Sep 27, 2024 8:30 am

Dear all,

by inspecting the OUTCAR file of a VASP calculation, in particular the "Primitive cell" section, it seems to me that the reciprocal lattice vectors are given in units of 2*pi. In particular, one can easily verify that, for example, G1 . R1 = 1, whereas that scalar product should be 2*pi (to ensure that exp(iG1.R1) = 2 pi).

Moreover, by searching the word "Following" we meet two sections that give, respectively in reciprocal and cartesian coordinates the k-points used during the calculation. Now the cartesian coordinates of the k-points seem to be obtained using the respective reciprocal coordinates in the linear combination of G1, G2, G3. As such, while those k-points are correctly in units of Angstrom^{-1}, their "actual" value seems to miss a 2*pi factor.

So my question is: is it true that BOTH the G1, G2, G3 vectors and the cartesian coordinates of the k-points have a missing 2*pi factor, so as if I need to express the distance between two k points I must compute |k1-k2| and then multiply it by 2*pi?

I thank you in advance for your attention and for any help you might provide.

Giovanni

Giovanni Cantele, PhD
CNR-SPIN
c/o Universita' di Napoli "Federico II"
Compl. Univ. M. S. Angelo - Ed. 6
Via Cintia, I-80126, Napoli, Italy
e-mail: giovanni.cantele@spin.cnr.it

Web page: https://sites.google.com/view/giovanni-cantele/home


martin.schlipf
Global Moderator
Global Moderator
Posts: 542
Joined: Fri Nov 08, 2019 7:18 am

Re: G-vectors and kpoints in OUTCAR

#2 Post by martin.schlipf » Fri Sep 27, 2024 11:51 am

Please read the section on the coordinate system of the KPOINTS file. The output in the OUTCAR file is compatible with this file. Note that in the addition to the 2pi factor that you mention, there is also the scaling constant a in the denominator. I assume this is set to 1 in your POSCAR file.

Martin Schlipf
VASP developer


giovanni_cantele1
Newbie
Newbie
Posts: 2
Joined: Fri Apr 01, 2022 8:16 am
License Nr.: 22-0136 5-1760
Contact:

Re: G-vectors and kpoints in OUTCAR

#3 Post by giovanni_cantele1 » Fri Sep 27, 2024 12:51 pm

I thank you very much for your reply. I read that web page, but I was not that sure that it applied to only input KPOINTS file or also to the output of OUTCAR. This being said, we can thus conclude that, should one need the exact coordinates of k-points in Ang^-1 to compute some property, the vectors as taken from OUTCAR in cartesian coordinates must be multiplied by 2 pi (or else 2 pi / scale if the second line of POSCAR is non 1), right?

Thanks again.
Giovanni

Giovanni Cantele, PhD
CNR-SPIN
c/o Universita' di Napoli "Federico II"
Compl. Univ. M. S. Angelo - Ed. 6
Via Cintia, I-80126, Napoli, Italy
e-mail: giovanni.cantele@spin.cnr.it

Web page: https://sites.google.com/view/giovanni-cantele/home


martin.schlipf
Global Moderator
Global Moderator
Posts: 542
Joined: Fri Nov 08, 2019 7:18 am

Re: G-vectors and kpoints in OUTCAR

#4 Post by martin.schlipf » Fri Sep 27, 2024 12:57 pm

I agree with your statement though I never explicitly needed it so it would be good to double check.

Martin Schlipf
VASP developer


giovanni_cantele1
Newbie
Newbie
Posts: 2
Joined: Fri Apr 01, 2022 8:16 am
License Nr.: 22-0136 5-1760
Contact:

Re: G-vectors and kpoints in OUTCAR

#5 Post by giovanni_cantele1 » Mon Sep 30, 2024 1:39 pm

Good afternoon,

I did one more very simple check.

1st run:
POSCAR

Code: Select all

test
1.0
     4.0  0.0  0.0
     0.0  4.0  0.0
     0.0  0.0  4.0
Si
1
Direct
    0.0  0.0  0.0

KPOINTS

Code: Select all

k-points along high symmetry lines
 10  
Line-mode
reciprocal
  0.0    0.0    0.0 ! G
  0.5    0.0    0.0 ! X

k-points found in OUTCAR

Code: Select all

 Following cartesian coordinates:
            Coordinates               Weight
  0.000000  0.000000  0.000000      0.100000
  0.013889  0.000000  0.000000      0.100000
  0.027778  0.000000  0.000000      0.100000
  0.041667  0.000000  0.000000      0.100000
  0.055556  0.000000  0.000000      0.100000
  0.069444  0.000000  0.000000      0.100000
  0.083333  0.000000  0.000000      0.100000
  0.097222  0.000000  0.000000      0.100000
  0.111111  0.000000  0.000000      0.100000
  0.125000  0.000000  0.000000      0.100000

The last k-point should be \(\frac{2\pi}{4}\frac12\) but it is \(\frac18\), that is the previous one in units of \(2\pi\).

2d run:
POSCAR

Code: Select all

test
4.0
     1.0  0.0  0.0
     0.0  1.0  0.0
     0.0  0.0  1.0
Si
1
Direct
    0.0  0.0  0.0

KPOINTS: same as above

k-points found in OUTCAR

Code: Select all

 Following cartesian coordinates:
            Coordinates               Weight
   0.000000  0.000000  0.000000      0.100000
  0.055556  0.000000  0.000000      0.100000
  0.111111  0.000000  0.000000      0.100000
  0.166667  0.000000  0.000000      0.100000
  0.222222  0.000000  0.000000      0.100000
  0.277778  0.000000  0.000000      0.100000
  0.333333  0.000000  0.000000      0.100000
  0.388889  0.000000  0.000000      0.100000
  0.444444  0.000000  0.000000      0.100000
  0.500000  0.000000  0.000000      0.100000

The last k-point should be \(\frac{2\pi}{4}\frac12\) but it is \(\frac12\), that is the previous one in units of \(\frac{2\pi}4\).

So, this confirms that k-points labelled as "cartesian coordinates" are in units of \(\frac{2\pi}s\), where \(s\) is the scaling factor of the second line of POSCAR. As such, should one need k-points in cartesian coordinates, if taken from OUTCAR, they should be multiplied by \(\frac{2\pi}s\).

Similarly, should one need G-vectors, as taked from this secion of OUTCAR

Code: Select all

  direct lattice vectors                    reciprocal lattice vectors
     4.000000000  0.000000000  0.000000000     0.250000000  0.000000000  0.000000000
     0.000000000  4.000000000  0.000000000     0.000000000  0.250000000  0.000000000
     0.000000000  0.000000000  4.000000000     0.000000000  0.000000000  0.250000000

they are always given in units of \(2\pi\).

Last edited by giovanni_cantele1 on Mon Sep 30, 2024 1:48 pm, edited 1 time in total.

Giovanni Cantele, PhD
CNR-SPIN
c/o Universita' di Napoli "Federico II"
Compl. Univ. M. S. Angelo - Ed. 6
Via Cintia, I-80126, Napoli, Italy
e-mail: giovanni.cantele@spin.cnr.it

Web page: https://sites.google.com/view/giovanni-cantele/home


martin.schlipf
Global Moderator
Global Moderator
Posts: 542
Joined: Fri Nov 08, 2019 7:18 am

Re: G-vectors and kpoints in OUTCAR

#6 Post by martin.schlipf » Tue Oct 01, 2024 6:49 am

Thank you for reporting this back so that future readers can be sure these statements are correct.

Martin Schlipf
VASP developer


Post Reply