lineshape_tools.plot¶
Various plotting utilities.
Functions¶
|
Make a plot of the spectral functions and luminescence/absorption intensity. |
Module Contents¶
- lineshape_tools.plot.plot_spec_funcs(
- dynmats: tuple | numpy.ndarray | pathlib.Path | str | list[tuple | numpy.ndarray | pathlib.Path | str],
- dq: numpy.ndarray | None,
- dE: float,
- gamma_zpl: float = 0.001,
- sigma_zpl: float = 0.0,
- sigma_psb: tuple[float, float] = (0.005, 0.001),
- gamma_psb: tuple[float, float] | None = None,
- emission: bool = True,
- omega_mult: float = 5.0,
- omega_max: float = 0.0,
- norm: str = 'area',
- T: float = 0,
- plot_type: str = 'subplot',
- figsize: tuple[float, float] = (8.0, 2.5),
- skip_lim_adjust: bool = False,
- ax=None,
Make a plot of the spectral functions and luminescence/absorption intensity.
- Parameters:
dynmats (tuple | np.ndarray | Path | str) – path to a dynamical matrix in .npz format or a np.ndarray corresponding to a dynamical matrix (shape 3N x 3N). If a tuple is given, assume that the spectral functions have already been obtained. The tuple should contain elements (w, dos, S, w_L, L) where w is the freq grid of dos/S and w_L is the freq grid of L. A list of dynmats can be provided instead.
dq (np.ndarray) – mass-weighted displacement vector in (amu^{1/2} Ang). Can be None if all dynmats that are provided are of type tuple (see above).
dE (float) – energy of the zero-phonon line.
gamma_zpl (float) – Lorentzian broadening in the ZPL to capture homogeneous broadening.
sigma_zpl (float) – Gaussian broadening in the ZPL to capture inhomogeneous broadening.
sigma_psb (float, float) – Gaussian broadening used to broaden the partial Huang-Rhys factors. The broadening factor is linearly interpolated from sigma_psb[0] at zero frequency to sigma_psb[1] at the highest (non-LVM) frequency.
gamma_psb (float, float) – Turns on Lorentzian broadening of local vibrational modes identified by their inverse participation ratio. gamma_psb[0] is ipr_cut and gamma_psb[1] is gamma_lvm. See
Broadening.emission (bool) – determines if the intensity corresponds to emission or absorption.
omega_mult (float) – how many factors of the maximum phonon frequency from the ZPL will be plotted in the luminescence/absorption intensity.
omega_max (float) – maximum phonon frequency can be provided if known, used in determining the plot ranges.
norm (str) – normalization of luminescence (area or max).
T (float) – Temperature in kelvin.
plot_type (str) – type of plot to generate. “subplot” will generate a subplot for the dos, S and L, respectively. “inset” will plot L with S as an inset. To make a plot of a single type of function, specify “dos”, “S”, or “L”.
figsize (tuple) – figsize passed to matplotlib.pyplot.subplots.
skip_lim_adjust (bool) – do not adjust xlim and ylim when making plots.
ax (plt.Axes) – matplotlib axes object (an array of them) if already made.