There are several pages where you can find scripts/simulations to generate the first Brillouin zone for square and hexagonal 2D lattices.

I wonder if there is a tool to generate the Brillouin for other 2D lattices like the tiles presented here and here.

PS: I am aware that not all the tiles can be used to represent a 2D lattice as they don't fill the space (area).

  • 1
    $\begingroup$ I'm not aware of any codes to do this, but if you define some lattice vectors you can write a simple code to find the Brillouin zone by generating the reciprocal lattice vectors and determining the Wigner-Seitz cell. $\endgroup$ May 27, 2020 at 2:32
  • 1
    $\begingroup$ @KevinJ.M. I don't know what any of these specialized terms mean, but how simple would the"simple code" be? Is it so simple that it would not be in any code (for example, most quantum codes don't have a unit converter because it's expected the user can do it themselves) or is it complicated enough that someone who solved this problem in the past would have (likely) posted it in an online repository or would have (likely) incorporated it into a bigger code? The page linked in the question makes it appear that it's somewhat complicated enough to turn the "simple code" into an online tool. $\endgroup$ Jun 13, 2020 at 1:32
  • 1
    $\begingroup$ It's on Twitter now: Re-tweet to help spread the word and get an answer: twitter.com/StackMatter/status/1271619165896531968 $\endgroup$ Jun 13, 2020 at 1:43
  • $\begingroup$ What Kevin is saying is true and should not he too difficult. The brillouin zone (BZ) is the unit cell's equivalent in reciprocal space. The reciprocal lattice vectors b1, b2, b3 are related and can be computed (by hand) from a, b and c ; the lattice vectors in real space. It is possible to get a 2D / surface / slab from a 3D unit cell. Therefore, you should be able to start from the bulk BZ and get a reciprocal-space slab that physically reoresents your cell in real space. I don't know if there is a general code that does this for all types of lattices. 🤷‍♂️ $\endgroup$
    – epalos
    Jun 13, 2020 at 2:03

1 Answer 1


I didn't notice this before, but the link provided in the question can already be used to visualize any 2D Brillouin zone. Since you can define the ratio of b/a, and the angle between b and a, then you can define any 2D Bravais lattice. There are only 5 possibilities. The "hexagonal" and "square" options are just there to conveniently show two of them.

The Brillouin zone only depends on the Bravais lattice vectors. Any additional complexity in the basis of this lattice (i.e. the specific arrangement of tiles) is irrelevant for the shape and size of the Brillouin zone. However, in real diffraction pattern measurements, the basis determines the intensity of each point in the reciprocal lattice by the corresponding structure factor.

I drew some of the possible Bravais lattice unit cells for the tile patterns included in the question:

enter image description here

  • 1
    $\begingroup$ +10. Thank you for taking the time to answer this unanswered question!! $\endgroup$ Jun 13, 2020 at 15:14
  • $\begingroup$ Even when the Bravais lattice you draw are bigger that the real ones? $\endgroup$
    – Camps
    Jun 16, 2020 at 13:25
  • $\begingroup$ You should use the primitive cell vectors... If I made a cell bigger than it needed to be I made a mistake. Which ones are you talking about? $\endgroup$ Jun 17, 2020 at 1:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .