vibeqc.ScanResult

class vibeqc.ScanResult(values, energies, geometries, converged_flags, coordinate, output_path=None, extra=<factory>)[source]

Bases: object

Container for the output of relaxed_scan().

Parameters:
__init__(values, energies, geometries, converged_flags, coordinate, output_path=None, extra=<factory>)
Parameters:
Return type:

None

Methods

__init__(values, energies, geometries, ...)

write_qvf(path)

Emit a vibe-view reaction.path QVF for animation.

Attributes

output_path

Path stem the scan wrote, or None if no output was requested.

values

Target coordinate values, shape (n_points,) — bohr or radians.

energies

Relaxed energies (Ha), shape (n_points,).

geometries

Relaxed geometries — one Molecule or PeriodicSystem per scan point.

converged_flags

Whether the relaxation at each point converged.

coordinate

The constraint definition used.

extra

values: ndarray

Target coordinate values, shape (n_points,) — bohr or radians.

energies: ndarray

Relaxed energies (Ha), shape (n_points,).

geometries: list[Any]

Relaxed geometries — one Molecule or PeriodicSystem per scan point.

converged_flags: list[bool]

Whether the relaxation at each point converged.

coordinate: Tuple[str, int, int] | Tuple[str, int, int, int] | Tuple[str, int, int, int, int]

The constraint definition used.

output_path: Path | None = None

Path stem the scan wrote, or None if no output was requested.

extra: dict[str, Any]
write_qvf(path)[source]

Emit a vibe-view reaction.path QVF for animation.

Each scan point becomes one frame; the reaction coordinate carries the constraint values; the energy curve becomes the per-frame energies array. Endpoints are tagged as reactant / product; the highest-energy intermediate point is tagged as a point waypoint (we don’t claim it’s a TS — that requires a Hessian check).

Periodic scans (with PeriodicSystem geometries) ship as QVF v2 archives with the per-frame lattice + dim on the reaction.path section. The writer detects periodic frames automatically; vibe-view’s renderer draws the cell and wraps atoms across in-plane periodic boundaries.

Parameters:

path (str | Path)

Return type:

Path