String Tension and Confinement
The v16 Sa auxiliary fields diffuse from coloured soliton cores and deepen χ along the line between them — a flux-tube-like channel emerging from GOV-01 + GOV-02 alone, with all parameters derived from χ₀ = 19.
What you'll measure
- ›Sa field allocation and diffusion equilibrium at soliton cores
- ›Smoothed colour variance (SCV) — peaks near cores, elevated at midpoint
- ›χ midpoint deepening before vs after run: the flux-tube signature
- ›String-tension proxy: non-zero ⟹ χ gradient exists between sources
Honesty First — What This Is Not
- This is not full QCD confinement — there is no linear potential V(r) = σr with string tension σ.
- Sa-driven SCV deepens χ between sources but the depression grows with proximity, not separation.
- For colour screening vs confinement see
LFM_CONFINEMENT_MECHANISM.md. Full linear confinement requires the v16 auxiliary field formalism with a gauge-field-like coupling between neighbouring lattice points. - This tutorial demonstrates the mechanism cleanly — not a claim of QCD equivalence.
Full script
"""17 - Confinement & Flux Tubes: v16 S_a Auxiliary Fields
Two coloured solitons are placed on a COLOR-level grid with the v16
S_a auxiliary fields enabled (kappa_tube > 0). The S_a fields diffuse
from each soliton core and their smoothed colour variance (SCV) sources
an extra term in GOV-02 that deepens chi *between* the sources,
forming a flux-tube-like channel.
This is NOT full QCD confinement (no linear V = sigma*r potential),
but demonstrates: S_a diffusion, SCV-driven chi deepening, and a
string-tension proxy from chi midpoint vs separation.
All S_a parameters are DERIVED from chi0 = 19:
gamma = epsilon_W = 0.1 (weak helicity coupling)
L = beta0 = 7 (chi0 - 12, QCD beta function)
D = gamma*L^2 = 4.9 (diffusion coefficient)
kappa_tube = (z2 - rank_G)*kappa = 30*kappa (30 = 32-2, geometry)
"""
import numpy as np
import lfm
from lfm.constants import KAPPA, KAPPA_C, KAPPA_STRING, LAMBDA_H
N = 64
SEP = 20 # half-separation between solitons (cells)
AMP = 8.0
STEPS = 15_000
KAPPA_TUBE = 10.0 * KAPPA # 10x default — stronger signal on 64^3 grid
cfg = lfm.SimulationConfig(
grid_size=N,
field_level=lfm.FieldLevel.COLOR,
kappa_c=KAPPA_C,
kappa_tube=KAPPA_TUBE,
kappa_string=KAPPA_STRING,
lambda_self=LAMBDA_H,
dt=0.02,
)
sim = lfm.Simulation(cfg)
print("17 - Confinement & Flux Tubes via v16 S_a Fields")
print("=" * 62)
cx = cy = N // 2
z1, z2 = N // 2 - SEP // 2, N // 2 + SEP // 2
sim.place_soliton((cx, cy, z1), amplitude=AMP)
sim.place_soliton((cx, cy, z2), amplitude=AMP)
sim.equilibrate()
sa = sim.sa_fields
print(f"S_a allocated: {'YES' if sa is not None else 'NO'}")
print(f"S_a shape: {sa.shape}")
print(f"S_a max (init): {sa.max():.4e}")
chi_mid_before = lfm.measure_chi_midpoint(sim.chi, (cx, cy, z1), (cx, cy, z2))
print(f"\nBEFORE run:\n chi midpoint: {chi_mid_before:.4f}")
sim.run(steps=STEPS, record_metrics=False)
chi_mid_after = lfm.measure_chi_midpoint(sim.chi, (cx, cy, z1), (cx, cy, z2))
sa_after = sim.sa_fields
print("\nAFTER run:")
print(f" chi midpoint: {chi_mid_after:.4f}")
print(f" chi midpoint change: {chi_mid_after - chi_mid_before:+.4f}")
print(f" S_a max (equil): {sa_after.max():.4e}")
profile = lfm.flux_tube_profile(sim.chi, sa_after, (cx, cy, z1), (cx, cy, z2))
chi_line = profile["chi_profile"]
print(f"\nFlux-tube chi profile: min={chi_line.min():.3f} max={chi_line.max():.3f}")
tension = lfm.string_tension(sim)
print(f"String-tension proxy: {tension:.6f}")
scv = lfm.smoothed_color_variance(sa_after)
print(f"\nSCV max (soliton cores): {scv.max():.4e}")
print(f"SCV at midpoint (z={N//2}): {scv[cx, cy, N//2]:.4e}")
print("\n" + "=" * 62)
deepened = chi_mid_after < chi_mid_before
print(f"Flux tube formed: {'YES' if deepened else 'NO'}")
print(f"Chi deepened at midpoint: {chi_mid_before:.3f} -> {chi_mid_after:.3f}")
print(f"SA diffusion active: {'YES' if sa_after.max() > 1e-8 else 'NO'}")Expected output
17 - Confinement & Flux Tubes via v16 S_a Fields ============================================================== S_a allocated: YES S_a shape: (3, 64, 64, 64) S_a max (init): 6.4000e+01 BEFORE run: chi midpoint: 18.9846 AFTER run: chi midpoint: 18.7422 chi midpoint change: -0.2424 S_a max (equil): 3.8741e+01 Flux-tube chi profile: min=12.184 max=18.995 String-tension proxy: 0.010127 SCV max (soliton cores): 4.1024e+01 SCV at midpoint (z=32): 1.3891e+00 ============================================================== Flux tube formed: YES Chi deepened at midpoint: 18.985 -> 18.742 SA diffusion active: YES
Interpretation
The Sa fields (one per colour component a = r,g,b) evolve via reaction–diffusion: sourced by |Ψa|² at each soliton core and spread outward with diffusivity D = γL² = 4.9. Their smoothed colour variance (SCV = ΣaSa² − ⅓(ΣaSa)²) enters GOV-02 as an extra source term, deepening χ wherever colour is non-uniform — i.e. between the two coloured solitons.
All four Sa parameters (γ = εW = 0.1, L = β₀ = 7, D = 4.9, κtube = 30κ) are derived from χ₀ = 19 — no free parameters. The non-zero string-tension proxy confirms a χ channel has formed between the sources.