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{\mathrm{EV_TO_NM}}{\lambda_{\mathrm{nm}}} $$
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
- GALIH RIDHO UTOMO
- g4lihru@students.unnes.ac.id
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mnpbem_material-0.1.2.tar.gz.
File metadata
- Download URL: mnpbem_material-0.1.2.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a70ad79dca93f7307d13bebefea931f9c697adaeb3373afed0a97e3ee28d0ec8
|
|
| MD5 |
3f4fac480d937c9799329ffac6e5be02
|
|
| BLAKE2b-256 |
5c84647f458234b5825018482edec984cbd61476a10f22c0fbf274f64e1eb2b5
|
File details
Details for the file mnpbem_material-0.1.2-py3-none-any.whl.
File metadata
- Download URL: mnpbem_material-0.1.2-py3-none-any.whl
- Upload date:
- Size: 97.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18d24677a088fe59a5eef32fcb82a21ca1064653a76445bc84d00dd107c99305
|
|
| MD5 |
f58a0daa553710d64b3f69883436e08d
|
|
| BLAKE2b-256 |
51722756d11ceca40496b06e866d30d38eac5c43ad7b0cde4451c673362984f9
|