pyGDM is a python toolkit for electro-dynamical simulations of individual nano-structures, based on the Green Dyadic Method (GDM). pyGDM uses the concept of a generalized propagator, which allows to solve cost-efficiently monochromatic problems with a large number of varying illumination conditions such as incident angle scans or focused beam raster-scan simulations. We provide an overview of new features added since the initial publication [Wiecha, Comput. Phys. Commun. 233 (2018) 167–192]. The updated version of pyGDM is implemented in pure python, removing the former dependency on fortran-based binaries. In the course of this re-write, the toolkit's internal architecture has been completely redesigned to offer a much wider range of possibilities to the user such as the choice of the dyadic Green's functions describing the environment. A new class of dyads allows to perform 2D simulations of infinitely long nanostructures. While the Green's dyads in pyGDM are based on a quasistatic description for interfaces, we also provide as new external python package “pyGDM2_retard” a module with retarded Green's tensors for an environment with two interfaces. We have furthermore added functionalities for simulations using fast-electron excitation, namely electron energy loss spectroscopy and cathodoluminescence. Along with several further new tools and improvements, the update includes also the possibility to calculate the magnetic field and the magnetic LDOS inside nanostructures, field-gradients in- and outside a nanoparticle, optical forces or the chirality of nearfields. All new functionalities remain compatible with the evolutionary optimization module of pyGDM for nano-photonics inverse design. Program summaryProgram Title: pyGDM2CPC Library link to program files:https://doi.org/10.17632/5zdrppdc3j.1Licensing provisions: GPLv3Programming language: pythonNature of problem: Full-field electrodynamical simulations of photonic nanostructures. This includes calculations of the optical extinction, scattering and absorption, as well as the near-field distribution or the interaction of quantum emitters with nanostructures as well as fast electron beam simulations. The toolkit includes a module for automated evolutionary optimization of nanostructure geometries to obtain a user-defined optical response.Solution method:: The optical response of photonic nanostructures is calculated using field susceptibilities (“Green Dyadic Method”, GDM) via a volume discretization. The approach is formally similar to the coupled dipole approximation.Additional comments including restrictions and unusual features: 2D and 3D nanostructures. On typical office PCs (8-16GB RAM) the discretization is limited to about 10000-15000 meshpoints, therefore it applies best to single, small nanostructures.
Read full abstract