# 2D Brillouin zone generator

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).

• 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. May 27 '20 at 2:32
• @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. Jun 13 '20 at 1:32
• 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. 🤷‍♂️ Jun 13 '20 at 2:03