sisl.physics.phonon.EigenvaluePhonon

class sisl.physics.phonon.EigenvaluePhonon(c, parent=None, **info)[source]

Bases: CoefficientPhonon

Eigenvalues of phonon modes, no eigenmodes retained

This holds routines that enable the calculation of density of states.

Methods

DOS(E[, distribution])

Calculate DOS for provided energies, E.

copy()

Return a copy (only the coefficients are copied).

degenerate(atol)

Find degenerate coefficients with a specified precision

iter([asarray])

An iterator looping over the coefficients in this system

occupation([distribution])

Calculate the occupations for the states according to a distribution function

remove(index[, inplace])

Return a new coefficient without the specified coefficients

sub(index[, inplace])

Return a new coefficient with only the specified coefficients

Attributes

c

dkind

The data-type of the coefficient (in str)

dtype

Data-type for the coefficients

hw

Eigenmode values in units of \(\hbar \omega\) [eV]

info

parent

shape

Returns the shape of the coefficients

DOS(E, distribution='gaussian')[source]

Calculate DOS for provided energies, E.

This routine calls sisl.physics.phonon.DOS with appropriate arguments and returns the DOS.

See DOS for argument details.

copy() Coefficient

Return a copy (only the coefficients are copied). parent and info are passed by reference

degenerate(atol: float)

Find degenerate coefficients with a specified precision

Parameters:

atol – the precision above which coefficients are not considered degenerate

Returns:

list of numpy.ndarray – a list of indices

iter(asarray=False)

An iterator looping over the coefficients in this system

Parameters:

asarray (bool, optional) – if true the yielded values are the coefficient vectors, i.e. a numpy array. Otherwise an equivalent object is yielded.

Yields:
  • coeff (Coefficent) – the current coefficent as an object, only returned if asarray is false.

  • coeff (numpy.ndarray) – the current the coefficient as an array, only returned if asarray is true.

occupation(distribution='bose_einstein')[source]

Calculate the occupations for the states according to a distribution function

Parameters:

distribution (str or func, optional) – distribution used to find occupations

Returns:

numpy.ndarraylen(self) with occupation values

remove(index: sisl.typing.SimpleIndex, inplace: bool = False) Coefficient | None

Return a new coefficient without the specified coefficients

Parameters:
  • index – indices that are removed in the returned object

  • inplace – whether the values will be removed inplace

Returns:

Coefficient – a new coefficient without containing the requested elements

sub(index: sisl.typing.SimpleIndex, inplace: bool = False) Coefficient | None

Return a new coefficient with only the specified coefficients

Parameters:
  • index – indices that are retained in the returned object

  • inplace – whether the values will be retained inplace

Returns:

Coefficient – a new coefficient only containing the requested elements, only if inplace is false

c
property dkind

The data-type of the coefficient (in str)

property dtype

Data-type for the coefficients

property hw

Eigenmode values in units of \(\hbar \omega\) [eV]

info
parent
property shape

Returns the shape of the coefficients