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

base_file

File of the current Sile

file

File of the current Sile

read_geometry

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

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 = <sisl.io._multiple.SileBound object>[source]
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='.8f', data=None)[source]

Writes the geometry to the contained file

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

  • fmt (str, optional) – used format for the precision of the data

  • data ((geometry.na, 3), optional) – auxiliary data associated with the geometry to be saved along side. Internally in XCrySDen this data is named Forces

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 ? is real_/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)

write_lattice(lattice, fmt='.8f')[source]

Writes the supercell to the contained file

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

  • fmt (str, optional) – used format for the precision of the data