Mixed-boundary (wire/slab) Green’s function for the low-D CCM four-center

The aiccm2026dev-a side of joint deliverable item 6 (the open construction of the converged -a/-b theory result, docs/manuscripts/aiccm_a_position.md §0.5). Derived Hamiltonian-first: define the mixed-boundary Poisson problem, then read both the Coulomb kernel and the exchange-q=0 seam off the same Green’s function G — not a minimum-image truncation. Built as -a’s own implementation; parity with -b is checked out-of-process.

Status: M1 (derive + declare the Poisson problem and BCs) — this document. M2–M5 are tracked in handovers/HANDOVER_AICCM_FOLLOWON.md.


0. Why the production kernel is wrong for genuine 1-D/2-D

The settled production object (-a and -b, verified A==B==KRHF) is the charge-neutral 3-D-torus Ewald Green’s function v_E^{3D} — the unique solution of the torus Poisson equation with a uniform compensating background −1/V_c over the 3-torus 𝕋³ = ℝ³/L_c, with the G=0 mode dropped (python/vibeqc/periodic/ccm/neutral.py; ccm_neutral_cderi is its Γ density fit). A vacuum-padded 1-D chain or 2-D slab is modelled with this same 3-D kernel by inflating the open directions with vacuum. That is a supercell model, not the right Hamiltonian: the neutralizing background is spread through the vacuum, the long-range field in the open directions is the wrong functional form, and the resulting four-center carries a system-size-dependent gauge offset that is not an RI fitting error. The measured symptom (joint, both lines): the four-center-vs-RI gap is hundreds of kJ/mol in low-D and -b’s vacuum-padded H₄ shows 4c RI = 22.2 mHa — gauge differences, not accuracy. Until M5 passes, no 1-D/2-D accuracy number is claimed; present low-D numbers are model numbers (Q-lowD).

The honest fix is a Green’s function that is periodic in the d lattice directions and open (decaying, free-space) in the 3−d transverse directions, with the neutralizing background a uniform charge only over the periodic directions (a sheet for d=2, a line for d=1). This is the mixed-boundary kernel G^{(d)}. The 3-D kernel is recovered as the transverse-periodic sum of G^{(d)} — the hard, dependency-free validation anchor (§5).


1. The mixed-boundary Poisson problem (Hamiltonian-first)

Let the cell be periodic in d directions with in-plane/along-axis cell area / length A (d=2) or L (d=1), and open in the transverse coordinate(s), written z (a scalar for d=2; ρ=(x,y) for d=1). Write r = (R∥, z) with R∥ the periodic coordinates. The electrostatic kernel G(r,r') is the periodic solution of Poisson’s equation with the periodicity’s neutralizing background:

−∇² G(r, 0) = 4π [ δ^{(3)}(r) − b_d(z) ] ,      (Gaussian units, e=1)

where b_d is the compensating background that makes the source charge-neutral per periodic cell, smeared uniformly over the periodic directions and localized in the transverse coordinate exactly as the unit point source is:

  • d=3: b_3 = 1/V_c (uniform over the 3-torus) → the production v_E^{3D} (G=0 dropped). The transverse background is absent (no open direction).

  • d=2 (slab): b_2(z) = δ(z)/A — a neutralizing sheet in the source plane. The in-plane average density vanishes; the z-profile is a δ at the source.

  • d=1 (wire): b_1(ρ) = δ^{(2)}(ρ)/L — a neutralizing line along the axis.

Boundary conditions (the part that is declared, not derived — they fix the otherwise-undetermined harmonic piece):

  • Periodic in R∥ (Born–von-Kármán): G(R∥+T, z) = G(R∥, z) for lattice T.

  • Open / decaying in the transverse direction(s): the oscillatory (G∥≠0 / G_z≠0) Fourier components decay as e^{−|G∥||z|} (d=2) / K₀(|G_z|ρ) (d=1); the zero transverse-mean (G∥=0/G_z=0) channel is the field of the neutralizing sheet/line and is only conditionally convergent — its linear-in-|z| (d=2) / logarithmic-in-ρ (d=1) growth is the low-D analogue of the 3-D G=0 conditional convergence (§4). A finite constant C (the gauge) is fixed by a reference (z→0 / ρ→ρ₀).

  • Dipole / asymptotic BC (polar systems). A slab with a net normal dipole M_z 0 (or a wire with a net transverse dipole) carries a dipole-layer term in the conditional channel — a discontinuity in the asymptotic potential across the slab, the low-D analogue of the surface term in the 3-D conditionally convergent lattice sum. It must be declared and is the physical content of the M_z≠0 correction; see §4 and the known limitation in §6.


2. The 2-D slab kernel G^{2D} (periodic in the plane, open in z)

Solving §1 for d=2 in a plane-wave basis over the in-plane reciprocal lattice {G∥} (area A per cell), each G∥≠0 mode solves (|G∥|² ∂_z²) ĝ_{G∥}(z) = δ(z), giving the decaying Green’s function ĝ_{G∥}(z) = (2π/|G∥|) e^{−|G∥||z|}. The G∥=0 mode solves −∂_z² ĝ_0(z) = 4π[δ(z) 1/A]·A per area, the field of a sheet pair, giving ĝ_0(z) = −2π|z|/A (up to the gauge constant). Summing:

G^{2D}(ρ, z) = (2π/A) Σ_{G∥≠0} (e^{iG∥·ρ} e^{−|G∥||z|}) / |G∥|   −  (2π/A)|z|  +  C
                └──────── oscillatory, exponentially screened ────────┘   └ sheet ┘

(Parry, Surf. Sci. 49, 433 (1975); de Leeuw–Perram, Mol. Phys. 37, 1313 (1979); Bertaut.) This is exactly the gauge realized in vibe-qc’s already-landed slab Hartree: python/vibeqc/ewald_composed_slab.py builds the oscillatory G∥≠0 channel as the L_z→∞ continuous-G_z 3-D-FT and the G∥=0 channel as the analytic −(2π/A)∫dz∫dz' n(z)|z−z'|n(z') |z|-convolution, with V_ne (periodic_v_ne_slab.py) sharing the same gauge so the bilinear total E = E_nn + Tr[D·V_ne] + ½Tr[D·J] is gauge-consistent (tests/test_j_slab_ewald_2d.py). The 2-D Coulomb/Hartree side of G^{2D} therefore already exists and is validated against the 3-D kernel (§5). What D3 adds for d=2: the four-center / ERI form of the same G^{2D} and the matching exchange-q=0 seam (§3, §6), plus closing the polar-slab dipole BC (§4/§6).


3. The 1-D wire kernel G^{1D} (periodic along z, open in ρ)

For d=1 (axis z, length L per cell, transverse ρ=(x,y)), each G_z≠0 mode solves (G_z² ∇_ρ²) ĝ_{G_z}(ρ) = δ^{(2)}(ρ), the 2-D screened-Poisson (Yukawa-in-2-D) equation, whose decaying solution is the modified Bessel function ĝ_{G_z}(ρ) = 2 K₀(|G_z|ρ). The G_z=0 mode solves the 2-D Poisson equation of a neutralized line, −∇_ρ² ĝ_0 = 4π[δ^{(2)}(ρ) 1/(L·∞)]·L, giving the logarithmic line potential ĝ_0(ρ) = −2 ln(ρ/ρ₀) (up to gauge). Summing:

G^{1D}(ρ, z) = (2/L) Σ_{G_z≠0} K₀(|G_z|ρ) e^{iG_z z}   −  (2/L) ln(ρ/ρ₀)  +  C
                └──── oscillatory, Bessel-screened ────┘   └─── line ───┘

This kernel is new to vibe-qc (the slab workstream marked NEUTRALIZED_1D explicitly out of scope, handovers/HANDOVER_SLAB_EWALD_2D.md). M2 implements it. K₀ is available via scipy.special.k0; the G_z≠0 sum converges exponentially (K₀(x) ~ √(π/2x) e^{−x}), and the ρ→0 short-range singularity is K₀(|G_z|ρ) −ln(|G_z|ρ/2) γ, which combines with the −(2/L)ln(ρ/ρ₀) line term to give the correct bare 1/r Coulomb singularity as ρ,z→0 (the short-range K exchange piece is built molecular-limit/real-space, as in the 3-D and slab paths). ρ₀ (the gauge radius) and C are fixed by the reduction anchor (§5).


4. The conditional (zero-transverse-mean) channel and the dipole BC

The G∥=0 (d=2) / G_z=0 (d=1) channel is where all the finite-size physics and the convention freedom live — it is the low-D image of the 3-D G=0 term:

  • Its growing part (−(2π/A)|z|; −(2/L)ln(ρ/ρ₀)) is forced by the neutralizing sheet/line — the analogue of the forced J/Coulomb part in 3-D.

  • Its constant C is the gauge, fixed by a reference point; differences of energies (and the MO-basis correlation numerator) are C-independent.

  • For a polar cell (net normal dipole M_z, slab; net transverse dipole, wire) the asymptotic potential is discontinuous across the system — a dipole-layer term Δφ = M_z/A (slab). This is the genuine low-D analogue of the 3-D conditionally-convergent surface term, and it is a declared boundary condition: the modeller chooses tin-foil (short-circuit, Δφ=0) or open (the dipole layer is kept). -a declares the open BC (the dipole layer is physical for an isolated slab/wire) and records it alongside exchange_q0. The existing slab Hartree carries a known inaccuracy here (the M_z≠0 z-profile first moment is off ~6.7e-3, blocking the slab SCF un-gate, §6) — D3 must get the dipole-layer term right, because it is exactly the term that distinguishes a polar slab’s Hamiltonian.


5. The transverse-periodic-reduction gate (M3 — the hard, dependency-free check)

v_E^{3D} is the transverse-periodic sum of the mixed-boundary kernel: stacking G^{2D} at every transverse image z z + nL_z (a 3-D lattice with the open direction re-periodized at period L_z) must reproduce the already-validated v_E^{3D} up to the gauge constant:

Σ_{n∈ℤ} G^{2D}(ρ, z + nL_z)  ≟  v_E^{3D}(ρ, z; L_z)  +  c·(gauge)        [d=2 → 3]
Σ_{m,n}  G^{1D}(ρ + m a_x + n a_y, z)  ≟  v_E^{3D}(·; a_x,a_y)  + c       [d=1 → 3]

Realized on the four-center / kernel level, the gate is: the low-D effective four-center g_eff^{(d)} = (μν| G^{(d)} |rs) re-periodized in the transverse directions equals ccm_eri_neutral/ccm_neutral_cderi (v_E^{3D}) up to a rank-1 c·S⊗S gauge shift — the four-center analogue of the already-passing tests/test_j_slab_ewald_2d.py::test_j_matches_3d_vacuum_limit_up_to_gauge (J_2D J_3D c·S + resid, residual → 0 as the gap grows). This needs no external dependency: the right-hand side is -a’s own validated 3-D kernel. Passing it for both d=2 and d=1, on the four-center, is M3.


6. The exchange-q=0 seam from the same G (M4) — and the D1 tie-in

The exchange contribution K_{μν} = Σ_{rs} D_{rs} (μs| G |rν) carries a q=0 (G∥=0/G_z=0) self-interaction seam — the low-D analogue of the 3-D exxdiv term. It is read off the same G, not chosen independently: the seam is the signed probe-charge limit of the conditional channel of G^{(d)} (the C-gauge value at the probe-charge self-distance), i.e. the low-D analogue of madelung.apply_exxdiv_ewald_to_K / exxdiv_ewald_energy_shift (the 3-D BvK-Madelung exchange). Because the seam shifts the HF occupied/virtual spectrum, it propagates into correlation through the gap — exactly the dependence D1 made a machine-recorded provenance field (exchange_q0, python/vibeqc/periodic/exchange_convention.py). The low-D run records exchange_q0 = BvK-ewald (the signed-probe-charge seam of G^{(d)}) and the A/B/KMP2 comparison asserts it matches, and the new dipole BC is recorded beside it. M4 derives the seam and pins it numerically against the 3-D seam under the M5 reduction.


7. Milestones

M

Deliverable

Gate

State

M1

Poisson problem + BCs + kernels declared (this doc)

derivation + dependency-free reduction anchor stated

DONE

M2a

Scalar mixed-boundary kernels: G^{1D} (new, K₀/ln) + G^{2D} (Parry, `e^{−

G∥

M2b

Four-center routing (μν|G^{(d)}|rs) (reuse ewald_composed_slab for d=2)

short-range → bare 1/r pair; contracts as chemists’ ERIs

TODO

M3a

Scalar reduction: each kernel == lim (large transverse period) of v_E^{3D} up to a gauge C

reference Ewald v_E^{3D} self-validated (η-invariant + Madelung); residual ↓ monotonically (wire ~1/D² to <2e-3; slab ~1/L_z)

DONE (test_lowd_greens_reduction.py 3/3)

M3b

Four-center reduction: g_eff^{(d)} re-periodized == ccm_eri_neutral up to c·S⊗S (mirrors the passing slab-J test)

residual → 0 with gap

TODO (after M2b)

M4-foundation

Low-D self-energy ξ = lim_{r→0}[G 1/r] (the Madelung-constant analog)

r² Richardson, gauge-shift exact (2/L)ln(ρ₀'/ρ₀); anchored to the validated 3-D madelung_constant_for_cell: −madelung(D⊥) ξ_wire (2/L)ln(D⊥) is D⊥-independent (the gauge is exactly the line-vs-uniform (2/L)ln(D⊥))

DONE (wire_self_energy/slab_self_energy, test_lowd_greens{,_reduction}.py)

M4

Exchange-q=0 seam = signed probe-charge limit of the conditional channel of the same G (gauge-fixed)

seam reduces to apply_exxdiv_ewald_to_K under M3; exchange_q0 recorded

TODO (builds on the M4-foundation ξ)

M5

Re-run 1-D/2-D H-chain / graphene controls

4c-vs-RI gap (now hundreds of kJ/mol; -b H₄ 4c−RI=22.2 mHa) collapses to the RI fitting error

TODO

Until M5 passes, low-D numbers are model numbers, not accuracy claims.

8. Reuse / boundaries

  • Reuse vibe-qc’s own slab Ewald (ewald_composed_slab.py, periodic_v_ne_slab.py) and the 3-D v_E (neutral.py) — vibe-qc code, not an external program (CLAUDE.md §10). The 1-D wire kernel is new.

  • The slab SCF un-gate (the polar-dipole §7 gate) is the periodic-SCF chat’s workstream (HANDOVER_SLAB_EWALD_2D.md, blocked on M_z≠0); D3 builds the CCM four-center + exchange-seam layer on top and contributes the corrected dipole-layer term back to that gate.

  • Parity with -b’s mixed-boundary construction is checked out-of-process (subprocess), never by importing -b modules; -a keeps its own implementation.

  • Heavy runs (the dense g_eff / all-FT GDF) go to vq, never local (the 137 GB hazard); M3/M5 numerics are vq jobs.

References: Parry 1975; de Leeuw–Perram 1979; Bertaut; Rozzi et al., Phys. Rev. B 73, 205119 (2006) (mixed-boundary Coulomb cutoffs); Sun–Berkelbach–McClain–Chan 2017 (the 3-D periodic GDF this reduces to); Peintinger & Bredow 2014 (CCM). Joint spec: aiccm_a_position.md §0.5 item 6, aiccm_a_proposed_comparison_text.md point 5.