vibeqc.output.formats.qvf.write_qvf¶
- vibeqc.output.formats.qvf.write_qvf(stem, plan, *, compression=8, volume_dtype='float32', atomic=False, **context)[source]¶
Write
{stem}.qvf.- Parameters:
plan (OutputPlan) –
OutputPlandeclaring what artefacts are expected.compression (int) –
zipfile.ZIP_DEFLATED(default),zipfile.ZIP_STORED, or the zstd constant ifzipfile-zstdis importable.volume_dtype (str) –
"float32"(default) or"float64"for volumetric grids.atomic (bool) – When
True, write the archive to a temporary sibling file andos.replaceit onto{stem}.qvfonly after write-time validation passes. A concurrent reader then sees either the previous complete archive or the new complete archive – never a half-written zip. Used by the live-checkpoint path so vibe-view can hot-reload a running job’s QVF safely. DefaultFalsepreserves the historical in-place write.**context (Any) –
Data objects the section writers need. Typical keys:
run_status–"running"|"converged"|"failed"; emitted atprovenance.run_status. Lets a live consumer tell a mid-run checkpoint from the settled final archive.checkpoint– dict withseq(monotonic int),wall_time_s(float),written_at(ISO-8601 str), and optionalscf_iteration/energy_ehrunning hints; emitted atprovenance.checkpoint.partial_sections–Trueto mark every sectionpartial: true, or an iterable of section ids /kindstrings (e.g.{"trajectory"}) to flag only the still-growing ones in a checkpoint snapshot.biomolecule_data– optional dict adding biomolecule metadata to thestructuresection for ribbon/cartoon rendering:chains(list[str]),residues(list of{name, seq, chain, atom_indices}, 0-based atom indices), andsecondary_structure(list of{type, chain, start_seq, end_seq}). Additive peer keys on the section object; all three independently optional. See_normalize_biomolecule().molecule/system–MoleculeorPeriodicSystemstructure_lattice_bohr– optional 3x3 lattice override for thestructuresection, using the same bohr column-vector convention asPeriodicSystem.lattice. Periodic CCM callers use this to emit the full BvK torus cell while keeping the primitive inputsystemintact.result– converged SCF result objectbasis–BasisSetpopulation_summary–PopulationSummaryhessian_result–HessianResultband_structure–BandStructuretrajectory_frames– list ofMoleculetrajectory_energies– list of float (Hartree)trajectory_rms_grad– list of float (optional)bibtex_content– str, the full BibTeX file bodybond_orders_data– dict with keysmethod(str, e.g."mayer") andpairs(list of dicts each withi,j,orderand optionaldistance_ang,symbol_i,symbol_j). Emitted as abond_orderssection.volume_data– dict of{label: (data_3d, origin, span)}mo_data– list of dicts with keyslabel,data,origin,span,band_index,energy_eh,occupation,spin,componentspin_data– dict of{label: (data_3d, origin, span)}elf_data– dict of{label: (data_3d, origin, span)}generic_volume_data– dict of{label: (data_3d, origin, span)}forvolume.generic(escape hatch for any scalar field that doesn’t fit density/orbital/spin/elf/difference)potential_data– dict of{label: (data_3d, origin, span)}forvolume.potential(electrostatic potential grid; same member structure asvolume.density, QVF spec Sec. 4.10)rdg_data– dict of{label: (data_3d, origin, span)}forvolume.rdg(reduced density gradient for NCI analysis; same member structure, QVF spec Sec. 4.11)diff_data– dict of{label: spec}for difference density (e.g. r(product) - r(reactant)).specis either a 3-tuple(data_3d, origin, span)for an unannotated difference, or a dict with keysdata,origin,span, and optionallyoperand_a(str, section id of minuend),operand_b(str, section id of subtrahend),description.reaction_path– dict{frames, waypoints, energies?, reaction_coordinate?}for a self-containedreaction.pathsection.waypointsis a list of{frame_index, label, kind, energy_eh?}records wherekindis one of"reactant" | "transition_state" | "intermediate" | "product" | "point".reaction_waypoints– dict{trajectory_ref, waypoints, reaction_coordinate?}for a lightweightreaction.waypointsannotation over an already-emittedtrajectorysection.trajectory_refmust name a trajectory section emitted in the same archive; the writer raises if it doesn’t resolve.viewer_defaults– dict written verbatim to the manifest root. Recognised keys:auto_open(list of section ids), per-section render hints, andbookmarks(ordered list of{name, camera}records using the VTK camera model).thermochemistry_data– dict with keyszpve_eh,enthalpy_eh,entropy_cal_mol_k,gibbs_free_energy_eh,temperature_k,pressure_atmfor a rootthermochemistryfield (QVF spec Sec. 4.7).dipole_moment_data– dict with keystotal_debye,vector_debye(3-vector),origin(str) for a rootdipole_momentfield (QVF spec Sec. 4.7).constraints_data– dict with keysfrozen_atoms(list of int),distance_constraints(list of{atoms, target_angstrom}) for a rootconstraintsfield (QVF spec Sec. 4.7).extensions– dict of{vendor_ns: {version, schema_uri?, critical?}}for the rootextensionsgovernance block (QVF spec Sec. 5.4).vendor_json_sections– list of first- or third-party vendor JSON sections. Each entry is{id, kind, payload}with optionalmember(default"data"),label, andcritical. The kind must live in thex_<vendor>.*namespace.eos_data– dict with keysvolumes(float64 [n_points]),energies(float64 [n_points]),fit(dict withmodel,V0,E0,B0,B0_prime, etc.) for anequation_of_statesection (QVF spec Sec. 4.14).fermi_surface_data– dict with keysnk1,nk2,nk3(int),energies(float64 [nk1, nk2, nk3, n_bands]),band_indices(list of int),lattice_vectors(3x3),fermi_energy_ev(float), and optionaln_spin(int, default 1) for afermi_surfacesection (QVF spec Sec. 4.12).wf_data– dict with keysbasis(list of shell dicts),mo_metadata(dict),mo_coefficients(2D || [n_mo, n_ao]), and optionallymo_coefficients_alpha/mo_coefficients_betafor unrestricted. Emitted aswavefunction.gtowith id"wf".bloch_wf_data– dict fromqvf_bloch_wf_data()carrying all-k closed-shell Bloch coefficients, occupations, and k-point metadata for QVF-backed periodic READ restarts. Emitted as the first-party vendor sectionx_vibeqc.bloch_wavefunction.wf_localized_data– same shape aswf_databut emitted as a secondwavefunction.gtosection with id"wf_localized".mo_metadata["orbital_kind"]should be"localized".wf_nto_hole_data– same shape aswf_data, emitted aswavefunction.gtowith id"wf_nto_hole"andorbital_kind="natural". The “hole” side of a single NTO pair (simplest post-TD-DFT path).wf_nto_electron_data– same shape aswf_data, emitted aswavefunction.gtowith id"wf_nto_electron"andorbital_kind="natural". The “electron” side of a single NTO pair.nto_data– list of{"hole": wf_dict, "electron": wf_dict, "state_index": int, "excitation_energy_ev": float}records, one per excited state. Each emits twowavefunction.gtosections withorbital_kind="natural"and ids"wf_nto_S{n}_hole"/"wf_nto_S{n}_electron". Intended for Natural Transition Orbitals (post-TD-DFT).ao_data– list of dicts fromqvf_ao_data(), each with keyslabel,data(3-D array),origin,span,ao_metadata,section_id. Emitted asbasis.aosections.coop_data– dict with keysenergies(float64 [n_points] in eV),projections(float64 [n_pairs, n_points] or [n_spin, n_pairs, n_points]),integrated(float64 [n_pairs]),energies_units,n_spin,fermi_energy_ev,sigma_ev,pairsfor ados.coopsection (QVF spec Sec. 4.8b).cohp_data– dict with keysenergies,projections,integrated,energies_units,n_spin,fermi_energy_ev,sigma_ev,pairsfor ados.cohpsection (QVF spec Sec. 4.8c).
- Returns:
The on-disk
{stem}.qvfpath.- Return type: