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$?