Phonons¶
Building the phonons object is the intermediate step between finishing your Finite Difference object, and initializing the Conductivity object.
API Reference¶
Methods
Calculate the atom projected phonon density of states. |
Attributes
Calculate physical modes. |
|
Calculates the participation ratio of each normal mode. |
|
Calculate the phonons bandwidth, the inverse of the lifetime, for each k point in k_points and each mode. |
|
Calculate the isotopic bandwidth with Tamura perturbative formula. |
|
Calculate the phonons bandwidth, the inverse of the lifetime, for each k point in k_points and each mode. |
|
Calculate phonons frequency |
|
Calculates the angular frequencies from the diagonalized dynamical matrix. |
|
Calculates the velocity using Hellmann-Feynman theorem. |
|
Calculate the heat capacity for each k point in k_points and each mode. If classical, it returns the Boltzmann constant in J/K. If quantum it returns the derivative of the Bose-Einstein weighted by each phonons energy. .. math::. |
|
Calculate the generalized 2d heat capacity for each k point in k_points and each mode. |
|
Calculate the phonons population for each k point in k_points and each mode. |
|
Calculate the 3-phonons-processes phase_space, for each k point in k_points and each mode. |
|
Calculates the eigenvalues of the dynamical matrix in Thz^2. |
|
Calculates the eigenvectors of the dynamical matrix. |
- class kaldo.phonons.Phonons(**kwargs)[source]¶
The Phonons object exposes all the phononic properties of a system by manipulation of the quantities passed into the ForceConstant object. The arguments passed in here reflect assumptions to be made about the macroscopic system e.g. the temperature, or whether the system is amorphous or a nanowire. The ForceConstants, and temperature are the only two required parameters, though we highly recommend the switch controlling whether to use quantum/classical statistics () and the number of k-points to consider (). For most users, you will not need to access any Phonon object functions directly , but only reference an attribute (e.g. Phonons.frequency). Please check out the examples for details on our recommendations for retrieving, and plotting data.
- Parameters:
forceconstants (ForceConstants) – Contains all the information about the system and the derivatives of the potential energy.
temperature (float) – Defines the temperature of the simulation Units: K
is_classic (bool) – Specifies if the system is treated with classical or quantum statistics. Default:
kpts ((int, int, int)) – Defines the number of k points to use to create the k mesh Default: (1, 1, 1)
min_frequency (float) – Ignores all phonons with frequency below Units: Thz Default:
max_frequency (float) – Ignores all phonons with frequency above Units: THz Default:
third_bandwidth (float) – Defines the width of the energy conservation smearing in the phonons scattering calculation. If the width is calculated dynamically. Otherwise the input value corresponds to the width. Units: THz Default:
broadening_shape (string) – Defines the algorithm to use for line-broadening when enforcing energy conservation rules for three-phonon scattering. Options: , and . Default:
folder (string) – Specifies where to store the data files. Default: .
storage (string) – Defines the strategy used to store observables. The strategy stores formatted text files for most harmonic properties but relies on numpy arrays for large arrays like the gamma tensor. The option doesn’t generate any output except what is printed in your script. Options: , , , , Default: ‘formatted’
grid_type (string) – Specifies whether the atoms in the replicated system were repeated using a C-like index ordering which changes the last axis the fastest or FORTRAN-like index ordering which changes the first index fastest. Options: ‘C’, ‘F’ Default: ‘C’
is_balanced (bool) – Enforce detailed balance when calculating anharmonic properties. Useful for simulations where it may be difficult to get a sufficiently dense k-point grid. Default: False
is_unfolding (bool) – If the second order force constants need to be unfolded like in P. B. Allen et al., Phys. Rev. B 87, 085322 (2013) set this to True. Default: False
g_factor ((n_atoms) array , optional) – It contains the isotopic g factor for each atom of the unit cell Default: None
include_isotopes (bool, optional.) – Defines if you want to include isotopic scattering bandwidths. Default is False.
iso_speed_up (bool, optional.) – Defines if you want to truncate the energy-conservation delta in the isotopic scattering computation. Default is True.
- Return type:
Phonons Object
- Attributes:
anharmonic_bandwidth
Calculate the phonons bandwidth, the inverse of the lifetime, for each k point in k_points and each mode.
bandwidth
Calculate the phonons bandwidth, the inverse of the lifetime, for each k point in k_points and each mode.
eigenvalues
Calculates the eigenvalues of the dynamical matrix in Thz^2.
eigenvectors
Calculates the eigenvectors of the dynamical matrix.
frequency
Calculate phonons frequency
heat_capacity
Calculate the heat capacity for each k point in k_points and each mode.
heat_capacity_2d
Calculate the generalized 2d heat capacity for each k point in k_points and each mode.
isotopic_bandwidth
Calculate the isotopic bandwidth with Tamura perturbative formula.
omega
Calculates the angular frequencies from the diagonalized dynamical matrix.
participation_ratio
Calculates the participation ratio of each normal mode.
phase_space
Calculate the 3-phonons-processes phase_space, for each k point in k_points and each mode.
physical_mode
Calculate physical modes.
population
Calculate the phonons population for each k point in k_points and each mode.
velocity
Calculates the velocity using Hellmann-Feynman theorem.
Methods
pdos
([p_atoms, direction, bandwidth, n_points])Calculate the atom projected phonon density of states.