# Is there a software/code that generates Brillouin zone k-points of FCC lattice?

tldr: I am new to working with 3D lattices and am wondering if there are any well-developed methods for generating all $$\mathbf{k}$$-points inside the first Brillouin zone (BZ) of an FCC lattice.

My (so far unsuccessful) approach: I use the following primitive lattice vectors:

• $$a_1 = \frac{a}{2} (\hat y+\hat z)$$
• $$a_2 = \frac{a}{2} (\hat x+\hat z)$$
• $$a_3 = \frac{a}{2} (\hat x+\hat y)$$

where $$a$$ is the length of the conventional cubic unit cell of the FCC lattice. From these, I calculate the reciprocal lattice vectors $$b_1$$, $$b_2$$, and $$b_3$$ (which of course form a BCC lattice). The reciprocal lattice defined by $$G=hb_1+kb_2+lb_3$$ is shown in the figure below with $$(h,k,l)$$ points:

I do not how to further bisect these connecting lines to define the first BZ and accurately generate $$\mathbf{k}$$-points within it.

It feels like I am reinventing the wheel; there must be some well-developed method for generating $$\mathbf{k}$$-points for the FCC lattice. Is there a software/code for obtaining all $$\mathbf{k}$$-points within the first BZ of an FCC lattice with lattice constant $$a$$?

• Hi! Welcome to Matter Modelling. I think you may be looking to generate the boundary of the 1st Brillouin zone? Could you clarify what you mean by "all points" if not? Commented Aug 6 at 14:11
• @AndreyPoletayev Oh, by "all," I mean a finite number $N$ of points that lie inside the 1st Brillouin zone. Specifically, I want to perform an integration of a function over the 1st Brillouin zone. My approach is to evaluate this function at each point within the Brillouin zone and then approximate the integration as a summation. To achieve this, I need a method to define the $N$ $k$-points that lie inside the BZ. Commented Aug 6 at 14:17
• Either this, or I would appreciate any conditions or methods to define the boundary of the BZ. If I can accurately define the boundary, I can generate the k-points myself using MATLAB or Python. Apologies if my question wasn't clear. Commented Aug 6 at 14:18
• I think you fundamentally do not understand what it is you are actually supposed to do. Also, why don't you use one of the standard software packages, because they already do this for you; they can generate the set of k points and also do the integration for you. Commented Aug 6 at 14:19
• @naturallyInconsistent could you please name some software packages that can do this? Commented Aug 6 at 14:22