Re: k-points of full BZ

Search:

Re: k-points of full BZ

From: Paul L. de Boeij <p.l.de.boeij_at_email.domain.hidden>
Date: Wed, 11 Jun 2003 17:10:58 +0200

Dear Serguei,

Two comments,

1) the loop over operators should be extended to include the time-reversal
operator, which relates to the inversion operator in reciprocal space.
Therefore check for adding both o.k and -o.k for each operator o and unique
point k. For systems without inversion symmetry this will double the total
number of k-points.

2) do not use the centralising routine to check for doubles in your set of k
points if you want to sample a whole BZ including the boundary. This means
that points that may differ by a reciprocal lattice vector but still are
related by a simple rotation should be included.

I do not now what purpose it serves, but you might want to consider changing
the integration weights too.

Paul

On 11-6-2003 10:29, "owner-adf-list_at_scm.com" <owner-adf-list_at_scm.com> wrote:

> h5AJi8bb030701
> for <adf-list_at_scm.com>; Tue, 10 Jun 2003 15:44:08 -0400
> Received: from localhost (ps_at_localhost)
> by ned.sims.nrc.ca (8.12.6/8.12.6/Submit) with ESMTP id h5AJi8ao030698
> for <adf-list_at_scm.com>; Tue, 10 Jun 2003 15:44:08 -0400
> Date: Tue, 10 Jun 2003 15:44:08 -0400 (EDT)
> From: Serguei Patchkovskii <ps_at_ned.sims.nrc.ca>
> Reply-To: Serguei.Patchkovskii_at_nrc.ca
> To: adf-list_at_scm.com
> Subject: ADF-LIST: Full set of K points in band
> Message-ID: <Pine.LNX.4.44.0306101532590.30420-100000_at_ned.sims.nrc.ca>
> MIME-Version: 1.0
> Content-Type: TEXT/PLAIN; charset=US-ASCII
> X-Virus-Scanned: by AMaViS - amavis-milter (http://www.amavis.org/)
> Sender: owner-adf-list_at_scm.com
> Precedence: bulk
>
> Ladies and gentlemen,
>
> For a little pet project, I need to get the complete set of K points,
> employed by BAND - that is, covering the full Brillouin zone. As far
> as I can see, only the K-points within the irreducible wedge are
> generated (and stored) usually.
>
> To do this, I rip a bit of code out of kpnteq, and run all K points
> in the wedge through the BZ symop table:
>
> allk (:,1:kt) = xyzkpt(:,:)
> nallk = kt
> kor (1:kt) = kequiv(1:kt)
> do k = 1, kt
> if ( kequiv(k) /= k ) cycle ! Reducible point, ignore
> !
> ! Generate all symmetry equivalent K points
> !
> ioper_: do ioper = noper, 1, -1
> proj(1:ndim) = matmul(oper(:,:,ioper),xyzkpt(:,k))
> !
> ! Check for duplicates in the expanded table, by comparing the
> ! new K point to all already recorded points, modulo the bz
> cell
> !
> do k2 = 1, nallk
> vec(1:ndim) = proj(1:ndim) - allk(:,k2)
> call centrl (ndim, bvec, avec, 1, vec)
> if (sum(abs(vec(1:ndim)))<=tol) cycle ioper_
> end do
> !
> ! This is a new K point. Make sure it's is inside the bz, and
> ! record it, along with all its images at the BZ boundary
> !
> nallk = nallk + 1
> kor(nallk) = k
> allk(:,nallk) = proj(1:ndim)
> end do ioper_
> end do
>
> This seems to work well enough, provided that I augment the resulting
> set of K-points with the BZ's of the neighboring K-space lattice
> points. However, the K-space close to the (0.5,0.5,0.0) special point
> of the BCC lattice looks a bit sparce - which makes me wonder whether
> I am missing some of the K points.
>
> Could anybody familiar with the K-point generation code in BAND comment
> on this?
>
> Serguei
>
> ---
> Dr. Serguei Patchkovskii
>
> Tel: +1-(613)-990-0945
> Fax: +1-(613)-947-2838
> E-mail: Serguei.Patchkovskii_at_nrc.ca
>
> Coordinator of Modelling Software
> Theory and Computation Group
> Steacie Institute for Molecular Sciences
> National Research Council Canada
> Room 2011, 100 Sussex Drive
> Ottawa, Ontario
> K1A 0R6 Canada
>
>
Received on 2003-06-11 17:11:04

This archive was generated by hypermail 2.2.0 : 2006-11-02 07:00:02 CET