Page 1 of 1

G-vectors and kpoints in OUTCAR

Posted: Fri Sep 27, 2024 8:30 am
by giovanni_cantele1

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


Re: G-vectors and kpoints in OUTCAR

Posted: Fri Sep 27, 2024 11:51 am
by martin.schlipf

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.


Re: G-vectors and kpoints in OUTCAR

Posted: Fri Sep 27, 2024 12:51 pm
by giovanni_cantele1

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


Re: G-vectors and kpoints in OUTCAR

Posted: Fri Sep 27, 2024 12:57 pm
by martin.schlipf

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


Re: G-vectors and kpoints in OUTCAR

Posted: Mon Sep 30, 2024 1:39 pm
by giovanni_cantele1

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\).


Re: G-vectors and kpoints in OUTCAR

Posted: Tue Oct 01, 2024 6:49 am
by martin.schlipf

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