Material dielectric models for plasmonic electrodynamics in MNPBEM-Python.
Project description
mnpbem-material
mnpbem-material implements dielectric function models commonly used in plasmonic simulations.
The module provides simple analytical models and tabulated optical data for metallic materials such as Au, Ag, and Al.
Implemented Formulations
1. Constant Dielectric Function
The simplest dielectric model assumes a wavelength-independent dielectric constant.
$$ [ \varepsilon(\lambda) = \varepsilon_0 ] $$
The corresponding wave number is
$$ [ k(\lambda) = \frac{2\pi}{\lambda}\sqrt{\varepsilon} ] $$
where
$$v* ( \varepsilon_0 )$$ : constant dielectric permittivity $$v* ( \lambda )$$ : wavelength
2. Drude Model
The Drude model describes the optical response of free-electron metals.
$$ [ \varepsilon(\omega) = \varepsilon_\infty - \frac{\omega_p^2}{\omega(\omega + i\gamma)} ] $$
where
$$* ( \varepsilon_\infty )$$ : high-frequency dielectric constant $$* ( \omega_p )$$ : plasma frequency $$* ( \gamma )$$ : damping constant $$* ( \omega )$$ : angular frequency
Energy–Wavelength Conversion
The following relation is used to convert wavelength to photon energy:
$$ [ \omega_{eV} = \frac{EV_TO_NM}{\lambda_{nm}} ] $$
Material parameters for Au, Ag, and Al follow the formulation used in the MATLAB implementation:
Material/@epsdrude/init.m
from the original MNPBEM toolbox.
3. Tabulated Material Model
For tabulated optical data ( (E, n, k) ), the dielectric function is computed as
$$ [ \varepsilon = (n + i k)^2 ] $$
where
$$* ( n )$$ : refractive index $$* ( k )v$$ : extinction coefficient
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 when the package is installed.
- numpy ≥ 1.24
Example Usage
A runnable example is provided in:
examples/basic_usage.py
Run the example with:
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.1.tar.gz.
File metadata
- Download URL: mnpbem_material-0.1.1.tar.gz
- Upload date:
- Size: 89.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b24c72bfcd9045d6a76dee3912843b5a17bb36ac9cc0536932824cace28d328
|
|
| MD5 |
9b58edc2108573618e7e4d68dcd3cd4b
|
|
| BLAKE2b-256 |
4f309fcba92ecc70a40b6ffe0df418fdbb41533235e62c96746ead8c7ed05096
|
File details
Details for the file mnpbem_material-0.1.1-py3-none-any.whl.
File metadata
- Download URL: mnpbem_material-0.1.1-py3-none-any.whl
- Upload date:
- Size: 97.2 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 |
32f8e39ee258112e58ae3b61cecb08f54460fa808aed57c685c97f1756ea4ed2
|
|
| MD5 |
ef7f133705387d8cd3d9c86337b62e90
|
|
| BLAKE2b-256 |
6818748cd0f27a997f05ab888d88422c9f0e2a9302f12b46e53232bd43a1c0a3
|