perturbopy.postproc.calc_modes.ephmat.Ephmat

class perturbopy.postproc.calc_modes.ephmat.Ephmat(pert_dict)

Bases: CalcMode

Class representation of a Perturbo ephmat calculation.

kpt

Database for the k-points used in the ephmat calculation, containing N points.

Type:

RecipPtDB

qpt

Database for the q-points used in the ephmat calculation, containing M points.

Type:

RecipPtDB

phdisp

Database for the phonon energies computed by the ephmat calculation. The keys are the phonon mode, and the values are an array (of length M) containing the energies at each q-point with units phdisp.units

Type:

UnitsDict

ephmat

Database for the e-ph matrix elements computed by the ephmat calculation. The keys are the phonon mode, and the values are an array (of length NxM) where element (n, m) is the e-ph matrix element (units ephmat.units) between an electron at k-point n and phonon at q-point m

Type:

UnitsDict

defpot

Database for the deformation potentials computed by the phdisp calculation. The keys are the phonon mode, and the values are an array (of length NxM) where element (n, m) is the deformation potential (units defpot.units) of an electron at k-point n and phonon at q-point m.

Type:

UnitsDict

Methods

from_yaml

Class method to create a CalcMode object from the YAML file generated by a Perturbo calculation.

plot_defpot

Method to plot the deformation potential as a colormap overlaid on the phonon dispersion.

plot_ephmat

Method to plot e-ph matrix elements as a colormap overlaid on the phonon dispersion.

plot_phdisp

Method to plot the phonon dispersion.

classmethod from_yaml(yaml_path='pert_output.yml')

Class method to create a CalcMode object from the YAML file generated by a Perturbo calculation.

Parameters:

yaml_path (str, optional) – Path to the YAML file generated by a Perturbo calculation

Returns:

calc_mode – The CalcMode object generated from the YAML file

Return type:

CalcMode

plot_defpot(ax, kpoint_idx=0, show_qpoint_labels=True, **kwargs)

Method to plot the deformation potential as a colormap overlaid on the phonon dispersion.

Parameters:
  • ax (matplotlib.axes.Axes) – Axis on which to plot the phdisp.

  • kpoint_idx (int, optional) – Index of the k-point to plot the deformation potentials for. Deformation potentials will be plotted along q-points, at this k-point By default, it will be the first k-point.

  • show_qpoint_labels (bool, optional) – If true, the q-point labels stored in the labels attribute will be shown on the plot. Default true.

Returns:

ax – Axis with the plotted bands.

Return type:

matplotlib.axes.Axes

plot_ephmat(ax, kpoint_idx=0, show_qpoint_labels=True, **kwargs)

Method to plot e-ph matrix elements as a colormap overlaid on the phonon dispersion.

Parameters:
  • ax (matplotlib.axes.Axes) – Axis on which to plot the phdisp.

  • kpoint_idx (int, optional) – Index of the k-point to plot the e-ph elements for. E-ph elements will be plotted along q-points, at this k-point By default, it will be the first k-point.

  • show_qpoint_labels (bool, optional) – If true, the q-point labels stored in the labels attribute will be shown on the plot. Default true.

Returns:

ax – Axis with the plotted bands.

Return type:

matplotlib.axes.Axes

plot_phdisp(ax, show_qpoint_labels=True, **kwargs)

Method to plot the phonon dispersion.

Parameters:
  • ax (matplotlib.axes.Axes) – Axis on which to plot the phdisp.

  • show_qpoint_labels (bool, optional) – If true, the q-point labels stored in the labels attribute will be shown on the plot. Default true.

Returns:

ax – Axis with the plotted bands.

Return type:

matplotlib.axes.Axes