CTEDocument

class atomate2.common.schemas.cte.CTEDocument(*, nsites=None, elements=None, nelements=None, composition=None, composition_reduced=None, formula_pretty=None, formula_anonymous=None, chemsys=None, volume=None, density=None, density_atomic=None, symmetry=None, structure=None, supercell_matrix=None, temperatures=None, mesh=None, elastic_tensor=None, min_frequency=None, tol_imaginary_modes=None, phonon_job_dir=None, results=None)[source]

Bases: StructureMetadata

Thermal expansion from mode Grueneisen tensors and the elastic tensor.

Parameters:
classmethod from_force_constants(phonopy_yaml, force_constant_files, elastic_tensor, structure, temperatures, mesh, tol_imaginary_modes, min_frequency, symprec)[source]

Compute the thermal expansion from second- and third-order force constants.

phono3py gives the frequencies and mode Grueneisen tensors on the q-point mesh. Only time reversal symmetry is used to reduce the mesh. The non-analytical term correction is applied to the dynamical matrix when the phonopy yaml file holds the Born charges and the dielectric tensor. Only the third-order force constants enter the strain derivative of the dynamical matrix. The results of each fit are written to gruneisen_<method>.hdf5 in the current directory.

Parameters:
  • phonopy_yaml (str or Path) – phonopy.yaml of the pheasy fit, with the unit cell, the supercell matrix and the Born charges.

  • force_constant_files (Mapping) – For each fit method, “cocktail” or “one-shot”, the files with the second- and third-order force constants.

  • elastic_tensor (MatrixVoigt) – Elastic tensor in GPa and Voigt notation.

  • structure (Structure) – Structure of the elastic calculation. Its lattice must match the unit cell in phonopy_yaml, so that both tensors are in the same frame.

  • temperatures (Sequence[float]) – Temperatures in K, not negative.

  • mesh (tuple[int, int, int] or float) – q-point mesh, or a q-point density used as kppa in pymatgen’s Kpoints.automatic_density for the unit cell.

  • tol_imaginary_modes (float) – If a frequency on the mesh is below -tol_imaginary_modes in THz, a warning is raised and the thermal expansion of that fit is not computed.

  • min_frequency (float) – Modes below this frequency in THz are left out.

  • symprec (float) – Symmetry precision passed to phono3py.

Return type:

CTEDocument

model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].