vibeqc.NEBResult

class vibeqc.NEBResult(path, energies, converged, transition_state_index, n_iter, max_force, method=None, basis=None, functional=None, is_periodic=False)[source]

Bases: object

Outcome of a run_neb() run.

Parameters:
  • path (NEBPath)

  • energies (ndarray)

  • converged (bool)

  • transition_state_index (int | None)

  • n_iter (int)

  • max_force (float)

  • method (str | None)

  • basis (str | None)

  • functional (str | None)

  • is_periodic (bool)

path

The converged (or last-evaluated) NEBPath — endpoints plus intermediate images with their final geometry, energy, gradient, and tangent.

Type:

vibeqc.neb.NEBPath

energies

Per-image energy array (Hartree), length n_images + 2. Endpoints are at indices 0 and -1.

Type:

numpy.ndarray

converged

True iff the max-norm of the NEB force fell below conv_tol_force within max_iter outer iterations.

Type:

bool

transition_state_index

Index into path.images of the highest-energy image — the best non-climbing estimate of the saddle. None if energies are unset.

Type:

int | None

n_iter

Number of completed outer iterations.

Type:

int

max_force

Final maximum-norm NEB force (Ha/bohr) over intermediate images. Compare against conv_tol_force to gauge how close to converged a non-converged run was.

Type:

float

__init__(path, energies, converged, transition_state_index, n_iter, max_force, method=None, basis=None, functional=None, is_periodic=False)
Parameters:
  • path (NEBPath)

  • energies (ndarray)

  • converged (bool)

  • transition_state_index (int | None)

  • n_iter (int)

  • max_force (float)

  • method (str | None)

  • basis (str | None)

  • functional (str | None)

  • is_periodic (bool)

Return type:

None

Methods

__init__(path, energies, converged, ...[, ...])

write_qvf(stem, *[, compression])

Emit a vibe-view reaction.path QVF archive.

Attributes

path: NEBPath
energies: ndarray
converged: bool
transition_state_index: int | None
n_iter: int
max_force: float
method: str | None = None
basis: str | None = None
functional: str | None = None
is_periodic: bool = False
write_qvf(stem, *, compression=None)[source]

Emit a vibe-view reaction.path QVF archive.

Builds an OutputPlan + context dict from this result and delegates to vibeqc.output.formats.qvf.write_qvf(). The archive contains a structure section (reactant geometry), a reaction.path section (every image’s coords + energies + waypoints), and a citations section (BibTeX assembled with uses_neb=True — plus uses_ci_neb=True when this result came from a climbing-image run).

For periodic NEB results the archive ships as QVF v2 — the reaction.path section additionally carries the per-frame lattice + dim (see docs/user_guide/vibe_view.md § “Periodic reaction paths”). The writer detects periodic frames automatically.

Parameters:
  • stem (Any) – Path stem; the writer appends .qvf.

  • compression (int | None) – Optional zipfile compression constant; if None the writer uses its default (ZIP_DEFLATED or ZIP_ZSTANDARD when zipfile-zstd is installed).

Returns:

The written archive path.

Return type:

pathlib.Path