Species-projected Density of States

class aimstools.density_of_states.species_proj_dos.SpeciesProjectedDOS(outputfile, soc=False)[source]

Bases: aimstools.density_of_states.total_dos.TotalDOS, aimstools.density_of_states.base.DOSBaseClass

plot_all_angular_momenta(max_l='f', axes=None, colors=[], show_colorbar=True, **kwargs)[source]

Utility function to show contributions of angular momenta (e.g., “s”, “p”, “d” orbitals).

Parameters:max_l (str, optional) – Maximum angular momentum to show. Defaults to “f”.
plot_all_species(axes=None, l='tot', colors=[], show_legend=True, **kwargs)[source]

Utility function to all show species contributions.

Parameters:l (str, optional) – Angular momentum. Defaults to “tot”.
plot_contributions(axes: matplotlib.axes.Axes = None, contributions: list = [], colors: list = [], labels: list = [], **kwargs)[source]

Main function to handle plotting of projected DOS.

Contributions should be a list of identifiers that can be interpreted by DOSSpectrum. They are converted to a list of DOSContribution.

The following combinations of contribution formats are accepted:
  • integers containing atom indices (e.g., [0,1,2,3])
  • species symbols (e.g., [“Mo”, “S”])
  • symbol groups (e.g., [“MoS”, “CH”])
  • tuples specifying an identifier and an angular momentum (e.g., [(“all”, “s”)])
  • tuples containing a tuple of atom indices and an angular momentum (e.g., [((0,1,2), “tot”)])

Example

>>> from aimstools.density_of_states import AtomProjectedDOS as APD
>>> dos = APD("path/to/dir")
>>> dos.plot_contributions(contributions=["F", "CH"], labels=["foo", "bar"], colors=["green", "blue"], mode="scatter")
Parameters:
  • contributions (list, optional) – List of contribution identifiers. Defaults to [].
  • colors (list, optional) – List of colors. Defaults to [].
  • labels (list, optional) – List of labels. Defaults to [].
  • show_legend (bool, optional) – Show legend for labels and colors. Defaults to True.
  • legend_linewidth (float, optional) – Legend handle linewidth. Defaults to 1.5.
  • legend_frameon (bool, optional) – Show legend frame. Defaults to True.
  • legend_fancybox (bool, optional) – Enable bevelled box. Defaults to True.
  • legend_borderpad (float, optional) – Pad for legend borders. Defaults to 0.4.
  • legend_loc (string, optional) – Legend location. Defaults to “upper right”.
  • legend_handlelength (float) – Legend handlelength, defaults to 0.4.
  • axes (matplotlib.axes.Axes) – Axes to draw on, defaults to None.
  • figsize (tuple) – Figure size in inches. Defaults to (5,5).
  • filename (str) – Saves figure to file. Defaults to None.
  • spin (int) – Spin channel, can be “up”, “dn”, 0 or 1. Defaults to 0.
  • reference (str) – Energy reference for plotting, e.g., “VBM”, “middle”, “fermi level”. Defaults to None.
  • show_fermi_level (bool) – Show Fermi level. Defaults to True.
  • fermi_level_color (str) – Color of Fermi level line. Defaults to fermi_color.
  • fermi_level_alpha (float) – Alpha channel of Fermi level line. Defaults to 1.0.
  • fermi_level_linestyle (str) – Line style of Fermi level line. Defaults to “–“.
  • fermi_level_linewidth (float) – Line width of Fermi level line. Defaults to mpllinewidth.
  • show_grid_lines (bool) – Show grid lines for axes ticks. Defaults to False.
  • grid_lines_axes (str) – Show grid lines for given axes. Defaults to “x”.
  • grid_linestyle (tuple) – Grid lines linestyle. Defaults to (0, (1, 1)).
  • grid_linewidth (float) – Width of grid lines. Defaults to 1.0.
  • grid_linecolor (str) – Grid lines color. Defaults to mutedblack.
  • window (tuple) – Window on energy axis, can be float or tuple of two floats in eV. Defaults to 3 eV.
  • energy_tick_locator (float) – Places ticks on energy axis on regular intervals. Defaults to 0.5 eV.
  • dos_tick_locator (float) – Places ticks on dos axis on regular intervals. Defaults to 1 state / eV.
  • broadening (float) – Smears DOS by finite Lorentzian width. Defaults to 0.00 eV.
Returns:

axes – Axes object.

set_spectrum(reference=None)[source]
spectrum

aimstools.density_of_states.utilities.DOSSpectrum.