A key concept in material science is the relationship between the Bravais
lattice, the reciprocal lattice and the resulting Brillouin zones (BZ). These
zones are often complicated shapes that are hard to construct and visualise
without the use of sophisticated software, even by professional scientists. We
have used a simple sorting algorithm to construct BZ of any order for a chosen
Bravais lattice that is easy to implement in any scientific programming language.
The resulting zones can then be visualised using freely available
plotting software. This method has pedagogical value for upper-level undergraduate
students since, along with other computational methods, it can be
used to illustrate how constant-energy surfaces combine with these zones to
create van Hove singularities in the density of states. In this paper we apply
our algorithm along with the empirical pseudopotential method and the 2D
equivalent of the tetrahedron method to show how they can be used in a simple
software project to investigate this interaction for a 2D crystal. This project not
only enhances students’ fundamental understanding of the principles involved
but also improves transferable coding skills.