sisl.io.cubeSile
- class sisl.io.cubeSile(filename, *args, **kwargs)
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
Plotting functions for the
cubeSile
class.plot.geometry
(*[, axes, atoms, ...])Calls
read_geometry
and creates aGeometryPlot
from its output.plot.grid
([imag, axes, represent, ...])Calls
read_grid
and creates aGridPlot
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
Reads the
Atoms
object from the CUBE fileReturns
Geometry
object from the CUBE fileread_grid
([imag])Returns Grid object from the CUBE file
read_lattice
([ret_na])Returns
Lattice
object from the CUBE filewrite
(*args, **kwargs)Generic write method which should be overloaded in child-classes
write_geometry
(geometry[, fmt, size, ...])Writes
Geometry
object attached to this gridwrite_grid
(grid[, fmt, imag, unit])Write Grid to the contained file
write_lattice
(lattice[, fmt, size, origin, unit])Writes
Lattice
object attached to this gridAttributes
File of the current
Sile
File of the current
Sile
- base_directory(relative_to='.')
Retrieve the base directory of the file, relative to the path relative_to
- close()
- plot.geometry(*, axes: Axes = ['x', 'y', 'z'], atoms: AtomsIndex = None, atoms_style: Sequence[AtomsStyleSpec] = [], atoms_scale: float = 1.0, atoms_colorscale: Colorscale | None = None, drawing_mode: Literal['scatter', 'balls', None] = None, bind_bonds_to_ats: bool = True, points_per_bond: int = 20, bonds_style: StyleSpec = {}, bonds_scale: float = 1.0, bonds_colorscale: Colorscale | None = None, show_atoms: bool = True, show_bonds: bool = True, show_cell: Literal['box', 'axes', False] = 'box', cell_style: StyleSpec = {}, nsc: tuple[int, int, int] = (1, 1, 1), atoms_ndim_scale: tuple[float, float, float] = (16, 16, 1), bonds_ndim_scale: tuple[float, float, float] = (1, 1, 10), dataaxis_1d: np.ndarray | Callable | None = None, arrows: Sequence[AtomArrowSpec] = (), backend='plotly') GeometryPlot
Calls
read_geometry
and creates aGeometryPlot
from its output.- Parameters:
axes – The axes to project the geometry to.
atoms – The atoms to plot. If None, all atoms are plotted.
atoms_style – List of style specifications for the atoms. See the showcase notebooks for examples.
atoms_scale – Scaling factor for the size of all atoms.
atoms_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 – The method used to draw the atoms.
bind_bonds_to_ats – Whether to display only bonds between atoms that are being displayed.
points_per_bond – 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 – Style specification for the bonds. See the showcase notebooks for examples.
bonds_scale – Scaling factor for the width of all bonds.
bonds_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 – Whether to display the atoms.
show_bonds – Whether to display the bonds.
show_cell – Mode to display the cell. If False, the cell is not displayed.
cell_style – Style specification for the cell. See the showcase notebooks for examples.
nsc – Number of unit cells to display in each direction.
atoms_ndim_scale – Scaling factor for the size of the atoms for different dimensionalities (1D, 2D, 3D).
bonds_ndim_scale – Scaling factor for the width of the bonds for different dimensionalities (1D, 2D, 3D).
dataaxis_1d – Only meaningful for 1D plots. The data to plot on the Y axis.
arrows – List of arrow specifications to display. See the showcase notebooks for examples.
backend – The backend to use to generate the figure.
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: Axes = ['z'], represent: Literal['real', 'imag', 'mod', 'phase', 'deg_phase', 'rad_phase'] = 'real', transforms: Sequence[str | Callable] = (), reduce_method: Literal['average', 'sum'] = 'average', boundary_mode: str = 'grid-wrap', nsc: tuple[int, int, int] = (1, 1, 1), interp: tuple[int, int, int] = (1, 1, 1), isos: Sequence[dict] = [], smooth: bool = False, colorscale: Colorscale | None = None, crange: tuple[float, float] | None = None, cmid: float | None = None, show_cell: Literal['box', 'axes', False] = 'box', cell_style: dict = {}, x_range: Sequence[float] | None = None, y_range: Sequence[float] | None = None, z_range: Sequence[float] | None = None, plot_geom: bool = False, geom_kwargs: dict = {}, backend: str = 'plotly') GridPlot
Calls
read_grid
and creates aGridPlot
from its output.- Parameters:
imag (
str
orSile
orGrid
) – the imaginary part of the grid. If the geometries does not match an error will be raised.axes – The axes to project the grid to.
represent – The representation of the grid to plot.
transforms – List of transforms to apply to the grid before plotting.
reduce_method – The method used to reduce the grid axes that are not displayed.
boundary_mode – 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 – The number of unit cells to display in each direction.
interp – The interpolation factor to use for each axis to make the grid smoother.
isos – List of isosurfaces or isocontours to plot. See the showcase notebooks for examples.
smooth – Whether to ask the plotting backend to make an attempt at smoothing the grid display.
colorscale – Colorscale to use for the grid display in the 2D representation. If None, the default colorscale is used for each backend.
crange – Min and max values for the colorscale.
cmid – The value at which the colorscale is centered.
show_cell – Method used to display the unit cell. If False, the cell is not displayed.
cell_style – Style specification for the cell. See the showcase notebooks for examples.
x_range – 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 – 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 – 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 – Whether to plot the associated geometry (if any).
geom_kwargs – Keyword arguments to pass to the geometry plot of the associated geometry.
backend – The backend to use to generate the figure.
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.
- 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: Geometry, fmt: str = '15.10e', size=None, origin=None, unit: str = 'Bohr', *args, **kwargs)[source]
Writes
Geometry
object attached to this grid- Parameters:
geometry – geometry to be written
fmt – 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 – what length unit should the cube file data be written in
- write_grid(grid: Grid, fmt: str = '.5e', imag: bool = False, unit: str = 'Bohr', *args, **kwargs)[source]
Write Grid to the contained file
- Parameters:
grid – the grid to be written in the CUBE file
fmt – format used for precision output
imag – write only imaginary part of the grid, default to only writing the real part.
unit – 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: Lattice, fmt: str = '15.10e', size=None, origin=None, unit: str = 'Bohr', *args, **kwargs)[source]
Writes
Lattice
object attached to this grid- Parameters:
lattice – lattice to be written
fmt – 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 – what length unit should the cube file data be written in