Infinite systems WIP (how to numerical solutions)

Former-commit-id: dd3118e392b58eb9ae2260581e93028561571245
This commit is contained in:
Marek Nečada 2019-07-31 10:10:45 +03:00
parent d5b6f8f5d4
commit f167360c1e
3 changed files with 233 additions and 24 deletions

View File

@ -802,6 +802,17 @@ literal "true"
\end_inset \end_inset
\end_layout
\begin_layout Standard
\begin_inset CommandInset include
LatexCommand include
filename "symmetries.lyx"
literal "true"
\end_inset
\end_layout \end_layout
\begin_layout Standard \begin_layout Standard

View File

@ -1251,7 +1251,17 @@ noprefix "false"
\end_inset \end_inset
can then be solved using standard numerical linear algebra methods. can then be solved using standard numerical linear algebra methods (typically,
by LU factorisation of the
\begin_inset Formula $\left(I-T\trops\right)$
\end_inset
matrix at a given frequency, and then solving with Gauss elimination for
as many different incident
\begin_inset Formula $\rcoeffinc$
\end_inset
vectors as needed).
\end_layout \end_layout
\begin_layout Standard \begin_layout Standard

View File

@ -324,9 +324,9 @@ noprefix "false"
As in the case of a finite system, eq. As in the case of a finite system, eq.
can be written in a shorter block-matrix form, can be written in a shorter block-matrix form,
\begin_inset Formula \begin_inset Formula
\[ \begin{equation}
\left(I-WT\right)\outcoeffp{\vect 0}\left(\vect k\right)=\rcoeffincp{\vect 0}\left(\vect k\right) \left(I-WT\right)\outcoeffp{\vect 0}\left(\vect k\right)=\rcoeffincp{\vect 0}\left(\vect k\right)\label{eq:Multiple-scattering problem unit cell block form}
\] \end{equation}
\end_inset \end_inset
@ -343,8 +343,196 @@ noprefix "false"
can be used to calculate electromagnetic response of the structure to external can be used to calculate electromagnetic response of the structure to external
quasiperiodic driving field most notably a plane wave. quasiperiodic driving field most notably a plane wave.
However, if one sets the right the right-hand side to zero, it can also However, the non-trivial solutions of the equation with right hand side
be used to find electromagnetic lattice modes (i.e.
the external driving) set to zero,
\begin_inset Formula
\begin{equation}
\left(I-WT\right)\outcoeffp{\vect 0}\left(\vect k\right)=0,\label{eq:lattice mode equation}
\end{equation}
\end_inset
describes the
\emph on
lattice modes.
\emph default
Non-trivial solutions to
\begin_inset CommandInset ref
LatexCommand eqref
reference "eq:lattice mode equation"
plural "false"
caps "false"
noprefix "false"
\end_inset
exist if the matrix on the left-hand side
\begin_inset Formula $M\left(\omega,\vect k\right)=\left(I-W\left(\omega,\vect k\right)T\left(\omega\right)\right)$
\end_inset
is singular this condition gives the
\emph on
dispersion relation
\emph default
for the periodic structure.
Note that in realistic (lossy) systems, at least one of the pair
\begin_inset Formula $\omega,\vect k$
\end_inset
will acquire complex values.
\end_layout
\begin_layout Subsection
Numerical solution
\end_layout
\begin_layout Standard
In practice, equation
\begin_inset CommandInset ref
LatexCommand eqref
reference "eq:Multiple-scattering problem unit cell block form"
plural "false"
caps "false"
noprefix "false"
\end_inset
is solved in the same way as eq.
\begin_inset CommandInset ref
LatexCommand eqref
reference "eq:Multiple-scattering problem block form"
plural "false"
caps "false"
noprefix "false"
\end_inset
in the multipole degree truncated form.
\end_layout
\begin_layout Standard
The lattice mode problem
\begin_inset CommandInset ref
LatexCommand eqref
reference "eq:lattice mode equation"
plural "false"
caps "false"
noprefix "false"
\end_inset
is (after multipole degree truncation) solved by finding
\begin_inset Formula $\omega,\vect k$
\end_inset
for which the matrix
\begin_inset Formula $M\left(\omega,\vect k\right)$
\end_inset
has a zero singular value.
A naïve approach to do that is to sample a volume with a grid in the
\begin_inset Formula $\left(\omega,\vect k\right)$
\end_inset
space, performing a singular value decomposition of
\begin_inset Formula $M\left(\omega,\vect k\right)$
\end_inset
at each point and finding where the lowest singular value of
\begin_inset Formula $M\left(\omega,\vect k\right)$
\end_inset
is close enough to zero.
However, this approach is quite expensive, for
\begin_inset Formula $W\left(\omega,\vect k\right)$
\end_inset
has to be evaluated for each
\begin_inset Formula $\omega,\vect k$
\end_inset
pair separately (unlike the original finite case
\begin_inset CommandInset ref
LatexCommand eqref
reference "eq:Multiple-scattering problem block form"
plural "false"
caps "false"
noprefix "false"
\end_inset
translation operator
\begin_inset Formula $\trops$
\end_inset
, which, for a given geometry, depends only on frequency).
Therefore, a much more efficient approach to determine the photonic bands
is to sample the
\begin_inset Formula $\vect k$
\end_inset
-space (a whole Brillouin zone or its part) and for each fixed
\begin_inset Formula $\vect k$
\end_inset
to find a corresponding frequency
\begin_inset Formula $\omega$
\end_inset
with zero singular value of
\begin_inset Formula $M\left(\omega,\vect k\right)$
\end_inset
using a minimisation algorithm (two- or one-dimensional, depending on whether
one needs the exact complex-valued
\begin_inset Formula $\omega$
\end_inset
or whether the its real-valued approximation is satisfactory).
Typically, a good initial guess for
\begin_inset Formula $\omega\left(\vect k\right)$
\end_inset
is obtained from the empty lattice approximation,
\begin_inset Formula $\left|\vect k\right|=\sqrt{\epsilon\mu}\omega/c_{0}$
\end_inset
(modulo lattice points; TODO write this a clean way).
A somehow challenging step is to distinguish the different bands that can
all be very close to the empty lattice approximation, especially if the
particles in the systems are small.
In high-symmetry points of the Brilloin zone, this can be solved by factorising
\begin_inset Formula $M\left(\omega,\vect k\right)$
\end_inset
into irreducible representations
\begin_inset Formula $\Gamma_{i}$
\end_inset
and performing the minimisation in each irrep separately, cf.
Section
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Symmetries"
plural "false"
caps "false"
noprefix "false"
\end_inset
, and using the different
\begin_inset Formula $\omega_{\Gamma_{i}}\left(\vect k\right)$
\end_inset
to obtain the initial guesses for the nearby points
\begin_inset Formula $\vect k+\delta\vect k$
\end_inset
.
\end_layout \end_layout
\begin_layout Subsection \begin_layout Subsection