sisl.io.siesta.kpSileSiesta

class sisl.io.siesta.kpSileSiesta(filename, *args, **kwargs)

Bases: SileSiesta

k-points file in 1/Bohr units

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

read_brillouinzone(lattice)

Returns K-points from the file (note that these are in reciprocal units)

read_data([lattice])

Returns K-points from the file (note that these are in reciprocal units)

write(*args, **kwargs)

Generic write method which should be overloaded in child-classes

write_brillouinzone(bz[, fmt])

Writes BrillouinZone-points to file

write_data(k, weight[, fmt])

Writes K-points to file

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

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

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

Returns K-points from the file (note that these are in reciprocal units)

Parameters:

lattice (LatticeChild) – required supercell for the BrillouinZone object

Returns:

bz

Return type:

BrillouinZone

read_data(lattice=None)[source]

Returns K-points from the file (note that these are in reciprocal units)

Parameters:

lattice (LatticeChild, optional) – if supplied the returned k-points will be in reduced coordinates

Returns:

  • k (k-points, in units 1/Bohr)

  • w (weights for k-points)

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_brillouinzone(bz, fmt='.9e')[source]

Writes BrillouinZone-points to file

Parameters:
  • bz (BrillouinZone) – object contain all weights and k-points

  • fmt (str, optional) – format for the k-values

write_data(k, weight, fmt='.9e')[source]

Writes K-points to file

Parameters:
  • k (array_like) – k-points in units 1/Bohr

  • weight (array_like) – same length as k, weights of k-points

  • fmt (str, optional) – format for the k-values