get_cte¶
- atomate2.common.schemas.cte.get_cte(frequencies, gruneisen_tensors, weights, elastic_tensor, volume, temperatures, min_frequency=1e-3)[source]¶
Get the thermal expansion tensor from mode Grueneisen tensors.
The thermal stress of each mode is its heat capacity times its Grueneisen tensor. The strain that relaxes the summed thermal stress is the thermal expansion, alpha = S sum(c * gamma) / (N_q * V). Here S is the elastic compliance, c are the modal heat capacities, N_q is the sum of the q-point weights and V is the cell volume. The mode Grueneisen tensors are symmetrized first, since the strain is symmetric. Modes below min_frequency, including the acoustic modes at Gamma, are left out.
- Parameters:
frequencies (np.ndarray) – Phonon frequencies in THz, with shape (n_qpoints, n_bands).
gruneisen_tensors (np.ndarray) – Mode Grueneisen tensors, with shape (n_qpoints, n_bands, 3, 3).
weights (np.ndarray) – Weight of each q-point, with shape (n_qpoints,).
elastic_tensor (np.ndarray) – Elastic tensor in GPa and Voigt notation, in the same Cartesian frame as the Grueneisen tensors.
volume (float) – Volume of the cell used for the phonons, in Angstrom^3.
temperatures (Sequence[float]) – Temperatures in K.
min_frequency (float) – Modes below this frequency in THz are left out.
- Returns:
The thermal expansion tensors in 1/K, with shape (n_temperatures, 3, 3), and the heat-capacity weighted mean Grueneisen tensor at each temperature. The mean is None where the heat capacity is zero.
- Return type: