phonon_lifetime.defect package#

Representation of defect systems.

class phonon_lifetime.defect.MassDefect(*, defects: list[tuple[float, int]])#

Bases: object

A mass defect in the system.

defects: list[tuple[float, int]]#
class phonon_lifetime.defect.MassDefectMode(*, omega: float, vector: ndarray[tuple[int, int], dtype[complex128]], system: S)#

Bases: CanonicalMode[MassDefectSystem]

A normal mode of a system with a mass defect.

class phonon_lifetime.defect.MassDefectModes(*, _system: MassDefectSystem, _omega: ndarray[Any, dtype[floating]], _modes: ndarray[Any, dtype[complex128]])#

Bases: NormalModes[MassDefectSystem]

Result of a normal mode calculation for a mass defect system.

get_mode(branch: int, q: int | tuple[int, int, int]) MassDefectMode#

Select the normal mode for a given branch and q point.

property n_branch: int#

The number of branches in the calculation.

property n_q: int#

The number of q points in the calculation.

property omega: ndarray[tuple[int], dtype[floating]]#

A np.array of frequencies for each mode.

property system: MassDefectSystem#

The system that this normal mode belongs to.

property vectors: ndarray[tuple[int, int], dtype[complex128]]#

The vector of the mode, an (n_modes, n_atoms) array.

class phonon_lifetime.defect.MassDefectSystem(*, pristine: PristineSystem, defect: MassDefect)#

Bases: System

Represents a system with a vacancy.

as_pristine() PristineSystem#

Return a new System with no defects.

property defect: MassDefect#

The mass defect in the system.

get_modes() MassDefectModes#

Get the normal modes of the system.

property masses: ndarray[tuple[int], dtype[floating]]#

Mass of each atom in the system.

property n_repeats: tuple[int, int, int]#

Number of repeats of the primitive cell in each direction (nx, ny, nz).

property primitive_cell: ndarray[tuple[int, int], dtype[floating]]#

Primitive cell lattice vectors.

primitive_cell[i] is the vector (x, y, z) for the i’th lattice vector of the primitive cell.

property spring_constant: tuple[float, float, float]#

Spring constant for each direction (kx, ky, kz).

class phonon_lifetime.defect.VacancyDefect(*, defects: list[int])#

Bases: object

A vacancy defect in the system.

defects: list[int]#
class phonon_lifetime.defect.VacancyMode(*, omega: float, vector: ndarray[tuple[int, int], dtype[complex128]], system: S)#

Bases: CanonicalMode[VacancySystem]

A normal mode of a pristine system.

class phonon_lifetime.defect.VacancyModes(*, _system: VacancySystem, _omega: ndarray[Any, dtype[floating]], _modes: ndarray[tuple[int, int], dtype[complex128]])#

Bases: NormalModes[VacancySystem]

Result of a normal mode calculation for a phonon system.

get_mode(branch: int, q: int | tuple[int, int, int]) VacancyMode#

Select the normal mode for a given branch and q point.

property n_branch: int#

The number of branches in the calculation.

property n_q: int#

The number of q points in the calculation.

property omega: ndarray[tuple[int], dtype[floating]]#

A np.array of frequencies for each mode.

property system: VacancySystem#

The system that this normal mode belongs to.

property vectors: ndarray[tuple[int, int], dtype[complex128]]#

The vector of the mode, an (n_modes, n_atoms) array.

class phonon_lifetime.defect.VacancySystem(*, pristine: PristineSystem, defect: VacancyDefect)#

Bases: System

Represents a system with a vacancy.

as_pristine() PristineSystem#

Return a new System with no defects.

property defect: VacancyDefect#

The vacancy defect in the system.

get_modes() VacancyModes#

Get the normal modes of the system.

property masses: ndarray[tuple[int], dtype[floating]]#

Mass of each atom in the system.

property n_repeats: tuple[int, int, int]#

Number of repeats of the primitive cell in each direction (nx, ny, nz).

property primitive_cell: ndarray[tuple[int, int], dtype[floating]]#

Primitive cell lattice vectors.

primitive_cell[i] is the vector (x, y, z) for the i’th lattice vector of the primitive cell.

property spring_constant: tuple[float, float, float]#

Spring constant for each direction (kx, ky, kz).