Source-linked AI summary

MNPBEM - A Matlab toolbox for the simulation of plasmonic nanoparticles

Ulrich Hohenester, Andreas Trügler

arXiv:1109.5783v1cond-mat.mes-hall

TL;DR

MNPBEM addresses the need for a plasmonics-oriented simulation toolkit for metallic nanoparticles in piecewise-homogeneous dielectric environments. It combines a boundary element formulation with flexible Matlab classes to compute electromagnetic responses from discretized interfaces. The toolbox is primarily tested for nanometer-scale metallic particles at optical and near-infrared frequencies, while solver choice and further validation remain important boundaries.

  • Problem

    MNPBEM addresses simulation of metallic nanoparticles with a toolkit specifically suited to plasmonics rather than relying solely on general-purpose Maxwell-equation solvers.

  • Method

    MNPBEM uses a boundary element method that represents electromagnetic responses with surface charges and currents on material interfaces, implemented through combinable Matlab classes.

  • Results

    The toolbox provides flexible simulations and analysis tools for metallic nanoparticles, with reported running times ranging from seconds to hours depending on surface discretization.

  • Takeaways & Limitations

    MNPBEM offers a documented, adaptable toolkit for simulating plasmonic nanoparticle optical properties, sensing, spectroscopy, and related applications.

  • Takeaways & Limitations

    The authors state that more detailed tests are needed to clarify how the toolbox compares with other simulation toolkits, and experimental features were excluded from this version.

Abstract

from arXiv · show

MNPBEM is a Matlab toolbox for the simulation of metallic nanoparticles (MNP), using a boundary element method (BEM) approach. The main purpose of the toolbox is to solve Maxwell's equations for a dielectric environment where bodies with homogeneous and isotropic dielectric functions are separated by abrupt interfaces. Although the approach is in principle suited for arbitrary body sizes and photon energies, it is tested (and probably works best) for metallic nanoparticles with sizes ranging from a few to a few hundreds of nanometers, and for frequencies in the optical and near-infrared regime. The toolbox has been implemented with Matlab classes. These classes can be easily combined, which has the advantage that one can adapt the simulation programs flexibly for various applications.

Program summary

MNPBEM is a Matlab 7.11.0 toolbox for solving Maxwell’s equations for dielectric particles with homogeneous dielectric functions separated by abrupt interfaces. It uses a boundary element method based on electromagnetic potentials, with running times from seconds to hours depending on surface discretization.

  • MNPBEM uses Matlab 7.11.0 (R2010b) and runs on any computer and operating system supporting that release.
  • The toolbox solves Maxwell’s equations for dielectric particles with homogeneous dielectric functions separated by abrupt interfaces.
  • The solution method is a boundary element method using electromagnetic potentials.
  • Running time ranges from seconds to hours depending on surface discretization.

1. Introduction

MNPBEM addresses plasmonic nanoparticle simulations with a flexible boundary-element toolkit tailored to metallic particles and common optical applications. Its boundary-focused formulation reduces discretization and memory demands relative to volume-based approaches, while Matlab classes support adaptable workflows.

  • Plasmonics exploits localized surface-plasmon fields for nanoscale light concentration and sensing applications.
  • Existing plasmonics simulations commonly use general-purpose approaches such as DDSCATT, FDTD, dyadic Green functions, and multiple multipole methods.
  • MNPBEM uses a boundary element method that discretizes only interfaces, giving faster simulations and more moderate memory requirements for suitable dielectric environments.
  • The toolbox is primarily tested for metallic nanoparticles from a few to a few hundred nanometers at optical and near-infrared frequencies.
  • Matlab classes can be combined to adapt simulation programs, supported by documentation, help pages, and demo programs.

2. Theory

The theory represents nanoparticle responses through surface distributions and solves the resulting boundary equations using quasistatic or full-Maxwell Green-function formulations. Discretizing interfaces converts the integral equations into matrix problems for surface charges and currents.

  • The toolbox computes induced electromagnetic fields from an external perturbation by solving Maxwell’s equations for dielectric nanoparticles separated by sharp boundaries.
  • Quasistatic approximation: In the quasistatic approximation, electrostatic Green functions solve the Poisson or Laplace equation while frequency-dependent dielectric functions remain in the boundary conditions.
  • Quasistatic approximation: The electrostatic potential combines the external potential with a Green-function integral over surface charge at particle boundaries.
  • Quasistatic approximation: Boundary conditions determine the surface charge distribution, which is discretized into surface elements and obtained through matrix inversion.
  • Full Maxwell equations: The full-Maxwell formulation uses scalar and vector potentials with Helmholtz Green functions, together with surface charge and current distributions.
  • Full Maxwell equations: Keeping both potentials requires only first surface derivatives and yields N × N matrices, compared with 3N × 3N for field-based BEM.

3. Getting started

MNPBEM is installed by adding its directories to Matlab and optionally configuring help pages and Mesh2d. A typical simulation defines materials and geometry, initializes a solver and excitation, computes surface charges, and derives optical responses.

  • Installation: Installation requires adding the MNPBEM main directory and all subdirectories to the Matlab search path.The command addpath(genpath(mnpbemdir)) performs this setup.
  • Installation: The optional Mesh2d toolbox is additionally required for particle shapes derived from 2D polygons.Its directory must also be added to the Matlab path.
  • Installation: The help system is initialized with makemnpbemhelp and provides documentation, class and function listings, and demo programs.After setup, the help pages are available in the Matlab help browser.
  • Simulation workflow: A standard simulation defines dielectric functions and particle boundaries, specifies their embedding, initializes a BEM solver and excitation, solves for surface charges or currents, and computes the nanoparticle response.The example computes a scattering cross section from plane-wave excitation.
  • A simple example: The full Maxwell calculation uses bemret and planewaveret, with propagation directions specified for the retarded plane-wave excitation.The same response-calculation workflow is retained while changing solver and excitation classes.

4. Particle boundaries

MNPBEM represents particle surfaces as discretized vertices and faces, with built-in generators for common shapes and polygon extrusion for flat geometries.

  • Particle representation: Boundary discretization is usually the first and most time-consuming task when setting up an MNPBEM simulation.The resulting particle object stores the discretized boundary.
  • Particle representation: Particle boundaries are stored through vertices and faces, with triangular elements indicated by NaN in the fourth face entry.The face array has one row per boundary element and up to four vertex references.
  • Built-in shapes: The toolbox supplies trisphere, trirod, and tritorus for generating sphere, nanorod, and torus surfaces with controllable discretization.Their parameters specify quantities such as vertex count, diameter, height, or radii.
  • Particle representation: Each particle object also stores boundary-element areas, centroids, and orthogonal vectors including the outer surface normal.These geometric quantities accompany the vertices and faces.
  • Polygon extrusion: Flat particles can be created by rounding and triangulating a 2D polygon, then extruding it along the third direction with tripolygon.The polygon workflow uses the Mesh2d toolbox and edgeprofile to control rounding.

5. Dielectric environment

The dielectric environment is assembled from dielectric-function objects, discretized boundaries, and their inside/outside assignments; companion classes support points and field data.

  • Dielectric functions: MNPBEM provides three dielectric-function classes: constant, tabulated, and Drude models.The classes initialize dielectric properties used by the particle and solver objects.
  • Dielectric functions: epsconst initializes a constant dielectric function from a dielectric constant, while epstable reads photon energy, refractive-index real part, and imaginary part from an ASCII file.The toolbox includes gold.dat and silver.dat tabulations.
  • Dielectric functions: epsdrude(name) supplies Drude dielectric functions for Au, Ag, and Al.The supported names correspond to gold, silver, and aluminum.
  • Particle environment: comparticle defines how dielectric functions and particle boundaries form the environment, including the conventional inside/outside assignment for complex particles.The inout array maps each boundary to dielectric functions on its two sides.
  • Particle environment: Closed boundaries must be explicitly indicated because their associated Green-function diagonal elements are important for accurate results, even with coarse discretizations.The toolbox supports marking individual or composed boundaries as closed.
  • Auxiliary classes: compoint places positions within selected dielectric media and can enforce a minimum distance from particle boundaries, while compstruct stores wavelength-dependent scalar or vector fields.compstruct objects support addition, subtraction, and uniform scaling.

6. BEM solvers

MNPBEM solves quasistatic or retarded BEM equations after geometry, materials, and excitation are specified, producing surface charges or currents that yield fields and measurements.

  • Solver setup: bemstat initializes the quasistatic BEM solver, while bemret is used for the full Maxwell equations.Passing a wavelength during initialization computes the BEM matrices for that wavelength.
  • Solver setup: Computing the BEM matrices consumes most of the computer time for practically all simulations.Storing the initialized solver is advantageous when multiple excitations use the same wavelength.
  • Numerical scheme: The toolbox uses collocation, placing surface charges and currents at boundary-element centroids rather than linearly interpolating them within elements.Linear interpolation was omitted because it would complicate the BEM-equation implementation.
  • Excitation and solution: Plane-wave excitation classes provide boundary potential derivatives, and solving the BEM system produces surface charges or, in the retarded case, currents and potential-related quantities.The returned compstruct contains scalar and vector potential fields in the retarded formulation.
  • Field calculation: The computed surface charges can be plotted with the electric field at the particle boundary and used to calculate fields elsewhere through a compgreen object.The example evaluates induced fields on a regular mesh and displays them in Fig. 6.
  • Field calculation: Green functions transform the solved surface charges into induced electromagnetic fields and potentials at requested points.The field calculation follows the stated Green-function relation and supports arbitrary evaluation positions represented by compoint.

7. BEM Simulations

MNPBEM supports plane-wave and oscillating-dipole excitation schemes, with quasistatic and full-Maxwell BEM solvers for computing scattering, extinction, decay-rate enhancements, fields, and Green functions. Full-Maxwell simulations are slower, while dipole simulations agree closely with Mie theory in the demonstrated nanosphere case.

  • Excitation and measurement: MNPBEM provides plane-wave schemes for scattering and extinction cross sections and dipole schemes for radiative and total decay-rate enhancements.
  • Quasistatic versus full BEM simulations: Full-Maxwell simulations are about a factor of ten slower than quasistatic simulations, while eigenmode expansion can provide additional speedup using 20 eigenmodes.
  • Quasistatic versus full BEM simulations: Quasistatic solvers are intended for structures significantly smaller than the wavelength, including metallic spheres below roughly 50 nm and elongated particles below roughly 100 nm.For structures only a few tens of nanometers across, the quasistatic approximation will probably work in all cases, but comparison with the full solver is recommended.
  • Quasistatic versus full BEM simulations: Full BEM solves the Maxwell equations but is much slower because of repeated matrix inversions whose time scales as O(N^3) with the number of particle faces N.Typical bemret simulation times range from minutes to a few hours, so surface discretizations should use as few faces and vertices as possible.
  • Dipole excitations: For a 60 nm metallic nanosphere, the simulated dipole decay-rate enhancements are almost indistinguishable from Mie-theory results.The example uses a gold dielectric function, refractive index nb = 1.33, and dipoles on the z axis at different distances from the sphere center.
  • Dipole excitations: Dipole excitations model decay near nanoparticles and can compute radiative and total decay-rate enhancements relative to free space.The same dipole excitation framework can also be used to compute Maxwell’s dyadic Green function.

8. Summary and outlook

The paper presents MNPBEM as a flexible Matlab-class toolbox for metallic-nanoparticle BEM simulations, supported by help pages, demos, and plotting tools. The authors report good performance but note that more detailed tests and several extensions remain needed.

  • MNPBEM uses combinable Matlab classes to hide technical details of the potential-based BEM approach and adapt simulation programs to varied applications.Help pages, demo programs, and plotting commands support simulation analysis and interpretation.
  • The authors believe MNPBEM performs well and can compete with other plasmonics simulation toolkits, although more detailed tests are needed.
  • Planned or experimental extensions include multigrid and interpolation methods, mirror symmetry, substrates or layer structures, periodic structures, and static electric fields.Mirror symmetry could speed simulations by about one order of magnitude, but these features were not included in the presented version because they remained somewhat experimental.
Loading 1109.5783v1…