MonkhorstPackBZ

class sisl.physics.MonkhorstPackBZ(obj, nkpt, symmetry=True, displacement=None, size=None)[source]

Create a Monkhorst-Pack grid for the Brillouin zone

Attributes

cell
k A list of all k-points (if available)
rcell
weight Weight of the k-points in the BrillouinZone object

Methods

__init__(obj, nkpt[, symmetry, ...]) Instantiate the MonkhorstPackBZ by a number of points in each direction
array([dtype]) Return self with numpy.ndarray returned quantities
average([dtype]) Return self with yielded quantities
mean([dtype]) Return self with yielded quantities
tocartesian(k) Transfer a k-point in reduced coordinates to the Cartesian coordinates
toreduced(k) Transfer a k-point in Cartesian coordinates to the reduced coordinates
yields([dtype]) Return self with yielded quantities
array(dtype=<type 'numpy.float64'>)

Return self with numpy.ndarray returned quantities

This forces the __call__ routine to return a single array.

Parameters:

dtype : numpy.dtype, optional

the data-type to cast the values to

See also

yields
all output returned through an iterator
average
take the average (with k-weights) of the Brillouin zone

Examples

>>> obj = BrillouinZone(...) 
>>> obj.array().eigh() 
average(dtype=<type 'numpy.float64'>)

Return self with yielded quantities

This forces the __call__ routine to return a an iterator which may yield the quantities calculated.

Parameters:

dtype : numpy.dtype, optional

the data-type to cast the values to

See also

array
all output as a single array
yields
all output returned through an iterator

Examples

>>> obj = BrillouinZone(Hamiltonian) 
>>> obj.average().eigh() 
>>> obj = BrillouinZone(Hamiltonian) 
>>> obj.average() 
>>> obj.eigh() 
>>> obj.eighs() 
cell
k

A list of all k-points (if available)

mean(dtype=<type 'numpy.float64'>)

Return self with yielded quantities

This forces the __call__ routine to return a an iterator which may yield the quantities calculated.

Parameters:

dtype : numpy.dtype, optional

the data-type to cast the values to

See also

array
all output as a single array
yields
all output returned through an iterator

Examples

>>> obj = BrillouinZone(Hamiltonian) 
>>> obj.average().eigh() 
>>> obj = BrillouinZone(Hamiltonian) 
>>> obj.average() 
>>> obj.eigh() 
>>> obj.eighs() 
rcell
tocartesian(k)

Transfer a k-point in reduced coordinates to the Cartesian coordinates

Parameters:

k : list of float

k-point in reduced coordinates

toreduced(k)

Transfer a k-point in Cartesian coordinates to the reduced coordinates

Parameters:

k : list of float

k-point in Cartesian coordinates

weight

Weight of the k-points in the BrillouinZone object

yields(dtype=<type 'numpy.float64'>)

Return self with yielded quantities

This forces the __call__ routine to return a an iterator which may yield the quantities calculated.

Parameters:

dtype : numpy.dtype, optional

the data-type to cast the values to

See also

array
all output as a single array
average
take the average (with k-weights) of the Brillouin zone

Examples

>>> obj = BrillouinZone(Hamiltonian) 
>>> obj.yields().eigh()