sisl.io.siesta.gridncSileSiesta

class sisl.io.siesta.gridncSileSiesta(filename, mode='r', lvl=0, access=1, *args, **kwargs)

Bases: SileCDFSiesta

NetCDF real-space grid file

The grid sile will automatically convert the units from Siesta units (Bohr, Ry) to sisl units (Ang, eV) provided the correct extension is present.

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

iter([group, dimension, variable, levels, root])

Iterator on all groups, variables and dimensions.

read(*args, **kwargs)

Generic read method which should be overloaded in child-classes

read_grid([index, name])

Reads a grid in the current Siesta.grid.nc file

read_lattice()

Returns a Lattice object from a Siesta.grid.nc file

write(*args, **kwargs)

Generic write method which should be overloaded in child-classes

write_grid(grid[, spin, nspin])

Write a grid to the grid.nc file

write_lattice(lattice)

Write a supercell to the grid.nc file

base_file

File of the current Sile

file

File of the current Sile

__init__(filename, mode='r', lvl=0, access=1, *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

iter(group=True, dimension=True, variable=True, levels=-1, root=None)

Iterator on all groups, variables and dimensions.

This iterator iterates through all groups, variables and dimensions in the Dataset

The generator sequence will _always_ be:

  1. Group

  2. Dimensions in group

  3. Variables in group

As the dimensions are generated before the variables it is possible to copy groups, dimensions, and then variables such that one always ensures correct dependencies in the generation of a new SileCDF.

Parameters:
  • group (bool (True)) – whether the iterator yields Group instances

  • dimension (bool (True)) – whether the iterator yields Dimension instances

  • variable (bool (True)) – whether the iterator yields Variable instances

  • levels (int (-1)) – number of levels to traverse, with respect to root variable, i.e. number of sub-groups this iterator will return.

  • root (str (None)) – the base root to start iterating from.

Examples

Script for looping and checking each instance.

>>> for gv in self.iter():
...     if self.isGroup(gv):
...         # is group
...     elif self.isDimension(gv):
...         # is dimension
...     elif self.isVariable(gv):
...         # is variable
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_grid(index=0, name='gridfunc', *args, **kwargs)[source]

Reads a grid in the current Siesta.grid.nc file

Enables the reading and processing of the grids created by Siesta

Parameters:
  • index (int or array_like, optional) – the spin-index for retrieving one of the components. If a vector is passed it refers to the fraction per indexed component. I.e. [0.5, 0.5] will return sum of half the first two components. Default to the first component.

  • name (str, optional) – the name for the grid-function (do not supply for standard Siesta output)

  • geometry (Geometry, optional) – add the Geometry to the Grid

  • spin (optional) – same as index argument. spin argument has precedence.

read_lattice()[source]

Returns a Lattice object from a Siesta.grid.nc file

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(grid, spin=0, nspin=None, **kwargs)[source]

Write a grid to the grid.nc file

write_lattice(lattice)[source]

Write a supercell to the grid.nc file