BlochFamilyΒΆ

Type:section
Appearance:simple
Excludes:PropagatingModes

The BlochFamily multiple source allows a comfortable definition of all incident plane waves sharing the same Bloch phase in periodic geometries. As discussed here, periodic structures support a set of discrete diffraction orders, or Fourier modes that are linked to the reciprocal grid in k space. This source definition sets up plane wave illuminations incident from all these discrete directions separately for s and p polarization. A table containing the K and Amplitude vector of the different illumination is exported if the OutputFileName is provided.

MultipleSources {
  BlochFamily {
   Lambda0 = 800e-9
   Sigma = [0 0]
   Incidence = Both
   OutputFileName = "sourceTable.jcm"
}

In the following we focus on the two-fold periodic case only. From the grid the two lattice vectors \pvec{a}_{\perp, 1} and \pvec{a}_{\perp, 2} with their respective reciprocal grid vectors \pvec{b}_{\perp, 1}, \pvec{b}_{\perp, 2} are determined automatically. The same holds for \varepsilon_\pm and \mu_\pm, the corresponding scalar permittivities and permeabilities in the lower and upper half spaces, respectively. The angular wave number is given by k_\pm=\omega \sqrt{\varepsilon_\pm \mu_\pm}.

Using reciprocal grid vectors the transversal components \pvec{k}_{\perp, n_1, n_2} = n_1 \pvec{b}_{\perp, 1}+n_2 \pvec{b}_{\perp, 2} + k_{\perp, \mathrm{B}} of the k-vector is determined for given integers n_1,n_2. By prescribing the transversal component of the Bloch vector \pvec{k}_{\mathrm{B}} (this can set using Sigma), the illuminations can be translated in reciprocal space. This remaining normal component k_z is determined by k_z = \pm\sqrt{k_\pm^2-|\pvec{k_\perp}|^2} in the appropriate half spaces.