Hinamoooon / MENP

Multipole Expansion for NanoPhotoncis
MIT License
33 stars 24 forks source link

MENP

Open in Code Ocean
Multipole Expansion for NanoPhotonics (MENP)

General

MENP is an open-source MATLAB-based package for multipole expansion based on induced current distributions in nanostructures. It imports electric field distribution obtained by full-field simulation techniques (e.g., FDTD, FEM, etc.) and computes electric and magnetic multipoles (ED, MD, EQ, MQ) based on exact expression of multipole expansion. It is also capable of multipole expansion under long-wavelength approximation to find a contribution of toroidal dipole moments (TD).

Target users are researchers in the field of nanophotonics. In particular, recently emerged sub-wavelength Mie resonators which exhibit rich spectral features due to multipole resonances. The resultant multipolar interferences is opening up new opportunities to realize novel functionarity such as unidirectinal scattering (so-called Kerker condition), non-radiating optical Anapole state, and so on. For structural design and interpretation of physics in such systems, full-field simulation accoumpanied by multipole expansion is essential.

This package is basically designed for the use with Lumerical FDTD solutions, but any software can be used by exporting four-dimensional (x,y,z,f) electric field and refractive index data as a MATLAB .mat file.

Scattering spectra of a silicon nanosphere (R = 100 nm)

Reference

We ask you to cite the following paper when you publish results obtained with MENP.
Tatsuki Hinamto and Minoru Fujii "MENP: An Open-Source MATLAB Implementation of Multipole Expansion for Applications in Nanophotonics", OSA Continuum Vol. 4, Issue 5, pp. 1640-1648 (2021)

Supplementary references to implemented formulation

  1. Alaee, R.; Rockstuhl, C.; Fernandez-Corbaton, I. An Electromagnetic Multipole Expansion beyond the Long-Wavelength Approximation. Opt. Commun. 2018, 407, 17–21.
  2. Baryshnikova, K. V.; Smirnova, D. A.; Luk’yanchuk, B. S.; Kivshar, Y. S. Optical Anapoles: Concepts and Applications. Adv. Opt. Mater. 2019, 7, 1801350.
  3. Hasebe, H.; Sugimoto, H.; Hinamoto, T.; Fujii, M. Coupled Toroidal Dipole Modes in Silicon Nanodisk Metasurface: Polarization Independent Narrow Band Absorption and Directional Emission. Adv. Opt. Mater. 2020, 2001148.

License

MIT

Author

Tatsuki Hinamoto@Kobe University, Japan

How to use

See following demo to understand the usage.
./demo_sphere (exact and approximated multipole expansion for a silicon nanosphere)
./demo_disk (approximated multipole expansion including toroidal dipole moment fro a silicon nanodisk).

For the computation, three dimensional electric field distribution and refractive index data computed around a target nanostructure are required. On Lumerical FDTD Solutions, this exporting process can be done by running a lumerical script ./lumerical_script/EField2MAT.lsf. As an example, Lumerical project files (.fsp) are also included in the demo directories.

Input file format

MENP requires electric field (E) and refractive index (n) distributions and their coordinates (x,y,z,f). To see the spectral dependence of decomposed scattering cross sections, it should have frequency axis (f) in addition to position vector (x,y,z), that is, four dimensional data of E(x,y,z,f) and n(x,y,z,f) as vectors (i.e., Ex, Ey, Ez, n_x, n_y, n_z). Each array of coordinate x,y,z,f should be an array that have a size of len x 1, where len indicates the length of each array.

The attributes are passed to MENP's main functions (e.g., exactME.m) by exactME(x,y,z,f,Ex,Ey,Ez,n_x,n_y,n_z).

Directory structure

./MENP

Main functions

Supporting functions

./lumerical_script

./demo_sphere

Demo for a silicon nanosphere with a radius of 100 nm for computation of exact and approximated multipole expansion.

Demo scripts

Sample input and output data

./demo_disk

Demo for a silicon nanodisk for computation of multipole expansion (under long-wavelength approx.) into multipoles including a toroidal dipole moment.

Demo scripts

Sample input and output data