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)

La méthode des fonctions dyadiques de Green (GDM) est une technique de discrétisation en volume (voir figure 1) [1]. Contrairement à la plupart des codes de dipôles couplés, la GDM est basée sur un propagateur généralisé[2], ce qui permet de traiter des gros problèmes monochromatiques tels que les calculs de polarisation-résolus ou les simulations raster-scan d’une manière très efficace [3]. pyGDM est basé sur du code fortran développé au cours des 20 dernières années, principalement par Christian Girard au CEMES. D’autres contributions ont été apportées par Arnaud Arbouet, Renaud Marty et Peter Wiecha. L’interface et les outils python ont été écrits par 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 comprend des outils permettant de dériver facilement et de tracer directement plusieurs grandeurs physiques telles que la diffusion au champ lointain, les sections d’extinction et de diffusion (voir figure 2), le champ proche à l’intérieur et à proximité des structures (les champs électrique ainsi que magnétique peuvent être calculés), la densité locale d’états photoniques (LDOS) ou la chaleur déposée à l’intérieur de la nanoparticule.

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 offre de nombreux outils de visualisation faciles à utiliser (voir figure 3), y compris des animations des champs électromagnétiques (voir animation en haut de 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 propose enfin une boîte à outils pour l’optimisation évolutionniste de la géométrie de nanoparticules à un ou plusieurs objectifs. Le module "EO" permet de concevoir automatiquement des nanostructures qui optimisent les propriétés optiques telles qu’une certaine longueur d’onde de résonance, une forte augmentation du champ ou la direction de diffusion. Un exemple d’optimisation d’une nanostructure en or à deux résonances est illustré dans la 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

Le code peut être téléchargé depuis le dépôt pypi (https://pypi.python.org/pypi/pygdm2/), cloné depuis gitlab ("$ git clone https://gitlab.com/wiechapeter/pyGDM2"), ou directement installé avec pip ("$ pip install pygdm2").

Documentation

Une vaste documentation est disponible en ligne sur https://wiechapeter.gitlab.io/pyGDM2-doc/

Contacts :

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

Références :

La référence [4] comprend des détails sur la mise en œuvre et les modèles physiques implémentés dans les différentes fonctions.

[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).