vibeqc.run_pbc_bipole_rks

vibeqc.run_pbc_bipole_rks(system, basis, kmesh, options=None, *, functional=None, linear_dep_threshold=1e-07, canonical_orth_normalize_diag_first=True, level_shift_schedule=None, use_mom=False, use_oda=False, oda_trust_lambda_max=1.0, use_incremental_fock=False, use_ewald_j_split=None, ewald_omega=None, ewald_precision=1e-08, v_ne_grid_options=None, use_multipole_far_field=False, multipole_l_max=2, use_exchange_ewald_split=None, exchange_exxdiv='ewald', use_fock_symmetry=None, use_fock_symmetry_reduce=False, progress=None, verbose=None, initial_density=None, dft_plus_u=None)[source]

Multi-k closed-shell RKS via the CRYSTAL-gauge BIPOLE scaffold.

Parameters:
  • system (PeriodicSystem) – As in run_pbc_bipole_rhf().

  • basis (BasisSet) – As in run_pbc_bipole_rhf().

  • kmesh (BlochKMesh) – As in run_pbc_bipole_rhf().

  • optionsPeriodicKSOptions or None for PBE defaults.

  • functional (Optional[str]) – XC functional name (overrides options.functional if given).

  • use_exchange_ewald_split (Optional[bool]) – Exchange/gauge convention (option (b), 2026-06-11). None = auto: the corrected gauge is ON at 3D Γ-only sampling under the Ewald J split — full-Bloch density (no Γ-locality projection, which also fixes the XC grid density ρ(r): the projected density dropped the cross-cell AO products), no EXT EL-SPHEROPOLE term, and for hybrids (α_HF > 0) the Ewald exchange split K = K_SR(erfc ω) + K_LR(reciprocal K≠0) + (ξ_M π/(Vω²))·S·D·S scaled by α_HF. Pure functionals need no exchange machinery — the gauge change alone applies (and the wasted full-Coulomb K traversal of the legacy path is skipped). See run_pbc_bipole_rhf() for the full convention notes. The corrected gauge is the default at BOTH Γ and multi-k (Phase-5 flip 2026-06-13): at multi-k it adds the q = k−k′ LR-exchange channels + BvK-supercell Madelung correction (requires a Monkhorst-Pack mesh; an ad-hoc k-list falls back to the legacy gauge under the auto default). Pass use_exchange_ewald_split=False for the legacy gauge.

  • exchange_exxdiv (str) – Exchange/gauge convention (option (b), 2026-06-11). None = auto: the corrected gauge is ON at 3D Γ-only sampling under the Ewald J split — full-Bloch density (no Γ-locality projection, which also fixes the XC grid density ρ(r): the projected density dropped the cross-cell AO products), no EXT EL-SPHEROPOLE term, and for hybrids (α_HF > 0) the Ewald exchange split K = K_SR(erfc ω) + K_LR(reciprocal K≠0) + (ξ_M π/(Vω²))·S·D·S scaled by α_HF. Pure functionals need no exchange machinery — the gauge change alone applies (and the wasted full-Coulomb K traversal of the legacy path is skipped). See run_pbc_bipole_rhf() for the full convention notes. The corrected gauge is the default at BOTH Γ and multi-k (Phase-5 flip 2026-06-13): at multi-k it adds the q = k−k′ LR-exchange channels + BvK-supercell Madelung correction (requires a Monkhorst-Pack mesh; an ad-hoc k-list falls back to the legacy gauge under the auto default). Pass use_exchange_ewald_split=False for the legacy gauge.

  • parameters (All other) – As in run_pbc_bipole_rhf().

  • linear_dep_threshold (float)

  • canonical_orth_normalize_diag_first (bool)

  • level_shift_schedule (Optional[LevelShiftSchedule])

  • use_mom (bool)

  • use_oda (bool)

  • oda_trust_lambda_max (float)

  • use_incremental_fock (bool)

  • use_ewald_j_split (Optional[bool])

  • ewald_omega (Optional[float])

  • ewald_precision (float)

  • v_ne_grid_options (Optional[GridOptions])

  • use_multipole_far_field (bool)

  • multipole_l_max (int)

  • use_fock_symmetry (Optional[bool])

  • use_fock_symmetry_reduce (bool)

  • progress (Union[bool, ProgressLogger, None])

  • verbose (Optional[int])

  • initial_density (Optional[Sequence[np.ndarray]])

  • dft_plus_u (Optional[List['HubbardSite']])

Return type:

PBCBipoleRKSResult