data_provider¶
- class mqed.Dyadic_GF.data_provider.DataProvider(material_config)[source]¶
Handles loading and providing material permittivity. It is optimized to create interpolation functions only once and performs interpolation in frequency space for better numerical accuracy.
- _epsilon_drude_lorentz(omega)[source]¶
Evaluate Drude-Lorentz permittivity with configured oscillators.
- static _normalize_source_type(source_type)[source]¶
Normalize source type values from YAML into internal enum-like strings.
- _read_omega_parameter(cfg, param_name)[source]¶
Read frequency-like model parameters from either eV or rad/s YAML keys.
- Supported keys for a parameter named omega_p are:
omega_p_eV (preferred for material-model fits in literature)
omega_p_rad_s
omega_p (legacy fallback interpreted as rad/s)
- _setup_drude_lorentz_model()[source]¶
Set up Drude-Lorentz parameters.
- Model form used in this code:
- epsilon(omega) = eps_inf
omega_p^2 / (omega^2 + i*gamma_D*omega)
- sum_j [ f_j * omega_0j^2 /
(omega_0j^2 - omega^2 - i*gamma_j*omega) ]
- where each oscillator entry provides:
strength (f_j)
omega_0 in eV or rad/s
gamma in eV or rad/s
- _setup_drude_model()[source]¶
Set up single-pole Drude parameters.
- Model form used in this code:
epsilon(omega) = eps_inf - omega_p^2 / (omega^2 + i*gamma*omega)