vibeqc.compute_d3bj

vibeqc.compute_d3bj(mol, params, *, with_gradient=False, backend='auto')[source]

Pairwise D3(BJ) dispersion energy (and optionally gradient).

Parameters:
  • mol (vibeqc._vibeqc_core.Molecule) – vibeqc.Molecule.

  • params (vibeqc._vibeqc_core.D3BJParams | str) – Either a D3BJParams with explicit (s6, s8, a1, a2) values, or the lowercase name of a DFT functional (e.g. "pbe", "b3lyp"). A string is resolved via d3bj_params_for() with the same backend.

  • with_gradient (bool) – If True, the returned DispersionResult.gradient is a (n_atoms, 3) array of ∂E_disp / ∂r_A in Hartree / bohr. Only the geometric (r-derivative) contribution is included in D1a/D1b; the CN-derivative piece arrives with the full CN-dependent C6 table in D1b-2.

  • backend (str) – "builtin", "dftd3", or "auto" (default). See the module docstring.

Return type:

vibeqc._vibeqc_core.DispersionResult