FAME is aimed at calculating the band structure of three-dimensional linear nondispersive photonic crystals and metamaterials. The governing equation considered here is the source-free Maxwell's equations in the frequency domain, i.e.

where ω is the frequency of the electromagnetic waves. The description of the media consists in the material parameters of the constitutive relations

in which ε and μ are the permittivity and the permeability of the media, respectively, ξ is the magnetoelectric coupling parameter of the media and ξ* means the complex conjugate of ξ . More importantly, in our scenario, these parameters ε, μ and ξ are periodic in three directions, i.e.

where a_1, a_2 and a_3 are lattice translation vectors.

Then due to the famous Bloch theorem, electromagnetic waves have to satisify

where F refers to E, B, D or H in Maxwell's equations and k is the wavevector .

Depending on the specific form of ε, μ and ξ, up to now, three types of (complex) media can be routinely dealt with by FAME.

i) Isotropic photonic crystals

"Isotropic" simply means that the properties of the media are the same in all directions. Specifically, in isotropic photonic crystals, ξ vanishes identically, and

ii) Anisotropic photonic crystals

"Anisotropic", as opposed to "isotropic", means the properties of the media vary with directions. In anisotropic photonic crystals, ξ also vanishes identically, and the permittivity and permeability are in general 3-by-3 Hermitian positive-definite dyadics as follows

iii) Bi-isotropic complex media

In bi-isotropic complex media, the permittivity and the permeability is the same as the isotropic case, and the magnetoelectric coupling parameter ξ is not zero but can be further described by

where χ and γ are reciprocity and chirality parameter, respectively. Depending on whether χ and/or γ are zero, the bi-isotropic complex media can be classified into the following four types, including the isotropic one:

So far, only the Pasteur media can be dealt with by FAME.

Any three-dimensional crystal can be identified as one of the 7 lattice systems and the 14 Bravais lattices. Practical knowledge of all lattice systems and Bravais lattices can be found, for example, in . For a specific three-dimensional crystal, the lengths of lattice translation vectors a_1, a_2 and a_3 and the angle between any two of them are required for our simulation.

It is worth noting that it is the factor exp(i k \cdot a_l), l=1,2,3 that will play an important role in the solution to Maxwell's equations, not k itself. There is no need for the wavevector k to sweep the whole three-dimensional space. In fact, we can define reciprocal lattice vectors to be wavevectors h such that the following equality holds for given lattice translation vectors a_1, a_2 and a_3

The solution h is just integer multiples of primitive translation vectors b_1, b_2 and b_3, as defined below, of the reciprocal lattice,

Then the wavevector k can be spanned by b_1, b_2 and b_3 with coefficients lying between 0 and 1, i.e.

In other words, it is sufficient that the wavevector k varies within the first Brillouin zone which is just the parallelepiped formed by b_1, b_2 and b_3. Furthermore, thanks to the symmetries in the point group of the lattice, the first Brillouin zone can be generated from the irreducible Brillouin zone. Particularly, in practical band structure calculations, we only concern about k's which are along the segments connecting any two corner points of the irreducible Brillouin zone. The irreducible Brillouin zone of various lattices and their transformation relation have documented detailed in the reference .