ThermoDoc

class emmet.core.thermo.ThermoDoc(**data)

Bases: PropertyDoc

A thermo entry document

Parameters:
  • builder_meta (EmmetMeta | None)

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

  • material_id (Annotated[MPID | AlphaID, BeforeValidator(func=~emmet.core.types.typing._fault_tolerant_id_serde, json_schema_input_type=PydanticUndefined), PlainSerializer(func=~emmet.core.types.typing.<lambda>, return_type=PydanticUndefined, when_used=always)] | None)

  • deprecated (bool)

  • deprecation_reasons (list[DeprecationMessage | str] | None)

  • last_updated (Annotated[datetime, BeforeValidator(func=~emmet.core.utils.convert_datetime, json_schema_input_type=PydanticUndefined)])

  • origins (list[PropertyOrigin] | None)

  • warnings (list[str])

  • structure (Annotated[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, SkipJsonSchema()])

  • property_name (str)

  • thermo_type (ThermoType | RunType)

  • thermo_id (Annotated[ThermoID, PlainSerializer(func=str, return_type=PydanticUndefined, when_used=always), BeforeValidator(func=~emmet.core.mpid_ext.SuffixedID._deserialize, json_schema_input_type=PydanticUndefined)])

  • uncorrected_energy_per_atom (float)

  • energy_per_atom (float)

  • energy_uncertainy_per_atom (float | None)

  • formation_energy_per_atom (float | None)

  • energy_above_hull (float)

  • is_stable (bool)

  • equilibrium_reaction_energy_per_atom (float | None)

  • decomposes_to (list[DecompositionProduct] | None)

  • decomposition_enthalpy (float | None)

  • decomposition_enthalpy_decomposes_to (list[DecompositionProduct] | None)

  • energy_type (str)

  • entry_types (list[str])

  • entries (dict[str, Annotated[ComputedStructureEntryTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.computed_entries_adapter.entry_deserializer, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.computed_entries_adapter.entry_serializer, return_type=dict[str, Any], when_used=always)]])

classmethod from_entries(entries, thermo_type, phase_diagram=None, use_max_chemsys=False, **kwargs)

Produce a list of ThermoDocs from a list of Entry objects

Args:

entries (list[ComputedEntry| ComputedStructureEntry]): list of Entry objects thermo_type (ThermoType | RunType): Thermo type phase_diagram (PhaseDiagram | None, optional): Already built phase diagram. Defaults to None. use_max_chemsys (bool, optional): Whether to only produce thermo docs for materials

that match the largest chemsys represented in the list. Defaults to False.

Returns:

list[ThermoDoc]: list of built thermo doc objects.

Parameters:
  • entries (list[ComputedEntry | ComputedStructureEntry])

  • thermo_type (ThermoType | RunType)

  • phase_diagram (PhaseDiagram | None)

  • use_max_chemsys (bool)

static construct_phase_diagram(entries)

Efficienty construct a phase diagram using only the lowest entries at every composition represented in the entry data passed.

Return type:

PhaseDiagram

Args:

entries (list[ComputedStructureEntry]): list of corrected pymatgen entry objects.

Returns:

PhaseDiagram: Pymatgen PhaseDiagram object

model_config: ClassVar[ConfigDict] = {}

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