lineshape_tools.plot ==================== .. py:module:: lineshape_tools.plot .. autoapi-nested-parse:: Various plotting utilities. Functions --------- .. autoapisummary:: lineshape_tools.plot.plot_spec_funcs Module Contents --------------- .. py:function:: 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. :param dynmats: 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. :type dynmats: tuple | np.ndarray | Path | str :param dq: mass-weighted displacement vector in (amu^{1/2} Ang). Can be None if all dynmats that are provided are of type tuple (see above). :type dq: np.ndarray :param dE: energy of the zero-phonon line. :type dE: float :param gamma_zpl: Lorentzian broadening in the ZPL to capture homogeneous broadening. :type gamma_zpl: float :param sigma_zpl: Gaussian broadening in the ZPL to capture inhomogeneous broadening. :type sigma_zpl: float :param sigma_psb: 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. :type sigma_psb: float, float :param gamma_psb: 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 :class:`Broadening`. :type gamma_psb: float, float :param emission: determines if the intensity corresponds to emission or absorption. :type emission: bool :param omega_mult: how many factors of the maximum phonon frequency from the ZPL will be plotted in the luminescence/absorption intensity. :type omega_mult: float :param omega_max: maximum phonon frequency can be provided if known, used in determining the plot ranges. :type omega_max: float :param norm: normalization of luminescence (area or max). :type norm: str :param T: Temperature in kelvin. :type T: float :param plot_type: 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". :type plot_type: str :param figsize: figsize passed to `matplotlib.pyplot.subplots`. :type figsize: tuple :param skip_lim_adjust: do not adjust xlim and ylim when making plots. :type skip_lim_adjust: bool :param ax: matplotlib axes object (an array of them) if already made. :type ax: plt.Axes