Skip to content

ProgramOutputs

qcio.models.outputs

End user output and results objects from a calculation.

Wavefunction

The wavefunction for a single point calculation.

Attributes:

Name Type Description
scf_eigenvalues_a Optional[SerializableNDArray]

The SCF alpha-spin orbital eigenvalues.

scf_eigenvalues_b Optional[SerializableNDArray]

The SCF beta-spin orbital eigenvalues.

scf_occupations_a Optional[SerializableNDArray]

The SCF alpha-spin orbital occupations.

scf_occupations_b Optional[SerializableNDArray]

The SCF beta-spin orbital occupations.

SinglePointResults

The computed results from a single point calculation.

Attributes:

Name Type Description
calcinfo_natoms Optional[int]

The number of atoms as computed by the program.

calcinfo_nalpha Optional[int]

The number of alpha electrons as computed by the program.

calcinfo_nbeta Optional[int]

The number of beta electrons as computed by the program.

calcinfo_nbasis Optional[int]

The number of basis functions in the calculation.

calcinfo_nmo Optional[int]

The number of molecular orbitals in the calculation.

energy Optional[float]

The electronic energy of the structure in Hartrees.

gradient Optional[SerializableNDArray]

The gradient of the structure in Hartrees/Bohr.

hessian Optional[SerializableNDArray]

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

nuclear_repulsion_energy Optional[float]

The nuclear repulsion energy of the structure in Hartrees.

wavefunction Optional[Wavefunction]

Wavefunction data from the calculation.

freqs_wavenumber List[float]

The frequencies of the structure in wavenumbers.

normal_modes_cartesian Optional[SerializableNDArray]

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

gibbs_free_energy Optional[float]

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 Optional[List[float]]

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) -> Union[float, SerializableNDArray]

Return the primary result of the calculation.

Source code in qcio/models/outputs.py
155
156
157
def return_result(self, calctype: CalcType) -> Union[float, SerializableNDArray]:
    """Return the primary result of the calculation."""
    return getattr(self, calctype.value)

OptimizationResults

Computed properties for an optimization.

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[Union[ProgramOutput[ProgramInput, SinglePointResults], ProgramOutput[ProgramInput, Files]]]

The SinglePointOutput objects for each step of the optimization.

final_structure property

final_structure: Structure

The final Structure in the optimization.

final_energy property

final_energy: Optional[float]

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.

molecules property

molecules: List[Structure]

The Structure objects for each step of the optimization.

return_result

return_result(calctype: CalcType) -> Optional[Structure]

Return the primary result of the calculation.

Source code in qcio/models/outputs.py
245
246
247
def return_result(self, calctype: CalcType) -> Optional[Structure]:
    """Return the primary result of the calculation."""
    return self.final_structure

to_xyz

to_xyz() -> str

Return the trajectory as an xyz string.

Source code in qcio/models/outputs.py
258
259
260
261
262
def to_xyz(self) -> str:
    """Return the trajectory as an `xyz` string."""
    return "".join(
        prog_output.input_data.structure.to_xyz() for prog_output in self.trajectory
    )

save

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

Save an OptimizationOutput to a file.

Parameters:

Name Type Description Default
filepath Union[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
**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 qcio/models/outputs.py
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
def save(
    self,
    filepath: Union[Path, str],
    exclude_none: 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.
        **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, indent, **kwargs)

ProgramOutput

ProgramOutput(**data: Any)

The core output object from a quantum chemistry calculation.

Attributes:

Name Type Description
input_data InputType

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

success Literal[True, False]

Whether the calculation was successful.

results ResultsType

The results of the calculation. Contains parsed values and files. Any of qcio.Results.

stdout Optional[str]

The standard output from the calculation.

traceback Optional[str]

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 object. Use for schema development and scratch space.

pstdout str

@property Print the stdout text.

ptraceback str

@property Print the traceback text.

Source code in qcio/models/outputs.py
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
def __init__(self, **data: Any):
    """Backwards compatibility for files attribute."""

    if "files" in data:
        warnings.warn(
            "The 'files' attribute has been moved to 'results.files'. Please "
            "update your code accordingly.",
            category=FutureWarning,
            stacklevel=2,
        )

        # This moves files from the top level to the results attribute
        if isinstance(data["results"], dict):
            results_files_dict = data["results"].get("files", {})
        else:  # data["results"] is Files, SinglePointResults, OptimizationResults
            results_files_dict = data["results"].files

        results_files_dict.update(**data.pop("files"))

    super().__init__(**data)

pstdout property

pstdout: None

Print the stdout text

ptraceback property

ptraceback: None

Print the traceback text

files property

files: Dict[str, Union[str, bytes]]

Return the files attribute.

return_result property

return_result: Union[float, SerializableNDArray, Optional[Structure]]

Return the primary result of the calculation.