atomate2.turbomole.schemas.calculation module#

Core definitions of Turbomole calculation documents.

pydantic model atomate2.turbomole.schemas.calculation.Calculation[source]#

Bases: BaseModel

Full Turbomole calculation inputs and outputs.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show Entity Relationship Diagram

digraph "Entity Relationship Diagram created by erdantic" { graph [fontcolor=gray66, fontname="Times New Roman,Times,Liberation Serif,serif", fontsize=9, nodesep=0.5, rankdir=LR, ranksep=1.5 ]; node [fontname="Times New Roman,Times,Liberation Serif,serif", fontsize=14, label="\N", shape=plain ]; edge [dir=both]; "atomate2.turbomole.schemas.calculation.Calculation" [label=<<table border="0" cellborder="1" cellspacing="0"><tr><td port="_root" colspan="2"><b>Calculation</b></td></tr><tr><td>dir_name</td><td port="dir_name">str</td></tr><tr><td>turbomole_version</td><td port="turbomole_version">str</td></tr><tr><td>has_completed</td><td port="has_completed">Status</td></tr><tr><td>input</td><td port="input">CalculationInput</td></tr><tr><td>output</td><td port="output">CalculationOutput</td></tr><tr><td>completed_at</td><td port="completed_at">str</td></tr><tr><td>task_name</td><td port="task_name">str</td></tr><tr><td>output_file_paths</td><td port="output_file_paths">Dict[str, str]</td></tr><tr><td>run_type</td><td port="run_type">RunType</td></tr><tr><td>task_type</td><td port="task_type">TaskType</td></tr><tr><td>calc_type</td><td port="calc_type">CalcType</td></tr></table>>, tooltip="atomate2.turbomole.schemas.calculation.Calculation&#xA;&#xA;Full Turbomole calculation inputs and outputs.&#xA;"]; "atomate2.turbomole.schemas.calculation.CalculationInput" [label=<<table border="0" cellborder="1" cellspacing="0"><tr><td port="_root" colspan="2"><b>CalculationInput</b></td></tr><tr><td>structure</td><td port="structure">Union[Structure, Molecule]</td></tr><tr><td>turbomole_input</td><td port="turbomole_input">dict[]</td></tr><tr><td>dft</td><td port="dft">dict[]</td></tr><tr><td>turbomole_global</td><td port="turbomole_global">dict[]</td></tr></table>>, tooltip="atomate2.turbomole.schemas.calculation.CalculationInput&#xA;&#xA;Summary of inputs for a Turbomole calculation.&#xA;"]; "atomate2.turbomole.schemas.calculation.Calculation":input:e -> "atomate2.turbomole.schemas.calculation.CalculationInput":_root:w [arrowhead=noneteetee, arrowtail=nonenone]; "atomate2.turbomole.schemas.calculation.CalculationOutput" [label=<<table border="0" cellborder="1" cellspacing="0"><tr><td port="_root" colspan="2"><b>CalculationOutput</b></td></tr><tr><td>energy</td><td port="energy">float</td></tr><tr><td>energy_per_atom</td><td port="energy_per_atom">float</td></tr><tr><td>structure</td><td port="structure">Union[Structure, Molecule]</td></tr><tr><td>efermi</td><td port="efermi">float</td></tr><tr><td>is_metal</td><td port="is_metal">bool</td></tr><tr><td>bandgap</td><td port="bandgap">float</td></tr><tr><td>cbm</td><td port="cbm">float</td></tr><tr><td>vbm</td><td port="vbm">float</td></tr><tr><td>ionic_steps</td><td port="ionic_steps">List[Dict[str, Any]]</td></tr></table>>, tooltip="atomate2.turbomole.schemas.calculation.CalculationOutput&#xA;&#xA;Document defining Turbomole calculation outputs.&#xA;"]; "atomate2.turbomole.schemas.calculation.Calculation":output:e -> "atomate2.turbomole.schemas.calculation.CalculationOutput":_root:w [arrowhead=noneteetee, arrowtail=nonenone]; }

Show JSON schema
{
   "title": "Calculation",
   "description": "Full Turbomole calculation inputs and outputs.",
   "type": "object",
   "properties": {
      "dir_name": {
         "default": null,
         "description": "The directory for this Turbomole calculation",
         "title": "Dir Name",
         "type": "string"
      },
      "turbomole_version": {
         "default": null,
         "description": "Turbomole version used to perform the calculation",
         "title": "Turbomole Version",
         "type": "string"
      },
      "has_completed": {
         "$ref": "#/$defs/Status",
         "default": null,
         "description": "Whether Turbomole completed the calculation successfully"
      },
      "input": {
         "$ref": "#/$defs/CalculationInput",
         "default": null,
         "description": "Turbomole input settings for the calculation"
      },
      "output": {
         "$ref": "#/$defs/CalculationOutput",
         "default": null,
         "description": "The Turbomole calculation output"
      },
      "completed_at": {
         "default": null,
         "description": "Timestamp for when the calculation was completed",
         "title": "Completed At",
         "type": "string"
      },
      "task_name": {
         "default": null,
         "description": "Name of task given by custodian (e.g., relax1, relax2)",
         "title": "Task Name",
         "type": "string"
      },
      "output_file_paths": {
         "additionalProperties": {
            "type": "string"
         },
         "default": null,
         "description": "Paths (relative to dir_name) of the Turbomole output files associated with this calculation",
         "title": "Output File Paths",
         "type": "object"
      },
      "run_type": {
         "default": null,
         "description": "Calculation run type (e.g., HF, HSE06, PBE)",
         "enum": [],
         "title": "RunType"
      },
      "task_type": {
         "default": null,
         "description": "Calculation task type (e.g., Structure Optimization).",
         "enum": [],
         "title": "TaskType"
      },
      "calc_type": {
         "default": null,
         "description": "Return calculation type (run type + task_type).",
         "enum": [],
         "title": "CalcType"
      }
   },
   "$defs": {
      "CalculationInput": {
         "description": "Summary of inputs for a Turbomole calculation.",
         "properties": {
            "structure": {
               "anyOf": [
                  {
                     "properties": {
                        "@class": {
                           "enum": [
                              "Structure"
                           ],
                           "type": "string"
                        },
                        "@module": {
                           "enum": [
                              "pymatgen.core.structure"
                           ],
                           "type": "string"
                        },
                        "@version": {
                           "type": "string"
                        }
                     },
                     "required": [
                        "@class",
                        "@module"
                     ],
                     "type": "object"
                  },
                  {
                     "properties": {
                        "@class": {
                           "enum": [
                              "Molecule"
                           ],
                           "type": "string"
                        },
                        "@module": {
                           "enum": [
                              "pymatgen.core.structure"
                           ],
                           "type": "string"
                        },
                        "@version": {
                           "type": "string"
                        }
                     },
                     "required": [
                        "@class",
                        "@module"
                     ],
                     "type": "object"
                  }
               ],
               "default": null,
               "description": "The input structure/molecule object",
               "title": "Structure"
            },
            "turbomole_input": {
               "default": null,
               "description": "The Turbomole input used for this task",
               "title": "Turbomole Input",
               "type": "object"
            },
            "dft": {
               "default": null,
               "description": "DFT parameters used in the last calc of this task.",
               "title": "Dft",
               "type": "object"
            },
            "turbomole_global": {
               "default": null,
               "description": "Turbomole global parameters used in the last calc of this task.",
               "title": "Turbomole Global",
               "type": "object"
            }
         },
         "title": "CalculationInput",
         "type": "object"
      },
      "CalculationOutput": {
         "description": "Document defining Turbomole calculation outputs.",
         "properties": {
            "energy": {
               "default": null,
               "description": "The final total DFT energy for the calculation",
               "title": "Energy",
               "type": "number"
            },
            "energy_per_atom": {
               "default": null,
               "description": "The final DFT energy per atom for the calculation",
               "title": "Energy Per Atom",
               "type": "number"
            },
            "structure": {
               "anyOf": [
                  {
                     "properties": {
                        "@class": {
                           "enum": [
                              "Structure"
                           ],
                           "type": "string"
                        },
                        "@module": {
                           "enum": [
                              "pymatgen.core.structure"
                           ],
                           "type": "string"
                        },
                        "@version": {
                           "type": "string"
                        }
                     },
                     "required": [
                        "@class",
                        "@module"
                     ],
                     "type": "object"
                  },
                  {
                     "properties": {
                        "@class": {
                           "enum": [
                              "Molecule"
                           ],
                           "type": "string"
                        },
                        "@module": {
                           "enum": [
                              "pymatgen.core.structure"
                           ],
                           "type": "string"
                        },
                        "@version": {
                           "type": "string"
                        }
                     },
                     "required": [
                        "@class",
                        "@module"
                     ],
                     "type": "object"
                  }
               ],
               "default": null,
               "description": "The final structure/molecule from the calculation",
               "title": "Structure"
            },
            "efermi": {
               "default": null,
               "description": "The Fermi level from the calculation in eV",
               "title": "Efermi",
               "type": "number"
            },
            "is_metal": {
               "default": null,
               "description": "Whether the system is metallic",
               "title": "Is Metal",
               "type": "boolean"
            },
            "bandgap": {
               "default": null,
               "description": "The band gap from the calculation in eV",
               "title": "Bandgap",
               "type": "number"
            },
            "cbm": {
               "default": null,
               "description": "The conduction band minimum in eV (if system is not metallic)",
               "title": "Cbm",
               "type": "number"
            },
            "vbm": {
               "default": null,
               "description": "The valence band maximum in eV (if system is not metallic)",
               "title": "Vbm",
               "type": "number"
            },
            "ionic_steps": {
               "default": null,
               "description": "Energy, forces, and structure for each ionic step",
               "items": {
                  "type": "object"
               },
               "title": "Ionic Steps",
               "type": "array"
            }
         },
         "title": "CalculationOutput",
         "type": "object"
      },
      "Status": {
         "description": "Turbomole calculation state.",
         "enum": [
            "successful",
            "failed"
         ],
         "title": "Status",
         "type": "string"
      }
   }
}

Fields:
field calc_type: CalcType = None#

Return calculation type (run type + task_type).

field completed_at: str = None#

Timestamp for when the calculation was completed

field dir_name: str = None#

The directory for this Turbomole calculation

field has_completed: Status = None#

Whether Turbomole completed the calculation successfully

field input: CalculationInput = None#

Turbomole input settings for the calculation

field output: CalculationOutput = None#

The Turbomole calculation output

field output_file_paths: Dict[str, str] = None#

Paths (relative to dir_name) of the Turbomole output files associated with this calculation

field run_type: RunType = None#

Calculation run type (e.g., HF, HSE06, PBE)

field task_name: str = None#

Name of task given by custodian (e.g., relax1, relax2)

field task_type: TaskType = None#

Calculation task type (e.g., Structure Optimization).

field turbomole_version: str = None#

Turbomole version used to perform the calculation

pydantic model atomate2.turbomole.schemas.calculation.CalculationInput[source]#

Bases: BaseModel

Summary of inputs for a Turbomole calculation.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show Entity Relationship Diagram

digraph "Entity Relationship Diagram created by erdantic" { graph [fontcolor=gray66, fontname="Times New Roman,Times,Liberation Serif,serif", fontsize=9, nodesep=0.5, rankdir=LR, ranksep=1.5 ]; node [fontname="Times New Roman,Times,Liberation Serif,serif", fontsize=14, label="\N", shape=plain ]; edge [dir=both]; "atomate2.turbomole.schemas.calculation.CalculationInput" [label=<<table border="0" cellborder="1" cellspacing="0"><tr><td port="_root" colspan="2"><b>CalculationInput</b></td></tr><tr><td>structure</td><td port="structure">Union[Structure, Molecule]</td></tr><tr><td>turbomole_input</td><td port="turbomole_input">dict[]</td></tr><tr><td>dft</td><td port="dft">dict[]</td></tr><tr><td>turbomole_global</td><td port="turbomole_global">dict[]</td></tr></table>>, tooltip="atomate2.turbomole.schemas.calculation.CalculationInput&#xA;&#xA;Summary of inputs for a Turbomole calculation.&#xA;"]; }

Show JSON schema
{
   "title": "CalculationInput",
   "description": "Summary of inputs for a Turbomole calculation.",
   "type": "object",
   "properties": {
      "structure": {
         "anyOf": [
            {
               "properties": {
                  "@class": {
                     "enum": [
                        "Structure"
                     ],
                     "type": "string"
                  },
                  "@module": {
                     "enum": [
                        "pymatgen.core.structure"
                     ],
                     "type": "string"
                  },
                  "@version": {
                     "type": "string"
                  }
               },
               "required": [
                  "@class",
                  "@module"
               ],
               "type": "object"
            },
            {
               "properties": {
                  "@class": {
                     "enum": [
                        "Molecule"
                     ],
                     "type": "string"
                  },
                  "@module": {
                     "enum": [
                        "pymatgen.core.structure"
                     ],
                     "type": "string"
                  },
                  "@version": {
                     "type": "string"
                  }
               },
               "required": [
                  "@class",
                  "@module"
               ],
               "type": "object"
            }
         ],
         "default": null,
         "description": "The input structure/molecule object",
         "title": "Structure"
      },
      "turbomole_input": {
         "default": null,
         "description": "The Turbomole input used for this task",
         "title": "Turbomole Input",
         "type": "object"
      },
      "dft": {
         "default": null,
         "description": "DFT parameters used in the last calc of this task.",
         "title": "Dft",
         "type": "object"
      },
      "turbomole_global": {
         "default": null,
         "description": "Turbomole global parameters used in the last calc of this task.",
         "title": "Turbomole Global",
         "type": "object"
      }
   }
}

Fields:
field dft: Dict = None#

DFT parameters used in the last calc of this task.

field structure: Structure | Molecule = None#

The input structure/molecule object

field turbomole_global: Dict = None#

Turbomole global parameters used in the last calc of this task.

field turbomole_input: Dict = None#

The Turbomole input used for this task

pydantic model atomate2.turbomole.schemas.calculation.CalculationOutput[source]#

Bases: BaseModel

Document defining Turbomole calculation outputs.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show Entity Relationship Diagram

digraph "Entity Relationship Diagram created by erdantic" { graph [fontcolor=gray66, fontname="Times New Roman,Times,Liberation Serif,serif", fontsize=9, nodesep=0.5, rankdir=LR, ranksep=1.5 ]; node [fontname="Times New Roman,Times,Liberation Serif,serif", fontsize=14, label="\N", shape=plain ]; edge [dir=both]; "atomate2.turbomole.schemas.calculation.CalculationOutput" [label=<<table border="0" cellborder="1" cellspacing="0"><tr><td port="_root" colspan="2"><b>CalculationOutput</b></td></tr><tr><td>energy</td><td port="energy">float</td></tr><tr><td>energy_per_atom</td><td port="energy_per_atom">float</td></tr><tr><td>structure</td><td port="structure">Union[Structure, Molecule]</td></tr><tr><td>efermi</td><td port="efermi">float</td></tr><tr><td>is_metal</td><td port="is_metal">bool</td></tr><tr><td>bandgap</td><td port="bandgap">float</td></tr><tr><td>cbm</td><td port="cbm">float</td></tr><tr><td>vbm</td><td port="vbm">float</td></tr><tr><td>ionic_steps</td><td port="ionic_steps">List[Dict[str, Any]]</td></tr></table>>, tooltip="atomate2.turbomole.schemas.calculation.CalculationOutput&#xA;&#xA;Document defining Turbomole calculation outputs.&#xA;"]; }

Show JSON schema
{
   "title": "CalculationOutput",
   "description": "Document defining Turbomole calculation outputs.",
   "type": "object",
   "properties": {
      "energy": {
         "default": null,
         "description": "The final total DFT energy for the calculation",
         "title": "Energy",
         "type": "number"
      },
      "energy_per_atom": {
         "default": null,
         "description": "The final DFT energy per atom for the calculation",
         "title": "Energy Per Atom",
         "type": "number"
      },
      "structure": {
         "anyOf": [
            {
               "properties": {
                  "@class": {
                     "enum": [
                        "Structure"
                     ],
                     "type": "string"
                  },
                  "@module": {
                     "enum": [
                        "pymatgen.core.structure"
                     ],
                     "type": "string"
                  },
                  "@version": {
                     "type": "string"
                  }
               },
               "required": [
                  "@class",
                  "@module"
               ],
               "type": "object"
            },
            {
               "properties": {
                  "@class": {
                     "enum": [
                        "Molecule"
                     ],
                     "type": "string"
                  },
                  "@module": {
                     "enum": [
                        "pymatgen.core.structure"
                     ],
                     "type": "string"
                  },
                  "@version": {
                     "type": "string"
                  }
               },
               "required": [
                  "@class",
                  "@module"
               ],
               "type": "object"
            }
         ],
         "default": null,
         "description": "The final structure/molecule from the calculation",
         "title": "Structure"
      },
      "efermi": {
         "default": null,
         "description": "The Fermi level from the calculation in eV",
         "title": "Efermi",
         "type": "number"
      },
      "is_metal": {
         "default": null,
         "description": "Whether the system is metallic",
         "title": "Is Metal",
         "type": "boolean"
      },
      "bandgap": {
         "default": null,
         "description": "The band gap from the calculation in eV",
         "title": "Bandgap",
         "type": "number"
      },
      "cbm": {
         "default": null,
         "description": "The conduction band minimum in eV (if system is not metallic)",
         "title": "Cbm",
         "type": "number"
      },
      "vbm": {
         "default": null,
         "description": "The valence band maximum in eV (if system is not metallic)",
         "title": "Vbm",
         "type": "number"
      },
      "ionic_steps": {
         "default": null,
         "description": "Energy, forces, and structure for each ionic step",
         "items": {
            "type": "object"
         },
         "title": "Ionic Steps",
         "type": "array"
      }
   }
}

Fields:
field bandgap: float = None#

The band gap from the calculation in eV

field cbm: float = None#

The conduction band minimum in eV (if system is not metallic)

field efermi: float = None#

The Fermi level from the calculation in eV

field energy: float = None#

The final total DFT energy for the calculation

field energy_per_atom: float = None#

The final DFT energy per atom for the calculation

field ionic_steps: List[Dict[str, Any]] = None#

Energy, forces, and structure for each ionic step

field is_metal: bool = None#

Whether the system is metallic

field structure: Structure | Molecule = None#

The final structure/molecule from the calculation

field vbm: float = None#

The valence band maximum in eV (if system is not metallic)

class atomate2.turbomole.schemas.calculation.Status(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: ValueEnum

Turbomole calculation state.

FAILED = 'failed'#
SUCCESS = 'successful'#
class atomate2.turbomole.schemas.calculation.TurbomoleObject(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: ValueEnum

Types of Turbomole data objects.

ENERGY = 'energy'#