sisl.io.xsfSile
- class sisl.io.xsfSile(filename, *args, **kwargs)
Bases:
Sile
XSF file for XCrySDen
When creating an XSF file one must denote how many geometries to write out. It is also necessary to use the xsf in a context manager, otherwise it will overwrite itself repeatedly.
>>> with xsfSile('file.xsf', 'w', steps=100) as xsf: ... for i in range(100): ... xsf.write_geometry(geom)
- Parameters:
steps (int, optional) – number of steps the xsf file contains. Defaults to 1
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
write
(*args, **kwargs)Generic write method which should be overloaded in child-classes
write_geometry
(geometry[, fmt, data])Writes the geometry to the contained file
write_grid
(*args, **kwargs)Store grid(s) data to an XSF file
write_lattice
(lattice[, fmt])Writes the supercell to the contained file
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
- base_directory(relative_to='.')
Retrieve the base directory of the file, relative to the path relative_to
- 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.
- 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_grid(*args, **kwargs)[source]
Store grid(s) data to an XSF file
Examples
>>> g1 = Grid(0.1, lattice=2.) >>> g2 = Grid(0.1, lattice=2.) >>> get_sile('output.xsf', 'w').write_grid(g1, g2)
- Parameters:
*args (Grid) – a list of data-grids to be written to the XSF file. Each argument gets the field name
?grid_<>
where <> starts with the integer 0, and ? isreal_
/imag_
for complex valued grids.geometry (Geometry, optional) – the geometry stored in the file, defaults to
args[0].geometry
fmt (str, optional) – floating point format for data (.5e)
buffersize (int, optional) – size of the buffer while writing the data, (6144)