WIP finite lattice

Former-commit-id: 0a8c5e45ffb0ee03b0867ba483c3a9960405f0af
This commit is contained in:
Marek Nečada 2019-07-20 07:09:31 +03:00
parent ecda105d49
commit b259bd46b4
5 changed files with 60 additions and 446 deletions

View File

@ -41,11 +41,11 @@
\papersize default
\use_geometry false
\use_package amsmath 2
\use_package amssymb 2
\use_package amssymb 1
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 2
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
@ -158,12 +158,7 @@
\begin_inset FormulaMacro
\newcommand{\spharm}[2]{Y_{#1,#2}}
\end_inset
\begin_inset FormulaMacro
\newcommand{\ush}[2]{\spharm{#1}{#2}}
\newcommand{\ush}[2]{Y_{#1,#2}}
\end_inset
@ -237,66 +232,6 @@
\end_inset
\begin_inset FormulaMacro
\newcommand{\transop}{S}
\end_inset
\begin_inset FormulaMacro
\newcommand{\vswfr}[3]{\vect{\vect v}_{#1#2#3}}
\end_inset
\begin_inset FormulaMacro
\newcommand{\vswfs}[3]{\vect{\vect u}_{#1#2#3}}
\end_inset
\begin_inset FormulaMacro
\newcommand{\vspharm}[3]{\vect A_{#1#2#3}}
\end_inset
\begin_inset FormulaMacro
\newcommand{\uvec}[1]{\vect{\hat{#1}}}
\end_inset
\begin_inset FormulaMacro
\newcommand{\coeffs}{f}
\end_inset
\begin_inset FormulaMacro
\newcommand{\coeffsi}[3]{\coeffs_{#1#2}^{#3}}
\end_inset
\begin_inset FormulaMacro
\newcommand{\coeffsip}[4]{\coeffs_{#1}^{#2,#3,#4}}
\end_inset
\begin_inset FormulaMacro
\newcommand{\coeffr}{a}
\end_inset
\begin_inset FormulaMacro
\newcommand{\coeffri}[3]{\coeffr_{#1#2}^{#3}}
\end_inset
\begin_inset FormulaMacro
\newcommand{\coeffrip}[4]{\coeffr_{#1}^{#2,#3,#4}}
\end_inset
\begin_inset FormulaMacro
\newcommand{\coeffripext}[4]{\coeffr_{\mathrm{ext}#1}^{#2,#3,#4}}
\end_inset
\end_layout
\begin_layout Title
@ -505,16 +440,6 @@ filename "intro.lyx"
\end_inset
\end_layout
\begin_layout Standard
\begin_inset CommandInset include
LatexCommand include
filename "finite-old.lyx"
\end_inset
\end_layout
\begin_layout Standard
@ -535,16 +460,6 @@ filename "infinite.lyx"
\end_inset
\end_layout
\begin_layout Standard
\begin_inset CommandInset include
LatexCommand include
filename "infinite-old.lyx"
\end_inset
\end_layout
\begin_layout Standard
@ -555,16 +470,6 @@ filename "examples.lyx"
\end_inset
\end_layout
\begin_layout Standard
\begin_inset CommandInset include
LatexCommand include
filename "comparison.lyx"
\end_inset
\end_layout
\begin_layout Standard

View File

@ -81,13 +81,6 @@
\begin_layout Section
Applications
\begin_inset CommandInset label
LatexCommand label
name "sec:Applications"
\end_inset
\end_layout
\end_body

View File

@ -1,7 +1,9 @@
#LyX 2.1 created this file. For more info see http://www.lyx.org/
\lyxformat 474
#LyX 2.3 created this file. For more info see http://www.lyx.org/
\lyxformat 544
\begin_document
\begin_header
\save_transient_properties true
\origin unavailable
\textclass article
\use_default_options true
\maintain_unincluded_children false
@ -9,16 +11,18 @@
\language_package default
\inputencoding auto
\fontencoding global
\font_roman TeX Gyre Pagella
\font_sans default
\font_typewriter default
\font_math auto
\font_roman "default" "TeX Gyre Pagella"
\font_sans "default" "default"
\font_typewriter "default" "default"
\font_math "auto" "auto"
\font_default_family default
\use_non_tex_fonts true
\font_sc false
\font_osf true
\font_sf_scale 100
\font_tt_scale 100
\font_sf_scale 100 100
\font_tt_scale 100 100
\use_microtype false
\use_dash_ligatures true
\graphics default
\default_output_format pdf4
\output_sync 0
@ -58,6 +62,7 @@
\suppress_date false
\justification true
\use_refstyle 1
\use_minted 0
\index Index
\shortcut idx
\color #008000
@ -66,7 +71,10 @@
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\quotes_language swedish
\is_math_indent 0
\math_numbering_side default
\quotes_style swedish
\dynamic_quotes 0
\papercolumns 1
\papersides 1
\paperpagestyle default
@ -81,13 +89,6 @@
\begin_layout Section
Finite systems
\begin_inset CommandInset label
LatexCommand label
name "sec:Finite"
\end_inset
\end_layout
\begin_layout Itemize
@ -95,6 +96,10 @@ name "sec:Finite"
\lang english
motivation (classes of problems that this can solve: response to external
radiation, resonances, ...)
\begin_inset Separator latexpar
\end_inset
\end_layout
\begin_deeper
@ -102,6 +107,10 @@ motivation (classes of problems that this can solve: response to external
\lang english
theory
\begin_inset Separator latexpar
\end_inset
\end_layout
\begin_deeper
@ -109,6 +118,10 @@ theory
\lang english
T-matrix definition, basics
\begin_inset Separator latexpar
\end_inset
\end_layout
\begin_deeper
@ -143,12 +156,14 @@ Motivation
\end_layout
\begin_layout Standard
\lang english
The basic idea of MSTMM consists in expansion of electromagnetic field around
the scatterers into vector spherical vector wavefunctions (VSWFs), solving
the individual scattering in terms of the VSWF basis, and re-expanding
The basic idea of MSTMM is quite simple: the driving electromagnetic field
incident onto a scatterer is expanded into a vector spherical wavefunction
(VSWF) basis in which the single scattering problem is solved, and the
scattered field is then re-expanded into VSWFs centered at the other scatterers.
Repeating the same procedure with all (pairs of) scatterers yields a set
of linear equations, solution of which gives the coefficients of the scattered
field in the VSWF bases.
However,
\end_layout
\begin_layout Subsection
@ -175,10 +190,6 @@ ity
and magnetic permeability
\begin_inset Formula $\mu(\vect r,\omega)=\mubg(\omega)$
\end_inset
depending only on (angular) frequency
\begin_inset Formula $\omega$
\end_inset
, and that the whole system is linear, i.e.
@ -189,7 +200,7 @@ ity
\end_inset
must satisfy the homogeneous vector Helmholtz equation
\begin_inset Formula $\left(\nabla^{2}+k^{2}\right)\vect{\Psi}\left(\vect r,\vect{\omega}\right)=0$
\begin_inset Formula $\left(\nabla^{2}+k^{2}\right)\Psi\left(\vect r,\vect{\omega}\right)=0$
\end_inset
@ -206,44 +217,16 @@ todo define
\end_inset
with wavenumber
\begin_inset Formula $k=\omega\sqrt{\mu\epsilon}/c_{0}$
with
\begin_inset Formula $k=TODO$
\end_inset
, and transversality condition
\begin_inset Formula $\nabla\cdot\vect{\Psi}\left(\vect r,\omega\right)=0$
\end_inset
\begin_inset CommandInset citation
LatexCommand cite
key "jackson_classical_1998"
\end_inset
\begin_inset Note Note
status open
\begin_layout Plain Layout
[TODO more specific REF Jackson?]
\end_layout
\end_inset
.
\lang english
\begin_inset Note Note
status open
\begin_layout Plain Layout
Its solutions (TODO under which conditions? What vector space do the SVWFs
[TODO REF Jackson?].
Its solutions (TODO under which conditions? What vector space do the SVWFs
actually span? Check Comment 9.2 and Appendix f.9.1 in Kristensson)
\end_layout
\begin_layout Plain Layout
\begin_layout Standard
\lang english
Throughout this text, we will use the same normalisation conventions as
@ -251,126 +234,19 @@ Throughout this text, we will use the same normalisation conventions as
\begin_inset CommandInset citation
LatexCommand cite
key "kristensson_scattering_2016"
literal "true"
\end_inset
.
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
\lang english
Spherical waves
\end_layout
\begin_layout Standard
Inside a ball
\begin_inset Formula $B_{R}\left(\vect{r'}\right)\subset\medium$
\end_inset
with radius
\begin_inset Formula $R$
\end_inset
centered at
\begin_inset Formula $\vect{r'}$
\end_inset
, the transversal solutions of the vector Helmholtz equation can be expressed
in the basis of the regular transversal
\emph on
vector spherical wavefunctions
\emph default
(VSWFs)
\begin_inset Formula $\vswfr{\tau}lm\left(k\left(\vect r-\vect{r'}\right)\right)$
\end_inset
, which are found by separation of variables in spherical coordinates.
There is a large variety of VSWF normalisation and phase conventions in
the literature (and existing software), which can lead to great confusion
using them.
Throughout this text, we use the following convention, adopted from [Kristensso
n 2014]:
\end_layout
\begin_layout Standard
\begin_inset Formula
\begin{eqnarray}
\vswfr 1lm\left(k\vect r\right) & = & j_{l}\left(kr\right)\vspharm 1lm\left(\uvec r\right),\nonumber \\
\vswfr 2lm\left(k\vect r\right) & = & \frac{1}{kr}\frac{\ud\left(kr\, j_{l}\left(kr\right)\right)}{\ud\left(kr\right)}\vspharm 2lm\left(\uvec r\right)+\sqrt{l\left(l+1\right)}\frac{j_{l}\left(kr\right)}{kr}\vspharm 3lm\left(\uvec r\right),\label{eq:regular vswf}\\
& & \qquad l=1,2,\dots;\, m=-l,-l+1,\dots,l;\nonumber
\end{eqnarray}
\end_inset
where we separated the position variable into its magnitude
\begin_inset Formula $r$
\end_inset
and a unit vector
\begin_inset Formula $\uvec r$
\end_inset
,
\begin_inset Formula $\vect r=r\uvec r$
\end_inset
, the
\emph on
vector spherical harmonics
\emph default
\begin_inset Formula $\vspharm{\sigma}lm$
\end_inset
are defined as
\begin_inset Formula
\begin{eqnarray}
\vspharm 1lm\left(\uvec r\right) & = & \frac{1}{\sqrt{l\left(l+1\right)}}\nabla\spharm lm\left(\uvec r\right)\times\vect r,\nonumber \\
\vspharm 2lm\left(\uvec r\right) & = & \frac{1}{\sqrt{l\left(l+1\right)}}r\nabla\spharm lm\left(\uvec r\right),\label{eq:vspharm}\\
\vspharm 2lm\left(\uvec r\right) & = & \uvec r\spharm lm\left(\uvec r\right),\nonumber
\end{eqnarray}
\end_inset
and for the scalar spherical harmonics
\begin_inset Formula $\spharm lm$
\end_inset
we use the convention from [REF DLMF 14.30.1],
\begin_inset Formula
\begin{equation}
\spharm lm\left(\uvec r\right)=\spharm lm\left(\theta,\phi\right)=\left(\frac{(l-m)!(2l+1)}{4\pi(l+m)!}\right)^{1/2}e^{im\phi}\mathsf{P}_{l}^{m}\left(\cos\theta\right),\label{eq:spharm}
\end{equation}
\end_inset
where the Condon-Shortley phase factor
\begin_inset Formula $\left(-1\right)^{m}$
\end_inset
is already included in the definition of Ferrers function
\begin_inset Formula $\mathsf{P}_{l}^{m}\left(\cos\theta\right)$
\end_inset
[as in DLMF 14].
The main reason for this choice of VSWF
\emph on
normalisation
\emph default
is that it leads to simple formulae for power transport and scattering
cross sections without additional
\begin_inset Formula $l,m$
\end_inset
-dependent factors, see below.
\end_layout
\begin_layout Standard
\lang english

View File

@ -81,13 +81,6 @@
\begin_layout Section
Infinite periodic systems
\begin_inset CommandInset label
LatexCommand label
name "sec:Infinite"
\end_inset
\end_layout
\begin_layout Subsection
@ -197,9 +190,9 @@ and we assume periodic solution
\begin_inset Formula
\begin{eqnarray*}
\sum_{\vect bβ}(\delta_{\vect{ab}}\delta_{αβ}-T_{α}S_{\vect aα\leftarrow\vect bβ})A_{\vect a\beta}\left(\vect k\right)e^{i\vect k\cdot\vect r_{\vect b-\vect a}} & = & 0,\\
\sum_{\vect bβ}(\delta_{\vect{0b}}\delta_{αβ}-T_{α}S_{\vect0α\leftarrow\vect bβ})A_{\vect0\beta}\left(\vect k\right)e^{i\vect k\cdot\vect r_{\vect b}} & = & 0,\\
\sum_{β}(\delta_{αβ}-T_{α}\underbrace{\sum_{\vect b}S_{\vect0α\leftarrow\vect bβ}e^{i\vect k\cdot\vect r_{\vect b}}}_{W_{\alpha\beta}(\vect k)})A_{\vect0\beta}\left(\vect k\right) & = & 0,\\
A_{\vect0\alpha}\left(\vect k\right)-T_{α}\sum_{\beta}W_{\alpha\beta}\left(\vect k\right)A_{\vect0\beta}\left(\vect k\right) & = & 0.
\sum_{\vect bβ}(\delta_{\vect{0b}}\delta_{αβ}-T_{α}S_{\vect 0α\leftarrow\vect bβ})A_{\vect 0\beta}\left(\vect k\right)e^{i\vect k\cdot\vect r_{\vect b}} & = & 0,\\
\sum_{β}(\delta_{αβ}-T_{α}\underbrace{\sum_{\vect b}S_{\vect 0α\leftarrow\vect bβ}e^{i\vect k\cdot\vect r_{\vect b}}}_{W_{\alpha\beta}(\vect k)})A_{\vect 0\beta}\left(\vect k\right) & = & 0,\\
A_{\vect 0\alpha}\left(\vect k\right)-T_{α}\sum_{\beta}W_{\alpha\beta}\left(\vect k\right)A_{\vect 0\beta}\left(\vect k\right) & = & 0.
\end{eqnarray*}
\end_inset
@ -215,7 +208,7 @@ lattice Fourier transform
of the translation operator,
\begin_inset Formula
\begin{equation}
W_{\alpha\beta}(\vect k)\equiv\sum_{\vect b}S_{\vect0α\leftarrow\vect bβ}e^{i\vect k\cdot\vect r_{\vect b}}.\label{eq:W definition}
W_{\alpha\beta}(\vect k)\equiv\sum_{\vect b}S_{\vect 0α\leftarrow\vect bβ}e^{i\vect k\cdot\vect r_{\vect b}}.\label{eq:W definition}
\end{equation}
\end_inset
@ -240,7 +233,7 @@ reference "eq:W definition"
\end_inset
is the asymptotic behaviour of the translation operator,
\begin_inset Formula $S_{\vect0α\leftarrow\vect bβ}\sim\left|\vect r_{\vect b}\right|^{-1}e^{ik_{0}\left|\vect r_{\vect b}\right|}$
\begin_inset Formula $S_{\vect 0α\leftarrow\vect bβ}\sim\left|\vect r_{\vect b}\right|^{-1}e^{ik_{0}\left|\vect r_{\vect b}\right|}$
\end_inset
that makes the convergence of the sum quite problematic for any
@ -337,7 +330,7 @@ translation operator for spherical waves originating in
\end_inset
is in fact a function of a single 3d argument,
\begin_inset Formula $S(\vect r_{\alpha}\leftarrow\vect r+\vect r_{\beta})=S(\vect0\leftarrow\vect r+\vect r_{\beta}-\vect r_{\alpha})=S(-\vect r-\vect r_{\beta}+\vect r_{\alpha}\leftarrow\vect0)=S(-\vect r-\vect r_{\beta}+\vect r_{\alpha})$
\begin_inset Formula $S(\vect r_{\alpha}\leftarrow\vect r+\vect r_{\beta})=S(\vect 0\leftarrow\vect r+\vect r_{\beta}-\vect r_{\alpha})=S(-\vect r-\vect r_{\beta}+\vect r_{\alpha}\leftarrow\vect 0)=S(-\vect r-\vect r_{\beta}+\vect r_{\alpha})$
\end_inset
.
@ -351,7 +344,7 @@ reference "eq:W integral"
can be rewritten as
\begin_inset Formula
\[
W_{\alpha\beta}(\vect k)=\left(2\pi\right)^{\frac{d}{2}}\uaft{(\dc{\basis u}S(\vect{\bullet}-\vect r_{\beta}+\vect r_{\alpha}\leftarrow\vect0))\left(\vect k\right)}
W_{\alpha\beta}(\vect k)=\left(2\pi\right)^{\frac{d}{2}}\uaft{(\dc{\basis u}S(\vect{\bullet}-\vect r_{\beta}+\vect r_{\alpha}\leftarrow\vect 0))\left(\vect k\right)}
\]
\end_inset
@ -376,10 +369,10 @@ reference "eq:Dirac comb uaFt"
for the Fourier transform of Dirac comb)
\begin_inset Formula
\begin{eqnarray}
W_{\alpha\beta}(\vect k) & = & \left(\left(\uaft{\dc{\basis u}}\right)\ast\left(\uaft{S(\vect{\bullet}-\vect r_{\beta}+\vect r_{\alpha}\leftarrow\vect0)}\right)\right)(\vect k)\nonumber \\
& = & \frac{\left|\det\recb{\basis u}\right|}{\left(2\pi\right)^{\frac{d}{2}}}\left(\dc{\recb{\basis u}}^{(d)}\ast\left(\uaft{S(\vect{\bullet}-\vect r_{\beta}+\vect r_{\alpha}\leftarrow\vect0)}\right)\right)\left(\vect k\right)\nonumber \\
& = & \frac{\left|\det\rec{\basis u}\right|}{\left(2\pi\right)^{\frac{d}{2}}}\sum_{\vect K\in\recb{\basis u}\ints^{d}}\left(\uaft{S(\vect{\bullet}-\vect r_{\beta}+\vect r_{\alpha}\leftarrow\vect0)}\right)\left(\vect k-\vect K\right)\label{eq:W sum in reciprocal space}\\
& = & \frac{\left|\det\rec{\basis u}\right|}{\left(2\pi\right)^{\frac{d}{2}}}\sum_{\vect K\in\recb{\basis u}\ints^{d}}e^{i\left(\vect k-\vect K\right)\cdot\left(-\vect r_{\beta}+\vect r_{\alpha}\right)}\left(\uaft{S(\vect{\bullet}\leftarrow\vect0)}\right)\left(\vect k-\vect K\right)\nonumber
W_{\alpha\beta}(\vect k) & = & \left(\left(\uaft{\dc{\basis u}}\right)\ast\left(\uaft{S(\vect{\bullet}-\vect r_{\beta}+\vect r_{\alpha}\leftarrow\vect 0)}\right)\right)(\vect k)\nonumber \\
& = & \frac{\left|\det\recb{\basis u}\right|}{\left(2\pi\right)^{\frac{d}{2}}}\left(\dc{\recb{\basis u}}^{(d)}\ast\left(\uaft{S(\vect{\bullet}-\vect r_{\beta}+\vect r_{\alpha}\leftarrow\vect 0)}\right)\right)\left(\vect k\right)\nonumber \\
& = & \frac{\left|\det\rec{\basis u}\right|}{\left(2\pi\right)^{\frac{d}{2}}}\sum_{\vect K\in\recb{\basis u}\ints^{d}}\left(\uaft{S(\vect{\bullet}-\vect r_{\beta}+\vect r_{\alpha}\leftarrow\vect 0)}\right)\left(\vect k-\vect K\right)\label{eq:W sum in reciprocal space}\\
& = & \frac{\left|\det\rec{\basis u}\right|}{\left(2\pi\right)^{\frac{d}{2}}}\sum_{\vect K\in\recb{\basis u}\ints^{d}}e^{i\left(\vect k-\vect K\right)\cdot\left(-\vect r_{\beta}+\vect r_{\alpha}\right)}\left(\uaft{S(\vect{\bullet}\leftarrow\vect 0)}\right)\left(\vect k-\vect K\right)\nonumber
\end{eqnarray}
\end_inset
@ -485,8 +478,8 @@ reference "eq:W sum in reciprocal space"
\begin_inset Formula
\begin{eqnarray}
W_{\alpha\beta}\left(\vect k\right) & = & W_{\alpha\beta}^{\textup{S}}\left(\vect k\right)+W_{\alpha\beta}^{\textup{L}}\left(\vect k\right)\nonumber \\
W_{\alpha\beta}^{\textup{S}}\left(\vect k\right) & = & \sum_{\vect R\in\basis u\ints^{d}}S^{\textup{S}}(\vect0\leftarrow\vect R+\vect r_{\beta}-\vect r_{\alpha})e^{i\vect k\cdot\vect R}\label{eq:W Short definition}\\
W_{\alpha\beta}^{\textup{L}}\left(\vect k\right) & = & \frac{\left|\det\rec{\basis u}\right|}{\left(2\pi\right)^{\frac{d}{2}}}\sum_{\vect K\in\recb{\basis u}\ints^{d}}\left(\uaft{S^{\textup{L}}(\vect{\bullet}-\vect r_{\beta}+\vect r_{\alpha}\leftarrow\vect0)}\right)\left(\vect k-\vect K\right)\label{eq:W Long definition}
W_{\alpha\beta}^{\textup{S}}\left(\vect k\right) & = & \sum_{\vect R\in\basis u\ints^{d}}S^{\textup{S}}(\vect 0\leftarrow\vect R+\vect r_{\beta}-\vect r_{\alpha})e^{i\vect k\cdot\vect R}\label{eq:W Short definition}\\
W_{\alpha\beta}^{\textup{L}}\left(\vect k\right) & = & \frac{\left|\det\rec{\basis u}\right|}{\left(2\pi\right)^{\frac{d}{2}}}\sum_{\vect K\in\recb{\basis u}\ints^{d}}\left(\uaft{S^{\textup{L}}(\vect{\bullet}-\vect r_{\beta}+\vect r_{\alpha}\leftarrow\vect 0)}\right)\left(\vect k-\vect K\right)\label{eq:W Long definition}
\end{eqnarray}
\end_inset

View File

@ -81,159 +81,6 @@
\begin_layout Section
Introduction
\begin_inset CommandInset label
LatexCommand label
name "sec:Introduction"
\end_inset
\end_layout
\begin_layout Standard
The problem of electromagnetic response of a system consisting of many compact
scatterers in various geometries, and its numerical solution, is relevant
to many branches of nanophotonics (TODO refs).
The most commonly used general approaches used in computational electrodynamics
, such as the finite difference time domain (FDTD) method or the finite
element method (FEM), are very often unsuitable for simulating systems
with larger number of scatterers due to their computational complexity.
Therefore, a common (frequency-domain) approach to get an approximate solution
of the scattering problem for many small particles has been the coupled
dipole approximation (CDA) where individual scatterers are reduced to electric
dipoles (characterised by a polarisability tensor) and coupled to each
other through Green's functions.
\end_layout
\begin_layout Standard
CDA is easy to implement and has favorable computational complexity but
suffers from at least two fundamental drawbacks.
The obvious one is that the dipole approximation is too rough for particles
with diameter larger than a small fraction of the wavelength.
The other one, more subtle, manifests itself in photonic crystal-like structure
s used in nanophotonics: there are modes in which the particles' electric
dipole moments completely vanish due to symmetry, regardless of how small
the particles are, and the excitations have quadrupolar or higher-degree
multipolar character.
These modes typically appear at the band edges where interesting phenomena
such as lasing or Bose-Einstein condensation have been observed and CDA
by definition fails to capture such modes.
\end_layout
\begin_layout Standard
The natural way to overcome both limitations of CDA mentioned above is to
include higher multipoles into account.
Instead of polarisability tensor, the scattering properties of an individual
particle are then described a more general
\begin_inset Formula $T$
\end_inset
-matrix, and different particles' multipole excitations are coupled together
via translation operators, a generalisation of the Green's functions in
CDA.
This is the idea behind the
\emph on
multiple-scattering
\begin_inset Formula $T$
\end_inset
-matrix method
\emph default
(MSTMM) (TODO a.k.a something??), and it has been implemented previously for
a limited subset of problems (TODO refs and list the limitations of the
available).
\begin_inset Note Note
status open
\begin_layout Plain Layout
TODO přestože blablaba, moc se to nepoužívalo, protože je težké udělat to
správně.
\end_layout
\end_inset
Due to the limitations of the existing available codes, we have been developing
our own implementation of MSTMM, which we have used in several previous
works studying various physical phenomena in plasmonic nanoarrays (TODO
examples with refs).
\end_layout
\begin_layout Standard
Hereby we release our MSTMM implementation, the
\emph on
QPMS Photonic Multiple Scattering
\emph default
suite, as an open source software under the GNU General Public License
version 3.
(TODO refs to the code repositories.) QPMS allows for linear optics simulations
of arbitrary sets of compact scatterers in isotropic media.
The features include computations of electromagnetic response to external
driving, the related cross sections, and finding resonances of finite structure
s.
Moreover, in QPMS we extensively employ group theory to exploit the physical
symmetries of the system to further reduce the demands on computational
resources, enabling to simulate even larger systems.
\begin_inset Note Note
status open
\begin_layout Plain Layout
(TODO put a specific example here of how large system we are able to simulate?)
\end_layout
\end_inset
Although systems of large
\emph on
finite
\emph default
number of scatterers are the area where MSTMM excels the most—simply because
other methods fail due to their computational complexity—we also extended
the method onto infinite periodic systems (photonic crystals); this can
be used for quickly evaluating dispersions of such structures and also
their topological invariants (TODO).
The QPMS suite contains a core C library, Python bindings and several utilities
for routine computations, such as TODO.
It includes extensive Doxygen documentation, together with description
of the API, making extending and customising the code easy.
\end_layout
\begin_layout Standard
The current paper is organised as follows: Section
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Finite"
\end_inset
is devoted to MSTMM theory for finite systems, in Section
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Infinite"
\end_inset
we develop the theory for infinite periodic structures.
Section
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Applications"
\end_inset
demonstrates some basic practical results that can be obtained using QPMS.
Finally, in Section
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Comparison"
\end_inset
we comment on the computational complexity of MSTMM in comparison to other
methods.
\end_layout
\end_body