aiida_phonopy.data.force_constants#

Module defining the class for force constants data.

Module Contents#

Classes#

ForceConstantsData

Self-contained class for force constants data and non-analytical constants.

class aiida_phonopy.data.force_constants.ForceConstantsData(structure: aiida.orm.StructureData | None = None, phonopy_atoms: phonopy.structure.cells.PhonopyAtoms | None = None, supercell_matrix: list | None = None, primitive_matrix: list | None = None, symprec: float = 1e-05, is_symmetry: bool = True, distinguish_kinds: bool = True, **kwargs)[source]#

Bases: aiida_phonopy.data.raw.RawData

Self-contained class for force constants data and non-analytical constants.

It stores also the structure information (unitcell, supercell, …), for a complete transferable data type.

property force_constants: numpy.ndarray[source]#

Get force force constants matrix.

get_phonopy_instance(**kwargs)[source]#

Return a Phonopy object with force and nac parameters (if set).

Parameters:

kwargs

see aiida_phonopy.data.preprocess.PreProcessData.get_phonopy_instance() * symmetrize_nac: whether or not to symmetrize the nac parameters

using point group symmetry; bool, defaults to self.is_symmetry

  • factor_nac: factor for non-analytical corrections;

    float, defaults to Hartree*Bohr

set_force_constants(force_constants: list | numpy.ndarray)[source]#

Set force constants matrix.

Parameters:
  • force_constants – array of force constants matrix in compact or full format

  • type – (n_patom = atoms in primitive cell, n_satom = atoms in supercell) * Compact format: (n_patom, n_satom, 3, 3) * Full format: (n_satom, n_satom, 3, 3)

Raises:
  • TypeError: if the format is not of the correct type

  • ValueError: if the format is not compatible

  • RuntimeError: if the displacement dataset was not initialize in input