sisl.io.siesta.pdosSileSiesta

class sisl.io.siesta.pdosSileSiesta

Bases: SileSiesta

Projected DOS file with orbital information

Data file containing the PDOS as calculated by Siesta.

Plotting

plot

Plotting functions for the pdosSileSiesta class.

plot.geometry(*[, axes, ...])

Calls read_geometry and creates a GeometryPlot from its output.

plot.pdos(*[, groups, ...])

Creates a PDOSData object and then plots a PdosPlot from it.

Methods

base_directory([relative_to])

Retrieve the base directory of the file, relative to the path relative_to

close()

dir_file([filename, filename_base])

File of the current Sile

read(*args, **kwargs)

Generic read method which should be overloaded in child-classes

read_data([as_dataarray])

Returns data associated with the PDOS file

read_fermi_level()

Returns the fermi-level

read_geometry()

Read the geometry with coordinates and correct orbital counts

write(*args, **kwargs)

Generic write method which should be overloaded in child-classes

Attributes

base_file

File of the current Sile

file

File of the current Sile

base_directory(relative_to='.')

Retrieve the base directory of the file, relative to the path relative_to

close()
dir_file(filename=None, filename_base='')

File of the current Sile

plot.geometry(*, axes=['x', 'y', 'z'], atoms=None, atoms_style=[], atoms_scale=1.0, atoms_colorscale=None, drawing_mode=None, bind_bonds_to_ats=True, points_per_bond=20, bonds_style={}, bonds_scale=1.0, bonds_colorscale=None, show_atoms=True, show_bonds=True, show_cell='box', cell_style={}, nsc=(1, 1, 1), atoms_ndim_scale=(16, 16, 1), bonds_ndim_scale=(1, 1, 10), dataaxis_1d=None, arrows=(), backend='plotly')

Calls read_geometry and creates a GeometryPlot from its output.

Parameters:
  • axes (Axes) – The axes to project the geometry to.

  • atoms (AtomsIndex) – The atoms to plot. If None, all atoms are plotted.

  • atoms_style (Sequence[AtomsStyleSpec]) – List of style specifications for the atoms. See the showcase notebooks for examples.

  • atoms_scale (float) – Scaling factor for the size of all atoms.

  • atoms_colorscale (Optional[Colorscale]) – Colorscale to use for the atoms in case the color attribute is an array of values. If None, the default colorscale is used for each backend.

  • drawing_mode (Literal['scatter', 'balls', None]) – The method used to draw the atoms.

  • bind_bonds_to_ats (bool) – Whether to display only bonds between atoms that are being displayed.

  • points_per_bond (int) – When the points are drawn using points instead of lines (e.g. in some frameworks to draw multicolor bonds), the number of points used per bond.

  • bonds_style (StyleSpec) – Style specification for the bonds. See the showcase notebooks for examples.

  • bonds_scale (float) – Scaling factor for the width of all bonds.

  • bonds_colorscale (Optional[Colorscale]) – Colorscale to use for the bonds in case the color attribute is an array of values. If None, the default colorscale is used for each backend.

  • show_atoms (bool) – Whether to display the atoms.

  • show_bonds (bool) – Whether to display the bonds.

  • show_cell (Literal['box', 'axes', False]) – Mode to display the cell. If False, the cell is not displayed.

  • cell_style (StyleSpec) – Style specification for the cell. See the showcase notebooks for examples.

  • nsc (tuple[int, int, int]) – Number of unit cells to display in each direction.

  • atoms_ndim_scale (tuple[float, float, float]) – Scaling factor for the size of the atoms for different dimensionalities (1D, 2D, 3D).

  • bonds_ndim_scale (tuple[float, float, float]) – Scaling factor for the width of the bonds for different dimensionalities (1D, 2D, 3D).

  • dataaxis_1d (Optional[Union[np.ndarray, Callable]]) – Only meaningful for 1D plots. The data to plot on the Y axis.

  • arrows (Sequence[AtomArrowSpec]) – List of arrow specifications to display. See the showcase notebooks for examples.

  • backend – The backend to use to generate the figure.

Return type:

GeometryPlot

See also

GeometryPlot

The plot class used to generate the plot.

read_geometry

The method called to get the data.

plot.pdos(*, groups=[{'name': 'DOS'}], Erange=(-2, 2), E_axis='x', line_mode='line', line_scale=1.0, backend='plotly')

Creates a PDOSData object and then plots a PdosPlot from it.

Parameters:
  • groups (Sequence[OrbitalStyleQuery]) – List of orbital specifications to filter and accumulate the PDOS. The contribution of each group will be displayed in a different line. See showcase notebook for examples.

  • Erange (tuple[float, float]) – The energy range to plot.

  • E_axis (Literal['x', 'y']) – Axis to project the energies.

  • line_mode (Literal['line', 'scatter', 'area_line']) – Mode used to draw the PDOS lines.

  • line_scale (float) – Scaling factor for the width of all lines.

  • backend (str) – The backend to generate the figure.

Return type:

PdosPlot

See also

PdosPlot

The plot class used to generate the plot.

PDOSData

The class to which data is converted.

read(*args, **kwargs)

Generic read method which should be overloaded in child-classes

Parameters:

kwargs – keyword arguments will try and search for the attribute read_<> and call it with the remaining **kwargs as arguments.

read_data(as_dataarray=False)[source]

Returns data associated with the PDOS file

For spin-polarized calculations the returned values are up/down, orbitals, energy. For non-collinear calculations the returned values are sum/x/y/z, orbitals, energy.

Parameters:

as_dataarray (bool, optional) – If True the returned PDOS is a xarray.DataArray with energy, spin and orbital information as coordinates in the data. The geometry, unit and Fermi level are stored as attributes in the DataArray.

Returns:

  • geom (Geometry) – instance with positions, atoms and orbitals.

  • E (numpy.ndarray) – the energies at which the PDOS has been evaluated at (if Fermi-level present in file energies are shifted to \(E - E_F = 0\)).

  • PDOS (numpy.ndarray) – an array of DOS with dimensions (nspin, geom.no, len(E)) (with different spin-components) or (geom.no, len(E)) (spin-symmetric).

  • all (xarray.DataArray) – if as_dataarray is True, only this data array is returned, in this case all data can be post-processed using the xarray selection routines.

read_fermi_level()[source]

Returns the fermi-level

Return type:

float

read_geometry()[source]

Read the geometry with coordinates and correct orbital counts

Return type:

Geometry

write(*args, **kwargs)

Generic write method which should be overloaded in child-classes

Parameters:

**kwargs – keyword arguments will try and search for the attribute write_ and call it with the remaining **kwargs as arguments.

property base_file

File of the current Sile

property file

File of the current Sile

plot

Plotting functions for the pdosSileSiesta class.