[Wien] Inconsistency in kgen

balabi balabi at qq.com
Fri Mar 22 06:48:01 CET 2024


Dear Prof. Peter Blaha,


Sorry for the wrong format of previous email. I hope this email is fine.


Thank you so much for your reply. But I think you might have misunderstood me. I understand the difference between internal and cartesian coordinates.


Let me take for example, Let us generate 4x4x4 mesh by 'x kgen -fbz' for CaFe2As2 I4/mmm structure. The klist is as below:


         1         0         0         0         4  1.0 -7.0  1.5         0 k, div: (  4  4  4)
         2         1         1         0         4  1.0
         3         2         2         0         4  1.0
         4         3         3         0         4  1.0
         5         1         0         1         4  1.0
         6         2         1         1         4  1.0
         7         3         2         1         4  1.0
         8         4         3         1         4  1.0
         9         2         0         2         4  1.0
        10         3         1         2         4  1.0
        11         4         2         2         4  1.0
        12         5         3         2         4  1.0
        13         3         0         3         4  1.0
        14         4         1         3         4  1.0
        15         5         2         3         4  1.0
        16         6         3         3         4  1.0
        17         0         1         1         4  1.0
        18         1         2         1         4  1.0
        19         2         3         1         4  1.0
        20         3         4         1         4  1.0
        21         1         1         2         4  1.0
        22         2         2         2         4  1.0
...
...
        62         4         4         6         4  1.0
        63         5         5         6         4  1.0
        64         6         6         6         4  1.0
END


In the output from kgen, there's a block labeled "internal and cartesian k-vectors" which states:


  internal and cartesian k-vectors:
   0.00000   0.00000   0.00000             0.00000   0.00000   0.00000
   0.00000   0.00000   0.25000             0.22411   0.22411   0.00000
   0.00000   0.00000   0.50000             0.44822   0.44822   0.00000
   0.00000   0.00000   0.75000             0.67233   0.67233   0.00000
...
...
   0.75000   0.75000   0.00000             0.67233   0.67233   0.18668
   0.75000   0.75000   0.25000             0.89644   0.89644   0.18668
   0.75000   0.75000   0.50000             1.12055   1.12055   0.18668
   0.75000   0.75000   0.75000             1.34465   1.34465   0.18668
  NO. OF INEQUIVALENT K-POINTS    64


I clearly understand this "internal and cartesian k-vectors" block. The left three columns represent coordinates relative to reciprocal vectors, and the right three columns are coordinates in Cartesian, i.e., {x,y,z}.reciprocalVectorMatrix. All coordinates are unique and appear very reasonable.


However, my confusion arises with the k-list. It seems that the order of this block is not the same as that in the k-list file. For example, the second line in the k-list is:
2         1         1         0         4  1.0
I think this corresponds to internal coordinate
0.25000   0.25000   0.00000
right? But this is not the 2nd line in "internal and cartesian k-vectors" block. Why is that?
Also, what is the relation between "internal and cartesian k-vectors" block and klist? Why are they in different order?


Moreover, regarding the last line in the k-list:
64         6         6         6         4  1.0
What internal coordinate does it correspond to? Given that {6,6,6} is outside the 4x4x4 range, should we not modulo it by 4 to get {2,2,2}, which corresponds to 0.50000 0.50000 0.50000? If this is correct, then this 64th point is a duplication of the 22nd point in the k-list. Why, then, are the eigenvalues on the 22nd and 64th k points different? If WIEN2k is using the correct k point, it suggests my understanding is incorrect. Could you please provide me with a formula to convert x, y, z in the klist to the correct internal coordinates for this particular case? This would help me understand where my error lies.


Finally, in the last part of outputkgen, there is a block says
NKP,NDIV,afact           64           4           4           4
  0.500000000000000     
     0.00000     0.00000     0.00000                0.00000      0.00000      0.00000
     0.25000     0.25000     0.00000                2.00000      2.00000      0.00000
     0.50000     0.50000     0.00000                4.00000      4.00000      0.00000
     0.75000     0.75000     0.00000                6.00000      6.00000      0.00000
...
...
     0.75000     0.75000     1.50000                6.00000      6.00000     12.00000
     1.00000     1.00000     1.50000                8.00000      8.00000     12.00000
     1.25000     1.25000     1.50000               10.00000     10.00000     12.00000
     1.50000     1.50000     1.50000               12.00000     12.00000     12.00000


The left three columns is just 2nd,3rd,4th column of klist divided by 4, but what is the meaning of the right 3 columns?


best regards




------------------ Original ------------------
From: "A Mailing list for WIEN2k users" <peter.blaha at tuwien.ac.at>;
Date: Thu, Mar 21, 2024 03:48 PM
To: "wien"<wien at zeus.theochem.tuwien.ac.at>;
Subject: Re: [Wien] Inconsistency in kgen


Hi,
No, you should not modify the kmesh.
The k-vectors are generated in the primitive (non-orthogonal) basis, but
transformed afterwards to carthesian coordinates.
By this operation, some of the k-points may obtain values larger than one.
Note, that in carthesian coordinates, the BZ does not go from 0-1 in
kx,ky,kz.
You also noted that (0,0,0) yields different eigenvalues than (1,1,1).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20240322/1b262ed4/attachment.htm>


More information about the Wien mailing list