plasmonX: an Open-Source Code for Nanoplasmonics
Tommaso Giovannini, Pablo Grobas Illobre, Piero Lafiosca, Luca Nicoli, Luca Bonatti, Stefano Corni, Chiara Cappelli
TL;DR
PlasmonX addresses the challenge of accurately simulating plasmonic response in complex nanosystems by unifying atomistic ($ω$FQ and $ω$FQFμ) and continuum boundary element method (BEM) PCM approaches. It provides a Fortran core with a Python interface and multiple solvers, including a memory-efficient on-the-fly GMRES, enabling scalable simulations from hundreds to millions of atoms, complemented by a post-processing suite for induced densities and fields. The open-source release demonstrates capabilities on noble metal nanoalloys and graphene-based structures, validating physical trends and hotspot localization in dimers. Looking ahead, the authors plan real-time dynamics, multiscale embedding, mixed implicit/explicit strategies, and fast multipole methods to further extend scalability and applicability.
Abstract
We present the first public release of plasmonX, a novel open-source code for simulating the plasmonic response of complex nanostructures. The code supports both fully atomistic and implicit descriptions of nanomaterials. In particular, it employs the frequency-dependent fluctuating charges ($ω$FQ) and dipoles ($ω$FQF$μ$) models to describe the response properties of atomistic structures, including simple and $d$-metals, graphene-based structures, and multi-metal nanostructures. For implicit representations, the Boundary Element Method is implemented in both the dielectric polarizable continuum model (DPCM) and integral equation formalism (IEF-PCM) variants. The distribution also includes a post-processing module that enables analysis of electric field-induced properties such as charge density and electric field patterns.
