  There are many numerical methods for simulate three-dimensional photonic
crystals, after comparison, we choose Yee's scheme to be our discrete method.
So far, this method can only be applied to simple cubic lattice and
face-centered cubic lattice, but there are 14 Bravais lattices in
three-dimensional space. In this paper we extended Yee's scheme to all of the
14 Bravais lattices. After discretization, we get a general eigenvalue problem,
and we will analyze this general eigenvalue problem. The second important task
of this paper is to find the eigen-decomposition of the discrete curl operator,
after a series of complicated calculations, we find that all the lattices can
be summed up into two kinds of decomposition. We are interested in finding the
several few smallest real eigenvalues, but the large dimension of null space is
1/3 of all, this seriously affected the convergence of calculation, we use a
technique which is called nullspace-free method to avoid this trouble. But this
technique transforms the sparse matrix in our problem to a dense matrix,
fortunately, the eigenvectors we found before are related to discrete Fourier
transformation. The efficiency of calculation has been significantly improved
by using the fast Fourier transformation. Finally, we calculate the band
structures of photonic crystals on various lattices, and implement high
performance calculations on the GPU.
