vibeqc.compute_gcp

vibeqc.compute_gcp(mol, basis_name=None, *, params=None, with_gradient=False)[source]

Geometric counterpoise correction (Kruse & Grimme 2012).

Parameters:
  • mol (vibeqc._vibeqc_core.Molecule) – vibeqc.Molecule (atomic positions in bohr; the gCP evaluator works in bohr natively).

  • basis_name (str | None) – Lowercase canonical name of the target basis set (e.g. "def2-svp", "minis", "def2-mtzvpp"). Looked up in the bundled parameter registry. Mutually exclusive with params.

  • params (GCPParams | None) – Explicit GCPParams instance — bypasses the registry lookup. Use this to plug in published per-element data for a basis that’s not yet bundled, or to evaluate gCP with a custom parameter set.

  • with_gradient (bool) – If True, the returned GCPResult carries an (n_atoms, 3) array of ∂E_gCP/∂R_A in Hartree/bohr. The gCP energy is a closed-form sum over atom pairs; the gradient is the analytic derivative of the same expression with respect to nuclear positions.

Return type:

GCPResult

Raises:
  • ValueError – If neither basis_name nor params is given, or if both are.

  • GCPDataMissing – If the basis-set / element combination falls outside the bundled parameter coverage. The message lists the missing elements and points at the contribute-via-PR pathway.