Conductivity¶
The conductivity class is used to calculate the thermal conductivity in one of the four frameworks outline in the theory portion. When building a conductivity class object, be sure to include a phonon object and select a framework for calculation.
API Reference¶
-
class kaldo.conductivity.Conductivity(phonons: Phonons, *, method: str =
'rta', diffusivity_bandwidth: float | None =None, diffusivity_threshold: float | None =None, diffusivity_shape: str ='lorentz', is_diffusivity_including_antiresonant: bool =False, tolerance: int | None =None, n_iterations: int | None =None, length: tuple[int, int, int] =(None, None, None), finite_length_method: str ='ms', storage: str ='formatted', **kwargs)[source]¶ The conductivity object is responsible for mean free path and conductivity calculations. It takes a phonons object as a required argument.
- Parameters:¶
- phonons : Phonons¶
Contains all the information about the calculated phononic properties of the system
- method : 'rta', 'sc', 'qhgk', 'inverse'¶
Specifies the method used to calculate the conductivity.
'rta'is relaxation time approximation;'sc'is self-consistent;'qhgk'is Quasi-Harmonic Green Kubo;'inverse'is inversion of the scattering matrix for mean free path.- diffusivity_bandwidth : float, optional¶
(QHGK) Specifies the bandwidth to use in the calculation of the flux operator in the Allen-Feldman model of the thermal conductivity in amorphous systems. Units: rad/ps
- diffusivity_threshold : float, optional¶
(QHGK) This option is off by default. In such case the flux operator in the QHGK and AF models is calculated
- diffusivity_shape : string, optional¶
(QHGK) Defines the algorithm to use to calculate the diffusivity. Available broadenings are
'gauss','lorentz'and'triangle'. Default is'lorentz'.- is_diffusivity_including_antiresonant : bool, optional¶
(QHGK) Defines if you want to include or not anti-resonant terms in diffusivity calculations. Default is False.
- tolerance : int¶
(Self-consistent) In the self consistent conductivity calculation, it specifies the difference in W/m/K between n and n+1 step, to set as exit/convergence condition.
- n_iterations : int¶
(Self-consistent) Specifies the max number of iterations to set as exit condition in the self consistent conductivity calculation
- length: tuple[int, int, int] =
(None, None, None)¶ (Finite Size) Specifies the length to use in x, y, z to calculate the finite size conductivity. 0 or None values corresponds to the infinity length limit.
- finite_length_method : 'ms', 'ballistic'¶
(Finite Size) Specifies how to calculate the finite size conductivity. ‘ms’ is the Mckelvey-Schockley method. ‘ballistic’ is the ballistic limit.
- storage : 'formatted', 'hdf5', 'numpy', 'memory', optional¶
Defines the type of storage used for the simulation. Default is
'formatted'
- Returns:¶
An instance of the
Conductivityclass.- Return type:¶
Examples
Here’s an example to calculate the inverse conductivity on the phonons object and tracing over the phonons modes
` Conductivity(phonons=phonons, method='inverse', storage='memory').conductivity.sum(axis=0)) `- property conductivity : Any¶
Calculate the thermal conductivity per mode in W/m/K
- property mean_free_path : Any¶
Calculate the mean_free_path per mode in A
- property diffusivity¶
Calculate the diffusivity, for each k point in k_points and each mode.
- calculate_scattering_matrix(is_including_diagonal, is_rescaling_omega, is_rescaling_population)[source]¶
Calculate the scattering matrix for phonons.
- calculate_mfp_inverse()[source]¶
This method calculates the inverse of the mean free path for each phonon. The matrix returns k vectors for each mode and has units of inverse Angstroms.
-
calculate_conductivity_full(is_using_gamma_tensor_evects=
False)[source]¶ This calculates the conductivity using the full solution of the space-dependent Boltzmann Transport Equation.