503 lines
13 KiB
Plaintext
503 lines
13 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.
|
||
In practice, the scatterers often form some ordered structure, such as
|
||
metalic or dielectric nanoparticle arrays
|
||
\begin_inset CommandInset citation
|
||
LatexCommand cite
|
||
key "wang_rich_2018"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
that offer many degrees of tunability, with applications including structural
|
||
color, ultra-thin lenses
|
||
\begin_inset CommandInset citation
|
||
LatexCommand cite
|
||
key "khorasaninejad_metalenses_2017"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
, strong coupling between light and quantum emitters
|
||
\begin_inset CommandInset citation
|
||
LatexCommand cite
|
||
key "vakevainen_plasmonic_2014,ramezani_strong_2019,torma_strong_2015,fedele_strong_2016"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
, nano-lasing
|
||
\begin_inset CommandInset citation
|
||
LatexCommand cite
|
||
key "zhou_lasing_2013,hakala_lasing_2017"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
, Bose-Einstein condensation of surface plasmon-polaritons
|
||
\begin_inset CommandInset citation
|
||
LatexCommand cite
|
||
key "hakala_boseeinstein_2018,ramezani_strong_2019"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
or sensing
|
||
\begin_inset CommandInset citation
|
||
LatexCommand cite
|
||
key "kuttner_plasmonics_2018"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
.
|
||
The number of scatterers tends to be rather large; unfortunately, 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,
|
||
\begin_inset CommandInset citation
|
||
LatexCommand cite
|
||
key "sullivan_electromagnetic_2013"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
) method or the finite element method (FEM,
|
||
\begin_inset CommandInset citation
|
||
LatexCommand cite
|
||
key "raiyan_kabir_finite_2017"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
|
||
\begin_inset Note Note
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
zkontroluj reference, přidej referenci na frequency domain fem
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
) 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, a.k.a the method of moments, MOM,
|
||
\begin_inset CommandInset citation
|
||
LatexCommand cite
|
||
key "medgyesi-mitschang_generalized_1994,reid_efficient_2015"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
) 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_boseeinstein_2018"
|
||
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
|
||
\emph default
|
||
|
||
\begin_inset CommandInset citation
|
||
LatexCommand cite
|
||
key "litvinov_rigorous_2008"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
|
||
\begin_inset Note Note
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
|
||
\emph on
|
||
\begin_inset Marginal
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
a.k.a.
|
||
something else?
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
, and it has been implemented many times in the context of electromagnetics
|
||
|
||
\begin_inset CommandInset citation
|
||
LatexCommand cite
|
||
key "scattport_multiple_nodate"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
, but usually only as specific codes for limited subsets of problems, such
|
||
as scattering by clusters of spheres, circular cylinders, or Chebyshev
|
||
particles
|
||
\begin_inset CommandInset citation
|
||
LatexCommand cite
|
||
key "mackowski_multiple_2011,mackowski_mstm_2013,xu_fortran_2003"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
.
|
||
Perhaps the most general MSTMM software with respect to the system geometry
|
||
has been FaSTMM
|
||
\begin_inset CommandInset citation
|
||
LatexCommand cite
|
||
key "markkanen_fast_2017,markkanen_fastmm_2017"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
, which also a rare example is in this field of a code with a clear licence.
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
However, the potential of MSTMM reaches far beyond its past implementations.
|
||
Here we present several enhancements to the method, which are especially
|
||
useful in metamaterial and nanophotonics simulations.
|
||
We extend the method on infinite periodic systems using Ewald-type summation
|
||
techniques.
|
||
This enables, among other things, to use MSTMM for fast solving of the
|
||
lattice modes of such periodic systems, and comparing them to their finite
|
||
counterparts with respect to electromagnetic response, which is useful
|
||
to isolate the bulk and finite-size phenomena of photonic arrays.
|
||
Moreover, we exploit symmetries of the system to decompose the problem
|
||
into several substantially smaller ones, which provides better understanding
|
||
of modes, mainly in periodic systems, and substantially reduces the demands
|
||
on computational resources, hence speeding up the computations and allowing
|
||
for finite size simulations of systems with particle counts practically
|
||
impossible to reliably simulate with any other method.
|
||
\begin_inset Note Note
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
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
|
||
|
||
\end_inset
|
||
|
||
|
||
\end_layout
|
||
|
||
\begin_layout Standard
|
||
We hereby release our MSTMM implementation, the
|
||
\emph on
|
||
QPMS Photonic Multiple Scattering
|
||
\emph default
|
||
suite
|
||
\begin_inset CommandInset citation
|
||
LatexCommand cite
|
||
key "necada_qpms_2019"
|
||
literal "false"
|
||
|
||
\end_inset
|
||
|
||
, as free software under the GNU General Public License version 3.
|
||
\begin_inset Note Note
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
\begin_inset Marginal
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
(remember to clean / update the repos before submitting)
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
|
||
\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, two or three dimensions, which can be used e.g.
|
||
for evaluating dispersions of such structures.
|
||
The QPMS suite contains a core C library, Python bindings and several utilities
|
||
for routine computations, such as scattering cross sections under plane
|
||
wave irradiation or lattice modes of two-dimensional periodic arrays.
|
||
\begin_inset Note Note
|
||
status open
|
||
|
||
\begin_layout Plain Layout
|
||
TODO před odesláním zkontrolovat, co všechno to v danou chvíli umí.
|
||
\end_layout
|
||
|
||
\end_inset
|
||
|
||
It includes extensive Doxygen documentation, together with description
|
||
of the API.
|
||
It has been written with customisability and extendibility in mind, so
|
||
that including e.g.
|
||
alternative methods of
|
||
\begin_inset Formula $T$
|
||
\end_inset
|
||
|
||
-matrix calculations of a single matrix are as easy as possible.
|
||
\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
|