lineshape_tools.plot

Various plotting utilities.

Functions

plot_spec_funcs(dynmats, dq, dE[, gamma_zpl, ...])

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,
)[source]

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.