[Pw_forum] K_POINTS, tpiba or crystal
Stefano Baroni
baroni at sissa.it
Sun Jan 4 07:01:11 CET 2009
On Jan 4, 2009, at 12:38 AM, Paul M. Grant wrote:
> Followup on K_POINTS: tpiba vs crystal...
Hi Paul!
> As usual, Paolo is right...
he always does!
> for sc lattices (ibrav=1), tpiba or crystal give
> equal nscf outputs.
no surprise, here
> But, for fcc lattices (ibrav=2), it apparently does!
you mean it does NOT .?... no surprise here either ...
> See below comparing
> nscf k-vector outputs for tpiba and crystal, and crystal is very
> different
> (and weird...for me anyway).
I am not sure I understand what the question really is, but I do not
what would weird here.
My understanding is that "tpiba" means "cartesian coordinates in units
of tipiba". By the way, it could be a good idea to replace "tpiba" (a
word that does exist in the webster nor in any other dictionary) with
"cartesian": this could help avoid some confusion. "crystal" means
that the coordinates that you give are the coefficient that express a
k-point as a linear combination of the reciprocal lattice basis g(1),
g(2), g(3). In formulas:
k("tpiba") = tpiba * (k(1)*x(1)+k(2)*x(2)+k(3)*x(3))
k("crystal") = tpiba* (k(1)*b(1)+k(2)*b(2)+k(3)*b(3)),
where x(1)= (1,0,0), x(2)=(0,1,0), x(3)=(0,0,1), and the slightly
confusing tpiba in the second line is due to the code convention:
g(*)=tpiba*b(*)
Let us take for instance the second vector of Paul's list. In the
"tpiba" case, the output is just a copy of the input, as it should. In
the crystal case, one should have:
output(*) = input(1)*b(1) + input(2)*b(2)+input(3)*b(3)
= -1/12 (-1,-1,1) +1/12 (1,1,1)-1/12(-1,1,-1)
= 1/12 (1+1+1,1+1-1,-1+1+1)
= (1/4,1/12,1/12),
which is what it is. I have noot checked the other points, but I
assume that they are what they should be according to the above argument
> BTW, whether tpiba, etc., should be enclosed
> in curly braces or parentheses or nothing on the K_POINTS card is
> confusing.
> PW_INPUT shows braces, but parenthese work too, and probably no
> delimiters
> as well.
sorry, no hints here ...
> My agenda here is to generate k-points grids amenable to
> applications that
> cannot use simply MP weighted points in the irreducible BZ, such as
> epsilon.x. I'm finding the algorithm used by Eyvaz Isaev for Fermi
> Surface
> plotting which uniformly populate and span the fundamental reciprocal
> lattice cell works quite well...if inputted with tpiba or "blank," not
> crystal.
most probably, it give the cartesian representation of the k-points ...
hope the above is not (too) wrong and helpful to some extent ...
Happy new year to Paul, Paolo, and the whole newsgroup.
Stefano
>
>
>
> TPIBA VS CRYSTAL COMPARISON RE FCC FOLLOWS
> ===================================================
> TPIBA
> nsfc run input (partial) (Al, ibrav=2)
> K_POINTS {tpiba}
> 2197
> 0.00000000 0.00000000 0.00000000 1.00000000
> -0.08333333 0.08333333 -0.08333333 1.00000000
> -0.16666667 0.16666667 -0.16666667 1.00000000
> -0.25000000 0.25000000 -0.25000000 1.00000000
> -0.33333333 0.33333333 -0.33333333 1.00000000
> -0.41666667 0.41666667 -0.41666667 1.00000000
> -0.50000000 0.50000000 -0.50000000 1.00000000
> -0.58333333 0.58333333 -0.58333333 1.00000000
> -0.66666667 0.66666667 -0.66666667 1.00000000
> -0.75000000 0.75000000 -0.75000000 1.00000000
> -0.83333333 0.83333333 -0.83333333 1.00000000
> -0.91666667 0.91666667 -0.91666667 1.00000000
> -1.00000000 1.00000000 -1.00000000 1.00000000
> 0.08333333 0.08333333 0.08333333 1.00000000
> 0.00000000 0.16666667 0.00000000 1.00000000
> -0.08333333 0.25000000 -0.08333333 1.00000000
> -0.16666667 0.33333333 -0.16666667 1.00000000
> -0.25000000 0.41666667 -0.25000000 1.00000000
> -0.33333333 0.50000000 -0.33333333 1.00000000
> ....................
> nsfc run output (partial) (Al, ibrav=2)
> reciprocal axes: (cart. coord. in units 2 pi/a_0)
> b(1) = ( -1.000000 -1.000000 1.000000 )
> b(2) = ( 1.000000 1.000000 1.000000 )
> b(3) = ( -1.000000 1.000000 -1.000000 )
> number of k points= 2197 gaussian broad. (Ry)= 0.0150 ngauss
> = 0
> cart. coord. in units 2pi/a_0
> k( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.0009103
> k( 2) = ( -0.0833333 0.0833333 -0.0833333), wk = 0.0009103
> k( 3) = ( -0.1666667 0.1666667 -0.1666667), wk = 0.0009103
> k( 4) = ( -0.2500000 0.2500000 -0.2500000), wk = 0.0009103
> k( 5) = ( -0.3333333 0.3333333 -0.3333333), wk = 0.0009103
> k( 6) = ( -0.4166667 0.4166667 -0.4166667), wk = 0.0009103
> k( 7) = ( -0.5000000 0.5000000 -0.5000000), wk = 0.0009103
> k( 8) = ( -0.5833333 0.5833333 -0.5833333), wk = 0.0009103
> k( 9) = ( -0.6666667 0.6666667 -0.6666667), wk = 0.0009103
> k( 10) = ( -0.7500000 0.7500000 -0.7500000), wk = 0.0009103
> k( 11) = ( -0.8333333 0.8333333 -0.8333333), wk = 0.0009103
> k( 12) = ( -0.9166667 0.9166667 -0.9166667), wk = 0.0009103
> k( 13) = ( -1.0000000 1.0000000 -1.0000000), wk = 0.0009103
> k( 14) = ( 0.0833333 0.0833333 0.0833333), wk = 0.0009103
> k( 15) = ( 0.0000000 0.1666667 0.0000000), wk = 0.0009103
> k( 16) = ( -0.0833333 0.2500000 -0.0833333), wk = 0.0009103
> =
> =
> =
> =
> =
> =
> ======================================================================
> CRYSTAL
> nsfc run input (partial) (Al, ibrav=2)
> K_POINTS {crystal}
> 2197
> 0.00000000 0.00000000 0.00000000 1.00000000
> -0.08333333 0.08333333 -0.08333333 1.00000000
> -0.16666667 0.16666667 -0.16666667 1.00000000
> -0.25000000 0.25000000 -0.25000000 1.00000000
> -0.33333333 0.33333333 -0.33333333 1.00000000
> -0.41666667 0.41666667 -0.41666667 1.00000000
> -0.50000000 0.50000000 -0.50000000 1.00000000
> -0.58333333 0.58333333 -0.58333333 1.00000000
> -0.66666667 0.66666667 -0.66666667 1.00000000
> -0.75000000 0.75000000 -0.75000000 1.00000000
> -0.83333333 0.83333333 -0.83333333 1.00000000
> -0.91666667 0.91666667 -0.91666667 1.00000000
> -1.00000000 1.00000000 -1.00000000 1.00000000
> 0.08333333 0.08333333 0.08333333 1.00000000
> 0.00000000 0.16666667 0.00000000 1.00000000
> -0.08333333 0.25000000 -0.08333333 1.00000000
> -0.16666667 0.33333333 -0.16666667 1.00000000
> -0.25000000 0.41666667 -0.25000000 1.00000000
> -0.33333333 0.50000000 -0.33333333 1.00000000
> -0.41666667 0.58333333 -0.41666667 1.00000000
> ...................
> nsfc run output (partial) (Al, ibrav=2)
> reciprocal axes: (cart. coord. in units 2 pi/a_0)
> b(1) = ( -1.000000 -1.000000 1.000000 )
> b(2) = ( 1.000000 1.000000 1.000000 )
> b(3) = ( -1.000000 1.000000 -1.000000 )
> number of k points= 2197 gaussian broad. (Ry)= 0.0150 ngauss =
> cart. coord. in units 2pi/a_0
> k( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.0009103
> k( 2) = ( 0.2500000 0.0833333 0.0833333), wk = 0.0009103
> k( 3) = ( 0.5000000 0.1666667 0.1666667), wk = 0.0009103
> k( 4) = ( 0.7500000 0.2500000 0.2500000), wk = 0.0009103
> k( 5) = ( 1.0000000 0.3333333 0.3333333), wk = 0.0009103
> k( 6) = ( 1.2500000 0.4166667 0.4166667), wk = 0.0009103
> k( 7) = ( 1.5000000 0.5000000 0.5000000), wk = 0.0009103
> k( 8) = ( 1.7500000 0.5833333 0.5833333), wk = 0.0009103
> k( 9) = ( 2.0000000 0.6666667 0.6666667), wk = 0.0009103
> k( 10) = ( 2.2500000 0.7500000 0.7500000), wk = 0.0009103
> k( 11) = ( 2.5000000 0.8333333 0.8333333), wk = 0.0009103
> k( 12) = ( 2.7500000 0.9166667 0.9166667), wk = 0.0009103
> k( 13) = ( 3.0000000 1.0000000 1.0000000), wk = 0.0009103
> k( 14) = ( -0.0833333 0.0833333 0.0833333), wk = 0.0009103
> k( 15) = ( 0.1666667 0.1666667 0.1666667), wk = 0.0009103
> k( 16) = ( 0.4166667 0.2500000 0.2500000), wk = 0.0009103
> k( 17) = ( 0.6666667 0.3333333 0.3333333), wk = 0.0009103
> k( 18) = ( 0.9166667 0.4166667 0.4166667), wk = 0.0009103
> k( 19) = ( 1.1666667 0.5000000 0.5000000), wk = 0.0009103
> k( 20) = ( 1.4166667 0.5833333 0.5833333), wk = 0.0009103
> k( 21) = ( 1.6666667 0.6666667 0.6666667), wk = 0.0009103
>
> Paul M. Grant, PhD
> Principal, W2AGZ Technologies
> Visiting Scholar, Applied Physics, Stanford (2005-2008)
> EPRI Science Fellow (Retired)
> IBM Research Staff Member Emeritus
> w2agz at pacbell.net
> http://www.w2agz.com
>
>
>
>
> -----Original Message-----
> From: pw_forum-bounces at pwscf.org [mailto:pw_forum-bounces at pwscf.org]
> On
> Behalf Of Paolo Giannozzi
> Sent: Tuesday, December 30, 2008 5:21 AM
> To: PWSCF Forum
> Subject: Re: [Pw_forum] K_POINTS, tpiba or crystal
>
> On Tuesday 30 December 2008 05:56, Paul M. Grant wrote:
>
>> b(1) = ( 1.000000 0.000000 0.000000 )
>> b(2) = ( 0.000000 1.000000 0.000000 )
>> b(3) = ( 0.000000 0.000000 1.000000 )
>
> these are the lattice vectors generating a simple cubic lattice
>
>> Now, I want to input this grid to an nscf run via K_POINTS...is my
>> grid
>> "tpiba" or "crystal?"
>
> in this particular case, it shouldn't matter, since the crystal and
> cartesian axis are the same, and the length of crystal axis is 2pi/a .
>
> Paolo
> --
> Paolo Giannozzi, Democritos and Udine University
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://www.democritos.it/mailman/listinfo/pw_forum
>
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://www.democritos.it/mailman/listinfo/pw_forum
---
Stefano Baroni - SISSA & DEMOCRITOS National Simulation Center -
Trieste
http://www.sissa.it/~baroni / [+39] 040 3787 406 (tel) -528 (fax) /
stefanobaroni (skype)
La morale est une logique de l'action comme la logique est une morale
de la pensée - Jean Piaget
Please, if possible, don't send me MS Word or PowerPoint attachments
Why? See: http://www.gnu.org/philosophy/no-word-attachments.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20090104/c6cb0d6e/attachment.html>
More information about the users
mailing list