AICCM quickstart¶
Two ways to get an ab-initio Cyclic Cluster Model number in 30 seconds:
Γ-CCM (aiccm2026dev-a, direct-torus) and χ-CCM[1]
(aiccm2026dev-b, finite-character (Γ-centred character-mesh)). The two are
dual representations of one declared finite-BvK-torus Hamiltonian.
Γ-CCM / aiccm2026dev-a (direct-torus)¶
cd aiccm-2026
python run_case.py h-chain aiccm-hf
Expected output (<system>__aiccm-hf.json):
{"system": "h-chain", "route": "aiccm-hf", "nrep": [8,1,1],
"energy": -1.116713, "energy_per_atom": -0.558357, "converged": true}
Or from Python:
import numpy as np
from vibeqc import Atom, PeriodicSystem
from vibeqc.periodic.ccm import CCMSystem
from vibeqc.periodic.ccm.scf import run_ccm_rhf
BOHR = 1.0 / 0.529177210903
unit = PeriodicSystem(1, np.diag([4*BOHR, 40, 40]),
[Atom(1, [0,0,0]), Atom(1, [2*BOHR,0,0])])
ccm = CCMSystem(unit, (8,1,1), "sto-3g")
rhf = run_ccm_rhf(ccm, method="aiccm2026dev-a")
print(f"Γ-CCM RHF E/atom = {rhf.energy_per_atom:.6f} Ha")
χ-CCM / aiccm2026dev-b (finite-character Γ-centred character mesh)¶
cd aiccm-2026
python run_case_b.py h-chain rhf-ri
Expected output (<system>__b-rhf-ri.json):
{"system": "h-chain", "route": "rhf-ri", "mesh": [8,1,1],
"energy_ha": -1.116713, "converged": true,
"coulomb_kernel": "3d-periodic-g0", "exchange_q0": "bvk-ewald"}
Or from Python:
import numpy as np
import vibeqc as vq
system = vq.PeriodicSystem(1, np.diag([8, 20, 20]),
[vq.Atom(1, [0,0,0]), vq.Atom(1, [1.4,0,0])])
basis = vq.BasisSet(system.unit_cell_molecule(), "sto-3g")
r = vq.run_periodic_job(system, basis, method="RHF",
jk_method="aiccm2026dev-b",
aiccm_lattice_extension=(2,1,1),
aiccm_backend="ri",
max_iter=40, progress=False,
citations=False, write_xyz_file=False,
output_qvf=False)
print(f"χ-CCM RHF/RI E/cell = {r.energy:.8f} Ha")
What next?¶
you want to… |
go here |
|---|---|
Walk through step by step |
|
See every route and backend |
|
Run open-shell |
|
Debug a problem |
|
Run the full 28-system benchmark |
AICCM-2026 benchmark |