Centre d’Élaboration de Matériaux et d’Etudes Structurales (UPR 8011)


Accueil > Recherche > NeO : Nano-Optique et Nanomatériaux pour l’Optique > pyGDM : Simulations numériques en nano-optique

Présentation

pyGDM est une boîte à outils python open source développée au CEMES pour les simulations électrodynamiques en nano-optique. Elle est basée sur la méthode dyadique de Green (GDM)

The Green Dyadic Method (GDM) is a volume discretization technique (see figure 1) [1]. In contrast to most coupled-dipole codes, the GDM is based on a generalized propagator [2], which allows to cost-efficiently treat large monochromatic problems such us polarization-resolved calculations or raster-scan simulations [3]. pyGDM is based on fortran code developed during about the last 20 years, mainly by Christian Girard at the CEMES. Further contributions were made from Arnaud Arbouet, Renaud Marty and Peter Wiecha. The python interface and tools were written by P. Wiecha.

 
JPEG - 130.9 ko
Figure 1 : Discrétisation en volume d’une nanostructure aléatoire (ici en or), posée sur un substrat de verre.
 

pyGDM includes tools to easily derive and directly plot several physical quantities such as far-field patterns, extinction and scattering cross-sections (see figure 2), the near-field inside and in the vicinity of the structure (both, the electric and magnetic fields can be calculated), the local density of states (LDOS) or the heat deposited inside the nanoparticle.

PNG - 128.6 ko
Figure 2 : Section d’extinction d’une sphère diélectrique (n = 2,0) de diamètre D = 300 nm, placée sous vide, éclairée par une onde plane polarisée linéairement. Calculé par pyGDM avec différents maillages (lignes bleues, nombre de points de maillage N) ainsi qu’avec la théorie de Mie (ligne rouge en pointillés).

 

PyGDM offers many easy to use visualization tools (see figure 3), including animations of the electro-magnetic fields (see animation at the top of the page).

JPEG - 228 ko
Figure 3 : Visualisation de la géométrie de la structure (en haut), des vecteurs de champ interne (centre) et de l’intensité du champ interne (en bas). Les tracés sont retournés tel que par les outils de visualisation 2D et 3D de pyGDM.

 

pyGDM finally offers a toolkit for evolutionary single- and multi-objective optimization of nanoparticle geometries. The “EO” module allows to automatically design nanostructures which optimize optical properties such as a certain resonance wavelength, strong field enhancement or the direction of scattering. An example optimization of a double resonant gold nanostructure is shown in figure 4.

 

JPEG - 140.3 ko
Figure 4 : a) schéma du cycle d’optimisation évolutionniste. b) esquisse d’une nanostructure en or croisée, à optimiser pour un comportement à double résonance. c) résultats de l’optimisation évolutionniste à multi objectifs. Gauche : Structure optimale pour la diffusion à 800nm et polarisation X, droite : pour 1200nm et polarisation Y et centre : compromis multi-resonnant.

 

Téléchargement

The code can be downloaded from the pypi repository (https://pypi.python.org/pypi/pygdm2/), cloned from gitlab (“$ git clone https://gitlab.com/wiechapeter/pyGDM2&rdquo ;), or directly installed with pip (“$ pip install pygdm2”).

Documentation

An extensive online documentation is available under https://wiechapeter.gitlab.io/pyGDM2-doc/

Contacts :

peter.wiecha chez cemes.fr, christian.girard chez cemes.fr

References :

Reference [4] includes details on the implementation and physical models behind the different functions.

[1] Girard, C. “Near fields in nanostructures”. Reports on Progress in Physics 68, 1883–1933 (2005).

[2] Martin, O. J. F., Girard, C. & Dereux, A. “Generalized Field Propagator for Electromagnetic Scattering and Light” Confinement. Phys. Rev. Lett. 74, 526–529 (1995).

[3] Teulle, A. et al. “Scanning optical microscopy modeling in nanoplasmonics”. Journal of the Optical Society of America B 29, 2431 (2012).

[4] Wiecha, P. R. “pyGDM - A python toolkit for full-field electro-dynamical simulations and evolutionary optimization of nanostructures”. accepted in Computer Physics Communications, arXiv:1802.04071 (2018).