# Nuclear fusion
## ENGINES Nuclear_fusion
<iframe src="https://editor.p5js.org/sciencenibber/full/8NIJKebDh" width="100%" height="620" frameborder="0" sandbox="allow-scripts allow-same-origin"></iframe>
<img src="../Nuclear_fusion Images/Nuclear_fusion.png" alt="Nuclear_fusion microsim">
```js
// Nuclear fusion - the joining of two LIGHT nuclei into a heavier one, releasing energy. The reason
// it is hard is the COULOMB BARRIER: two positive nuclei repel as 1/r and must be pushed (or must
// quantum-mechanically TUNNEL) to within the short range of the strong force before they can bind.
// This sketch makes the barrier playable. Three composed panels:
// (1) a Pattern V/chart COULOMB-BARRIER potential diagram V(r) -- a 1/r repulsive hill spliced to a
// deep attractive strong-force well at the contact radius, with the barrier height marked, a
// temperature-set kinetic-energy line, the classical TURNING POINT, and the shaded sub-barrier
// TUNNELING region the pair must cross;
// (2) a Pattern H/chart GAMOW WINDOW -- the Maxwell-Boltzmann tail exp(-E/kT) (falling) times the
// tunneling factor exp(-sqrt(E_G/E)) (rising), whose product peaks at E_0, the narrow band of
// collision energies that actually fuse; and
// (3) a Pattern A REACTION-PRODUCTS schematic -- the products fly apart sharing the Q-value, split
// INVERSELY by mass (the light neutron carries the lion's share for D-T).
// Wikitube / E.N.G.I.N.E.S. hub -> Nuclear engineering room. One ARTICLE; vanilla p5.
//
// LEARNING OBJECTIVE
// From V(r) = Z1*Z2*1.44/r and the Gamow tunneling factor P ~ exp(-sqrt(E_G/E)), explain WHY fusion
// needs extreme temperatures and why the rate is so violently temperature-sensitive. Read the
// barrier height off the diagram, see that the mean thermal energy 1.5*kT sits one to two orders of
// magnitude below it, and recognise that fusion proceeds only by TUNNELING in the GAMOW WINDOW.
// Drag kT -> the Gamow peak swells and slides and the reactivity climbs (near T^4); switch fuel ->
// raising Z1*Z2 (D-T -> D-He-3 -> p-B-11) raises both the barrier and E_G and demands a hotter
// plasma; read the Q-value splitting inversely by mass (D-T: n 14.1 MeV, alpha 3.5 MeV self-heating).
//
// MODEL textbook fusion-barrier physics, all closed-form (no ODE/integral, so setup() is cheap too):
// barrier E_barrier = Z1*Z2*1.44 / R, R = 1.2*(A1^(1/3)+A2^(1/3)) [MeV, fm]
// Coulomb V(r) = Z1*Z2*1.44 / r [MeV] (r >= R)
// thermal <E> = 1.5*kT ; turning point r_tp = Z1*Z2*1.44 / <E> [keV, fm]
// Gamow E_G = 2*m_r*c^2*(pi*alpha*Z1*Z2)^2 , m_r = A1*A2/(A1+A2)*u [keV]
// tunnel P_tunnel(E) = exp(-sqrt(E_G/E)) ; Maxwell tail exp(-E/kT)
// peak E_0 = (sqrt(E_G)*kT/2)^(2/3) ; Gamow exponent tau = 3*(E_G/(4kT))^(1/3) = 3*E_0/kT
// rate <sigma v> ~ exp(-tau) (shown on a LOG bar; it spans many decades across fuels)
// split E_i = Q * m_other/(m1+m2) (2-body, momentum conservation; lighter product -> more E)
//
// EDITOR-SAFE honours the noLoop() default (Golden Rule 8). FULLY INPUT-DRIVEN: setup() calls
// noLoop(); every slider/button handler calls redraw(). NO animation loop and NO heavy per-frame
// inner loop -- the only loops are the few-hundred-point curve samplings (V(r) and the three Gamow
// curves), which run ONCE PER INPUT EVENT, not per frame, far under any loop-protect threshold.
// Static chrome (background gradient, panel frames, axes, axis labels, HUD divider) is baked ONCE
// into an offscreen createGraphics buffer in setup(); nucleus glyphs are pre-rendered as
// createGraphics SPRITES and blitted (image). p5.disableFriendlyErrors = true; pixelDensity(2);
// createCanvas(720,520); layout from width/height. ASCII-ONLY strings (Golden Rule 6: kT, E_G, E_0,
// tau, sqrt, ->, <=, MeV, keV; no Greek -- Unicode only in comments). Top-level names avoid p5
// globals AND p5 method names (no map/scale/pow/log/exp/sqrt/mag/dist/lerp/ratio/split redefinition):
// the model uses Math.* throughout and bespoke mappers xForR / yForV / xForE / yForG, state names
// tempKeV / rxnIdx.
const ARTICLE = "Nuclear_fusion";
const TITLE = "Nuclear fusion: the Coulomb barrier and the Gamow window";
const WIKI = "en.wikitube.io/wiki/" + ARTICLE;
// ---------- physical constants ----------
const KE2_MEVFM = 1.44; // MeV*fm e^2/(4*pi*eps0): the Coulomb energy-length constant
const R0_FM = 1.2; // fm nuclear-radius coefficient, R = R0*(A1^1/3 + A2^1/3)
const U_MEV = 931.494; // MeV atomic mass unit times c^2
const ALPHA_FS = 1 / 137.036; // - fine-structure constant
const MK_PER_KEV = 11.605; // MK/keV 1 keV of temperature = 11.605 million kelvin
// ---------- temperature control range ----------
const T_MIN = 1; // keV ~11.6 million K
const T_MAX = 300; // keV ~3.48 billion K (high enough to light up p-B-11)
const T_DEF = 15; // keV near the D-T optimum (~175 million K)
// ---------- Coulomb-panel axis ranges ----------
const RMAX_FM = 16; // fm separation axis 0..16 fm
const V_MAX_MEV = 2.2; // MeV potential axis top (tallest barrier p-B-11 ~1.86 MeV fits)
const V_MIN_MEV = -2.2; // MeV potential axis bottom (well drawn stylised, "not to scale")
// ---------- Gamow-curve sampling ----------
const NG = 150; // samples for each Gamow curve (input-driven, not per frame)
const NV = 200; // samples for the Coulomb 1/r tail
const LOG_R_LO = -14; // log10 reactivity at the empty end of the bar
const LOG_R_HI = 0; // at the full end
// ---------- reaction catalogue (textbook Q-values & product splits) ----------
// q in MeV; prods masses in u (mass number); charged flag selects glyph + colour.
const REACTIONS = [
{ key: "D-T", eqn: "D + T -> He-4 + n", z1: 1, z2: 1, a1: 2, a2: 3, q: 17.59,
prods: [ {name:"He-4", mass:4, charged:true}, {name:"n", mass:1, charged:false} ],
aneutronic: false, note: "the workhorse: biggest cross-section, lowest ignition T" },
{ key: "D-D", eqn: "D + D -> He-3 + n", z1: 1, z2: 1, a1: 2, a2: 2, q: 3.27,
prods: [ {name:"He-3", mass:3, charged:true}, {name:"n", mass:1, charged:false} ],
aneutronic: false, note: "other 50% branch: D+D -> T + p, Q=4.03 MeV" },
{ key: "D-He-3",eqn: "D + He-3 -> He-4 + p", z1: 1, z2: 2, a1: 2, a2: 3, q: 18.35,
prods: [ {name:"He-4", mass:4, charged:true}, {name:"p", mass:1, charged:true} ],
aneutronic: true, note: "ANEUTRONIC: charged products only (no fast neutron)" },
{ key: "p-B-11",eqn: "p + B-11 -> 3 He-4", z1: 1, z2: 5, a1: 1, a2: 11, q: 8.68,
prods: [ {name:"He-4", mass:4, charged:true}, {name:"He-4", mass:4, charged:true},
{name:"He-4", mass:4, charged:true} ],
aneutronic: true, three: true, note: "ANEUTRONIC; needs the hottest plasma (Z1*Z2 = 5)" }
];
// ---------- state: single source of truth, mirrored by the controls ----------
let tempKeV = T_DEF; // keV plasma temperature (control 1)
let rxnIdx = 0; // - index into REACTIONS (control 2)
// ---------- layout (computed from width/height; never hard-coded) ----------
let MARGIN, DTOP, ctrlY;
let cbX, cbY, cbW, cbH; // Coulomb-barrier panel
let gwX, gwY, gwW, gwH; // Gamow-window panel
let prX, prY, prW, prH; // products panel
let cpX0, cpX1, cpY0, cpY1; // Coulomb inner plot rect
let gpX0, gpX1, gpY0, gpY1; // Gamow inner plot rect
// ---------- p5 objects ----------
let staticBuf; // baked static scenery
let sprNuc, sprHe, sprN, sprP; // pre-rendered glyph sprites
let tSlider, resetBtn; // controls
let rxnBtns = []; // reaction buttons
let COL; // palette
// =====================================================================================
function setup() {
createCanvas(720, 520);
pixelDensity(2);
p5.disableFriendlyErrors = true; // Golden Rule 8: zero FES noise
textFont("monospace");
computeLayout();
buildPalette();
buildSprites();
// controls -------------------------------------------------------------------------
tSlider = createSlider(T_MIN, T_MAX, T_DEF, 1);
tSlider.position(150, ctrlY + 6);
tSlider.style("width", "360px");
tSlider.input(onInput);
const labels = ["D-T", "D-D", "D-He-3", "p-B-11"];
const bx = [150, 214, 278, 360];
const bw = [56, 56, 74, 70];
for (let i = 0; i < 4; i++) {
const b = createButton(labels[i]);
b.position(bx[i], ctrlY + 44);
b.size(bw[i], 24);
b.mousePressed(() => pickRxn(i));
rxnBtns.push(b);
}
resetBtn = createButton("reset");
resetBtn.position(454, ctrlY + 44);
resetBtn.size(58, 24);
resetBtn.mousePressed(resetAll);
styleBtns();
staticBuf = createGraphics(width, height);
bakeScene(staticBuf);
noLoop(); // INPUT-DRIVEN by default; p5 still draws once after setup
}
// ---------- layout: every rectangle derived from width/height ------------------------
function computeLayout() {
MARGIN = 14;
DTOP = 46; // below the title band
ctrlY = 412; // control region top
const gap = 12;
cbW = 410; // Coulomb panel (left, the star)
cbX = MARGIN; cbY = DTOP; cbH = (ctrlY - 10) - DTOP;
const rightX = cbX + cbW + gap; // right column
const rightW = width - MARGIN - rightX;
gwX = rightX; gwY = DTOP; gwW = rightW; gwH = 168; // Gamow window (top right)
prX = rightX; prY = gwY + gwH + gap; prW = rightW; // products (bottom right)
prH = (ctrlY - 10) - prY;
// Coulomb inner plot rect (room for axis labels)
cpX0 = cbX + 44; cpX1 = cbX + cbW - 14;
cpY0 = cbY + 30; cpY1 = cbY + cbH - 40;
// Gamow inner plot rect
gpX0 = gwX + 34; gpX1 = gwX + gwW - 12;
gpY0 = gwY + 28; gpY1 = gwY + gwH - 26;
}
// ---------- palette (cohesive warm/cool over deep navy) ------------------------------
function buildPalette() {
COL = {
bg0: color(9, 13, 28),
bg1: color(20, 28, 52),
panel: color(16, 23, 42, 220),
edge: color(44, 60, 96),
ink: color(232, 238, 252),
dim: color(140, 160, 196),
hill: color(255, 138, 61), // Coulomb hill (warm)
well: color(58, 160, 255), // strong-force well (cool)
zero: color(60, 76, 110),
eline: color(55, 224, 200), // kinetic-energy line (teal)
turn: color(255, 210, 63), // turning point (yellow)
tun: color(170, 122, 255), // tunnelling band (violet)
mb: color(95, 168, 255), // Maxwell tail
pen: color(255, 138, 61), // penetrability
prod: color(255, 95, 208), // Gamow product peak (magenta)
neut: color(154, 166, 191), // neutron
chg: color(255, 107, 74), // proton / charged
he: color(255, 210, 63), // helium nucleus
glow: color(255, 242, 168) // fusion glow accent
};
}
// ---------- pre-rendered glyph sprites (built once) ----------------------------------
function buildSprites() {
sprNuc = radialSprite(34, color(120, 180, 255), color(20, 40, 90));
sprHe = radialSprite(30, COL.he, color(120, 80, 10));
sprN = radialSprite(22, COL.neut, color(40, 46, 60));
sprP = radialSprite(22, COL.chg, color(80, 24, 12));
}
// a soft radial glow disc: bright core fading to a dim rim
function radialSprite(s, cInner, cOuter) {
const g = createGraphics(s, s);
g.noStroke();
const steps = 16, cx = s / 2, cy = s / 2;
for (let i = steps; i >= 1; i--) {
const t = i / steps; // 1 at rim -> 0 at core
const cc = lerpColor(cInner, cOuter, t);
g.fill(red(cc), green(cc), blue(cc), 255 * (1 - 0.7 * t));
g.circle(cx, cy, s * t);
}
return g;
}
// ---------- bake static scenery into an offscreen buffer (once) ----------------------
function bakeScene(g) {
// vertical background gradient
for (let y = 0; y < height; y++) {
const t = y / height;
const cc = lerpColor(COL.bg0, COL.bg1, t);
g.stroke(cc); g.line(0, y, width, y);
}
// title divider
g.stroke(COL.edge); g.strokeWeight(1); g.line(MARGIN, 30, width - MARGIN, 30);
bakePanel(g, cbX, cbY, cbW, cbH, "Coulomb barrier V(r)");
bakePanel(g, gwX, gwY, gwW, gwH, "Gamow window (rate vs E)");
bakePanel(g, prX, prY, prW, prH, "Reaction & products");
// --- Coulomb panel static axes ---
g.stroke(COL.edge); g.strokeWeight(1);
g.line(cpX0, cpY0, cpX0, cpY1); // y axis
g.line(cpX0, cpY1, cpX1, cpY1); // x axis
// V = 0 reference line (potential zero)
const yz = cpY0 + (V_MAX_MEV / (V_MAX_MEV - V_MIN_MEV)) * (cpY1 - cpY0);
g.stroke(COL.zero); g.strokeWeight(1); dashLine(g, cpX0, yz, cpX1, yz, 5, 4);
g.noStroke(); g.fill(COL.dim); g.textSize(10);
g.textAlign(RIGHT, CENTER); g.text("0", cpX0 - 5, yz);
g.text("+" + V_MAX_MEV.toFixed(1), cpX0 - 5, cpY0 + 6);
g.textAlign(LEFT, CENTER);
g.text("V (MeV)", cpX0 - 38, cpY0 - 14);
g.textAlign(CENTER, TOP);
for (let r = 0; r <= RMAX_FM; r += 4) {
const x = cpX0 + (r / RMAX_FM) * (cpX1 - cpX0);
g.stroke(COL.edge); g.line(x, cpY1, x, cpY1 + 4);
g.noStroke(); g.fill(COL.dim); g.text(r, x, cpY1 + 6);
}
g.text("separation r (fm) ->", (cpX0 + cpX1) / 2, cpY1 + 22);
// --- Gamow panel static frame ---
g.stroke(COL.edge); g.strokeWeight(1);
g.line(gpX0, gpY0, gpX0, gpY1);
g.line(gpX0, gpY1, gpX1, gpY1);
g.noStroke(); g.fill(COL.dim); g.textSize(10);
g.textAlign(CENTER, TOP); g.text("collision energy E (keV) ->", (gpX0 + gpX1) / 2, gpY1 + 7);
}
function bakePanel(g, x, y, w, h, title) {
g.noStroke(); g.fill(COL.panel);
g.rect(x, y, w, h, 8);
g.stroke(COL.edge); g.strokeWeight(1); g.noFill();
g.rect(x, y, w, h, 8);
g.noStroke(); g.fill(COL.ink); g.textSize(12); g.textAlign(LEFT, TOP);
g.text(title, x + 10, y + 8);
}
// dashed line on a GRAPHICS BUFFER (g.line)
function dashLine(g, x1, y1, x2, y2, on, off) {
const dx = x2 - x1, dy = y2 - y1, len = Math.sqrt(dx * dx + dy * dy);
const ux = dx / len, uy = dy / len;
let d = 0;
while (d < len) {
const d2 = Math.min(d + on, len);
g.line(x1 + ux * d, y1 + uy * d, x1 + ux * d2, y1 + uy * d2);
d = d2 + off;
}
}
// dashed line on the MAIN canvas (global line(); no reliance on window-bound p5 methods)
function dashSeg(x1, y1, x2, y2, on, off) {
const dx = x2 - x1, dy = y2 - y1, len = Math.sqrt(dx * dx + dy * dy);
const ux = dx / len, uy = dy / len;
let d = 0;
while (d < len) {
const d2 = Math.min(d + on, len);
line(x1 + ux * d, y1 + uy * d, x1 + ux * d2, y1 + uy * d2);
d = d2 + off;
}
}
// =====================================================================================
// MODEL (Math.* only; bespoke names dodge p5 method collisions)
// =====================================================================================
function rxn() { return REACTIONS[rxnIdx]; }
function contactR(rx) { return R0_FM * (Math.cbrt(rx.a1) + Math.cbrt(rx.a2)); } // fm
function barrierMeV(rx) { return rx.z1 * rx.z2 * KE2_MEVFM / contactR(rx); } // MeV
function reducedU(rx) { return (rx.a1 * rx.a2 / (rx.a1 + rx.a2)) * U_MEV; } // MeV (m_r c^2)
function gamowKeV(rx) { // keV
const f = Math.PI * ALPHA_FS * rx.z1 * rx.z2;
return 2 * reducedU(rx) * f * f * 1000; // MeV -> keV
}
function gamowPeakKeV(rx, kT) { // keV
return Math.pow(Math.sqrt(gamowKeV(rx)) * kT / 2, 2 / 3);
}
function gamowTau(rx, kT) { // -
return 3 * Math.pow(gamowKeV(rx) / (4 * kT), 1 / 3);
}
function tunnelP(eKeV, eG) { return Math.exp(-Math.sqrt(eG / eKeV)); } // -
function turningRfm(rx, eKinMeV) { return rx.z1 * rx.z2 * KE2_MEVFM / eKinMeV; } // fm
// 2-body momentum-conservation energy split; three-body shares equally (stylised)
function splitEnergies(rx) {
if (rx.three) return rx.prods.map(() => rx.q / rx.prods.length);
const m1 = rx.prods[0].mass, m2 = rx.prods[1].mass, tot = m1 + m2;
return [ rx.q * m2 / tot, rx.q * m1 / tot ];
}
// ---------- coordinate mappers (bespoke names; never p5 map/scale) -------------------
function xForR(r) { return cpX0 + (Math.max(0, Math.min(RMAX_FM, r)) / RMAX_FM) * (cpX1 - cpX0); }
function yForV(v) {
const f = (V_MAX_MEV - v) / (V_MAX_MEV - V_MIN_MEV);
return cpY0 + Math.max(0, Math.min(1, f)) * (cpY1 - cpY0);
}
function xForE(e, eMax) { return gpX0 + Math.max(0, Math.min(1, e / eMax)) * (gpX1 - gpX0); }
function yForG(frac) { return gpY1 - Math.max(0, Math.min(1, frac)) * (gpY1 - gpY0); }
// =====================================================================================
// DRAW (runs once per input event; no animation loop, no heavy inner loop)
// =====================================================================================
function draw() {
image(staticBuf, 0, 0); // blit baked scenery
drawCoulomb();
drawGamow();
drawProducts();
drawHUD();
}
// ---------- panel 1: the Coulomb barrier --------------------------------------------
function drawCoulomb() {
const rx = rxn();
const Rc = contactR(rx); // fm contact radius (barrier peak)
const Eb = barrierMeV(rx); // MeV barrier height
const Ekin = 1.5 * tempKeV / 1000; // MeV mean thermal energy 1.5*kT
const Rtp = turningRfm(rx, Ekin); // fm classical turning point (may run off-scale)
const over = Ekin >= Eb; // hot enough to clear the barrier classically?
// --- the strong-force well (left of Rc), stylised, not to scale ---
const wellBot = Math.max(0.6, Rc * 0.45);
noStroke(); fill(red(COL.well), green(COL.well), blue(COL.well), 60);
beginShape();
vertex(xForR(0), yForV(0));
vertex(xForR(0), yForV(V_MIN_MEV));
vertex(xForR(wellBot), yForV(V_MIN_MEV));
vertex(xForR(Rc), yForV(Eb));
vertex(xForR(Rc), yForV(0));
endShape(CLOSE);
// --- the Coulomb 1/r hill (r >= Rc), one single path ---
stroke(COL.hill); strokeWeight(2.5); noFill();
beginShape();
for (let i = 0; i <= NV; i++) {
const r = Rc + (RMAX_FM - Rc) * (i / NV);
const v = rx.z1 * rx.z2 * KE2_MEVFM / r;
vertex(xForR(r), yForV(v));
}
endShape();
// well wall up to the peak (single stroke)
stroke(COL.well); strokeWeight(2.5);
line(xForR(wellBot), yForV(V_MIN_MEV), xForR(Rc), yForV(Eb));
// --- tunnelling band [Rc, min(Rtp, RMAX)] under the energy line ---
const RtpClamped = Math.min(Rtp, RMAX_FM);
if (!over && RtpClamped > Rc) {
noStroke(); fill(red(COL.tun), green(COL.tun), blue(COL.tun), 55);
rect(xForR(Rc), cpY0 + 2, xForR(RtpClamped) - xForR(Rc), cpY1 - cpY0 - 2);
fill(COL.tun); textSize(10); textAlign(CENTER, BOTTOM);
text("tunnel", (xForR(Rc) + xForR(RtpClamped)) / 2, yForV(Ekin) - 3);
}
// --- kinetic-energy line <E> = 1.5 kT ---
stroke(COL.eline); strokeWeight(1.5);
dashSeg(cpX0, yForV(Ekin), cpX1, yForV(Ekin), 6, 4);
noStroke(); fill(COL.eline); textSize(10); textAlign(LEFT, BOTTOM);
text("1.5kT = " + (Ekin * 1000).toFixed(1) + " keV", cpX0 + 4, yForV(Ekin) - 2);
// --- barrier-height marker ---
stroke(COL.dim); strokeWeight(1); dashSeg(cpX0, yForV(Eb), xForR(Rc), yForV(Eb), 3, 3);
noStroke(); fill(COL.ink); textAlign(LEFT, CENTER);
text("E_barrier " + Eb.toFixed(2) + " MeV", xForR(Rc) + 6, yForV(Eb) - 2);
// --- turning-point line ---
if (!over) {
stroke(COL.turn); strokeWeight(1.2);
dashSeg(xForR(RtpClamped), yForV(Ekin), xForR(RtpClamped), cpY1, 4, 3);
}
// --- nucleus glyphs: a fused pair in the well + an incoming nucleus at the turning point ---
const eG = gamowKeV(rx);
const e0 = gamowPeakKeV(rx, tempKeV);
const pTun = tunnelP(e0, eG); // 0..1-ish penetrability at the Gamow peak
const glowA = Math.max(12, Math.min(255, 255 * Math.pow(pTun, 0.2)));
// fusion glow in the well grows as tunnelling becomes likely
noStroke(); fill(red(COL.glow), green(COL.glow), blue(COL.glow), glowA * 0.7);
circle(xForR(wellBot * 1.1), yForV(V_MIN_MEV * 0.55), 30 + 26 * Math.pow(pTun, 0.2));
imageMode(CENTER);
image(sprNuc, xForR(wellBot * 1.1), yForV(V_MIN_MEV * 0.55), 30, 30);
// incoming nucleus sitting on the energy line at the (clamped) turning point
const xin = over ? xForR(Rc) + 8 : xForR(RtpClamped);
image(sprNuc, xin, yForV(Ekin), 26, 26);
imageMode(CORNER);
// arrow: incoming -> well
stroke(COL.ink); strokeWeight(1.5);
drawArrow(xin - 14, yForV(Ekin), xForR(wellBot * 1.1) + 16, yForV(V_MIN_MEV * 0.55) - 2);
// --- corner readouts ---
noStroke(); textAlign(RIGHT, TOP); textSize(10); fill(COL.dim);
const rl = cbX + cbW - 10;
text("R = " + Rc.toFixed(2) + " fm", rl, cbY + 26);
text("r_tp = " + (Rtp > 999 ? ">999" : Rtp.toFixed(1)) + " fm", rl, cbY + 40);
fill(over ? COL.eline : COL.turn);
text(over ? "over the barrier (classical)" : "sub-barrier: must tunnel", rl, cbY + 54);
}
// ---------- panel 2: the Gamow window -----------------------------------------------
function drawGamow() {
const rx = rxn();
const eG = gamowKeV(rx);
const e0 = gamowPeakKeV(rx, tempKeV);
const eMax = Math.max(30, Math.min(1400, 3.4 * e0)); // frame the peak nicely
const eMin = eMax / NG;
// sample the three curves, normalising each to its own max for shape comparison
const mb = [], pen = [], pr = [];
let mbMax = 1e-300, penMax = 1e-300, prMax = 1e-300;
for (let i = 0; i <= NG; i++) {
const e = eMin + (eMax - eMin) * (i / NG);
const a = Math.exp(-e / tempKeV); // Maxwell-Boltzmann tail
const b = Math.exp(-Math.sqrt(eG / e)); // tunnelling penetrability
const c = a * b; // the rate integrand
mb.push(a); pen.push(b); pr.push(c);
if (a > mbMax) mbMax = a;
if (b > penMax) penMax = b;
if (c > prMax) prMax = c;
}
// product (the star): filled area under the Gamow peak
noStroke(); fill(red(COL.prod), green(COL.prod), blue(COL.prod), 90);
beginShape();
vertex(xForE(eMin, eMax), gpY1);
for (let i = 0; i <= NG; i++) {
const e = eMin + (eMax - eMin) * (i / NG);
vertex(xForE(e, eMax), yForG(pr[i] / prMax));
}
vertex(xForE(eMax, eMax), gpY1);
endShape(CLOSE);
// Maxwell tail + penetrability as outlines
drawCurve(mb, mbMax, eMin, eMax, COL.mb, 1.5);
drawCurve(pen, penMax, eMin, eMax, COL.pen, 1.5);
drawCurve(pr, prMax, eMin, eMax, COL.prod, 2.2);
// mark the Gamow peak E_0
stroke(COL.ink); strokeWeight(1); dashSeg(xForE(e0, eMax), gpY0, xForE(e0, eMax), gpY1, 3, 3);
noStroke(); fill(COL.ink); textSize(10); textAlign(CENTER, TOP);
text("E_0 " + e0.toFixed(0) + " keV", xForE(e0, eMax), gpY0 + 2);
// tiny legend
textAlign(LEFT, CENTER); textSize(9);
fill(COL.mb); text("exp(-E/kT)", gpX0 + 4, gpY0 + 8);
fill(COL.pen); text("exp(-sqrt(E_G/E))", gpX0 + 4, gpY0 + 20);
fill(COL.prod); text("product = fusion rate", gpX0 + 4, gpY0 + 32);
}
function drawCurve(arr, amax, eMin, eMax, c, w) {
stroke(c); strokeWeight(w); noFill();
beginShape();
for (let i = 0; i < arr.length; i++) {
const e = eMin + (eMax - eMin) * (i / (arr.length - 1));
vertex(xForE(e, eMax), yForG(arr[i] / amax));
}
endShape();
}
// ---------- panel 3: the reaction and its products ----------------------------------
function drawProducts() {
const rx = rxn();
const es = splitEnergies(rx);
// reaction equation
noStroke(); fill(COL.ink); textSize(14); textAlign(LEFT, TOP);
text(rx.eqn, prX + 12, prY + 28);
fill(COL.he); textSize(13);
text("Q = " + rx.q.toFixed(2) + " MeV", prX + 12, prY + 48);
if (rx.aneutronic) { fill(COL.eline); textSize(10); text("aneutronic", prX + prW - 78, prY + 30); }
// reactant nuclei (left) -> products (right)
imageMode(CENTER);
const cy = prY + 92;
image(sprNuc, prX + 30, cy, 22, 22);
image(sprNuc, prX + 52, cy, 18, 18);
stroke(COL.dim); strokeWeight(1.4); drawArrow(prX + 68, cy, prX + 96, cy);
// product glyphs: glyph SIZE ~ mass, arrow LENGTH ~ kinetic energy (the point)
const x0 = prX + 112;
const eRef = Math.max.apply(null, es);
const maxArrow = prW - (x0 - prX) - 84;
for (let i = 0; i < rx.prods.length; i++) {
const p = rx.prods[i];
const yy = prY + 78 + i * 30;
const spr = p.name === "n" ? sprN : (p.name === "p" ? sprP : sprHe);
const sz = 12 + 3 * p.mass;
const aLen = 22 + (es[i] / eRef) * maxArrow;
stroke(p.charged ? COL.chg : COL.neut); strokeWeight(1.6);
drawArrow(x0, yy, x0 + aLen, yy);
image(spr, x0, yy, sz, sz);
noStroke(); fill(COL.ink); textSize(11); textAlign(LEFT, CENTER);
const tag = rx.three ? (p.name + " (shared)") : (p.name + " " + es[i].toFixed(1) + " MeV");
text(tag, x0 + aLen + 6, yy);
}
imageMode(CORNER);
noStroke(); fill(COL.dim); textSize(9); textAlign(LEFT, TOP);
text("lighter product -> more energy (momentum conservation)", prX + 12, prY + prH - 16);
}
// ---------- HUD watermark: title . URL . hints . live equation (drawn last) ----------
function drawHUD() {
const rx = rxn();
const eG = gamowKeV(rx);
const e0 = gamowPeakKeV(rx, tempKeV);
const tau = gamowTau(rx, tempKeV);
const Eb = barrierMeV(rx);
noStroke();
fill(COL.ink); textSize(13); textAlign(LEFT, CENTER);
text(TITLE, MARGIN, 16);
fill(COL.dim); textSize(11); textAlign(RIGHT, CENTER);
text(WIKI, width - MARGIN, 16);
// control labels (live)
textAlign(LEFT, CENTER); textSize(11); fill(COL.ink);
text("Temperature kT", MARGIN, ctrlY + 16);
fill(COL.eline);
text(tempKeV + " keV (" + (tempKeV * MK_PER_KEV).toFixed(0) + " MK)", 520, ctrlY + 16);
fill(COL.dim); textSize(9);
text("fuel:", 118, ctrlY + 56);
// live equation footer
textAlign(LEFT, CENTER); textSize(10);
fill(COL.dim);
const tauR = Math.exp(-tau);
text("E_barrier=" + Eb.toFixed(2) + " MeV E_G=" + (eG / 1000).toFixed(2) +
" MeV E_0=" + e0.toFixed(0) + " keV tau=" + tau.toFixed(2) +
" <sigma v> ~ exp(-tau)", MARGIN, 498);
// relative-reactivity LOG bar (spans many decades across fuels/temperatures)
const barX = MARGIN, barY = 508, barW = 250, barH = 8;
const log10rate = Math.log(tauR) / Math.LN10; // = -tau/ln10
const frac = Math.max(0, Math.min(1, (log10rate - LOG_R_LO) / (LOG_R_HI - LOG_R_LO)));
noStroke(); fill(30, 40, 64); rect(barX, barY, barW, barH, 3);
fill(COL.prod); rect(barX, barY, barW * frac, barH, 3);
fill(COL.dim); textSize(9); textAlign(LEFT, CENTER);
text("relative reactivity (log)", barX + barW + 8, barY + barH / 2);
// hints
textAlign(RIGHT, CENTER); fill(COL.dim); textSize(9);
text("drag kT | keys 1-4 pick fuel | r reset", width - MARGIN, 512);
}
// ---------- small arrowhead helper ---------------------------------------------------
function drawArrow(x1, y1, x2, y2) {
line(x1, y1, x2, y2);
const ang = Math.atan2(y2 - y1, x2 - x1), h = 5;
line(x2, y2, x2 - h * Math.cos(ang - 0.4), y2 - h * Math.sin(ang - 0.4));
line(x2, y2, x2 - h * Math.cos(ang + 0.4), y2 - h * Math.sin(ang + 0.4));
}
// ---------- button styling (active reaction highlighted) -----------------------------
function styleBtns() {
for (let i = 0; i < rxnBtns.length; i++) {
const on = (i === rxnIdx);
rxnBtns[i].style("background", on ? "#ff5fd0" : "#1a2440");
rxnBtns[i].style("color", on ? "#10131f" : "#e8eefc");
rxnBtns[i].style("border", "1px solid #2c3c60");
rxnBtns[i].style("border-radius", "5px");
rxnBtns[i].style("font-family", "monospace");
rxnBtns[i].style("font-size", "11px");
}
if (resetBtn) {
resetBtn.style("background", "#1a2440");
resetBtn.style("color", "#e8eefc");
resetBtn.style("border", "1px solid #2c3c60");
resetBtn.style("border-radius", "5px");
resetBtn.style("font-family", "monospace");
resetBtn.style("font-size", "11px");
}
}
// ---------- input handlers (all call redraw; noLoop default) --------------------------
function onInput() { tempKeV = tSlider.value(); redraw(); }
function pickRxn(i) { rxnIdx = i; styleBtns(); redraw(); }
function resetAll() { // Golden Rule 4: reset restores ALL state
tempKeV = T_DEF; rxnIdx = 0;
tSlider.value(T_DEF);
styleBtns();
redraw();
}
function keyPressed() {
if (key === "1") pickRxn(0);
else if (key === "2") pickRxn(1);
else if (key === "3") pickRxn(2);
else if (key === "4") pickRxn(3);
else if (key === "r" || key === "R") resetAll();
}
```
<!-- REAL-GENERATIVE-MEDIA:START -->
## MicroSim notes
- **Pattern:** a **Pattern V/chart Coulomb-barrier potential diagram** `V(r)` is the star -- a `1/r`
repulsive hill spliced to a deep attractive strong-force well at the contact radius, with the
barrier height marked, a temperature-set kinetic-energy line, the classical turning point, and the
shaded sub-barrier tunneling region -- composed with a **Pattern H/chart Gamow-window inset** (three
energy curves: the Maxwell tail `exp(-E/kT)`, the tunneling factor `exp(-sqrt(E_G/E))`, and their
product, with the Gamow peak `E_0` marked) and a **Pattern A reaction-products schematic** (reactant
nuclei -> products flying apart, arrow length and glyph by kinetic energy and mass). One `ARTICLE`,
vanilla p5.
- **Model:** textbook fusion barrier [[Physics|physics]] in SI/natural units. Barrier
`E_barrier = Z1*Z2*1.44 / (1.2*(A1^(1/3)+A2^(1/3)))` MeV; Gamow energy
`E_G = 2 m_r c^2 (pi alpha Z1 Z2)^2` with `m_r = A1 A2/(A1+A2) * u`; Maxwell mean `1.5 kT`; turning
point `r_tp = Z1*Z2*1.44 / E_kin`; Gamow peak `E_0 = (sqrt(E_G) kT/2)^(2/3)`; Gamow exponent
`tau = 3 (E_G/4kT)^(1/3)`; product split `E_i = Q * m_other/(m1+m2)`. Everything is closed-form -- no
integ/ODE -- so there is no heavy `setup()` computation either.
- **Interaction & editor-safety:** honours the **`noLoop()` default** (Golden Rule 8). The sketch is
**fully input-driven**: `setup()` calls `noLoop()`, and every slider/button handler calls
`redraw()`. There is **no animation loop and no heavy per-frame inner loop**; the only loops are the
few-hundred-point curve samplings (`V(r)`, the three Gamow curves), which run **once per input
event**, not per frame -- well under any loop-protect threshold. Static chrome (panel frames, axes,
axis labels, the HUD frame) is baked **once** into an offscreen `createGraphics` buffer in `setup()`;
the nucleus glyphs are **pre-rendered as `createGraphics` sprites** and blitted. `pixelDensity(2)`;
`createCanvas(720, 520)`; layout from `width`/`height`; `p5.disableFriendlyErrors = true`.
**ASCII-only** strings (Golden Rule 6: `kT`, `E_G`, `E_0`, `tau`, `sqrt`, `->`, `<=`, `MeV`, `keV`;
no Greek -- Unicode lives only in comments). Top-level names avoid p5 globals **and** p5 method names
(no `map`/`scale`/`pow`/`log`/`exp`/`sqrt`/`mag`/`dist`/`lerp`/`ratio`/`split` redefinition): the
model uses `Math.*` throughout and bespoke mappers `xForR` / `yForV` / `xForE` / `yForG`, plus state
names `tempKeV` / `rxnIdx`.
- **Why it earns the canvas:** a two-knob space (temperature, fuel) over genuinely canonical physics
with several crisp "ahas" -- dragging `kT` slides the kinetic-energy line up the hill and marches the
**turning point** toward the nucleus while the **Gamow peak swells and shifts** and the log
reactivity bar climbs through decades (the near-`T^4` sensitivity made visible); switching from
**D-T to p-B-11** visibly **doubles then quadruples the barrier** and balloons `E_G`, so the same
temperature that ignites D-T barely registers for p-B-11 (why aneutronic fuels are "harder"); and the
**products panel** shows the released `Q` splitting inversely by mass, the light neutron streaking off
with 14.1 MeV while the alpha keeps 3.5 MeV -- all anchored to one objective about the barrier, the
Gamow window, and why fusion is a high-temperature, steeply temperature-sensitive process.
## Links (Wikipedia order)
<!-- injected from _registry/childlinks/Nuclear_fusion.json (2026-07-30T02:09:12Z) -->
`1984_Moroccan_radiation_accident` · `1996_San_Juan_de_Dios_radiotherapy_accident` · `ADITYA_(tokamak)` · `AP1000` · `APR-1400` · `ARC_fusion_reactor` · `ASDEX_Upgrade` · `AVR_reactor` · `Aage_Bohr` · `Ab_initio_methods_(nuclear_physics)` · `Absorption_(electromagnetic_radiation)` · `Abundance_of_elements_in_Earth's_crust` · `Abundance_of_the_chemical_elements` · `Abundances_of_the_elements_(data_page)` · `Accretion_disk` · `Acoustic_radiation_force` · `Actinide` · `Actinide_chemistry` · `Activation_product` · `Acute_radiation_syndrome` · `Advanced_boiling_water_reactor` · `Advanced_heavy-water_reactor` · `Airborne_wind_energy` · `Aircraft_Nuclear_Propulsion` · `Alcator_C-Mod` · `Alexandru_Proca` · [[Alpha_decay]] · [[Alpha_particle]] · `Alpha_process` · `Aneutronic_fusion` · `Annihilation` · `Anti-nuclear_movement` · `Antimatter` · `Antimatter-catalyzed_nuclear_pulse_propulsion` · `Antonius_van_den_Broek` · `Aqueous_homogeneous_reactor` · `Argon_fluoride_laser` · `Argus_laser` · `Arthur_Eddington` · `Askaryan_radiation` · `Asterix_IV_laser` · `Astron_(fusion_reactor)` · `Astrophysics` · `Asymptotic_giant_branch` · `Atomic_gardening` · [[Atomic_mass]] · `Atomic_nucleus` · `Atomic_number` · `Autoradiograph` · `BM-40A_reactor` · `BN-1200_reactor` · `BN-350_reactor` · `BN-600_reactor` · `BN-800_reactor` · `BREST_(reactor)` · `BWRX-300` · `Background_radiation` · `Barn_(unit)` · `Beloyarsk_Nuclear_Power_Station` · `Beryllium-8` · [[Beta_decay]] · `Beta_particle` · `Big_Bang` · `Big_Bang_nucleosynthesis` · [[Binding_energy]] · `Bioenergy` · `Biomass` · `Black-body_radiation` · `Black_hole` · `Blue_Ribbon_Commission_on_America's_Nuclear_Future` · `Boiling_water_reactor` · `Boltzmann_distribution` · `Boosted_fission_weapon` · [[Boron]] · `Borromean_nucleus` · `Brachytherapy` · `Bremsstrahlung` · `Brennilis_Nuclear_Power_Plant` · `Brown_dwarf` · `Bubble_fusion` · `Bumpy_torus` · `Burning_plasma` · `CANDU_reactor` · `CAP1400` · `CFR-600` · `CNO_cycle` · `COMPASS_tokamak` · `CPR-1000` · `CRC_Press` · `Capacitor` · `Carbon-12` · `Carbon-13` · `Carbon-burning_process` · `Carbon_dioxide` · `Carbon_footprint` · `Carolinas–Virginia_Tube_Reactor` · `Castle_Bravo` · `Cavendish_Laboratory` · `Chandrasekhar_limit` · `Charles_Critchfield` · `Chemical_energy` · `Chemical_reaction` · `Cherenkov_radiation` · `China_Experimental_Fast_Reactor` · `China_Fusion_Engineering_Test_Reactor` · `Chronic_radiation_syndrome` · `Clinton_Davisson` · `Cluster_decay` · `Coal` · `Cockcroft–Walton_generator` · `Cogeneration` · `Cold_fusion` · `Colliding_beam_fusion` · `Columbia_Non-neutral_Torus` · `Commonwealth_Fusion_Systems` · `Compact_Toroidal_Hybrid` · `Concentrated_solar_power` · `Conservation_of_energy` · `Cosmic_background_radiation` · `Cosmic_ray` · `Cosmic_ray_spallation` · `Cosmogenic_nuclide` · [[Coulomb's_law]] · `Coulomb_barrier` · `Cross_section_(physics)` · `Cyclops_laser` · `Cyclotron` · `DEMOnstration_Power_Plant` · `Dark_energy` · `Dark_radiation` · [[Decay_chain]] · `Decay_energy` · [[Decay_product]] · `Deep_geological_repository` · `Dense_plasma_focus` · `Depleted_uranium` · `Deuterium` · `Deuterium_fusion` · `Deuterium–tritium_fusion` · `Distribution_function_(physics)` · `Divertor_Tokamak_Test` · `Dosimetry` · `Double_beta_decay` · `Double_electron_capture` · `Dounreay` · `Dry_cask_storage` · `Dual_fluid_reactor` · `Dynomak` · `EGP-6` · `ENIAC` · `EPR_(nuclear_reactor)` · `ETE_(tokamak)` · `Earth's_energy_budget` · `Economic_Simplified_Boiling_Water_Reactor` · `Edward_Mills_Purcell` · `Edward_Teller` · `Effects_of_nuclear_explosions` · `Efficient_energy_use` · `Egon_Bretscher` · `Elastic_energy` · `Electric_battery` · `Electric_charge` · `Electric_field` · `Electric_potential_energy` · `Electric_power` · `Electrical_energy` · `Electricity` · `Electricity_delivery` · `Electromagnetic_radiation` · `Electromagnetic_radiation_and_health` · [[Electron]] · `Electron-beam_processing` · `Electron_capture` · `Electronvolt` · `Emil_Konopinski` · [[Energy]] · `Energy_Multiplier_Module` · `Energy_carrier` · `Energy_condition` · `Energy_conservation` · `Energy_consumption` · `Energy_democracy` · `Energy_density` · `Energy_development` · `Energy_efficiency_in_agriculture` · `Energy_efficiency_in_transport` · [[Energy_engineering]] · `Energy_in_Africa` · `Energy_in_Australia` · `Energy_in_Europe` · `Energy_in_Mexico` · `Energy_in_South_America` · `Energy_in_the_United_States` · `Energy_level` · `Energy_policy` · `Energy_policy_of_Canada` · `Energy_recovery` · `Energy_recycling` · `Energy_security` · `Energy_storage` · `Energy_supply` · `Energy_system` · [[Energy_transformation]] · `Energy_transition` · `Enormous_Toroidal_Plasma_Device` · `Enriched_uranium` · `Enrico_Fermi` · `Enthalpy` · `Entropic_force` · [[Entropy]] · [[Erbium]] · `Ernest_Lawrence` · `Ernest_Rutherford` · `Ernest_Walton` · `Eugene_Wigner` · `Even_and_odd_atomic_nuclei` · `Excimer` · `Excimer_laser` · `Exergy` · `Exothermic_reaction` · `Experimental_Advanced_Superconducting_Tokamak` · `FBR-600` · `FLiBe` · `Fast-neutron_reactor` · `Fast_Breeder_Test_Reactor` · `Fast_neutron_therapy` · [[Fermion]] · `Fertile_material` · `Field-reversed_configuration` · `Fine-structure_constant` · `Fissile_material` · `Fluorine-18` · `Food_irradiation` · `Fossil_fuel` · `Fossil_fuel_power_station` · `Francis_William_Aston` · `Frascati_Tokamak_Upgrade` · `Frederick_Soddy` · `Free_entropy` · `Friedrich_Hund` · `Fritz_Houtermans` · `Fritz_Strassmann` · `Frédéric_Joliot-Curie` · `Fuel` · `Fuel_oil` · `Fugen_Nuclear_Power_Plant` · `Fuji_Molten_Salt_Reactor` · `FuseNet` · `Fusion_energy_gain_factor` · `Fusion_power` · [[Fusion_rocket]] · `Fusor` · `GEKKO_XII` · `GE_BWR` · `GLAST_(tokamak)` · `Gamma_ray` · `Gamow_factor` · `Gas-cooled_fast_reactor` · `Gas-cooled_reactor` · `Gas_Dynamic_Trap` · `Gas_turbine_modular_helium_reactor` · `Gemstone_irradiation` · `General_Fusion` · `Generation_IV_reactor` · `Gentilly_Nuclear_Generating_Station` · `George_Gamow` · `Geothermal_energy` · `Geothermal_power` · `Goiânia_accident` · `Graphite-moderated_reactor` · `Gravitational_binding_energy` · `Gravitational_energy` · `Gravity` · `Greenhouse_George` · `Greenhouse_Item` · `Guiding_center` · `H-1NF` · `HH70` · `HL-2A` · `HL-2M` · `HT-7` · `HTR-10` · `HTR-PM` · [[Half-life]] · `Halo_nucleus` · `Hans_Bethe` · `Health_physics` · `Heat` · `Heat_capacity` · `Heat_pipe-cooled_reactor` · [[Heat_transfer]] · `Heavy-water_reactor` · `Heavy_ion_fusion` · `Helically_Symmetric_Experiment` · `Helion_Energy` · `Heliotron_J` · [[Helium]] · [[Helium-3]] · [[Helium-4]] · `Helium_flash` · `Helium_star` · `Henri_Becquerel` · `Henry_Moseley` · `HiPER` · `High-altitude_nuclear_explosion` · `High-energy_nuclear_physics` · `High-level_waste` · `Historical_nuclear_weapons_stockpiles_and_nuclear_tests_by_country` · `History_of_energy` · `History_of_nuclear_weapons` · `Hualong_One` · `Hybrid_Illinois_Device_for_Research_and_Applications` · `Hydroelectricity` · [[Hydrogen]] · `Hydropower` · `IGNITOR` · `IPHWR` · `IPHWR-220` · `IPHWR-700` · `IPWR-900` · `ISKRA_lasers` · `ISTTOK` · `ITER` · `ITER_Neutral_Beam_Test_Facility` · `Impulse_generator` · `Index_of_energy_articles` · `Inertia` · `Inertial_confinement_fusion` · `Inertial_electrostatic_confinement` · `Infrared` · `Integral_Molten_Salt_Reactor` · `Integral_fast_reactor` · `Integrated_gasification_combined_cycle` · `Interacting_boson_model` · `Interatomic_potential` · `Internal_conversion` · `Internal_energy` · `International_Atomic_Energy_Agency` · `International_Fusion_Materials_Irradiation_Facility` · [[Ion]] · [[Ionization_energy]] · `Ionizing_radiation` · [[Iron]] · `Iron-56` · `Iron_peak` · `Irradiation` · `Irreversible_process` · `Irène_Joliot-Curie` · `Island_of_stability` · `Isobar_(nuclide)` · [[Isolated_system]] · `Isotone` · `Isotope` · `Isotope_separation` · `Isotopes_of_iron` · `Isotopes_of_nickel` · `Ivy_Mike` · `J._Hans_D._Jensen` · `J._J._Thomson` · `J._Robert_Oppenheimer` · `JT-60` · `James_Chadwick` · `Janus_laser` · `Jevons_paradox` · `John_Cockcroft` · `Joint_European_Torus` · `KLT-40_reactor` · `KN-3_reactor` · `KSTAR` · `KS_150` · `Kelvin` · `Kinetic_energy` · `Krypton-fluoride_laser` · `LULI2000` · `Laboratory_for_Laser_Energetics` · `Large_Hadron_Collider` · `Large_Helical_Device` · `Laser` · `Laser_Inertial_Fusion_Energy` · `Laser_Mégajoule` · `Laser_safety` · `Lasers_and_aviation_safety` · `Latent_heat` · `Lattice_confinement_fusion` · `Laws_of_thermodynamics` · `Lawson_criterion` · `Lead-cooled_fast_reactor` · `Levitated_Dipole_Experiment` · `Levitated_dipole` · `Light` · `Light-water_reactor` · `Light_water_graphite_reactor` · `Linear_energy_transfer` · `Linus_(fusion_experiment)` · `Liquid_fluoride_thorium_reactor` · `Liquid_hydrogen` · `Liquid_metal_cooled_reactor` · `Lise_Meitner` · `List_of_United_States_nuclear_weapons_tests` · `List_of_civilian_radiation_accidents` · [[List_of_computational_physics_software]] · `List_of_fusion_experiments` · `List_of_fusion_power_technologies` · `List_of_nuclear_fusion_companies` · `List_of_nuclear_weapons` · `List_of_nuclear_weapons_tests` · `List_of_states_with_nuclear_weapons` · `List_of_weapons_of_mass_destruction_treaties` · [[Lithium]] · `Lithium_Tokamak_Experiment` · `Lithium_burning` · `Lockheed_Martin_Compact_Fusion_Reactor` · `Long-lived_fission_product` · `Long_path_laser` · `Los_Alamos_National_Laboratory` · `Low-level_waste` · `Lucens_reactor` · `Luis_Walter_Alvarez` · `M._Stanley_Livingston` · `MKER` · `Madison_Symmetric_Torus` · `Magic_number_(physics)` · `Magnetic_confinement_fusion` · `Magnetic_energy` · `Magnetic_field` · `Magnetic_mirror` · `Magnetized_liner_inertial_fusion` · `Magnetized_target_fusion` · `Magneto-inertial_fusion` · `Magnetohydrodynamics` · `Magnox` · `Manhattan_Project` · `Marie_Curie` · `Marine_energy` · `Mark_Oliphant` · `Mass` · `Mass_number` · `Mass–energy_equivalence` · `Matter_wave` · `Maxwell–Boltzmann_distribution` · `Mechanical_energy` · `Mechanical_wave` · `Medical_imaging` · `Mega_Ampere_Spherical_Tokamak` · `Metallicity` · `Microwave` · `Migma` · `Minor_actinide` · `Mirror_Fusion_Test_Facility` · `Mirror_nuclei` · `Model_C_stellarator` · `Molten-Salt_Reactor_Experiment` · `Multi-mission_radioisotope_thermoelectric_generator` · `Muon` · `Muon-catalyzed_fusion` · `National_Compact_Stellarator_Experiment` · `National_Ignition_Facility` · `National_Spherical_Torus_Experiment` · [[Natural_gas]] · `Natural_nuclear_fission_reactor` · `Natural_uranium` · `Nature_(journal)` · `Negative_energy` · `Negative_mass` · `Negentropy` · `Neon-burning_process` · [[Neptunium]] · `Neutrino` · `Neutrinoless_double_beta_decay` · [[Neutron]] · `Neutron_activation` · `Neutron_capture` · `Neutron_capture_therapy_of_cancer` · `Neutron_cross_section` · `Neutron_emission` · `Neutron_generator` · `Neutron_moderator` · `Neutron_number` · `Neutron_poison` · `Neutron_radiation` · `Neutron_reflector` · `Neutron_source` · `Neutron_star_merger` · `Neutron_temperature` · [[Nickel]] · `Nickel-62` · `Niels_Bohr` · `Nike_laser` · `Non-ionizing_radiation` · `Norman_Rostoker` · `Nova` · `Nova_(laser)` · `Nova_remnant` · `Nuclear-weapon-free_zone` · `Nuclear_Fusion_(journal)` · `Nuclear_and_radiation_accidents_and_incidents` · `Nuclear_arms_race` · `Nuclear_astrophysics` · `Nuclear_binding_energy` · `Nuclear_chemistry` · `Nuclear_cross_section` · `Nuclear_decommissioning` · `Nuclear_disarmament` · `Nuclear_drip_line` · `Nuclear_energy_policy` · [[Nuclear_engineering]] · `Nuclear_ethics` · `Nuclear_explosion` · `Nuclear_fallout` · `Nuclear_fission` · `Nuclear_fission_product` · `Nuclear_force` · [[Nuclear_fuel]] · `Nuclear_fuel_cycle` · `Nuclear_fusion–fission_hybrid` · `Nuclear_isomer` · `Nuclear_material` · `Nuclear_matter` · `Nuclear_medicine` · `Nuclear_meltdown` · `Nuclear_physics` · `Nuclear_power` · `Nuclear_power_by_country` · `Nuclear_power_debate` · `Nuclear_power_phase-out` · `Nuclear_power_plant` · `Nuclear_proliferation` · `Nuclear_propulsion` · `Nuclear_pulse_propulsion` · `Nuclear_reaction` · `Nuclear_reactor` · `Nuclear_reactor_coolant` · `Nuclear_reprocessing` · `Nuclear_safety_and_security` · `Nuclear_shell_model` · `Nuclear_structure` · `Nuclear_technology` · `Nuclear_thermal_rocket` · `Nuclear_transmutation` · `Nuclear_warfare` · `Nuclear_weapon` · `Nuclear_weapon_design` · `Nuclear_weapon_yield` · `Nuclear_weapons_debate` · `Nuclear_weapons_delivery` · `Nuclear_weapons_testing` · `Nucleon` · `Nucleon_pair_breaking_in_fission` · [[Nucleosynthesis]] · `Nuclide` · `OK-150_reactor` · `OK-550_reactor` · `OK-650_reactor` · `Obninsk_Nuclear_Power_Plant` · `Oil_refinery` · `OpenStar` · `Optical_depth` · `Order_of_magnitude` · `Orders_of_magnitude_(temperature)` · `Organic_Moderated_Reactor_Experiment` · `Organic_matter` · `Organic_nuclear_reactor` · `Otto_Hahn` · `Outline_of_energy` · `Outline_of_nuclear_technology` · [[Oxygen]] · `Oxygen-burning_process` · `P-nuclei` · `P-process` · `PRISM_(reactor)` · `PROTO_(fusion_reactor)` · `Padé_approximant` · `Particle_accelerator` · `Particle_radiation` · `Patrick_Blackett` · `Paul_Harteck` · `Pauli_exclusion_principle` · `Pebble-bed_reactor` · `Pegasus_Toroidal_Experiment` · `Penning_trap` · `Perhapsatron` · `Periodic_table` · `Petroleum` · `Photodisintegration` · `Photofission` · `Photovoltaic_system` · `Phénix` · `Pierre_Curie` · `Pinch_(plasma_physics)` · [[Plasma_(physics)]] · `Plasma_Physics_Laboratory_(Saskatchewan)` · `Plasma_Physics_Reports` · [[Plutonium]] · `Polywell` · `Positron` · [[Positron_emission]] · `Positron_emission_tomography` · `Potential_energy` · `Power_(physics)` · `Power_usage_effectiveness` · `Pressurized_heavy-water_reactor` · `Pressurized_water_reactor` · `Primary_energy` · `Primordial_nuclide` · `Princeton_Large_Torus` · `Princeton_Plasma_Physics_Laboratory` · `Princeton_University` · `Princeton_field-reversed_configuration` · `Project_PACER` · [[Proton]] · `Proton_capture` · `Proton_emission` · `Proton_therapy` · `Proton–proton_chain` · `Prototype_Fast_Breeder_Reactor` · `Pulsed_power` · `Pure_fusion_weapon` · `Pyroelectric_fusion` · `Pyroelectricity` · `Quantum_chromodynamics_binding_energy` · `Quantum_fluctuation` · `Quantum_potential` · `Quantum_thermodynamics` · `Quantum_tunnelling` · `Quark–gluon_plasma` · `Quintessence_(physics)` · `R-matrix` · `R-process` · `R4_nuclear_reactor` · `RBMK` · `RDS-1` · `RDS-37` · `RDS-6s` · `RITM-200` · `RadBall` · `Radiant_energy` · `Radiation` · `Radiation_damage` · `Radiation_exposure` · `Radiation_hardening` · `Radiation_implosion` · `Radiation_protection` · `Radiation_therapy` · `Radio_wave` · `Radioactive_contamination` · [[Radioactive_decay]] · `Radioactive_source` · `Radioactive_waste` · `Radioactivity_in_the_life_sciences` · `Radiobiology` · `Radiogenic_nuclide` · `Radioisotope_thermoelectric_generator` · `Radionuclide` · `Radiopharmacology` · `Radiosurgery` · `Reactor-grade_plutonium` · `Red_dwarf` · `Reduced_moderation_water_reactor` · `Relativistic_Heavy_Ion_Collider` · `Renewable_energy` · `Reprocessed_uranium` · `Resonance_(particle_physics)` · `Reversed-Field_eXperiment` · `Reversed_field_pinch` · `Richard_Garwin` · `Riggatron` · `Robert_S._Mulliken` · `Robert_d'Escourt_Atkinson` · `Rp-process` · `Rusi_Taleyarkhan` · `S-process` · `SCR-1` · `SPARC_(tokamak)` · `SST-1_(tokamak)` · `SUNIST` · `Sceptre_(fusion_reactor)` · `Schwarzschild_radius` · `Scintigraphy` · `Semi-empirical_mass_formula` · `Shiva_laser` · `Sievert` · `Silicon-burning_process` · `Single-photon_emission_computed_tomography` · `Small,_sealed,_transportable,_autonomous_reactor` · `Small_Tight_Aspect_Ratio_Tokamak` · `Sodium-cooled_fast_reactor` · `Solar_energy` · `Solar_furnace` · `Solar_mass` · `Solar_power` · `Solar_power_tower` · `Solar_thermal_energy` · `Sound_energy` · `Spallation` · `Specific_energy` · `Spent_fuel_pool` · `Spent_nuclear_fuel` · `Spherical_Tokamak_for_Energy_Production` · `Spherical_tokamak` · `Spheromak` · [[Spontaneous_fission]] · `Stable_nuclide` · `Stable_salt_reactor` · `Star` · `Starlight` · `Stellar_black_hole` · `Stellar_core` · `Stellar_nucleosynthesis` · `Stellarator` · `Steven_E._Jones` · `Storage_ring` · `Strong_interaction` · `Sunlight` · `Supercritical_water_reactor` · `Superheavy_element` · `Supernova_nucleosynthesis` · `Superphénix` · `Surface_energy` · `Sustainable_energy` · `Sustained_Spheromak_Physics_Experiment` · `Synchrotron_radiation` · `Synthetic_element` · `T-15_(reactor)` · `TAE_Technologies` · `THTR-300` · `TJ-II` · `TMSR-LF1` · `TNT_equivalent` · `Tandem_Mirror_Experiment` · `Targeted_alpha-particle_therapy` · [[Technetium]] · `Temperature` · `Thailand_Tokamak-1` · `Thermal_energy` · `Thermal_equilibrium` · `Thermal_radiation` · `Thermal_reservoir` · [[Thermodynamic_equilibrium]] · `Thermodynamic_free_energy` · `Thermodynamic_potential` · `Thermodynamic_state` · [[Thermodynamic_system]] · `Thermodynamic_temperature` · [[Thermodynamics]] · `Thermonuclear_weapon` · `Theta_pinch` · [[Thorium]] · `Tidal_power` · `Timeline_of_nuclear_fusion` · `Tokamak` · `Tokamak_Fusion_Test_Reactor` · `Tokamak_de_Varennes` · `Tokamak_à_configuration_variable` · `Tomotherapy` · `Toroidal_solenoid` · `Traveling_wave_reactor` · `Triple-alpha_process` · `Trisops` · `Tritium` · [[Tungsten]] · `Type_Ia_supernova` · `UHTREX` · `UNGG_reactor` · `Ultraviolet` · `Underground_nuclear_weapons_testing` · `United_States_Department_of_Energy` · `Units_of_energy` · `University_of_California,_Los_Angeles` · `University_of_Michigan` · `Uragan-2M` · [[Uranium]] · `Uranium_mining_debate` · `VM_reactor` · `VT-1_reactor` · `VVER` · `Vacuum` · `Vacuum_energy` · `Valley_of_stability` · `Voitenko_compressor` · `Volume_(thermodynamics)` · `Vulcan_laser` · `WEST_(formerly_Tore_Supra)` · `WR-1` · `Waste-to-energy` · `Waste-to-energy_plant` · [[Wayback_Machine]] · `Wendelstein_7-AS` · `Wendelstein_7-X` · `Wigner_effect` · `William_Draper_Harkins` · `Wind_farm` · `Wind_power` · `Wireless_device_radiation_and_health` · `Work_(physics)` · `World_energy_supply_and_consumption` · `Władysław_Świątecki_(physicist)` · `X-ray` · `Xenon_monochloride` · `YouTube` · `Z-pinch` · `ZETA_(fusion_reactor)` · `Z_Pulsed_Power_Facility` · `Zap_Energy` · [[Zero-point_energy]] · `École_Polytechnique_Fédérale_de_Lausanne`
## From the Real GENERATIVE library

*Nuclear fusion — placed from the Real G.E.N.E.R.A.T.I.V.E. course library (Nuclear room). Source: Wikimedia Commons (via Wikipedia article media). [Details & license](https://commons.wikimedia.org/wiki/File:The_Sun_in_white_light.jpg).*
> Nuclear fusion is a reaction in which two or more atomic nuclei, usually deuterium and tritium (hydrogen isotopes), combine to form one or more different atomic nuclei and subatomic particles (neutrons or protons). The difference in mass between the reactants and products is manifested as either the release or absorption of energy. ([Wikipedia](https://en.wikipedia.org/wiki/Nuclear_fusion))
<!-- REAL-GENERATIVE-MEDIA:END -->
<!-- LOCAL-MEDIA-PASS:START -->
## From the vault media library
!Nuclear fusion thumb.png
*Nuclear Fusion — from the vault's own media holdings, placed 2026-07-09. MTN / Wikitube.io original · CC BY-SA 4.0.*
<!-- LOCAL-MEDIA-PASS:END -->
## Overview
**Nuclear fusion** is the joining of two light atomic nuclei into a single heavier nucleus, releasing
[[Energy|energy]]. It is the opposite of fission and the more fundamental of the two: fusion is what powers the
**Sun and every star**, what forged most of the [[Helium|helium]] in the universe, and what fusion-energy
research is trying to bottle on [[Earth]]. The canonical laboratory reaction is **deuterium plus tritium**
-- two heavy isotopes of hydrogen -- fusing into a helium-4 nucleus and a free [[Neutron|neutron]] and liberating
**17.6 MeV** per event: `D + T -> He-4 + n`. Per unit mass that is roughly **four times** the energy
of fission and **ten million times** the energy of a chemical reaction, with fuel (deuterium from
seawater, lithium-bred tritium) that is effectively inexhaustible and waste that is far shorter-lived
than fission's actinides.
The reason fusion is *hard* -- the reason stars need their crushing cores and reactors need
hundred-million-degree plasmas -- is the **Coulomb barrier**. Both nuclei are positively charged, so
as they approach they repel each other with a [[Force|force]] that grows as `1/r^2`; the potential energy climbs
as `1/r` to a peak of a few hundred keV before the short-range **strong nuclear force**, which only
acts once the nuclei nearly touch, can take over and bind them. To fuse, the colliding pair must
either carry enough relative kinetic energy to climb that hill, or **quantum-mechanically tunnel**
through it. Both routes are exponentially sensitive to energy, which is why a small change in
temperature changes the fusion rate enormously, and why the Sun -- whose core at 15 million kelvin is
nowhere near hot enough classically -- runs only because tunneling lets a tiny fraction of its protons
through the barrier.
This MicroSim makes the barrier visible and playable. The main panel draws the **Coulomb-barrier
potential** `V(r)`: a repulsive `1/r` hill outside the nuclear radius, a deep attractive well inside,
the **barrier height** marked, a horizontal line at the relative kinetic energy set by the **plasma
temperature**, the **classical turning point** where a slow pair would bounce back, and the shaded
**sub-barrier region** the pair must **tunnel** through. A second panel plots the famous **Gamow
window** -- the product of the falling Maxwell-Boltzmann energy tail and the rising tunneling
probability -- whose narrow peak is the small band of collision energies that actually do the fusing;
raise the temperature and that peak grows and slides to higher energy, and the fusion rate climbs
super-exponentially. A third panel shows the **reaction products** flying apart, their kinetic
energies split inversely by mass (for D-T, the light neutron carries 14.1 MeV and the heavy alpha
3.5 MeV). Two controls -- **temperature** `kT` and the choice of **reaction** (D-T, D-D, D-He-3,
p-B-11) -- let a learner feel why D-T is the easy first fuel, why aneutronic fuels need far higher
temperatures, and why "just make it hotter" is the whole game.
## The physics / derivation
**The energy source: the binding-energy curve (run the other way).** As with fission, fusion's energy
comes from the **curve of [[Binding_energy|binding energy]] per nucleon**, which rises steeply from hydrogen, through a
sharp jump at helium-4, and on toward the peak near iron-56 (~8.8 MeV/nucleon). Light nuclei are
*loosely* bound, so fusing two of them into a more tightly bound product drops the nucleons into a
deeper well and releases the difference as kinetic energy. Helium-4 is exceptionally tightly bound
(7.07 MeV/nucleon, a local spike), which is why reactions that produce it -- D-T, D-He-3, p-B-11 --
are so energetic. The energy released, the **Q-value**, is just the mass deficit times `c^2`:
```
Q = ( m_reactants - m_products ) * c^2
```
```
D + T -> He-4 + n Q = 17.59 MeV (the workhorse: largest cross-section, lowest ignition T)
D + D -> He-3 + n Q = 3.27 MeV (50% branch; the other 50% -> T + p, Q = 4.03 MeV)
D + He-3 -> He-4 + p Q = 18.35 MeV (ANEUTRONIC: charged products only)
p + B-11 -> 3 He-4 Q = 8.68 MeV (ANEUTRONIC; needs the highest temperature)
```
**Where the energy goes: momentum conservation splits Q by mass.** The two reactant nuclei arrive with
only keV of kinetic energy, so to a good approximation the products fly apart from rest with equal and
opposite momenta `p`. Each product's kinetic energy is `p^2 / 2m`, so the *lighter* product carries the
*larger* share, inversely proportional to mass:
```
E_1 / E_2 = m_2 / m_1
```
For **D-T**, the neutron (mass 1) and the alpha (mass 4) split 17.6 MeV in the ratio 4:1, giving the
neutron **14.1 MeV** and the alpha **3.5 MeV**. This single fact drives fusion [[Engineering|engineering]]: the
14.1 MeV neutron is both the prize (it heats the blanket and breeds tritium from lithium) and the
problem (it activates and damages structural materials), while the charged 3.5 MeV alpha stays trapped
in the magnetic field and **self-heats** the plasma -- the basis of ignition. Aneutronic fuels
(D-He-3, p-B-11) emit their energy as charged particles only, dodging the neutron problem at the cost
of a much higher required temperature.
**The obstacle: the Coulomb barrier.** Two nuclei of charges `Z1 e` and `Z2 e` separated by `r` repel
with the electrostatic potential energy
```
V_Coulomb(r) = ( Z1 * Z2 * e^2 ) / ( 4 * pi * eps0 * r ) = Z1 * Z2 * (1.44 MeV*fm) / r[fm]
```
using the convenient constant `e^2 / (4*pi*eps0) = 1.44 MeV*fm`. This climbs as the nuclei approach,
until at the **contact radius** `R = r0 * (A1^(1/3) + A2^(1/3))` (with `r0 ~ 1.2 fm`) the attractive
**strong force** abruptly takes over and the potential plunges into a deep well (tens of MeV). The
**barrier height** -- the top of the hill the pair must surmount -- is `V_Coulomb` evaluated at `R`:
```
E_barrier = Z1 * Z2 * (1.44 MeV*fm) / R
```
```
D-T R ~ 3.24 fm E_barrier ~ 0.44 MeV (440 keV)
D-D R ~ 3.02 fm E_barrier ~ 0.48 MeV
D-He-3 R ~ 3.24 fm E_barrier ~ 0.89 MeV (Z1*Z2 = 2 -> twice as tall)
p-B-11 R ~ 3.87 fm E_barrier ~ 1.86 MeV (Z1*Z2 = 5 -> the tallest)
```
The decisive comparison is barrier height versus the **thermal kinetic energy**. In a plasma at
temperature `T`, particles share a Maxwell-Boltzmann distribution with **mean kinetic energy**
`<E> = (3/2) kT`. Fusion temperatures are quoted as the energy `kT` itself, in keV
(`1 keV = 11.6 million K`). Even a "hot" D-T plasma at `kT = 15 keV` (175 million K) has a mean
energy of ~22 keV -- **twenty times smaller than the 440 keV barrier**. Classically, almost nothing
would fuse. Something else must be happening.
**The escape hatch: quantum tunneling and the Gamow factor.** [[Quantum_mechanics|Quantum mechanics]] lets a particle pass
*through* a barrier it cannot classically surmount. The probability falls off exponentially with the
"area" of the barrier, captured by the **Gamow factor**. For a collision at energy `E`, the tunneling
probability is approximately
```
P_tunnel(E) ~ exp( - sqrt( E_G / E ) )
```
where `E_G`, the **Gamow energy**, depends only on the charges and the reduced mass:
```
E_G = 2 * m_r * c^2 * ( pi * alpha * Z1 * Z2 )^2 , m_r = ( A1*A2 / (A1+A2) ) * u
```
(`alpha = 1/137` is the fine-[[Structure|structure]] constant; `u*c^2 = 931.49 MeV`). For D-T, `E_G ~ 1.18 MeV`; the
higher-charge p-B-11 has `E_G ~ 22 MeV`, which is exactly why it is so much harder. The tunneling
probability **rises** steeply with collision energy, while the number of particles available at that
energy **falls** as the Maxwell-Boltzmann tail `exp(-E/kT)`. The fusion rate is the product, and that
product is sharply peaked.
**The Gamow peak: where fusion actually happens.** Multiplying the falling supply by the rising
penetrability gives the **Gamow window** -- a narrow energy band, well above the mean thermal energy
but well below the barrier top, where essentially all the fusion occurs:
```
rate-integrand(E) ~ exp( -E/kT ) * exp( -sqrt(E_G/E) )
```
Setting its derivative to zero locates the **Gamow peak energy**:
```
E_0 = ( sqrt(E_G) * kT / 2 )^(2/3)
```
For D-T at `kT = 10 keV`, `E_0 ~ 30 keV` -- three times the mean energy, yet still fifteen times below
the barrier: fusion is carried almost entirely by the lucky fast particles in the tail, tunneling the
last stretch. The thermally averaged reactivity `<sigma v>` then carries the celebrated Gamow scaling
```
<sigma v> ~ exp( - 3 * ( E_G / (4 kT) )^(1/3) ) = exp( -tau ) , tau = 3 E_0 / kT
```
a function so steep that near 10-20 keV the D-T reaction rate climbs roughly as `T^4` -- doubling the
temperature can raise the fusion power by more than an order of magnitude. This extreme sensitivity is
the central design fact of fusion: it sets the operating temperature, dictates why D-T (lowest `E_G`,
biggest cross-section, peak reactivity near 70 keV) is the first fuel, and explains why p-B-11
(`E_G ~ 22 MeV`) needs plasmas several times hotter still.
**From rate to a reactor: the Lawson / triple-product condition (context).** Making fusions happen is
necessary but not sufficient for net energy; the plasma must also be held together long enough and
densely enough that the fusion power exceeds the losses. The **Lawson criterion** and its modern
**triple product** `n * T * tau_E` ([[Density|density]] x temperature x energy-confinement-time, with the D-T
ignition target around `3e21 keV*s/m^3`) set that bar. Confinement -- magnetic (the **Tokamak**) or
inertial -- is the subject of the companion confinement sims; this MicroSim isolates the *first*
hurdle, the **barrier and the Gamow window**, which decides how hot the plasma must be in the first
place.
## Parameter table (control -> symbol -> range)
| Control | Symbol | Meaning | Range (units) | Default |
|---|---|---|---|---|
| Temperature slider | `kT` | plasma temperature in energy units (mean particle energy `<E> = 1.5 kT`) | 1 - 300 keV (`= 11.6 - 3480 million K`) | 15 keV (~175 MK, near the D-T optimum) |
| Reaction selector (4 buttons / key `1-4`) | `D-T`, `D-D`, `D-He-3`, `p-B-11` | sets the charges `Z1,Z2`, masses `A1,A2`, and `Q-value` -- hence barrier height, Gamow energy, and products | 4 discrete fuels | `D-T` |
| Reset button / key `r` | -- | restore temperature to 15 keV and reaction to D-T | -- | -- |
Derived / read-out quantities (recomputed live on every input): the **barrier height**
`E_barrier = Z1*Z2*1.44/R` (MeV); the **Gamow energy** `E_G` (keV/MeV); the **mean thermal energy**
`<E> = 1.5 kT` (keV); the **classical turning point** `r_tp = Z1*Z2*1.44 / E_kin` where `E_kin` is the
energy line; the **Gamow peak energy** `E_0 = (sqrt(E_G) kT/2)^(2/3)` (keV); the **Gamow exponent**
`tau = 3 (E_G/4kT)^(1/3)` (dimensionless; smaller = faster); a **relative reactivity** bar drawn on a
**log scale** (because `exp(-tau)` spans many decades across the fuels and temperatures); the
**Q-value** (MeV); and the **product kinetic energies** split as `E_i = Q * m_other/(m_1+m_2)`.
Fixed model constants: `e^2/(4*pi*eps0) = 1.44 MeV*fm`; nuclear-radius coefficient `r0 = 1.2 fm`;
atomic-mass-unit energy `u*c^2 = 931.494 MeV`; fine-structure constant `alpha = 1/137.036`;
temperature conversion `1 keV = 11.605 million K`. Reaction data are the textbook Q-values and product
splits listed above. The potential, energy line, turning point, tunneling shading, and Gamow curves
are sampled at a few hundred points **only on input** (`redraw()`), never per animation frame.
## Learning objective
From the Coulomb potential `V(r) = Z1*Z2*1.44/r` and the Gamow tunneling factor
`P ~ exp(-sqrt(E_G/E))`, **explain why nuclear fusion requires extreme temperatures and why its rate is
so violently sensitive to temperature.** Concretely: read the **barrier height** off the potential
diagram, see that the plasma's **mean thermal energy `1.5 kT` is one to two orders of magnitude below
it**, and recognise that fusion proceeds only by **quantum tunneling** in the **Gamow window** -- the
product of the falling Maxwell tail and the rising penetrability. Predict, by dragging the temperature,
how the Gamow peak grows and shifts and the reactivity climbs (the near-`T^4` regime); and predict, by
switching reaction, how raising the charge product `Z1*Z2` (D-T -> D-He-3 -> p-B-11) raises both the
barrier and the Gamow energy and so demands a hotter plasma -- while reading off how the released
**Q-value splits between the products inversely by mass**, the fact behind D-T's 14.1 MeV neutron and
3.5 MeV self-heating alpha.
<!-- CRAFT-LINK:START g12 -->
*Built to the [[WT!P5_js_Microsim_Master_Class|p5.js Master Class]].*
<!-- CRAFT-LINK:END -->
<!-- COMPENDIUMLINK:BEGIN g19 — generated from _registry/plans/THURY_COMPENDIUM_SECTIONS.md; do not hand-edit inside -->
**Part of the [[WT!Thury_Hydrodynamics_Compendium|Thury Hydrodynamics Compendium]]** — main article for section 14, *Helium-3 and fusion*. Related sections: [[Hydrodynamic_stability]] · [[Hydrogen_economy]] · [[Superfluidity]] · [[Magnetohydrodynamics]].
<!-- COMPENDIUMLINK:END -->
<!-- THURYSIM:BEGIN g21 — Thury Compendium microsim (framework build, specs/sims/Nuclear_fusion.json); do not hand-edit inside -->
**Microsim — three.js (Wikitube framework):** *Nuclear fusion*
<div class="wt-sim" data-src="https://wikitube-3d-microsims.netlify.app/thury/Nuclear_fusion.html" data-title="Nuclear fusion"></div>
*Built from `MICROSIM_GUIDE/specs/sims/Nuclear_fusion.json`; part of the [[WT!Thury_Hydrodynamics_Compendium|Thury Hydrodynamics Compendium]] set.*
<!-- THURYSIM:END -->
## Wikipedia : Wikitube
**Strict pair:** [Wikipedia](https://en.wikipedia.org/wiki/Nuclear_fusion) : [Wikitube](https://en.wikitube.io/wiki/Nuclear_fusion)
## Previous hub tags
Tree parents: [[Helium]] · [[Helium-3]] · [[Hydrogen]].
Legacy hubs: none.
*Legacy media (later editing), kept in place under `Wikitube - Collision And Promoted Articles/Nuclear_fusion/`: `Nuclear_fusion Books` (4) · `Nuclear_fusion History` (1) · `Nuclear_fusion Systems` (1)*
---
*Sources: 2 legacy notes. Minted wave 1, 2026-07-30 (v1.6 order).*