vibeqc.write_orca_hess¶
- vibeqc.write_orca_hess(path, molecule, result, *, energy_ha=0.0, multiplicity=1, actual_temperature_K=0.0, frequency_scale_factor=1.0)[source]¶
Write a vibe-qc
HessianResultto an ORCA-format.hessfile.- Parameters:
path (str | PathLike) – Output file path (overwritten if it exists).
molecule (vibeqc._vibeqc_core.Molecule) – The
Moleculethe Hessian was computed for. Atom species, masses, and Cartesian positions go into the$atomsblock.result (HessianResult) –
HessianResultcarrying the Cartesian Hessian, mass- weighted normal modes, and frequencies.energy_ha (float) – Total electronic energy at the reference geometry, in Hartree. Goes into
$act_energy. Pass the SCF total energy here.multiplicity (int) – Spin multiplicity 2S+1. Default 1 (singlet).
actual_temperature_K (float) – Finite-temperature data temperature in K. ORCA writes 0.0 by default; we follow.
frequency_scale_factor (float) – Empirical harmonic-to-experimental frequency scaling factor (e.g. 0.95 for HF, 0.97 for DFT). 1.0 = no scaling. Default 1.0.
- Return type:
None
Notes
moltui consumes
$atoms,$vibrational_frequencies, and$normal_modesto animate vibrational modes. The Hessian + dipole-derivative + IR-spectrum blocks are written unconditionally (zeroed when not available on the HessianResult) so the file is a drop-in for any consumer that scans for them.Examples
>>> from vibeqc import ( ... Molecule, BasisSet, run_rhf, RHFOptions, ... compute_hessian_rhf_analytic, ... ) >>> from vibeqc.io import write_orca_hess >>> mol = Molecule.from_xyz("h2o.xyz") >>> basis = BasisSet(mol, "sto-3g") >>> rhf = run_rhf(mol, basis, RHFOptions()) >>> hess = compute_hessian_rhf_analytic(mol, basis, rhf, ... basis_name="sto-3g") >>> write_orca_hess("h2o.hess", mol, hess, energy_ha=rhf.energy)