Eigen value solver in C++ for a 3D photonic crystal
A simulation study of the modes of propagation through a 3D photonic crystal using a C++ eigen value solver is presented in this work. The valid modes of propagation through a photonic crystal can be obtained by equating the field equations across the crystal boundary, which when rearranged gives rise to a complex eigen value problem. A 2D photonic crystal would yield a comparatively simple solution but the work in this thesis looks at a 3D photonic crystal which introduces a multifold of solutions. The enormity of the solution space of this problem demands that the simulation be run on a larger environment than a PC. C++ being the most compatible coding language for advanced multi processor computing systems became the obvious choice as the simulation platform. The problem of conventional computational engines such as MATLAB not having the memory capability or the speed on a PC is the primary motivation for the development of a C++ computational model. This thesis approaches the problem in multiple steps such as generating a fourier coefficient matrix for the boundary equation, solving for all the eigen values inside the crystal. The eigen values solver in this work is setup for a symmetric 3D photonic crystal. The code allows enough room for extension of the work to ultimately obtaining the valid modes in the nonsymmetric crystal.