Author Topic: calculateEnergyBands() and hexagonal lattice  (Read 6754 times)

0 Members and 1 Guest are viewing this topic.

Offline W-General

  • New QuantumATK user
  • *
  • Posts: 1
  • Reputation: 0
    • View Profile
calculateEnergyBands() and hexagonal lattice
« on: May 7, 2009, 01:06 »
Hello,

I have a question about using calculateEnergyBands() on hexagonal lattice (specifically 2D graphene sheet).

I was wondering, since the manual said " The k-points are dimensionless, and given in units of the reciprocal lattice vectors. " - does that means that when calculateEnergyBands() takes in a set of k-points (n1, n2, n3), it is actually multiples of the reciprocal vectors.

What I'd like know is, if I say a k-point is (n1, n2, n3) and the reciprocal vectors are a,b,c (a=b for hexagonal lattice) then the k-point would be located at (n1*a, n2*a, n3*c) in reciprocal space?

Offline Quantamania

  • Heavy QuantumATK user
  • ***
  • Posts: 38
  • Reputation: 0
  • Profoundly deaf and legally blind since birth.
    • View Profile
Re: calculateEnergyBands() and hexagonal lattice
« Reply #1 on: May 7, 2009, 02:01 »
This was exactly the same challenge I faced when working with graphene, as a comparison to graphite.  Virtual NanoLab cannot simply model the periodic system as just 1D or 2D, so you need to trick it into modeling the system as a 3D model.  That is why the default crystal for graphene is designed to have the layers so far away that the k-points on the hexagonal face and interior of the Brillouin zone become degenerate.

I would suggest to you the pathway: K - Gamma - M - K - H - A - L - H.

K = 1/3, 1/3, 0
Gamma = 0, 0, 0
M = 0, 1/2, 0
H = 1/3, 1/3, 1/2
A = 0, 0, 1/2
L = 0, 1/2, 1/2

I have attempted to use less than eight k-points in the Energy Bands options, but the program could not display the bands correctly.  You will find that the sets K Gamma M and H A L are both the same in every band when inspecting the band structure of graphene.  That is a signature of 2D structures, degeneracy of k-points.

Regarding reciprocal space, the k-points used by the EnergyBands algorithm are automatically scaled to the crystal dimensions, so you do not really need to worry about trying to scale them yourself.  Reciprocal space is the inverse of the crystal dimension multiplied by factors that give specific vectors and k-point locations.

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: calculateEnergyBands() and hexagonal lattice
« Reply #2 on: May 7, 2009, 02:55 »
Yes, you are correct General W :)

A point (k1,k2,k3) is located at k1*b1+k2*b2+k3*b3 in reciprocal Cartesian space, where bi (i=1,2,3) are the reciprocal unit vectors.

As Quantamania suggests, you'll want to run your calculation via the symmetry points, and VNL automatically suggests such a route for you, except it doesn't tell you the labels of those points.

We're working on a much improved way to compute band structures; there is a prototype tutorial (note: this link may stop working when the tutorial is published; if so, look for it at the general Tutorial page). To run those calculations, you also need the scripts attached to this post.