Skip to main content

Material dielectric models for plasmonic electrodynamics in MNPBEM-Python.

Project description

mnpbem-material

mnpbem-material implements dielectric-function models used in plasmonic electrodynamics. The module provides analytical material models and tabulated optical constants for metals such as Au, Ag, and Al.

Features

  • Constant dielectric model for homogeneous media.
  • Drude dielectric model for free-electron metals.
  • Tabulated (E, n, k) optical constants with wavelength-domain interpolation.
  • Ready-to-use datasets for common plasmonic materials.

Implemented Formulations

1. Constant Dielectric Function

For wavelength-independent permittivity:

$$ \varepsilon(\lambda) = \varepsilon_0 $$

The wave number is:

$$ k(\lambda) = \frac{2\pi}{\lambda}\sqrt{\varepsilon} $$

where:

  • $\varepsilon_0$ is the constant dielectric permittivity.
  • $\lambda$ is the wavelength.

2. Drude Model

For free-electron metal response:

$$ \varepsilon(\omega) = \varepsilon_\infty - \frac{\omega_p^2}{\omega(\omega + i\gamma)} $$

where:

  • $\varepsilon_\infty$ is the high-frequency dielectric constant.
  • $\omega_p$ is the plasma frequency.
  • $\gamma$ is the damping constant.
  • $\omega$ is the angular frequency.

Energy-wavelength conversion used in the implementation:

$$ \omega_{\mathrm{eV}} = \frac{C_{\mathrm{eV\cdot nm}}}{\lambda_{\mathrm{nm}}}, \qquad C_{\mathrm{eV\cdot nm}} \approx 1239.841984 $$

Material parameters for Au, Ag, and Al are aligned with the established MNPBEM Drude-style parameterization.

3. Tabulated Material Model

Given tabulated optical constants $(E, n, k)$, the dielectric function is:

$$ \varepsilon = (n + i k)^2 $$

Interpolation is performed in the wavelength domain after converting tabulated energy values.

Implementation

  • Core implementation: src/mnpbem_material/models.py
  • Material datasets: src/mnpbem_material/data/*.dat

Dependencies

Runtime dependencies are installed automatically by pip:

  • numpy>=1.24

Installation

pip install mnpbem-material

Example Usage

Runnable example:

  • examples/basic_usage.py

Run:

python examples/basic_usage.py

Author

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mnpbem_material-0.1.3.tar.gz (89.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mnpbem_material-0.1.3-py3-none-any.whl (97.1 kB view details)

Uploaded Python 3

File details

Details for the file mnpbem_material-0.1.3.tar.gz.

File metadata

  • Download URL: mnpbem_material-0.1.3.tar.gz
  • Upload date:
  • Size: 89.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for mnpbem_material-0.1.3.tar.gz
Algorithm Hash digest
SHA256 c140d511b610777266a21910d962bca2b02db7477c17bfcafaafcf3146489f6f
MD5 34117466984709623fd7f447feb4c9d3
BLAKE2b-256 fa280503c833b07ba6d67b8f5e76b4b29200bb6ed876f059529bfff155150a1f

See more details on using hashes here.

File details

Details for the file mnpbem_material-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for mnpbem_material-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1acaeca9ccda3249198998733cc06d64ff6ab1e26c55ec538af1d857de54cb44
MD5 51ceefb9ee72b855b2a4571c507b245f
BLAKE2b-256 aebaf7859ce0abf18874253a4074f4556b814aac2055675d8c4be2bf328f8b2d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page