OPTIMET3D
A software package for simulating
the interaction of electromagnetic waves with arbitrary distributions of
dielectric, metallic and semiconducting spherical particles 
General Information
OPTIMET3D (OPTIcal METamaterials  3Dimensional) is an ab initio solver for 3D electromagnetic wave scattering problems. OPTIMET3D implements the
multiplescattering matrix (MSM) method [1, 2], used to accurately describe
the electromagnetic wave interaction with an arbitrary cluster of dielectric, metallic or semiconducting spheres embedded in a
homogeneous background medium. In particular, OPTIMET3D could be
instrumental for efficient modelling of light interaction with
ensembles of nanoparticles, which is of interest in investigating a series of scientific problems arising in several different
disciplines, including Engineering, Physics, Chemistry and Materials
Science.
OPTIMET3D is distributed under the GPL. It is freely available on GitHub
for all interested parties. The software has been developed by
Dr. Mayeul d’Avezac, Dr. Ahmed AlJarro, Dr. Claudiu Biris and Dr. Gary
Macindoe. A description of the installation steps,
code structure and a few examples of its use can be found
in the User Manual. OPTIMET3D is portable on most Unix 64bit systems. To date, it has been installed and tested on ARCHER, UK's HPC platform, and Legion, one of UCL's main HPC systems. OPTIMET3D
contains no known bugs; however, there is no guarantee that the code is
bug free! Should you encounter any problems while using the software,
please contact us at optimet3ducl@gmail.com with a brief description of the problem.
OPTIMET3D is written in C++ programming language and uses the OOP
framework. It provides the source code and an intuitive
scripting system as the data input, in XML format, for running the
executable. OPTIMET3D employs a set of
functions for efficient handling of linear algebra operations and numerical
computations that are related to the MSM formalism. In addition,
OPTIMET3D incorporates a set of routines and scientific libraries for
the serial or parallel execution of the algorithm for solving the system of linear
equations associated to the scattering problem. This linear system can be solved either directly or iteratively. In the parallel
execution mode it can use several linearsystem solvers found in ScaLAPACK (for the direct approach) and Belos (for an iterative approach).
To use OPTIMET3D, simply copy the executable Optimet3D to a folder of
your choice, set your shell to the folder where Optimet3D is stored and
call it with a single argument, the full path to the input file. For
example, ./Optimet3D inputfilename.xml. In order to become familiar with and learn how to use OPTIMET3D, refer
to the User Manual.
Examples
A generic problem that can be tackled using OPTIMET3D is
illustrated in the figure below. Specifically, the software can be used
to compute the elctromagnetic field and crosssections describing the
interaction of electromagnetic waves with an arbitrary distribution of
dielectric, metallic or semiconducting spheres embedded in a
homogeneous background medium.
For example, in the figure below we show the multipolar expansion of
the spectrum of the extinction crosssection calculated for a 500 nm
silicon nanosphere, normalized to the crosssection area of the sphere
(see also [3]). The excitation is a linearly polarized plane wave (PW)
whereas the index of refraction of silicon is described by the Sellmeier
equation. The index in parentheses in the legend indicates the
multipole order. In the bottom panel, the left (right) set of three
plots represents, from left to right, the spatial distribution of the
total electric (magnetic) field, the longitudinal component of the
electric (magnetic) field of the firstorder TE mode, TE(1) and the
azimuthal component of the electric (magnetic) field of the firstorder
TM mode, TM(1).
OPTIMET3D can be
used to investigate more complex structures, such as clusters of
nanoparticles. The input optical beam can be more complex than simple
plane waves, too, including LaguerreGauss (LG) beams. These features
are illustrated in the figure below. It shows the spatial distribution
of the magnitude of the electric field calculated at λ = 2515 nm. From
left to right column, the panels correspond to a plane wave with σ = 1,
a plane wave with σ = −1, a LG04 with σ = 1, and a LG04 with σ = −1,
where σ is the spin of the plane wave. The top and botom panels
correspond to the total field and the field corresponding to the TE(2)
quadrupole mode, respectively. The radius of the silicon spheres is 500
nm.
Additional exemples illustrating how to use OPTIMET3D for different particle systems and input beam configurations are given in the User Manual.
Bibliography
 C. F. Bohren and D. R. Huffman, Absorption and Scattering of Light by Small Particles (WileyInterscience, 1983).
 M. Mishchenko, L. Travis, and A. Laci, Scattering, Absorption and Emission of Light by Small Particles (Cambridge University Press 2002).
 A. AlJarro, C. G. Biris, and N. C. Panoiu, Resonant mixing of optical orbital and spin angular momentum by using chiral silicon nanosphere clusters, Opt. Express 24, 6945–6958 (2016).

