sisl.io.cubeSile

class sisl.io.cubeSile

Bases: Sile

CUBE file object

By default the cube file is written using Bohr units. one can define the units by passing a respective unit argument. Note that the grid data is assumed unit-less and thus no conversion will be done for this data, only atomic coordinates and lattice vectors.

Plotting

plot

Plotting functions for the cubeSile class.

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

Calls read_geometry and creates a GeometryPlot from its output.

plot.grid([imag, axes, represent, ...])

Calls read_grid and creates a GridPlot from its output.

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_basis()

Reads the Atoms object from the CUBE file

read_geometry()

Returns Geometry object from the CUBE file

read_grid([imag])

Returns Grid object from the CUBE file

read_lattice([ret_na])

Returns Lattice object from the CUBE file

write(*args, **kwargs)

Generic write method which should be overloaded in child-classes

write_geometry(geometry[, fmt, size, ...])

Writes Geometry object attached to this grid

write_grid(grid[, fmt, imag, unit])

Write Grid to the contained file

write_lattice(lattice[, fmt, size, origin, unit])

Writes Lattice object attached to this grid

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.grid(imag=None, *, axes=['z'], represent='real', transforms=(), reduce_method='average', boundary_mode='grid-wrap', nsc=(1, 1, 1), interp=(1, 1, 1), isos=[], smooth=False, colorscale=None, crange=None, cmid=None, show_cell='box', cell_style={}, x_range=None, y_range=None, z_range=None, plot_geom=False, geom_kwargs={}, backend='plotly')

Calls read_grid and creates a GridPlot from its output.

Parameters:
  • imag (str or Sile or Grid) – the imaginary part of the grid. If the geometries does not match an error will be raised.

  • axes (Axes) – The axes to project the grid to.

  • represent (Literal['real', 'imag', 'mod', 'phase', 'deg_phase', 'rad_phase']) – The representation of the grid to plot.

  • transforms (Sequence[Union[str, Callable]]) – List of transforms to apply to the grid before plotting.

  • reduce_method (Literal['average', 'sum']) – The method used to reduce the grid axes that are not displayed.

  • boundary_mode (str) – The method used to deal with the boundary conditions. Only used if the grid is to be orthogonalized. See scipy docs for more info on the possible values.

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

  • interp (tuple[int, int, int]) – The interpolation factor to use for each axis to make the grid smoother.

  • isos (Sequence[dict]) – List of isosurfaces or isocontours to plot. See the showcase notebooks for examples.

  • smooth (bool) – Whether to ask the plotting backend to make an attempt at smoothing the grid display.

  • colorscale (Optional[Colorscale]) – Colorscale to use for the grid display in the 2D representation. If None, the default colorscale is used for each backend.

  • crange (Optional[tuple[float, float]]) – Min and max values for the colorscale.

  • cmid (Optional[float]) – The value at which the colorscale is centered.

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

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

  • x_range (Optional[Sequence[float]]) – The range of the x axis to take into account. Even if the X axis is not displayed! This is important because the reducing operation will only be applied on this range.

  • y_range (Optional[Sequence[float]]) – The range of the y axis to take into account. Even if the Y axis is not displayed! This is important because the reducing operation will only be applied on this range.

  • z_range (Optional[Sequence[float]]) – The range of the z axis to take into account. Even if the Z axis is not displayed! This is important because the reducing operation will only be applied on this range.

  • plot_geom (bool) – Whether to plot the associated geometry (if any).

  • geom_kwargs (dict) – Keyword arguments to pass to the geometry plot of the associated geometry.

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

Return type:

GridPlot

See also

GridPlot

The plot class used to generate the plot.

read_grid

The method called to get the data.

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_basis()[source]

Reads the Atoms object from the CUBE file

Return type:

Atoms

read_geometry()[source]

Returns Geometry object from the CUBE file

Return type:

Geometry

read_grid(imag=None)[source]

Returns Grid object from the CUBE file

Parameters:

imag (str or Sile or Grid) – the imaginary part of the grid. If the geometries does not match an error will be raised.

Return type:

Grid

read_lattice(ret_na=False)[source]

Returns Lattice object from the CUBE file

Parameters:

ret_na (bool, optional) – whether to also return the number of atoms in the geometry

Returns:

  • lattice (Lattice) – the lattice object

  • na (int) – number of atoms (only if ret_na)

Return type:

Lattice

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.

write_geometry(geometry, fmt='15.10e', size=None, origin=None, unit='Bohr', *args, **kwargs)[source]

Writes Geometry object attached to this grid

Parameters:
  • geometry (Geometry) – geometry to be written

  • fmt (str) – floating point format for stored values

  • size ((3, ), optional) – shape of the stored grid ([1, 1, 1])

  • origin ((3, ), optional) – origin of the cell ([0, 0, 0])

  • unit (str) – what length unit should the cube file data be written in

write_grid(grid, fmt='.5e', imag=False, unit='Bohr', *args, **kwargs)[source]

Write Grid to the contained file

Parameters:
  • grid (Grid) – the grid to be written in the CUBE file

  • fmt (str) – format used for precision output

  • imag (bool) – write only imaginary part of the grid, default to only writing the real part.

  • unit (str) – what length unit should the cube file data be written in. The grid data is assumed to be unit-less, this unit only refers to the lattice vectors and atomic coordinates.

  • buffersize (int, optional) – size of the buffer while writing the data, (6144)

write_lattice(lattice, fmt='15.10e', size=None, origin=None, unit='Bohr', *args, **kwargs)[source]

Writes Lattice object attached to this grid

Parameters:
  • lattice (Lattice) – lattice to be written

  • fmt (str) – floating point format for stored values

  • size ((3, ), optional) – shape of the stored grid ([1, 1, 1])

  • origin ((3, ), optional) – origin of the cell ([0, 0, 0])

  • unit (str) – what length unit should the cube file data be written in

property base_file

File of the current Sile

property file

File of the current Sile

plot

Plotting functions for the cubeSile class.