Comparing Γ-CCM and χ-CCM¶
Γ-CCM (aiccm2026dev-a) and χ-CCM[1]
(aiccm2026dev-b) are the direct-torus and finite-character
(Γ-centred character-mesh) representations of the ab-initio Cyclic Cluster
Model on a finite Born-von-Karman torus. They are developed in separate
workstreams, share only the geometry registry (testset.py), and are
compared head-to-head to answer one question: do two independent
constructions of a variational finite-torus CCM converge to the same
Hamiltonian?
Important
The two lines are unitarily equivalent at every cluster size: they
represent the same finite-BvK-torus Hamiltonian in two different bases
(direct-torus Γ-supercell vs finite-character Γ-centred character mesh). Agreement is
expected at a matched Coulomb gauge and declared exchange-q=0
convention; disagreement localises a modelling choice.
Running the same system through both lines¶
Via the test-set runners¶
The aiccm-2026/ directory has separate runners that share only
testset.py for the geometry:
cd aiccm-2026
# Γ-CCM: four-center HF on diamond
python run_case.py c-diamond aiccm-hf --out results-a/
# χ-CCM: RHF with four-center backend on diamond
python run_case_b.py c-diamond rhf-4c --out results-b/
# Compare
python compare_b.py results-b/ --a-results results-a/
The compare.py and compare_b.py scripts produce per-system ×
per-route energy tables with Δ columns.
Fleet-scale comparison¶
Generate both batches and submit:
# Γ-CCM full matrix
python make_jobs.py | sh
# χ-CCM SCF matrix (all systems, all routes)
python make_jobs_b.py --profile scf | sh
# After results land, collect into results-a/ and results-b/
python compare_b.py results-b/ --a-results results-a/ --csv comparison.csv
Adding a CRYSTAL23 reference¶
Population the crystal_refs_b.json template with per-system
per-atom energies from actual CRYSTAL23 runs, then:
python compare_b.py results-b/ --a-results results-a/ \
--crystal-refs crystal_refs_b.json
The template schema is:
{
"h-chain": {"rhf": -0.542875, "pbe": -0.581695},
"c-diamond": {"rhf": -38.07736, "pbe": -38.07736}
}
Values are energy per primitive-cell atom in Hartree.
What to expect¶
Where they should agree (matched convention)¶
When both lines declare the same Coulomb kernel and exchange-q=0
convention (coulomb_kernel="3d-periodic-g0",
exchange_q0="bvk-ewald"), they compute the same finite-torus
Hamiltonian and must agree:
Γ-CCM
run_ccm_rhf_gdf= χ-CCMrhf-ri= PySCF KRHF to 5.9×10⁻¹⁰ Ha on the validated 20×20×6 (1,1,2) control.The production four-center is one object: the density-fit of
v_E.
Where they may diverge¶
axis |
what to check |
why |
|---|---|---|
Bare vs neutral kernel |
Γ-CCM bare-4c vs GDF on ionic systems |
The bare-1/r sum is not charge-neutral; the Madelung gap is ~hundreds of mHa/atom. This is a known regime, not a disagreement. |
Low-dimensional exxdiv |
1-D/2-D |
The 3D-Ewald exxdiv over-binds vacuum-padded low-D cells. Both lines share this limitation until mixed-boundary Green’s functions land. |
Exchange-q0 convention |
|
|
Cluster size |
Δ shrinks as nrep grows |
At small clusters the finite-size physics (the Madelung remainder |
What the head-to-head settles¶
The benchmark test set is designed so that the discriminating systems are the non-orthorhombic ≥2-D and ionic 3-D crystals - exactly the regime where the 2014 eq-18 asymmetry and the bare-1/r Madelung background become energetically real. If the two independent constructions agree there, the common limit is pinned.
Interpreting a disagreement¶
Check the convention descriptor. Both results must carry
coulomb_kernel="3d-periodic-g0"andexchange_q0="bvk-ewald". If not, the disagreement is a convention mismatch, not a physics difference.Check the cluster size. At small clusters the finite-size remainder
R(the non-rank-1 piece ofv_E − 1/r) contributes differently in the two representations. Rerun at a larger cluster.Check the Madelung gap. On ionic systems, compare bare-4c vs GDF/RI within the same line first. If both lines agree at the GDF level but disagree at the bare-4c level, the bare-1/r Madelung gap is the issue - use the GDF route.
Check the low-D caveat. On 1-D/2-D, both lines share the 3D-Ewald low-D exxdiv over-binding. Use the four-center and bipole references for the ground truth.
If all checks pass and the disagreement persists, the disagreement localises a genuine modelling difference between the two constructions. The per-system JSON records (energy, timing, orbital energies, SCF trace) are the evidence - file a finding.
Cross-stream property comparison¶
property |
Γ-CCM |
χ-CCM |
comparable? |
|---|---|---|---|
HF/KS energy per atom |
|
|
✅ same convention required |
Correlation energy |
|
|
✅ same convention + same reference |
HOMO/LUMO gap |
|
|
✅ orbital energies carry the same convention |
Mulliken charges |
|
|
✅ both use |
Dipole moment |
|
not emitted |
⚠️ gauge-dependent; compare only as symmetry indicator |
Forces |
|
not emitted |
⚠️ Γ-CCM only |
Density idempotency |
not emitted |
|
N/A |
See also¶
AICCM-2026 benchmark README
χ-CCM fleet inputs
Diamond comparison - a concrete worked example of cross-stream comparison on diamond
Γ-CCM position memo - the debate rounds and settled items