phonon_lifetime.defect package#

Representation of defect systems.

class phonon_lifetime.defect.DefectCell(pristine: C)#

Bases: UnitCell, ABC, Generic

Represents the supercell of a system with a defect.

as_pristine() C#

Get the pristine cell of the system.

get_defect_strain(strain: StrainSystem) StrainSystem[Self]#

Create a defect cell from a pristine cell and a strain.

get_pristine_phonon(phonon: Phonon[StrainSystem[DefectCell]]) Phonon[StrainSystem]#

Create a defect cell from a pristine cell and a strain.

get_pristine_phonons(phonon: Phonons[StrainSystem[DefectCell]]) Phonons[StrainSystem]#

Create a defect cell from a pristine cell and a strain.

get_pristine_strain(strain: StrainSystem[DefectCell]) StrainSystem#

Create a defect cell from a pristine cell and a strain.

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

The primitive cell vectors.

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

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

Bases: object

A mass defect in the system.

Each defect is represented as a tuple of (symbol, mass, index)

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

Bases: DefectCell, Generic

A cell with a mass defect.

property atom_fractions: np.ndarray[__annotationlib_name_1__, np.dtype[np.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 masses: np.ndarray[__annotationlib_name_1__, np.dtype[np.floating]]#

Mass of the atoms in the unit cell.

property symbols: list[str]#

Symbols of the atoms in the unit cell.

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

Bases: object

A vacancy defect in the system.

defects: list[int]#
class phonon_lifetime.defect.VacancyDefectCell(pristine: C, defects: VacancyDefect)#

Bases: DefectCell, Generic

A cell with a vacancy defect.

property 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 masses: ndarray[tuple[int], dtype[floating]]#

Mass of the atoms in the unit cell.

property symbols: list[str]#

Symbols of the atoms in the unit cell.

phonon_lifetime.defect.as_pristine_gamma_phonon(phonon: GammaPhonon[StrainSystem[DefectCell]]) GammaPhonon[StrainSystem]#
phonon_lifetime.defect.as_pristine_gamma_phonons(phonons: GammaPhonons[StrainSystem[DefectCell]]) GammaPhonons[StrainSystem]#
phonon_lifetime.defect.as_pristine_phonon(phonon: Phonon[StrainSystem[DefectCell]]) Phonon[StrainSystem]#
phonon_lifetime.defect.as_pristine_phonons(phonons: Phonons[StrainSystem[DefectCell]]) Phonons[StrainSystem]#
phonon_lifetime.defect.as_pristine_strain_system(system: StrainSystem[DefectCell]) StrainSystem#
phonon_lifetime.defect.with_mass_defect(pristine: StrainSystem[__annotationlib_name_1__], defects: MassDefect) StrainSystem[__annotationlib_name_2__]#

Create a mass defect cell from a pristine cell.

phonon_lifetime.defect.with_vacancy_defect(pristine: StrainSystem[__annotationlib_name_1__], defects: VacancyDefect) StrainSystem[__annotationlib_name_2__]#

Create a vacancy defect cell from a pristine cell.