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
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
File of the current
Sile
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
- close()
- 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_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