vibeqc.run_rhf_periodic_multi_k_ewald3d

vibeqc.run_rhf_periodic_multi_k_ewald3d(system, basis, kmesh, options=None, *, omega=0.0, grid_shape=None, origin=None, spacing_bohr=0.3, linear_dep_threshold=1e-07, canonical_orth_normalize_diag_first=True, auto_optimize_truncation=True, level_shift_schedule=None, use_mom=False, use_oda=False, oda_trust_lambda_max=1.0, progress=None, verbose=None)[source]

Multi-k closed-shell periodic RHF SCF with EWALD_3D Coulomb.

Parameters:
  • system (vibeqc._vibeqc_core.PeriodicSystem) – Periodic system and AO basis.

  • basis (vibeqc._vibeqc_core.BasisSet) – Periodic system and AO basis.

  • kmesh (vibeqc._vibeqc_core.BlochKMesh) – BlochKMesh (from vibeqc.monkhorst_pack()) defining the k-point sampling. kmesh.weights must sum to 1.

  • options – Optional PeriodicRHFOptions; uses defaults when None. max_iter, damping, conv_tol_energy, conv_tol_grad, and lattice_opts are honored. use_diis is currently ignored (multi-k DIIS is a follow-up).

  • omega (float) – Ewald splitting parameter.

  • grid_shape (Tuple[int, int, int] | int | None) – FFT-Poisson grid controls forwarded to the long-range J build.

  • origin (Sequence[float] | None) – FFT-Poisson grid controls forwarded to the long-range J build.

  • spacing_bohr (float) – FFT-Poisson grid controls forwarded to the long-range J build.

  • linear_dep_threshold (float) – Per-k S(k) eigenvalue floor for canonical orthogonalisation.

  • progress (bool | ProgressLogger | None) – Live progress logging. True prints flushed per-stage and per-iteration lines to stdout (the tail -f workflow); False / None is silent; a ProgressLogger instance is used as-is. See vibeqc.progress.

  • canonical_orth_normalize_diag_first (bool)

  • auto_optimize_truncation (bool)

  • level_shift_schedule (LevelShiftSchedule | None)

  • use_mom (bool)

  • use_oda (bool)

  • oda_trust_lambda_max (float)

  • verbose (int | None)

Return type:

PeriodicRHFMultiKEwaldResult.