CoupledElectricMagneticDipoles.jl - Julia modules for coupled electric and magnetic dipoles method for light scattering, and optical forces in three dimensions

CoupledElectricMagneticDipoles.jl is a set of modules implemented in the Julia language. Several modules are provided to solve typical problems encountered in nano-optics and nano-photonics including light emission by point sources in complex environments, electromagnetic wave scattering by single objects with complex geometry or collections of them. Optical forces can also be computed with this software package. Two closely related computational methods are implemented in this library, the discrete dipole approach (DDA) and the coupled electric and magnetic dipoles (CEMD) method. PROGRAM SUMMARY Program Title: CoupledElectricMagneticDipoles.jl CPC Library link to program files: https://doi.org/10.17632/nrny5z4cmt.1 Developer's repository link: https://github.com/augustinmuster/CoupledElectricMagneticDipoles.jl Licensing provisions: MIT Programming language: Julia Supplementary material: Available Nature of problem: Full classical solution of the problem of scattering and emission of electromagnetic waves by arbitrary objects. The problem includes near- and far-field distributions, total cross sections, differential cross sections, local density of states and optical forces. The formulation of the problem is in the frequency domain and for linear response. Solution method: Either discrete dipole approximation (DDA) with electric-only dipoles or the coupled electric and magnetic dipoles (CEMD) approximation is used to solve for extended objects (DDA only) or collections of small objects whose individual optical response can be described by a single electric and magnetic dipole excitation (CEMD). Facilities to discretize simple objects and calculate electric and magnetic polarizabilities are provided together with post-processing functions to calculate cross-sections, local density of states, differential scattering cross sections and optical forces. Any external electromagnetic field can be considered, but functions for several specific input fields are provided, such as plane waves, point dipole source, as well as Gaussian, Gaussian-Hermite and Laguerre-Gaussian beams. Additional comments including restrictions and unusual features: Although functions to calculate electric and magnetic polarizabilities are provided, these work only for spherical objects (through Mie coefficients) and cubes with scalar or tensor permittivity and relative magnetic permeability μ = 1 everywhere. The host medium must be non-absorbing. The user can provide with generic 6 × 6 polarizability tensors. The implementation calculates the full interaction matrix and inverts it, hence the computation is valid for any incoming field at the cost of an increase of memory usage and computation time. The code has been tested with standard workstations up to ∼10000 electric and magnetic dipoles. We expect the limits to be set by available memory and computing time.

Authors

Institutions

Publication Details

Journal
Computer Physics Communications
Published
2024-08-31
DOI
https://doi.org/10.1016/j.cpc.2024.109361
Citations
2
Primary Topic
Metamaterials and Metasurfaces Applications
Type
article
Field-Weighted Citation Impact
0.24

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

CoupledElectricMagneticDipoles.jl - Julia modules for coupled electric and magnetic dipoles method for light scattering, and optical forces in three dimensions

Luis S. Froufe‐Pérez, Frank Scheffold, Diego R. Abujetas, Augustin Muster
2 citations
Computer Physics Communications
Metamaterials and Metasurfaces Applications
0.24
article

CoupledElectricMagneticDipoles.jl - Julia modules for coupled electric and magnetic dipoles method for light scattering, and optical forces in three dimensions

Luis S. Froufe‐Pérez, Frank Scheffold, Diego R. Abujetas, Augustin Muster
article en
2 citations

Abstract

CoupledElectricMagneticDipoles.jl is a set of modules implemented in the Julia language. Several modules are provided to solve typical problems encountered in nano-optics and nano-photonics including light emission by point sources in complex environments, electromagnetic wave scattering by single objects with complex geometry or collections of them. Optical forces can also be computed with this software package. Two closely related computational methods are implemented in this library, the discrete dipole approach (DDA) and the coupled electric and magnetic dipoles (CEMD) method. PROGRAM SUMMARY Program Title: CoupledElectricMagneticDipoles.jl CPC Library link to program files: https://doi.org/10.17632/nrny5z4cmt.1 Developer's repository link: https://github.com/augustinmuster/CoupledElectricMagneticDipoles.jl Licensing provisions: MIT Programming language: Julia Supplementary material: Available Nature of problem: Full classical solution of the problem of scattering and emission of electromagnetic waves by arbitrary objects. The problem includes near- and far-field distributions, total cross sections, differential cross sections, local density of states and optical forces. The formulation of the problem is in the frequency domain and for linear response. Solution method: Either discrete dipole approximation (DDA) with electric-only dipoles or the coupled electric and magnetic dipoles (CEMD) approximation is used to solve for extended objects (DDA only) or collections of small objects whose individual optical response can be described by a single electric and magnetic dipole excitation (CEMD). Facilities to discretize simple objects and calculate electric and magnetic polarizabilities are provided together with post-processing functions to calculate cross-sections, local density of states, differential scattering cross sections and optical forces. Any external electromagnetic field can be considered, but functions for several specific input fields are provided, such as plane waves, point dipole source, as well as Gaussian, Gaussian-Hermite and Laguerre-Gaussian beams. Additional comments including restrictions and unusual features: Although functions to calculate electric and magnetic polarizabilities are provided, these work only for spherical objects (through Mie coefficients) and cubes with scalar or tensor permittivity and relative magnetic permeability μ = 1 everywhere. The host medium must be non-absorbing. The user can provide with generic 6 × 6 polarizability tensors. The implementation calculates the full interaction matrix and inverts it, hence the computation is valid for any incoming field at the cost of an increase of memory usage and computation time. The code has been tested with standard workstations up to ∼10000 electric and magnetic dipoles. We expect the limits to be set by available memory and computing time.

Computer Physics CommunicationsVol. 306
University of Fribourg (CH)
Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung, Université de Fribourg, National Center of Competence in Research Bio-Inspired Materials, University of Fribourg
Affordable and clean energy
Openalex Percentile: Top 58%
Metamaterials and Metasurfaces Applications
0.24
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.