# Fusion rocket ## Microsim ### Live player <div class="microsim-player"> <iframe src="https://editor.p5js.org/sciencenibber/full/810vYsbef" width="100%" height="620" frameborder="0" sandbox="allow-scripts allow-same-origin"></iframe> </div> <div class="microsim-fallback"> <img src="Microsims/thumbs/Fusion_rocket.png" alt="Fusion_rocket microsim poster" style="width:100%;border:1px solid #4445;border-radius:6px;"> <p><em>Live microsim (desktop) · <a href="https://editor.p5js.org/sciencenibber/sketches/810vYsbef">open sketch in the p5.js editor</a></em></p> </div> **Editor URL:** https://editor.p5js.org/sciencenibber/sketches/810vYsbef **Description (100 words):** A side-view topological schematic of a Direct Fusion Drive. The reader sees the two qualitatively different magnetic-field regions that the same set of mirror coils produces: on the left, nested closed flux surfaces forming a Field-Reversed Configuration plasmoid (blue rings), bounded by the yellow separatrix that meets itself at two X-points; on the right, a magenta fan of open field lines diverging through a magnetic nozzle that becomes the exhaust. Plasma particles orbit the closed surfaces, occasionally [[Leak|leak]] through the X-points, and accelerate outward along the open lines. Three sliders pick fuel cycle (D-T, D-He3, D-D, p-B11), set the mirror ratio, and gate the mass flow; the HUD computes exhaust velocity and specific impulse. ```js // ===================================================================== // Fusion_rocket.js -- Wikitube microsim // Article: Fusion_rocket en.wikitube.io/wiki/Fusion_rocket // Room: Helium Pattern: 8 (Crossover with Geometry -- // topological + spatial) // --------------------------------------------------------------------- // Idea: a side-view, topology-first schematic of a Direct Fusion Drive // (DFD) -- the Princeton Field-Reversed Configuration (FRC) thruster // whose closed magnetic flux surfaces confine a D-He3 (or D-T / D-D / // p-B11) plasma, and whose open field lines downstream form a magnetic // nozzle that accelerates plasma to an exhaust velocity v_e of order // 10^5 - 10^7 m/s. // // Why Pattern 8 (Crossover with Geometry): the entire physics here is // topological. The same magnetic field has two regions of qualitatively // different topology -- closed flux surfaces (containing the plasma) // and open field lines (extracting thrust) -- separated by a curve // called the separatrix. The X-point where the separatrix self- // intersects is a topological singularity. Spatially, the visualization // is a stack of nested loops on the left half of the canvas and a fan // of diverging hyperbolae on the right half; the reader sees the // topology change directly. // // Visual layout (720 x 520 canvas): // * top-left: HUD title 'Fusion rocket' + en.wikitube.io URL // * top-right: control hints // * center: rocket cross-section (axially symmetric about y_axis) // - left chamber: closed FRC flux surfaces (nested loops) // - middle: separatrix + two X-points (top & bottom) // - right nozzle: open field lines diverging outward // - magnetic coils shown as solid disks above/below // * particles: plasma ions, color-coded by region (confined / escaping // / exhaust), animated along the field-line geometry // * bottom-left: live readout -- fuel cycle, E_reaction, v_e, Isp // * bottom-right: canonical equation v_e = sqrt(2 E / m_i) // // Canonical equations: // // Tsiolkovsky rocket equation: dv = v_e * ln(m0 / mf) // Exhaust velocity (fully thermalized, charged products): // v_e = sqrt(2 E_fusion / m_i) // Specific impulse: Isp = v_e / g0 [g0 = 9.81 m/s^2] // Mirror ratio (nozzle): R = B_max / B_min // // Fuel cycles modeled (charged-product yield is what becomes thrust): // // D-T: D + T -> He4 (3.5 MeV) + n (14.1 MeV) 17.6 MeV // ~80% energy to neutron -> shielding mass penalty // D-He3: D + He3 -> He4 (3.6 MeV) + p (14.7 MeV) 18.3 MeV // aneutronic (~5% side D-D neutrons), helium-room canon fuel // D-D: average of two branches 3.65 MeV // 50/50 neutron and charged // p-B11: p + B11 -> 3 He4 8.7 MeV // fully aneutronic, hardest to ignite (T ~ 10^9 K) // // Conventions (Wikitube Betterfire Standard v0): // * single ARTICLE constant at the top, single quotes // * p5.disableFriendlyErrors = true to keep the editor console clean // * non-ASCII (delta, lambda, dots) lives in COMMENTS ONLY; // every text() string literal is ASCII (the editor preview pipeline // mangles non-ASCII in strings) // * Energy-room palette (P5_JS_EDITOR section 4, line 165): // BG=18, FG=240, HOT=[220,110,60], COLD=[60,130,220], // STRUCT=[120,130,150], TRAJ=[240,220,80] // * Three sliders, all positioned: fuel cycle, mirror ratio, mass flow // // Interaction: // * Fuel slider snaps to integer 0..3 selecting D-T / D-He3 / D-D / p-B11 // * Mirror-ratio slider widens the nozzle and increases v_e via // conservation of magnetic moment (mu = m v_perp^2 / 2B) // * Mass-flow slider sets the number of plasma particles in flight // ===================================================================== const ARTICLE = 'Fusion_rocket'; const TITLE = ARTICLE.replace(/_/g, ' '); p5.disableFriendlyErrors = true; // ----- Energy room palette (P5_JS_EDITOR section 4) ------------------ const BG = 18; const FG = 240; const DIM = [240, 240, 240, 140]; const HOT = [220, 110, 60]; // exhaust plasma (hot ions exiting) const COLD = [60, 130, 220]; // confined plasma (cool tone -> stable) const STRUCT = [120, 130, 150]; // coils, structural elements const TRAJ = [240, 220, 80]; // separatrix, X-points (the topology) const ACCENT = [200, 100, 220]; // field-line accent (magenta) const COIL_FILL = [70, 80, 100]; // coil fill (darker structural tone) // ----- Fuel cycle table (charged-product energy / avg charged-ion amu) ---- // E in MeV, m_i in atomic mass units (amu). v_e derives from // v_e = sqrt(2 * E_MeV * 1.602e-13 / (m_i * 1.66054e-27)) const FUELS = [ { name: 'D-T', E: 17.6, m: 2.5, charged: 0.20, aneutronic: false }, // 20% energy charged (alpha only) { name: 'D-He3', E: 18.3, m: 2.5, charged: 1.00, aneutronic: true }, // ~aneutronic, all charged { name: 'D-D', E: 3.65, m: 2.0, charged: 0.50, aneutronic: false }, // half-charged on average { name: 'p-B11', E: 8.7, m: 4.0, charged: 1.00, aneutronic: true } // 3 alpha, aneutronic ]; // ----- Geometry constants (canvas-pixel coordinates) ----------------- const AXIS_Y = 280; // rocket center-line y const CHAMBER_X0 = 110; // left wall of FRC chamber const CHAMBER_X1 = 360; // separatrix waist (X-points are here) const NOZZLE_X1 = 660; // exhaust mouth x const CHAMBER_R = 110; // half-height of FRC plasmoid (max radius) // ----- Particle pool (one allocation, reused every frame) ------------ const MAX_PARTICLES = 240; const particles = []; // ----- UI control handles ------------------------------------------- let fuelSlider, mirrorSlider, flowSlider; // ----- Live computed values (read once per frame in draw()) ---------- let fuelIdx = 1; // default to D-He3 (the helium-room canonical fuel) let mirrorR = 5.0; // dimensionless B_max / B_min let flowFrac = 0.6; // 0..1 fraction of MAX_PARTICLES alive let v_e_mps = 0; // m/s, recomputed every frame let isp_s = 0; // s function setup() { createCanvas(720, 520); pixelDensity(2); textFont('system-ui'); // Sliders: laid out in a row below the rocket diagram, left-aligned. // Every createSlider call has .position(...) and .size(...) per the // Betterfire FES2 lint rule. fuelSlider = createSlider(0, 3, 1, 1).position(20, 430).size(120); mirrorSlider = createSlider(1.5, 10, 5.0, 0.1).position(180, 430).size(160); flowSlider = createSlider(0, 1, 0.6, 0.02).position(380, 430).size(160); // Pre-seed the particle pool so the first frame already has plasma. for (let i = 0; i < MAX_PARTICLES; i++) particles.push(spawnParticle()); } function draw() { background(BG); // ----- Pull control values into named locals (Energy-room §4 rule) --- fuelIdx = constrain(int(fuelSlider.value()), 0, FUELS.length - 1); mirrorR = mirrorSlider.value(); flowFrac = flowSlider.value(); const fuel = FUELS[fuelIdx]; v_e_mps = computeExhaustVelocity(fuel, mirrorR); isp_s = v_e_mps / 9.81; // ----- Draw stack (later layers paint on top) ----------------------- drawAxis(); // dashed center line drawCoils(); // mirror coils above and below drawClosedFluxSurfaces(); // nested ellipses on the left drawOpenFieldLines(); // diverging hyperbolae on the right drawSeparatrix(); // the topology boundary + X-points drawNozzleWall(); // schematic outer wall of the magnetic nozzle updateAndDrawParticles(); // animated plasma along field-lines drawSliderLabels(); // labels under each slider drawHUD(); // title, URL, readouts, equation } // ===================================================================== // Physics // ===================================================================== // v_e from fusion product energy, scaled by a thermalization efficiency // (charged-product fraction) and a mirror-ratio nozzle gain. The form // v_e = sqrt(2 E / m_i) is the directly-exhausted-product limit; the // nozzle gain factor sqrt(1 - 1/R) is the magnetic-mirror loss-cone // efficiency (plasma with v_par/v_perp ratio below the loss-cone leaves // the mirror -- which IS the thrust direction). function computeExhaustVelocity(fuel, R) { const MeV_to_J = 1.602e-13; const amu_kg = 1.66054e-27; const E_J = fuel.E * MeV_to_J * fuel.charged; const m_kg = fuel.m * amu_kg; const v_th = Math.sqrt(2 * E_J / m_kg); // theoretical max const eta = Math.sqrt(1 - 1 / R); // mirror efficiency return v_th * eta; } // ===================================================================== // Closed flux surfaces -- nested almond-shaped loops left of the // separatrix waist. Parametric form: an ellipse whose minor axis // scales with a confinement parameter s in (0, 1). // ===================================================================== function drawClosedFluxSurfaces() { push(); noFill(); strokeWeight(1.2); const cx = (CHAMBER_X0 + CHAMBER_X1) / 2; // FRC plasmoid center const a = (CHAMBER_X1 - CHAMBER_X0) / 2; // semi-major along axis const N = 7; // number of nested surfaces for (let i = 1; i <= N; i++) { const s = i / (N + 0.5); // 0..~1 -- inner to outer const semiA = a * s; const semiB = CHAMBER_R * s; // Color fades from deep blue (core) to lighter as we approach separatrix const alpha = 80 + 100 * (1 - s); stroke(COLD[0], COLD[1], COLD[2], alpha); beginShape(); const steps = 60; for (let k = 0; k <= steps; k++) { const th = (k / steps) * TWO_PI; vertex(cx + semiA * Math.cos(th), AXIS_Y + semiB * Math.sin(th)); } endShape(); } pop(); } // ===================================================================== // Open field lines -- a fan of hyperbola-like curves diverging from // the X-point region, sweeping rightward into the nozzle. Mirror ratio // R widens the fan: higher R -> tighter exhaust beam (the loss cone is // narrower), lower R -> wider plume. // ===================================================================== function drawOpenFieldLines() { push(); noFill(); strokeWeight(1); // The opening angle of the fan scales with 1/sqrt(R) const halfAngle = Math.atan(1 / Math.sqrt(mirrorR)) * 1.6; // radians const N = 11; for (let i = 0; i < N; i++) { const t = (i / (N - 1)) - 0.5; // -0.5..+0.5 const theta = t * 2 * halfAngle; // radians, +/- about axis // Top half + bottom half by symmetry for (const sign of [+1, -1]) { const yOff = sign * Math.abs(t) * CHAMBER_R * 0.85; const alpha = 60 + 80 * (1 - Math.abs(t) * 2); stroke(ACCENT[0], ACCENT[1], ACCENT[2], alpha); beginShape(); const steps = 30; for (let k = 0; k <= steps; k++) { const f = k / steps; const x = lerp(CHAMBER_X1, NOZZLE_X1, f); // Slight curve outward; tangent angle is theta plus a divergence const dy = yOff + sign * (NOZZLE_X1 - CHAMBER_X1) * Math.tan(Math.abs(theta)) * f * f; vertex(x, AXIS_Y + dy); } endShape(); } } pop(); } // ===================================================================== // Separatrix + two X-points. The separatrix is the closed curve that // bounds the FRC plasmoid; outside it the field lines are open. The // two X-points (where the separatrix self-intersects) are the // topological singularities of the magnetic field. // ===================================================================== function drawSeparatrix() { push(); noFill(); stroke(TRAJ[0], TRAJ[1], TRAJ[2], 220); strokeWeight(2); const cx = (CHAMBER_X0 + CHAMBER_X1) / 2; const a = (CHAMBER_X1 - CHAMBER_X0) / 2; beginShape(); const steps = 80; for (let k = 0; k <= steps; k++) { const th = (k / steps) * TWO_PI; vertex(cx + a * Math.cos(th), AXIS_Y + CHAMBER_R * Math.sin(th)); } endShape(); // X-points: top and bottom of the waist on the right edge of the // separatrix (where the closed-loop tangent goes vertical and the // open field lines depart). fill(TRAJ); stroke(TRAJ); strokeWeight(2); const xpx = CHAMBER_X1; drawXMark(xpx, AXIS_Y - 6); // upper X-point drawXMark(xpx, AXIS_Y + 6); // lower X-point // Labels noStroke(); fill(TRAJ); textSize(10); textAlign(LEFT, BOTTOM); text('separatrix', cx - 30, AXIS_Y - CHAMBER_R - 4); textAlign(LEFT, CENTER); text('X-points', xpx + 10, AXIS_Y); pop(); } function drawXMark(x, y) { push(); stroke(TRAJ); strokeWeight(2); line(x - 5, y - 5, x + 5, y + 5); line(x - 5, y + 5, x + 5, y - 5); pop(); } // ===================================================================== // Mirror coils -- six toroidal magnet coils shown as small filled // disks above and below the chamber. The two innermost coils (at the // X-point waist) are the highest-field, in keeping with the loss-cone // geometry. // ===================================================================== function drawCoils() { push(); noStroke(); const xs = [CHAMBER_X0, (CHAMBER_X0 + CHAMBER_X1) / 2, CHAMBER_X1, 480, 580]; for (const x of xs) { // Top coil fill(...COIL_FILL); ellipse(x, AXIS_Y - CHAMBER_R - 16, 16, 16); // Bottom coil ellipse(x, AXIS_Y + CHAMBER_R + 16, 16, 16); } // Tiny copper-tone center to read as a magnet fill(180, 120, 70); for (const x of xs) { ellipse(x, AXIS_Y - CHAMBER_R - 16, 4, 4); ellipse(x, AXIS_Y + CHAMBER_R + 16, 4, 4); } pop(); } // ===================================================================== // Nozzle wall + axial centerline. // ===================================================================== function drawNozzleWall() { push(); noFill(); stroke(STRUCT[0], STRUCT[1], STRUCT[2], 180); strokeWeight(1); // Outer chamber wall arcs (left and right of separatrix), drawn as // shallow brackets to suggest the vessel without obscuring the field. const leftCap = 8; // Left endplate line(CHAMBER_X0 - leftCap, AXIS_Y - CHAMBER_R - 4, CHAMBER_X0 - leftCap, AXIS_Y + CHAMBER_R + 4); // Tiny tee marks for the wall line(CHAMBER_X0 - leftCap, AXIS_Y - CHAMBER_R - 4, CHAMBER_X0, AXIS_Y - CHAMBER_R - 4); line(CHAMBER_X0 - leftCap, AXIS_Y + CHAMBER_R + 4, CHAMBER_X0, AXIS_Y + CHAMBER_R + 4); // Diverging nozzle wall (right side) const halfAngle = Math.atan(1 / Math.sqrt(mirrorR)) * 1.6; const yLip = CHAMBER_R + 4; const yExit = yLip + (NOZZLE_X1 - CHAMBER_X1) * Math.tan(halfAngle); line(CHAMBER_X1, AXIS_Y - yLip, NOZZLE_X1, AXIS_Y - yExit); line(CHAMBER_X1, AXIS_Y + yLip, NOZZLE_X1, AXIS_Y + yExit); // Centerline (dashed) drawingContext.setLineDash([4, 4]); stroke(STRUCT[0], STRUCT[1], STRUCT[2], 120); line(CHAMBER_X0 - leftCap, AXIS_Y, NOZZLE_X1 + 10, AXIS_Y); drawingContext.setLineDash([]); pop(); } function drawAxis() { // (Drawn inside drawNozzleWall as a dashed line; this stub remains so // the draw() call list reads cleanly. Intentionally empty.) } // ===================================================================== // Particle dynamics: each particle either orbits a closed flux // surface (confined) or is on an open field line (escaping/exhaust). // A small probability per frame moves a confined particle into the // exhaust stream -- this is the schematic of fusion-product extraction // through the separatrix. // ===================================================================== function spawnParticle() { // Initial bias: ~70% confined, ~30% already in the exhaust to seed // the steady-state look. Confined particles get a phase angle on a // randomly-chosen flux surface; exhaust particles start mid-nozzle. if (Math.random() < 0.7) { return { kind: 'closed', s: 0.2 + 0.7 * Math.random(), // flux-surface index phi: Math.random() * TWO_PI, // angle around the surface omega: 0.04 + 0.08 * Math.random(), // angular speed }; } else { return { kind: 'open', x: CHAMBER_X1 + Math.random() * (NOZZLE_X1 - CHAMBER_X1), y0: (Math.random() - 0.5) * CHAMBER_R * 0.6, // initial offset from axis vRel: 0.4 + 0.6 * Math.random(), // 0.4..1.0 fraction of v_e }; } } function updateAndDrawParticles() { push(); noStroke(); // Active count tracks the mass-flow slider const active = Math.floor(flowFrac * MAX_PARTICLES); // Visual speed of exhaust scales with the *square root* of (v_e in // units of 1e7 m/s). Keeps the animation legible across fuel changes // without making the canvas look unstable. const speedScale = 1.4 + 0.6 * Math.sqrt(v_e_mps / 1.0e7); const cx = (CHAMBER_X0 + CHAMBER_X1) / 2; const a = (CHAMBER_X1 - CHAMBER_X0) / 2; const halfAngle = Math.atan(1 / Math.sqrt(mirrorR)) * 1.6; for (let i = 0; i < active; i++) { const p = particles[i]; if (p.kind === 'closed') { // Advance angle, draw at the flux-surface position p.phi += p.omega; const px = cx + (a * p.s) * Math.cos(p.phi); const py = AXIS_Y + (CHAMBER_R * p.s) * Math.sin(p.phi); fill(COLD[0], COLD[1], COLD[2], 220); circle(px, py, 3); // Small chance of leaking through the separatrix (X-point) if (Math.random() < 0.0025) { particles[i] = { kind: 'open', x: CHAMBER_X1, y0: py - AXIS_Y, vRel: 0.5 + 0.5 * Math.random() }; } } else { // Open: stream rightward, drifting outward along the diverging // field lines. Speed scales with v_e via vRel. p.x += speedScale * p.vRel; const f = (p.x - CHAMBER_X1) / (NOZZLE_X1 - CHAMBER_X1); const yDiv = p.y0 + Math.sign(p.y0 || 1) * (NOZZLE_X1 - CHAMBER_X1) * Math.tan(Math.abs(halfAngle * (p.y0 / CHAMBER_R))) * f * f * 0.6; const py = AXIS_Y + yDiv; const alpha = 220 * (1 - f * 0.6); fill(HOT[0], HOT[1], HOT[2], alpha); circle(p.x, py, 3.2); // Recycle when off the right edge: respawn as a confined ion if (p.x > NOZZLE_X1 + 6) { particles[i] = spawnParticle(); } } } pop(); } // ===================================================================== // Slider labels (drawn directly above the slider widgets so the // controls self-document instead of relying on DOM tooltips). // ===================================================================== function drawSliderLabels() { push(); noStroke(); fill(...DIM); textSize(11); textAlign(LEFT, BOTTOM); const fuel = FUELS[fuelIdx]; text('fuel: ' + fuel.name + (fuel.aneutronic ? ' [aneutronic]' : ' [neutron-bearing]'), 20, 425); text('mirror ratio R = ' + nf(mirrorR, 1, 1), 180, 425); text('mass flow m = ' + nf(flowFrac, 1, 2), 380, 425); // Tick legend below the sliders textAlign(LEFT, TOP); textSize(9); fill(160); text('0=D-T 1=D-He3 2=D-D 3=p-B11', 20, 458); text('1.5 .. 10 (B_max / B_min)', 180, 458); text('0 .. 1 fraction of particles', 380, 458); pop(); } // ===================================================================== // HUD: title, URL, readouts, equation. Order matches the Cryogenics // exemplar so the room reads as a consistent set. // ===================================================================== function drawHUD() { // Top-left: title + Wikitube URL noStroke(); fill(FG); textAlign(LEFT, TOP); textSize(20); text(TITLE, 14, 12); fill(...DIM); textSize(12); text('Wikitube microsim . en.wikitube.io/wiki/Fusion_rocket', 14, 36); // Top-right: control hints textAlign(RIGHT, TOP); textSize(10); fill(...DIM); text('left : closed flux surfaces (confinement)', width - 14, 12); text('right : open field lines (magnetic nozzle)', width - 14, 24); text('X : separatrix singularities', width - 14, 36); // Bottom-left: live readout const fuel = FUELS[fuelIdx]; fill(...DIM); textAlign(LEFT, BOTTOM); textSize(12); text('fuel: ' + fuel.name + ' E = ' + nf(fuel.E, 1, 2) + ' MeV' + ' charged frac = ' + nf(fuel.charged, 1, 2), 14, height - 22); fill(FG); textSize(13); text('v_e = ' + formatVe(v_e_mps) + ' Isp = ' + Math.round(isp_s).toLocaleString() + ' s', 14, height - 6); // Bottom-right: canonical equation textAlign(RIGHT, BOTTOM); fill(FG); textSize(12); text('v_e = sqrt(2 E / m_i) . dv = v_e * ln(m0 / mf)', width - 14, height - 6); } function formatVe(v) { // m/s -> "1.2e7 m/s" if (v <= 0) return '0 m/s'; const exp = Math.floor(Math.log10(v)); const mant = v / Math.pow(10, exp); return nf(mant, 1, 2) + 'e' + exp + ' m/s'; } // ===================================================================== // End of Fusion_rocket.js -- Wikitube microsim, Helium room, Pattern 8. // ===================================================================== ``` ## Links (Wikipedia order) <!-- injected from _registry/childlinks/Fusion_rocket.json (2026-07-30T02:09:12Z) --> `9M730_Burevestnik` · `AIMStar` · `Accelerating_change` · `Acta_Astronautica` · `Aerobraking` · `Aerocapture` · `Aerogravity_assist` · `Aircraft_Nuclear_Propulsion` · `Alcubierre_drive` · `Analog_Science_Fiction_and_Fact` · `Aneutronic_fusion` · `Antimatter` · `Antimatter-catalyzed_nuclear_pulse_propulsion` · `Arcjet_rocket` · [[Argon]] · `Atmosphere-breathing_electric_propulsion` · `Atmospheric_entry` · `Automation` · `Beam-powered_propulsion` · [[Beta_decay]] · `Bioethics` · `Boeing` · `Bussard_ramjet` · `Callisto_(moon)` · `Chrysler_TV-8` · `Cold_gas_thruster` · `Collingridge_dilemma` · `Colloid_thruster` · `Combustion_tap-off_cycle` · `Convair_NB-36H` · `Convair_X-6` · `Cryogenic_rocket_engine` · `Cyberethics` · `Delta-v` · `Deuterium` · `Differential_technological_development` · `Diffractive_solar_sail` · `Direct_Fusion_Drive` · `Disruptive_innovation` · `Electric-pump-fed_engine` · `Electric_sail` · `Electrodeless_plasma_thruster` · [[Emerging_technologies]] · `Ephemeralization` · `Ethics_of_artificial_intelligence` · `Ethics_of_technology` · `Expander_cycle` · `Exploratory_engineering` · `Field-emission_electric_propulsion` · `Fission-fragment_rocket` · `Fission_sail` · `Ford_FX-Atmos` · `Ford_Nucleon` · `Ford_Seattle-ite_XXI` · `Future-oriented_technology_analysis` · `Gas-generator_cycle` · `Gas_core_reactor_rocket` · `Glenn_Research_Center` · `Gravity_assist` · `Gridded_ion_thruster` · `Hall-effect_thruster` · `Helicon_double-layer_thruster` · [[Helium-3]] · `High_Power_Electric_Propulsion` · `Horizon_scanning` · `Hybrid-propellant_rocket` · [[Hydrogen]] · `Hypergolic_propellant` · `Inertial_confinement_fusion` · `Inertial_electrostatic_confinement` · `Interstellar_travel` · `Ion_thruster` · `Isotope` · [[Jupiter]] · `Jupiter_Icy_Moons_Orbiter` · `Laser` · `Laser_communication_in_space` · `Laser_propulsion` · `Lawrence_Livermore_National_Laboratory` · `Liquid-propellant_rocket` · `Liquid_rocket_propellant` · `List_of_emerging_technologies` · `MagBeam` · `Magnetic_confinement_fusion` · `Magnetic_field` · `Magnetic_mirror` · `Magnetic_sail` · `Magnetized_target_fusion` · `Magnetoplasmadynamic_thruster` · [[Mars]] · `Marshall_Space_Flight_Center` · `Mass_driver` · `Microwave_electrothermal_thruster` · `Monopropellant_rocket` · `Moore's_law` · `Multistage_rocket` · `Myasishchev_M-60` · `NASA` · `NERVA` · `Neuroethics` · [[Neutron]] · `Neutron_radiation` · `New_Scientist` · `Non-rocket_spacelaunch` · `Nuclear-powered_aircraft` · `Nuclear_electric_rocket` · `Nuclear_fission` · [[Nuclear_fusion]] · `Nuclear_lightbulb` · `Nuclear_marine_propulsion` · `Nuclear_navy` · `Nuclear_photonic_rocket` · `Nuclear_propulsion` · `Nuclear_pulse_propulsion` · `Nuclear_salt-water_rocket` · `Nuclear_thermal_rocket` · `Oberth_effect` · `Orbital_maneuver` · `Orbital_mechanics` · `Orbital_propellant_depot` · `Orbital_ring` · `Outline_of_space_science` · `Partial_Nuclear_Test_Ban_Treaty` · `Pennsylvania_State_University` · `Photon_rocket` · [[Plasma_(physics)]] · `Plasma_magnet` · `Plasma_propulsion_engine` · `Polywell` · `Poseidon_(unmanned_underwater_vehicle)` · `Pressure-fed_engine` · `Proactionary_principle` · `Project_Daedalus` · `Project_Longshot` · `Project_Orion_(nuclear_propulsion)` · `Project_Pluto` · `Project_Prometheus` · `Project_Rover` · [[Proton]] · `Pulsed_inductive_thruster` · `Pulsed_nuclear_thermal_rocket` · `Pulsed_plasma_thruster` · `RD-0410` · `Radioisotope_rocket` · `Reaction_engine` · `Reactionless_drive` · `Resistojet_rocket` · `Reusable_launch_vehicle` · `Robot_ethics` · `Rocket` · `Rocket_engine` · `Saturn` · `Skyhook_(structure)` · `Solar_sail` · `Solar_thermal_rocket` · `Solid-propellant_rocket` · `Space_Reactor‑1_Freedom` · `Space_elevator` · `Space_fountain` · `Space_launch` · `Space_tether` · `Spacecraft_electric_propulsion` · `Spacecraft_propulsion` · `Specific_impulse` · `Staged_combustion_cycle` · `Steam_rocket` · `TEM_(nuclear_propulsion)` · `TMK` · `TOPAZ_nuclear_reactor` · `Technological_change` · `Technological_convergence` · `Technological_evolution` · `Technological_paradigm` · `Technological_singularity` · `Technological_unemployment` · `Technology_forecasting` · `Technology_in_science_fiction` · `Technology_readiness_level` · `Technology_roadmap` · `Technology_scouting` · `Thermal_rocket` · `Thrust` · `Tokamak` · `Transhumanism` · `Tripropellant_rocket` · `Tritium` · `Tupolev_Tu-95LAL` · `United_States_Department_of_Energy` · `University_of_Alabama` · `Vacuum_arc_thruster` · `Variable_Specific_Impulse_Magnetoplasma_Rocket` · `WS-125` · `Warp_drive` · `Water_rocket` · `World_Is_Not_Enough_(spacecraft_propulsion)` ## From the Real GENERATIVE library ![Fusion rocket](https://upload.wikimedia.org/wikipedia/commons/thumb/d/da/Schematic_of_the_Fusion_Driven_Rocket_including_major_subsystems.png/220px-Schematic_of_the_Fusion_Driven_Rocket_including_major_subsystems.png) *Fusion rocket — 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:Schematic_of_the_Fusion_Driven_Rocket_including_major_subsystems.png).* > A fusion rocket is a theoretical design for a rocket driven by fusion propulsion that could provide efficient and sustained acceleration in space without the need to carry a large fuel supply. The design requires fusion power technology beyond current capabilities, and much larger and more complex rockets. ([Wikipedia](https://en.wikipedia.org/wiki/Fusion_rocket)) <!-- REAL-GENERATIVE-MEDIA:END --> <!-- LOCAL-MEDIA-PASS:START --> ## From the vault media library !Fusion rocket thumb.png *Fusion Rocket — from the vault's own media holdings, placed 2026-07-09. MTN / Wikitube.io original · CC BY-SA 4.0.* <!-- LOCAL-MEDIA-PASS:END --> > **Room:** [[Helium]] · **Status:** ✅ shipped ## Overview A **fusion rocket** is a proposed spacecraft propulsion [[System|system]] that derives thrust from controlled [[Nuclear_fusion|nuclear fusion]], either by directing charged reaction products as exhaust or by heating a working fluid to extreme temperatures. Compared with chemical rockets, fusion drives promise specific impulse (Isp) of 10^4 to 10^6 seconds — two to four orders of magnitude higher — by exploiting fusion [[Energy|energy]] yields of 3–18 MeV per reaction. The governing relationship is the **Tsiolkovsky rocket equation**, Δv = v_e ln(m_0 / m_f), where exhaust [[Velocity|velocity]] scales as v_e = √(2E/m); a D-T reaction (17.6 MeV) yields a theoretical v_e ≈ 1.3 × 10^7 m/s when the alpha and [[Neutron|neutron]] are directly exhausted. Conceptual architectures fall into three families: magnetic-confinement drives (tokamak, stellarator, magnetic mirror, field-reversed configuration), inertial-confinement drives (laser- or pulse-driven implosion of D-T or D-³He pellets), and direct fusion drives (DFD) that use the Princeton Field-Reversed Configuration to confine plasma and add propellant to the open-field exhaust. **D-³He** and **p-¹¹B** fuel cycles are pursued for aneutronic operation, which dramatically reduces shielding mass — a critical constraint for crewed deep-space missions. Notable studies include the British Interplanetary [[Society]]'s Project Daedalus (1973–78), NASA's VISTA (1986), Project Icarus, and the PPPL / Princeton Satellite Systems Direct Fusion Drive. Practical fusion propulsion remains pre-prototype, gated by plasma stability, scientific energy gain Q > 1, and reactor mass-to-power ratio (α < 1 kg/kW) milestones. ## See also - Room hub: [[Helium]] - p5.js Editor conventions: P5 JS EDITOR - Wiki root: MAIN --- *Scaffolded by `generative-microsim` from row 128 of the Helium sheet on 2026-05-14T12:30:39Z.* <!-- REAL-GENERATIVE-MEDIA:START --> <!-- CRAFT-LINK:START g12 --> *Built to the [[WT!P5_js_Microsim_Master_Class|p5.js Master Class]].* <!-- CRAFT-LINK:END --> ## Wikipedia : Wikitube **Strict pair:** [Wikipedia](https://en.wikipedia.org/wiki/Fusion_rocket) : [Wikitube](https://en.wikitube.io/wiki/Fusion_rocket) ## Previous hub tags Tree parents: [[Helium]] · [[Helium-3]]. Legacy hubs: none. --- *Sources: 1 legacy note. Minted wave 1, 2026-07-30 (v1.6 order).*