From b259bd46b41811498b0702a8cbb9da5008e9f8f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ne=C4=8Dada?= Date: Sat, 20 Jul 2019 07:09:31 +0300 Subject: [PATCH] WIP finite lattice Former-commit-id: 0a8c5e45ffb0ee03b0867ba483c3a9960405f0af --- lepaper/arrayscat.lyx | 101 +------------------- lepaper/examples.lyx | 7 -- lepaper/finite.lyx | 212 +++++++++--------------------------------- lepaper/infinite.lyx | 33 +++---- lepaper/intro.lyx | 153 ------------------------------ 5 files changed, 60 insertions(+), 446 deletions(-) diff --git a/lepaper/arrayscat.lyx b/lepaper/arrayscat.lyx index 0806f93..ab54aa2 100644 --- a/lepaper/arrayscat.lyx +++ b/lepaper/arrayscat.lyx @@ -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 diff --git a/lepaper/examples.lyx b/lepaper/examples.lyx index cdf0706..1a4f7b2 100644 --- a/lepaper/examples.lyx +++ b/lepaper/examples.lyx @@ -81,13 +81,6 @@ \begin_layout Section Applications -\begin_inset CommandInset label -LatexCommand label -name "sec:Applications" - -\end_inset - - \end_layout \end_body diff --git a/lepaper/finite.lyx b/lepaper/finite.lyx index ccb6760..4672110 100644 --- a/lepaper/finite.lyx +++ b/lepaper/finite.lyx @@ -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 diff --git a/lepaper/infinite.lyx b/lepaper/infinite.lyx index 8473d23..26dfe37 100644 --- a/lepaper/infinite.lyx +++ b/lepaper/infinite.lyx @@ -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 diff --git a/lepaper/intro.lyx b/lepaper/intro.lyx index 30c98c7..f814a7c 100644 --- a/lepaper/intro.lyx +++ b/lepaper/intro.lyx @@ -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