372 lines
9.8 KiB
Plaintext
372 lines
9.8 KiB
Plaintext
#LyX 2.4 created this file. For more info see https://www.lyx.org/
|
||
\lyxformat 584
|
||
\begin_document
|
||
\begin_header
|
||
\save_transient_properties true
|
||
\origin unavailable
|
||
\textclass article
|
||
\use_default_options true
|
||
\maintain_unincluded_children false
|
||
\language english
|
||
\language_package default
|
||
\inputencoding utf8
|
||
\fontencoding 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 false
|
||
\font_sc false
|
||
\font_roman_osf true
|
||
\font_sans_osf false
|
||
\font_typewriter_osf false
|
||
\font_sf_scale 100 100
|
||
\font_tt_scale 100 100
|
||
\use_microtype false
|
||
\use_dash_ligatures false
|
||
\graphics default
|
||
\default_output_format default
|
||
\output_sync 0
|
||
\bibtex_command default
|
||
\index_command default
|
||
\float_placement class
|
||
\float_alignment class
|
||
\paperfontsize default
|
||
\spacing single
|
||
\use_hyperref true
|
||
\pdf_author "Marek Nečada"
|
||
\pdf_bookmarks true
|
||
\pdf_bookmarksnumbered false
|
||
\pdf_bookmarksopen false
|
||
\pdf_bookmarksopenlevel 1
|
||
\pdf_breaklinks false
|
||
\pdf_pdfborder false
|
||
\pdf_colorlinks false
|
||
\pdf_backref false
|
||
\pdf_pdfusetitle true
|
||
\papersize default
|
||
\use_geometry false
|
||
\use_package amsmath 1
|
||
\use_package amssymb 1
|
||
\use_package cancel 1
|
||
\use_package esint 1
|
||
\use_package mathdots 1
|
||
\use_package mathtools 1
|
||
\use_package mhchem 1
|
||
\use_package stackrel 1
|
||
\use_package stmaryrd 1
|
||
\use_package undertilde 1
|
||
\cite_engine basic
|
||
\cite_engine_type default
|
||
\biblio_style plain
|
||
\use_bibtopic false
|
||
\use_indices false
|
||
\paperorientation portrait
|
||
\suppress_date false
|
||
\justification true
|
||
\use_refstyle 1
|
||
\use_minted 0
|
||
\use_lineno 0
|
||
\index Index
|
||
\shortcut idx
|
||
\color #008000
|
||
\end_index
|
||
\secnumdepth 3
|
||
\tocdepth 3
|
||
\paragraph_separation indent
|
||
\paragraph_indentation default
|
||
\is_math_indent 0
|
||
\math_numbering_side default
|
||
\quotes_style english
|
||
\dynamic_quotes 0
|
||
\papercolumns 1
|
||
\papersides 1
|
||
\paperpagestyle default
|
||
\tablestyle default
|
||
\tracking_changes false
|
||
\output_changes false
|
||
\html_math_output 0
|
||
\html_css_as_file 0
|
||
\html_be_strict false
|
||
\end_header
|
||
|
||
\begin_body
|
||
|
||
\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 relativel
|
||
y small, compact scatterers in various geometries, and its numerical solution,
|
||
is relevant to many branches of nanophotonics.
|
||
\begin_inset Marginal
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
Some refs here?
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
The most common general approaches used in computational electrodynamics
|
||
are often unsuitable for simulating systems with larger number of scatterers
|
||
due to their computational complexity: differential methods such as the
|
||
finite difference time domain (FDTD) method or the finite element method
|
||
(FEM) include the field degrees of freedom (DoF) of the background medium
|
||
(which can have very large volumes), whereas integral approaches such as
|
||
the boundary element method (BEM) need much less DoF but require working
|
||
with dense matrices containing couplings between each pair of DoF.
|
||
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 a drastic reduction of the number of DoF
|
||
is achieved by approximating individual scatterers to electric dipoles
|
||
(characterised by a polarisability tensor) coupled to each other through
|
||
Green's functions.
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
CDA is easy to implement and demands relatively little computational resources
|
||
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, which results
|
||
to quantitative errors.
|
||
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, and regardless of how
|
||
small the particles are, 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
|
||
\begin_inset CommandInset citation
|
||
LatexCommand cite
|
||
key "guo_lasing_2019,pourjamal_lasing_2019,hakala_lasing_2017,yang_real-time_2015,hakala_bose-einstein_2017"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
– 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
|
||
take higher multipoles into account.
|
||
Instead of a polarisability tensor, the scattering properties of an individual
|
||
particle are then described with 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 used
|
||
in CDA.
|
||
This is the idea behind the
|
||
\emph on
|
||
multiple-scattering
|
||
\begin_inset Formula $T$
|
||
\end_inset
|
||
|
||
-matrix method
|
||
\emph default
|
||
(MSTMM), a.k.a.
|
||
|
||
\emph on
|
||
superposition
|
||
\begin_inset Formula $T$
|
||
\end_inset
|
||
|
||
-matrix method
|
||
\begin_inset Marginal
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
a.k.a.
|
||
something else?
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
|
||
\emph default
|
||
, and it has been implemented previously for a limited subset of problems
|
||
\begin_inset Marginal
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
Refs; list the limitations of available codes?
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
.
|
||
|
||
\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
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Due to the limitations of the existing available codes, we have been developing
|
||
our own implementation of MSTMM, which has been used in several previous
|
||
works studying various physical phenomena in plasmonic nanoarrays
|
||
\begin_inset CommandInset citation
|
||
LatexCommand cite
|
||
key "pourjamal_lasing_2019,guo_lasing_2019,hakala_lasing_2017"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
.
|
||
During the process, it became apparent that although the size of the arrays
|
||
we were able to simulate with MSTMM was far larger than with other methods,
|
||
sometimes we were unable to match the full size of our physical arrays
|
||
(typically consisting of tens of thousands of metallic nanoparticles) mainly
|
||
due to memory constraints.
|
||
Moreover, to distinguish the effects attributable to the finite size of
|
||
the arrays, it became desirable to simulate also
|
||
\emph on
|
||
infinite periodic systems
|
||
\emph default
|
||
with the same method, as choosing a completely different method could introduce
|
||
differences stemming from the method choice itself.
|
||
Unlike in differential methods where this can be achieved straightforwardly
|
||
using periodic boundary conditions, this is not trivial in MSTMM where
|
||
one has to deal with badly behaving infinite lattice sums.
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
Here we address both challenges: we extend the method on infinite periodic
|
||
systems using Ewald-type summation techniques, and we exploit symmetries
|
||
of the system to decompose the problem into several substantially smaller
|
||
ones, which 1) reduces the demands on computational resources, hence speeds
|
||
up the computations and allows for simulations of larger systems, and 2)
|
||
provides better understanding of modes, mainly in periodic systems.
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
We hereby release our MSTMM implementation, the
|
||
\emph on
|
||
QPMS Photonic Multiple Scattering
|
||
\emph default
|
||
suite, as free software under the GNU General Public License version 3.
|
||
|
||
\begin_inset Marginal
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
TODO refs to the code repositories once it is published.
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
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, it includes the improvements covered in this article, enabling
|
||
to simulate even larger systems and also infinite structures with periodicity
|
||
in one or two or three dimensions, which can be used e.g.
|
||
for quickly evaluating dispersions of such structures.
|
||
The QPMS suite contains a core C library, Python bindings and several utilities
|
||
for routine computations.
|
||
\begin_inset Marginal
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
Such as?
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
|
||
\begin_inset Note Note
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
, such as TODO.
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
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
|
||
|
||
provides a review of 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.
|
||
In Section
|
||
\begin_inset CommandInset ref
|
||
LatexCommand ref
|
||
reference "sec:Symmetries"
|
||
plural "false"
|
||
caps "false"
|
||
noprefix "false"
|
||
|
||
\end_inset
|
||
|
||
we apply group theory on MSTMM to utilise the symmetries of the simulated
|
||
system.
|
||
Finally, Section
|
||
\begin_inset CommandInset ref
|
||
LatexCommand ref
|
||
reference "sec:Applications"
|
||
|
||
\end_inset
|
||
|
||
shows some practical results that can be obtained using QPMS and benchmarks
|
||
with BEM.
|
||
\begin_inset Note Note
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
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_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\end_body
|
||
\end_document
|