FormationEnergyDiagramDocument

class atomate2.common.schemas.defects.FormationEnergyDiagramDocument(*, bulk_entry=None, defect_entries=None, pd_entries=None, vbm=None, band_gap=None, inc_inf_values=None, defect=None, bulk_sc_dir=None, defect_sc_dirs=None, dielectric=None)[source]

Bases: BaseModel

A document for storing a formation energy diagram.

Basically a pydantic version of the FormationEnergyDiagram dataclass with some additional data fields. The pd_entries field is now optional since the workflow will not necessarily have all the entries in the phase diagram computed.

Parameters:
  • bulk_entry (ComputedStructureEntry | None)

  • defect_entries (list[DefectEntry] | None)

  • pd_entries (list[ComputedEntry] | None)

  • vbm (float | None)

  • band_gap (float | None)

  • inc_inf_values (bool | None)

  • defect (Defect | None)

  • bulk_sc_dir (str | None)

  • defect_sc_dirs (dict[int, str] | None)

  • dielectric (float | list[list[float]] | None)

classmethod from_formation_energy_diagram(fed, **kwargs)[source]

Create a document from a FormationEnergyDiagram object.

Parameters:
  • fed (FormationEnergyDiagram) – The FormationEnergyDiagram object.

  • kwargs – Additional keyword arguments to pass to the document.

Return type:

Self

as_formation_energy_diagram(pd_entries=None)[source]

Create a FormationEnergyDiagram object from the document.

Since the pd_entries field is optional, this method allows the user to pass in the phase diagram entries if they are not stored in this document.

Parameters:
  • pd_entries (list[ComputedEntry] | None) – The entries used to construct the phase diagram. If None,

  • used. (the pd_entries field of the document will be)

Return type:

FormationEnergyDiagram

model_config = {}

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