matcalc._phonon3 module

Calculator for phonon-phonon interaction and related properties.

class Phonon3Calc(calculator: Calculator | str, *, fc2_supercell: ArrayLike = ((2, 0, 0), (0, 2, 0), (0, 0, 2)), fc3_supercell: ArrayLike = ((2, 0, 0), (0, 2, 0), (0, 0, 2)), mesh_numbers: ArrayLike = (20, 20, 20), disp_kwargs: dict[str, Any] | None = None, thermal_conductivity_kwargs: dict | None = None, relax_structure: bool = True, relax_calc_kwargs: dict | None = None, fmax: float = 0.1, optimizer: str = 'FIRE', t_min: float = 0, t_max: float = 1000, t_step: float = 10, write_phonon3: bool | str | Path = False, write_kappa: bool = False)[source]

Bases: PropCalc

Class for calculating thermal conductivity using third-order force constants.

This class integrates with the Phono3py library to compute thermal conductivity based on third-order force constants (FC3). It includes capabilities for optional structure relaxation, displacement generation, and force calculations on supercells. Results include the thermal conductivity as a function of temperature and other intermediate configurations used in the calculation.

calculator[source]

ASE calculator or universal model name.

fc2_supercell[source]

Supercell matrix for FC2 (phonon supercell).

fc3_supercell[source]

Supercell matrix for FC3.

mesh_numbers[source]

q-mesh dimensions for phono3py.

disp_kwargs[source]

Passed to generate_displacements.

thermal_conductivity_kwargs[source]

Passed to run_thermal_conductivity.

relax_structure[source]

Relax primitive structure before phono3py.

relax_calc_kwargs[source]

Kwargs for RelaxCalc.

fmax[source]

Relaxation force tolerance (eV/Å).

optimizer[source]

Relaxation optimizer name.

t_min, t_max, t_step

Temperature grid for κ(T) (K).

write_phonon3[source]

Path to save phono3py state, True for default, or False.

write_kappa[source]

Whether phono3py writes κ output files.

Initializes the class for thermal conductivity calculation and structure relaxation utilizing third-order force constants (fc3). The class provides configurable parameters for the relaxation process, supercell settings, thermal conductivity calculation, and file output management.

Parameters:
  • calculator – ASE calculator or universal model name string.

  • fc2_supercell – Phonon (FC2) supercell matrix.

  • fc3_supercell – FC3 supercell matrix.

  • mesh_numbers – q-point mesh shape.

  • disp_kwargs – Kwargs for Phono3py.generate_displacements.

  • thermal_conductivity_kwargs – Kwargs for run_thermal_conductivity.

  • relax_structure – Relax input before building phono3py.

  • relax_calc_kwargs – Kwargs for RelaxCalc.

  • fmax – Force tolerance for relaxation (eV/Å).

  • optimizer – ASE optimizer for relaxation.

  • t_min – Minimum temperature for κ (K).

  • t_max – Maximum temperature for κ (K).

  • t_step – Temperature step (K).

  • write_phonon3 – Save path, True for default YAML, or False.

  • write_kappa – Pass write_kappa to phono3py RTA.

_abc_impl = <_abc._abc_data object>[source]
calc(structure: Structure | Atoms | dict[str, Any]) dict[source]

Performs thermal conductivity calculations using the Phono3py library.

This method processes a given atomic structure and calculates its thermal conductivity through third-order force constants (FC3) computations. The process involves optional relaxation of the input structure, generation of displacements, and force calculations corresponding to the supercell structures. The results include computed thermal conductivity over specified temperatures, along with intermediate Phono3py configurations.

Parameters:

structure – Pymatgen structure, ASE atoms, or dict with structure keys.

Returns:

Dict with phonon3 (Phono3py), temperatures, and thermal_conductivity (spatially averaged κ in W/m·K where defined; NaN if unavailable). See phono3py RTA documentation for details.