PhononBSDOSTask

class emmet.core.phonon.PhononBSDOSTask(**data)

Bases: StructureMetadata

Phonon 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 (Annotated[AlphaID | MPID, BeforeValidator(func=functools.partial(<function _fault_tolerant_id_serde at 0x7f75d76d4cc0>, padlen=8), json_schema_input_type=PydanticUndefined), PlainSerializer(func=functools.partial(<function _fault_tolerant_id_serde at 0x7f75d76d4cc0>, serialize=True, padlen=8), return_type=PydanticUndefined, when_used=always)] | None)

  • phonon_method (PhononMethod | 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)

  • 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)

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.

See Eq. 46 of https://doi.org/10.1103/PhysRevB.55.10355: $$ sum_{i=1}^N Z_{ialphabeta} $$ where $Z_{ialphabeta}$ is the N x 3 x 3 Born effective charge tensor, $i = 1,2,…,N$ ranges up to the number of atoms $N$, and $alpha, beta = x, y, z$ are Cartesian directions.

This returns a 3 x 3 matrix. The maximum deviation from the sum rule is checked by check_sum_rule_deviations.

property check_sum_rule_deviations: SumRuleChecks

Report deviations from sum rules.

model_config: ClassVar[ConfigDict] = {}

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