[Wien] Inconsistency in kgen

Peter Blaha peter.blaha at tuwien.ac.at
Fri Mar 22 08:17:52 CET 2024


Come on !

You can specify coordinates in absolute units, or in fractions of the 
(reciprocal) lattice vectors.

E.g. an atom position can be given as (3.123,2.332,1.966) in units of 
Ang; or as (0.5,0.5,0.5) in units  of a,b, and c.

This is exactly what is done in outputkgen.

0.00000   0.00000   0.25000             0.22411   0.22411   0.00000
fractions of primitive rec.lattice       carthes. coord (bohr^-1)

0.25000     0.25000     0.00000        2.00000      2.00000      0.00000
fractional carth. coord            same as left, but multiplied by 8 to
                                    find a common denominator.

Am 22.03.2024 um 06:21 schrieb balabi via Wien:
> Dear Prof. Peter Blaha,
> 
> 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).
> 
> _______________________________________________
> Wien mailing list
> Wien at zeus.theochem.tuwien.ac.at
> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
> SEARCH the MAILING-LIST at:  http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html

-- 
--------------------------------------------------------------------------
Peter BLAHA, Inst.f. Materials Chemistry, TU Vienna, A-1060 Vienna
Phone: +43-1-58801-165300
Email: peter.blaha at tuwien.ac.at    WIEN2k: http://www.wien2k.at
WWW:   http://www.imc.tuwien.ac.at
-------------------------------------------------------------------------


More information about the Wien mailing list