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(**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.

  • 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 – (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 Conductivity class.

Return type:

Conductivity

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)) `

Attributes:
conductivity

Calculate the thermal conductivity per mode in W/m/K

diffusivity

Calculate the diffusivity, for each k point in k_points and each mode.

mean_free_path

Calculate the mean_free_path per mode in A

Methods

calculate_conductivity_full([...])

This calculates the conductivity using the full solution of the space-dependent Boltzmann Transport Equation.

calculate_mfp_inverse()

This method calculates the inverse of the mean free path for each phonon.

calculate_scattering_matrix(...)

Calculate the scattering matrix for phonons.

calculate_conductivity_and_diffusivity_qhgk

calculate_lambda_tensor

property conductivity

Calculate the thermal conductivity per mode in W/m/K

Returns:

conductivity – (n_k_points, n_modes, 3, 3) float

Return type:

np array

property mean_free_path

Calculate the mean_free_path per mode in A

Returns:

mfp – (n_k_points, n_modes) float

Return type:

np array

property diffusivity

Calculate the diffusivity, for each k point in k_points and each mode.

Returns:

diffusivity – diffusivity in mm^2/s

Return type:

np.array(n_k_points, n_modes)

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.

Returns:

lambda – (n_k_points, n_modes)

Return type:

np array

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.

Returns:

conductivity_per_mode – (n_k_points, n_modes, 3)

Return type:

np array