vibeqc.format_scf_trace

vibeqc.format_scf_trace(result, *, molecule=None, basis=None, include_banner=True, include_properties=True, n_virtual=5)[source]

Return a multi-line string with a header, per-iteration lines and a summary. Safe to print, log, or write to a file.

Parameters:
  • result – Any SCF result struct with a scf_trace list and converged, n_iter, energy fields (RHFResult, UHFResult, RKSResult, UKSResult, PeriodicRHFResult, PeriodicKSResult, …).

  • molecule – Optional Molecule. When supplied, the trace is extended with an energy-component breakdown (DFT only), an orbital-energy table, and HOMO/LUMO markers. Without it we can’t infer occupation counts from the result alone, so those sections are skipped.

  • basis – Optional BasisSet. Required alongside molecule to compute the post-SCF properties block (Mulliken / Löwdin charges, Mayer bond orders, dipole moment). When absent, the properties block is skipped.

  • include_banner (bool) – Prepend the vibe-qc version banner. Default True; set False to produce a trace without provenance (e.g. for unit-test comparisons where the version string would drift).

  • include_properties (bool) – Emit the Mulliken / Löwdin / Mayer / dipole block when molecule and basis are both supplied. Default True.

  • n_virtual (int) – Number of virtual orbitals above HOMO to print in the table. Default 5.

Return type:

str