vibeqc.run_double_hybrid¶
- vibeqc.run_double_hybrid(mol, basis, functional_name, *, density_fit=True, aux_basis='', density_fit_mp2=True, aux_basis_mp2='', dispersion=None, rks_options=None, output=None, citations=True, output_qvf=True, write_molden_file=True, write_xyz_file=True, write_population_file=True)[source]¶
Generic double-hybrid dispatcher.
Resolves
functional_nameto aFunctional, runs a hybrid-DFT SCF step with that functional’s SCF piece, runs an MP2 correction on the converged KS orbitals with the functional’smp2_c_os/mp2_c_ssscaling, optionally adds a dispersion correction, and returns aDoubleHybridResultcarrying all pieces and the combined total energy.functional_namemust resolve to anis_double_hybridfunctional (currently"b2plyp","dsd-pbep86", or"pwpb95"); aValueErroris raised otherwise. The thin wrappersrun_b2plyp(),run_dsd_pbep86(), andrun_pwpb95()are the name-specific entry points most callers will use."pwpb95"resolves to a meta-GGA functional, so its SCF step runs through the tau-dependent Kohn-Sham path; the dispatcher handles that transparently.- Parameters:
mol (Molecule, BasisSet) – The molecular system. Closed-shell runs RKS + RMP2; open-shell (multiplicity > 1) runs the spin-pure ROKS SCF half + a semicanonical ROHF-MP2 doubles correction.
basis (Molecule, BasisSet) – The molecular system. Closed-shell runs RKS + RMP2; open-shell (multiplicity > 1) runs the spin-pure ROKS SCF half + a semicanonical ROHF-MP2 doubles correction.
functional_name (str) – Name of a double-hybrid functional registered in vibe-qc’s
Functionalresolver.density_fit (bool, default True) – Density-fit the RKS hybrid SCF step (J via RI-J, K via RI-K since double hybrids in this line all have a_HF > 0).
aux_basis (str, default "") – Aux basis for the SCF DF. Empty -> auto-resolve a JKfit aux from the orbital basis name.
density_fit_mp2 (bool, default True) – Use RI-MP2 (recommended) for the post-SCF correction. False falls back to canonical MP2 – only useful for parity validation against canonical-MP2 reference codes.
aux_basis_mp2 (str, default "") – Aux basis for the MP2 DF. Empty -> auto-resolve a per-zeta RIfit aux from the orbital basis name. Ignored when
density_fit_mp2=False.dispersion (str or None, default None) –
Optional dispersion correction folded into
DoubleHybridResult.e_total. Supported:None– un-dispersed XC + MP2 total (the published “no-D” energy)."d3bj"– Grimme-Antony-Ehrlich-Krieg 2010 D3 with Becke-Johnson damping, parameters for the functional read from the existingvibeqc.compute_d3bj()framework (prefers the optionaldftd3backend when installed, falls back to the vibe-qc native stub)."d4"– Caldeweyher-Bannwarth-Grimme 2019 D4 via the optionaldftd4package; seevibeqc.compute_d4().
The dispersion energy is stored on
DoubleHybridResult.dispersionas either aDispersionResult(D3-BJ) or aD4Result(D4); both expose.energyso consumers can treat them uniformly.rks_options (RKSOptions, optional) – Caller-provided options for the SCF step. The functional field is overridden with
functional_nameregardless; everything else is honoured. IfNone, a defaultRKSOptionsis used withdensity_fit/aux_basisapplied per the keyword arguments above.output (str or PathLike, optional) – Output stem. When provided, the standalone dispatcher writes
.out+.systemand the same default-on molecular sidecars asrun_job(): Molden orbitals, XYZ geometry, population/property JSON/TXT, citation siblings, and a QVF archive unless the corresponding opt-out keyword is false.citations (bool, default True) – Emit
.bibtex/.referencessiblings and record the assembled citation provenance in.system.output_qvf (bool, default True) – Emit
{output}.qvf. The archive contains the converged SCF wavefunction and SCF-density properties plus provenance naming the double-hybrid dispatcher; the MP2 correction contributes to the reported total energy but does not define a separate post-SCF density.write_molden_file (bool, default True) – Opt out of the matching sidecars when
outputis provided.write_xyz_file (bool, default True) – Opt out of the matching sidecars when
outputis provided.write_population_file (bool, default True) – Opt out of the matching sidecars when
outputis provided.
- Return type: