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.

Methods

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

Returns Geometry object from the CUBE file

read_grid([imag])

Returns Grid object from the CUBE file

read_lattice([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

base_file

File of the current Sile

file

File of the current Sile

class InfoAttr(attr, regex, parser, doc='', updatable=False, default=None, found=False)

Bases: object

Holder for parsing lines and extracting information from text files

This consists of:

attr:

the name of the attribute This will be the sile.info. access point.

regex:

the regular expression used to match a line. If a str, it will be compiled as is to a regex pattern. regex.match(line) will be used to check if the value should be updated.

parser:

if regex.match(line) returns a match that is true, then this parser will be executed. The parser must be a function accepting two arguments:

def parser(attr, match)

where attr is this object, and match is the match done on the line. (Note that match.string will return the full line used to match against).

updatable:

control whether a new match on the line will update using parser. If false, only the first match will update the value

default:

the default value of the attribute

found:

whether the value has been found in the file.

__init__(attr, regex, parser, doc='', updatable=False, default=None, found=False)
attr
copy()
doc
documentation()

Returns a documentation string for this object

found
parser
process(line)
regex
updatable
value
__init__(filename, mode='r', *args, **kwargs)

Just to pass away the args and kwargs

property base_file

File of the current Sile

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

File of the current Sile

property file

File of the current Sile

plot

Handles all plotting possibilities for a class

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

Returns Geometry object from the CUBE file

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.

read_lattice(na=False)[source]

Returns Lattice object from the CUBE file

Parameters

na (bool, optional) – whether to also return the number of atoms in the 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.

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, optional) – 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, optional) – 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, optional) – format used for precision output

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

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

  • unit (str, optional) – 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.

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, optional) – 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, optional) – what length unit should the cube file data be written in