phonon_lifetime.defect package#

Representation of defect systems.

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

Bases: object

A mass defect in the system.

defects: list[tuple[str | None, 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.

property n_modes: int#

The number of modes 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 * 3) array.

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

Bases: System

Represents a system with a mass defect.

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 every atom in the system.

property n_primitive_atoms: int#

Number of atoms in the primitive cell.

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

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

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

The positions of the atoms as a fraction of the primitive cell.

primitive_atom_positions[i] is the position (x, y, z) of the i’th atom in the primitive cell.

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 strain_tensor: ndarray[tuple[int, int, Literal[3], Literal[3]], dtype[float64]]#

Strain tensor matrix for the system.

strain_tensor[i, j, alpha, beta] is the force constant between the i’th and j’th atom in the system, for each pair of cartesian directions (alpha, beta).

property symbols: list[str]#

Chemical symbol of every atom in the system.

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 vacancy defect 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.

property n_modes: int#

The number of modes 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 * 3) 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 every atom in the system.

property n_primitive_atoms: int#

Number of atoms in the primitive cell.

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

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

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

The positions of the atoms as a fraction of the primitive cell.

primitive_atom_positions[i] is the position (x, y, z) of the i’th atom in the primitive cell.

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 strain_tensor: ndarray[tuple[int, int, Literal[3], Literal[3]], dtype[float64]]#

Strain tensor matrix for the system.

strain_tensor[i, j, alpha, beta] is the force constant between the i’th and j’th atom in the system, for each pair of cartesian directions (alpha, beta).

property symbols: list[str]#

Chemical symbol of every atom in the system.