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 ofDOSContribution.- 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.
-