PhononBSDOSTask
- class emmet.core.phonon.PhononBSDOSTask(**data)
Bases:
StructureMetadataPhonon band structures and density of states data.
- Parameters:
nsites (int | None)
elements (list[Annotated[ElementTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.element_adapter.<lambda>, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.element_adapter.<lambda>, return_type=str, when_used=always)]] | None)
nelements (int | None)
composition (Annotated[CompositionTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, return_type=dict[str, float], when_used=always)] | None)
composition_reduced (Annotated[CompositionTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, return_type=dict[str, float], when_used=always)] | None)
formula_pretty (str | None)
formula_anonymous (str | None)
chemsys (str | None)
volume (float | None)
density (float | None)
density_atomic (float | None)
symmetry (SymmetryData | None)
identifier (str | None)
phonon_method (PhononMethod | None)
phonon_bandstructure (PhononBS | None)
phonon_dos (PhononDOS | None)
epsilon_static (tuple[tuple[float, float, float], tuple[float, float, float], tuple[float, float, float]] | None)
epsilon_electronic (tuple[tuple[float, float, float], tuple[float, float, float], tuple[float, float, float]] | None)
born (list[tuple[tuple[float, float, float], tuple[float, float, float], tuple[float, float, float]]] | None)
force_constants (list[list[tuple[tuple[float, float, float], tuple[float, float, float], tuple[float, float, float]]]] | None)
last_updated (Annotated[datetime, FieldInfo(annotation=NoneType, required=False, default_factory=utcnow), BeforeValidator(func=~emmet.core.utils.convert_datetime, json_schema_input_type=PydanticUndefined)])
sum_rules_breaking (SumRuleChecks | None)
structure (Annotated[StructureTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.structure_adapter.pop_empty_structure_keys, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.structure_adapter.<lambda>, return_type=~emmet.core.types.pymatgen_types.structure_adapter.TypedStructureDict, when_used=always)] | None)
total_dft_energy (float | None)
volume_per_formula_unit (float | None)
formula_units (int | None)
supercell_matrix (tuple[tuple[float, float, float], tuple[float, float, float], tuple[float, float, float]] | None)
primitive_matrix (tuple[tuple[float, float, float], tuple[float, float, float], tuple[float, float, float]] | None)
code (str | None)
post_process_settings (PhononComputationalSettings | None)
thermal_displacement_data (ThermalDisplacementData | None)
calc_meta (list[CalcMeta] | None)
- classmethod migrate_fields(**config)
Migrate legacy input fields.
- Return type:
Any
- property charge_neutral_sum_rule: tuple[tuple[float, float, float], tuple[float, float, float], tuple[float, float, float]] | None
Sum of Born effective charges over sites should be zero.
- property acoustic_sum_rule: tuple[tuple[float, float, float], tuple[float, float, float], tuple[float, float, float]] | None
Sum of q=0 atomic force constants should be zero.
- property check_sum_rule_deviations: SumRuleChecks
Report deviations from sum rules.
- entropy(temperature, normalization='formula_units')
Compute the entropy in J/(K * mol * formula units).
- Return type:
float|None- Parameters:
temperature (float)
normalization (Literal['atoms', 'formula_units'] | None)
temperature : float normalization : “atoms”, “formula_units”, or None
Whether to normalize by the number of atoms in the cell (“atoms”), the number of formula units (“formula_units”), or not (None).
- heat_capacity(temperature, normalization='formula_units')
Compute the heat capacity in J/(K * mol * formula units).
- Return type:
float|None- Parameters:
temperature (float)
normalization (Literal['atoms', 'formula_units'] | None)
temperature : float normalization : “atoms”, “formula_units”, or None
Whether to normalize by the number of atoms in the cell (“atoms”), the number of formula units (“formula_units”), or not (None).
- internal_energy(temperature, normalization='formula_units')
Compute the internal energy in J/(mol * formula units).
- Return type:
float|None- Parameters:
temperature (float)
normalization (Literal['atoms', 'formula_units'] | None)
temperature : float normalization : “atoms”, “formula_units”, or None
Whether to normalize by the number of atoms in the cell (“atoms”), the number of formula units (“formula_units”), or not (None).
- free_energy(temperature, normalization='formula_units')
Compute the Helmholtz free energy in J/(mol * formula units).
- Return type:
float|None- Parameters:
temperature (float)
normalization (Literal['atoms', 'formula_units'] | None)
temperature : float normalization : “atoms”, “formula_units”, or None
Whether to normalize by the number of atoms in the cell (“atoms”), the number of formula units (“formula_units”), or not (None).
- compute_thermo_quantities(temperatures, normalization='formula_units')
Compute all thermodynamic quantities as a convenience method.
- Return type:
dict[str,Sequence[float|None]]- Parameters:
temperatures (Sequence[float])
normalization (Literal['atoms', 'formula_units'] | None)
- classmethod from_phonopy_pheasy_files(structure_file, phonon_bandstructure_file=None, phonon_dos_file=None, force_constants_file=None, born_file=None, epsilon_static_file=None, phonopy_output_file=None, **kwargs)
Create a PhononBSDOSDoc from a list of explicit Phonopy/Pheasy file paths.
- Return type:
Self- Parameters:
structure_file (Annotated[str | Path | DirEntry[str] | PathLike[str], PlainSerializer(func=~emmet.core.types.typing.<lambda>, return_type=str, when_used=always)])
phonon_bandstructure_file (Annotated[str | Path | DirEntry[str] | PathLike[str], PlainSerializer(func=~emmet.core.types.typing.<lambda>, return_type=str, when_used=always)] | None)
phonon_dos_file (Annotated[str | Path | DirEntry[str] | PathLike[str], PlainSerializer(func=~emmet.core.types.typing.<lambda>, return_type=str, when_used=always)] | None)
force_constants_file (Annotated[str | Path | DirEntry[str] | PathLike[str], PlainSerializer(func=~emmet.core.types.typing.<lambda>, return_type=str, when_used=always)] | None)
born_file (Annotated[str | Path | DirEntry[str] | PathLike[str], PlainSerializer(func=~emmet.core.types.typing.<lambda>, return_type=str, when_used=always)] | None)
epsilon_static_file (Annotated[str | Path | DirEntry[str] | PathLike[str], PlainSerializer(func=~emmet.core.types.typing.<lambda>, return_type=str, when_used=always)] | None)
phonopy_output_file (Annotated[str | Path | DirEntry[str] | PathLike[str], PlainSerializer(func=~emmet.core.types.typing.<lambda>, return_type=str, when_used=always)] | None)
- classmethod from_phonopy_pheasy_directory(phonon_dir, **kwargs)
Create a PhononBSDOSDoc from a Phonopy/Pheasy directory.
- Return type:
Self- Parameters:
phonon_dir (Path | str)
Parameters
phonon_dir : str or Path **kwargs to pass to PhononBSDOSDoc.from_phonopy_pheasy_files
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].