lineshape_tools.lineshape¶
Implements functionality to evaluate optical lineshapes.
Functions¶
|
Calculate the Huang-Rhys factor Stot. |
|
Evaluate the Gaussian function with smearing s. |
|
Evaluate the Lorentzian function with broadening g. |
|
Compute the phonon spectral function and related quantities. |
|
Convert phonon spectral function into a (normalized) optical intensity. |
Module Contents¶
- lineshape_tools.lineshape.get_Stot(dq: numpy.ndarray, omega: numpy.ndarray) float[source]¶
Calculate the Huang-Rhys factor Stot.
- Parameters:
dq (np.ndarray) – mass-weighted displacement vector in normal mode basis in (amu^{1/2} Ang).
omega (np.ndarray) – normal mode phonon frequencies (in eV/amu/Ang^2).
- lineshape_tools.lineshape.gaussian(x: numpy.ndarray, s: float) numpy.ndarray[source]¶
Evaluate the Gaussian function with smearing s.
- lineshape_tools.lineshape.lorentzian(x: numpy.ndarray, g: float) numpy.ndarray[source]¶
Evaluate the Lorentzian function with broadening g.
- lineshape_tools.lineshape.get_phonon_spec_func(
- dq: numpy.ndarray,
- omega: numpy.ndarray,
- broadening: Broadening | None = None,
- resolution: float = 0.001,
- w_max: float | None = None,
- pad: float = 0.1,
- T: float = 0.0,
- **kwargs,
Compute the phonon spectral function and related quantities.
If broadening is not provided, kwargs will be passed to Broadening.create (see
Broadening.create()).When T == 0. (the default), an optimized evaluation of the spectral function is utilized.
- Parameters:
dq (np.ndarray) – mass-weighted displacement vector in normal mode basis in (amu^{1/2} Ang).
omega (np.ndarray) – normal mode phonon frequencies (in eV/amu/Ang^2).
broadening (Broadening) – instance of
Broadening.resolution (float) – desired energy resolution (in eV) of the calculated spectral functions.
w_max (np.ndarray) – maximum frequency in grid.
pad (float) – energy (in eV) below ZPL to pad the spectral function.
T (float) – Temperature in kelvin.
**kwargs – keyword arguments passed to
Broadening.create()when broadening is not provided as input.
- Returns:
frequencies at which the functions were evaluated at (ħω) dos (np.ndarray): phonon density of states ρ(ħω) S_w (np.ndarray): Huang-Rhys spectral density S(ħω) A_w (np.ndarray): spectral function A(ħω)
- Return type:
w (np.ndarray)
- lineshape_tools.lineshape.convert_A_to_L(
- w: numpy.ndarray,
- A: numpy.ndarray,
- dE: float,
- emission: bool = True,
- norm: str = 'area',
Convert phonon spectral function into a (normalized) optical intensity.
- Parameters:
w (np.ndarray) – frequencies (in eV) where A is evaluated.
A (np.ndarray) – spectral function.
dE (float) – energy of the zero-phonon line.
emission (bool) – determines if the intensity corresponds to emission or absorption.
norm (str) – normalization of luminescence (area or max).
- Returns:
expanded range of frequencies where intensity is evaluated. L (np.ndarray): optical intensity L(ħω) on expanded frequencies new_w.
- Return type:
new_w (np.ndarray)