Skip to content

ProgramOutput

More extensive documentation is available at https://qcdata.coltonhicks.com.

qcdata.models.outputs.ProgramOutput

The core output object from a quantum chemistry calculation.

Attributes:

Name Type Description
input_data InputType

The input data for the calculation. Any of qcdata.Inputs.

success Literal[True, False]

Whether the calculation was successful.

data DataType

The data from the calculation. Contains parsed values and files. Any of qcdata.Data.

logs str | None

The logs from the calculation.

traceback str | None

The traceback from the calculation, if it failed.

provenance Provenance

The provenance information for the calculation.

extras Dict[str, Any]

Additional information to bundle with the results. Use for schema development and scratch space.

plogs str

@property Print the logs.

ptraceback str

@property Print the traceback.

results property

results: DataType

Return the data attribute.

stdout property

stdout: str | None

Backwards compatibility for .stdout attribute.

plogs property

plogs: None

Print the logs.

pstdout property

pstdout: None

Print the logs.

ptraceback property

ptraceback: None

Print the traceback.

files property

files: dict[str, str | bytes]

Return the files attribute.

return_result property

return_result: (
    float | SerializableNDArray | Structure | None
)

Return the primary result of the calculation.

qcdata.models.outputs.SinglePointData

The computed data from a single point calculation.

Attributes:

Name Type Description
energy float | None

The electronic energy of the structure in Hartrees.

gradient SerializableNDArray | None

The gradient of the structure in Hartrees/Bohr.

hessian SerializableNDArray | None

The hessian of the structure in Hartrees/Bohr^2.

nuclear_repulsion_energy float | None

The nuclear repulsion energy of the structure in Hartrees.

wavefunction Wavefunction | None

Wavefunction data from the calculation.

freqs_wavenumber list[float]

The frequencies of the structure in wavenumbers.

normal_modes_cartesian SerializableNDArray | None

3D n_vibmodes x n_atoms x 3 array containing un-mass-weighted Cartesian displacements of each normal mode in Bohr.

gibbs_free_energy float | None

Gibbs free energy (i.e. thermochemical analysis) in Hartrees of a system where translation / rotation / vibration degrees of freedom are approximated using ideal gas / rigid rotor / harmonic oscillator respectively.

scf_dipole_moment list[float] | None

The x, y, z component of the dipole moment of the structure in units of e a0 (NOT Debye!).

return_result

return_result(
    calctype: CalcType,
) -> float | SerializableNDArray

Return the primary result of the calculation.

Source code in .venv/lib/python3.13/site-packages/qcdata/models/data.py
147
148
149
def return_result(self, calctype: CalcType) -> float | SerializableNDArray:
    """Return the primary result of the calculation."""
    return getattr(self, calctype.value)

qcdata.models.outputs.OptimizationData

Computed data for an optimization (may be for a minimum or transition state).

Attributes:

Name Type Description
energies ndarray

The energies for each step of the optimization.

structures list[Structure]

The Structure objects for each step of the optimization.

final_structure Structure

The final, optimized Structure.

trajectory list['ProgramOutput[ProgramInput, SinglePointData] | ProgramOutput[ProgramInput, Files]']

The ProgramOutput objects for each step of the optimization.

final_structure property

final_structure: Structure

The final Structure in the optimization.

final_energy property

final_energy: float | None

The final energy in the optimization. Is np.nan if final calculation failed.

energies property

energies: ndarray

The energies for each step of the optimization.

structures property

structures: list[Structure]

The Structure objects for each step of the optimization.

to_xyz

to_xyz() -> str

Return the trajectory as an xyz string.

Source code in .venv/lib/python3.13/site-packages/qcdata/models/data.py
215
216
217
218
219
def to_xyz(self) -> str:
    """Return the trajectory as an `xyz` string."""
    return to_multi_xyz(
        prog_output.input_data.structure for prog_output in self.trajectory
    )

save

save(
    filepath: Path | str,
    exclude_none: bool = True,
    exclude_unset: bool = True,
    indent: int = 4,
    **kwargs: dict[str, Any],
) -> None

Save an OptimizationOutput to a file.

Parameters:

Name Type Description Default
filepath Path | str

The path to save the molecule to.

required
exclude_none bool

If True, attributes with a value of None will not be written to the file.

True
exclude_unset bool

If True, attributes that have not been set will not be written to the file.

True
**kwargs dict[str, Any]

Additional keyword arguments to pass to the json serializer.

{}
Note

If the filepath has a .xyz extension, the trajectory will be saved to a multi-structure xyz file.

Source code in .venv/lib/python3.13/site-packages/qcdata/models/data.py
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
def save(
    self,
    filepath: Path | str,
    exclude_none: bool = True,
    exclude_unset: bool = True,
    indent: int = 4,
    **kwargs: dict[str, Any],
) -> None:
    """Save an OptimizationOutput to a file.

    Args:
        filepath: The path to save the molecule to.
        exclude_none: If True, attributes with a value of None will not be written
            to the file.
        exclude_unset: If True, attributes that have not been set will not be
            written to the file.
        **kwargs: Additional keyword arguments to pass to the json serializer.

    Note:
        If the filepath has a `.xyz` extension, the trajectory will be saved to a
        multi-structure `xyz` file.
    """
    filepath = Path(filepath)
    if filepath.suffix == ".xyz":
        filepath.write_text(self.to_xyz())
        return
    super().save(filepath, exclude_none, exclude_unset, indent, **kwargs)