# Superfluid helium-4 <!-- MICROSIMGEN:BEGIN v1.7 — generated by g08_place_microsims.py; three.js first (§15); do not hand-edit inside --> ## Microsims — three.js ### Superfluid helium-4 (three.js) <div class="microsim-player"> <iframe src="https://wikitube-3d-microsims.netlify.app/Superfluid_helium-4.html" width="100%" height="620" frameborder="0" loading="lazy" sandbox="allow-scripts allow-same-origin" title="Superfluid helium-4 — three.js microsim"></iframe> </div> **Open it full-screen:** [Superfluid_helium-4.html](https://wikitube-3d-microsims.netlify.app/Superfluid_helium-4.html) · library `threejs` · route `microsim/threejs/` ### Related microsims Live sims on neighbouring articles — 3 of them inside this article's own Wikipedia link tree: - [[Boson]] *(in tree)* - [[Dilution_refrigerator]] *(in tree)* - [[Superconductivity]] *(in tree)* - [[Zero-point_energy]] *Sim hosted off-article; the article owns the reference, not the runtime (WIKI_RULES §10.4). Placed by `g08_place_microsims.py`.* <!-- MICROSIMGEN:END --> ## Microsim ### Live player <div class="microsim-player"> <iframe src="https://editor.p5js.org/sciencenibber/full/wxBSln5z5" width="100%" height="620" frameborder="0" sandbox="allow-scripts allow-same-origin"></iframe> </div> <div class="microsim-fallback"> <img src="Microsims/thumbs/Superfluid_helium-4.png" alt="Superfluid_helium-4 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/wxBSln5z5">open sketch in the p5.js editor</a></em></p> </div> **Editor URL:** https://editor.p5js.org/sciencenibber/sketches/wxBSln5z5 **Description (100 words):** A single-axis temperature scrubber for the He-4 lambda transition. The reader drags one slider for T in [1.0, 4.0] K and the sketch updates three coupled views in lockstep: the iconic heat-capacity curve c_p(T) plotted in cool blue below the magenta lambda guide and warm orange above it; a two-fluid composition bar that fills from a deep-blue superfluid component on the left to an orange normal component on the right per the Tisza-Landau fit; and a phase readout naming He I above 2.1768 K and He II below. The lambda point sits exactly where the curve diverges. ```js // ===================================================================== // Superfluid_helium-4.js -- Wikitube microsim // Article: Superfluid_helium-4 en.wikitube.io/wiki/Superfluid_helium-4 // Room: Helium Pattern: A (phase / state transition, // cryogenic properties) // --------------------------------------------------------------------- // Idea: a 1-D temperature scrubber across the He-4 lambda transition // at saturation vapor pressure. The reader drags a slider for T in // [1.0, 4.0] K and watches three coupled views: // // 1. heat capacity c_p(T) -- the iconic "lambda" curve. It is from // this curve's resemblance to the Greek letter lambda that the // transition gets its name. c_p shows a near-logarithmic divergence // on both sides of T_lambda = 2.1768 K. // // 2. two-fluid composition rho_s/rho, rho_n/rho (Tisza-Landau model). // Below T_lambda an empirical fit // rho_s/rho = 1 - (T/T_lambda)^5.6 // gives the superfluid mass fraction. Above T_lambda the fluid // is pure normal He I and the bar is fully warm. // // 3. phase / readout: He I (warm, classical liquid) above the lambda // point, He II (cool, superfluid component present) below it. // // Why this is *not* a duplicate of Cryogenics.js (which is also Pattern // A): Cryogenics shows the full 2-D (T, P) phase plane and the four // phases including the solid. This sketch zooms in on the *transition* // itself -- the c_p curve from which "lambda" is named, plus the two- // fluid composition that captures what makes He II physically novel. // // Helium-4 superfluidity landmarks shown on the views: // * lambda point at saturation: T_lambda = 2.1768 K // * empirical superfluid-fraction exponent ~ 5.6 // * Kapitsa / Allen-Misener discovery: 1937-38 // // Visual layout (720 x 520 canvas): // * top-left: HUD title + en.wikitube.io subtitle // * top-right: control hints (drag slider, lambda position) // * y = 90: full-width temperature slider, T in [1.0, 4.0] K // * y = 120-380: heat-capacity curve c_p(T) vs T plot // * y = 410-440: two-fluid composition bar (cold = superfluid, // warm = normal) // * bottom-left: T, c_p, superfluid-fraction readout // * bottom-right: canonical equation // rho_s/rho = 1 - (T/T_lambda)^5.6 // // Conventions (Wikitube Betterfire Standard v0): // * single ARTICLE constant at the top, single quotes // * p5.disableFriendlyErrors = true to keep the editor console clean // * non-ASCII (Greek lambda, rho, dots) lives in COMMENTS ONLY; // every text() string literal is ASCII (the editor preview pipeline // mangles non-ASCII inside strings) // * Energy-room palette (P5_JS_EDITOR section 4): dark BG, HOT/COLD // tones, STRUCT grey, TRAJ yellow accent // * createSlider has explicit .position(x, y).size(w) // ===================================================================== const ARTICLE = 'Superfluid_helium-4'; 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]; // warm: normal-fluid component / He I const COLD = [60, 130, 220]; // cool: He I curve segment const COLDER = [40, 80, 180]; // deeper cool: superfluid component / He II const STRUCT = [120, 130, 150]; // structural grey const TRAJ = [240, 220, 80]; // reader marker (yellow accent) const SCRATCH = [120, 120, 120, 90]; // grid / scratch lines const ACCENT = [200, 100, 220]; // lambda point / line (magenta) // ----- He-4 superfluid landmarks ------------------------------------ // The accepted saturation-vapor-pressure lambda point per CODATA / NIST. const T_LAMBDA = 2.1768; // K, lambda transition at saturation // Empirical two-fluid exponent for rho_s/rho = 1 - (T/T_lambda)^N. // N = 5.6 is the canonical fit reported by London & Zilsel and refined // by later neutron-scattering measurements; the actual critical // exponent on the order parameter is closer to 0.67 but that only // matters within a few mK of T_lambda. The 5.6 form fits well from // 0.5 K through ~T_lambda - 10 mK. const SF_EXPONENT = 5.6; // ----- T-axis (data ranges; pixel ranges set in setup) -------------- const T_MIN = 1.0; // K const T_MAX = 4.0; // K // ----- c_p plot vertical range -------------------------------------- // c_p of He I at saturation goes roughly from 1 J/(g K) at 1 K through // 3 J/(g K) at 4 K, with a logarithmic spike at T_lambda capping our // display at 25 J/(g K). The actual c_p has a true logarithmic // divergence -- we clamp for display only. const C_MIN = 0; const C_MAX = 25; // ----- Plot rectangle in canvas pixels (set in setup) --------------- let plotX, plotY, plotW, plotH; // ----- Two-fluid composition-bar rectangle (set in setup) ----------- let barX, barY, barW, barH; // ----- Slider ------------------------------------------------------- let tSlider; function setup() { createCanvas(720, 520); pixelDensity(2); textFont('system-ui'); // Plot area: leaves room for HUD top, slider, composition bar, // and the bottom readout strip. plotX = 80; plotY = 120; plotW = width - 100; plotH = 260; // Composition bar below the plot. barX = plotX; barY = plotY + plotH + 30; barW = plotW; barH = 24; // Temperature slider sits in the gap between the HUD subtitle and // the top of the plot. Step = 1 mK gives smooth scrubbing through // the lambda peak without wasting slider precision. tSlider = createSlider(T_MIN * 1000, T_MAX * 1000, T_LAMBDA * 1000, 1); tSlider.position(plotX, plotY - 30); tSlider.size(plotW); } function draw() { background(BG); // Read all the slider values once -- the rest of the frame uses // these locals so the physics reads as physics, not as UI plumbing. const T = tSlider.value() / 1000; // Draw order: axes -> static c_p curve -> lambda-point guide // -> current-T marker -> composition bar -> readout -> HUD. drawAxes(); drawHeatCapacityCurve(); drawLambdaGuide(); drawTMarker(T); drawTwoFluidBar(T); drawReadout(T); drawHUD(); } // ===================================================================== // Coordinate transforms: (T [K], c [J/(g K)]) <-> (px, py) in pixels // ===================================================================== function tToPx(T) { return map(T, T_MIN, T_MAX, plotX, plotX + plotW); } function cToPy(c) { return map(c, C_MIN, C_MAX, plotY + plotH, plotY); } // ===================================================================== // Physical models // ===================================================================== // Heat capacity at saturation: c_p(T) = baseline(T) + lambda_peak(T). // // baseline: a smooth low-order ramp matching the textbook 1-3 // J/(g K) trend across [1, 4] K. Not from a fit, but // calibrated so the off-peak curve sits in the right // neighborhood. Below 1 K c_p drops sharply with the // T^3 phonon term, which we do not need for this view. // // lambda peak: a clamped logarithmic singularity. The true c_p in // He-4 has an exact logarithmic divergence on both sides // of T_lambda (critical exponent alpha ~ -0.013, very // nearly zero -> log). We use -ln(|t| + eps) with a // small eps to keep the peak finite for display. function cP(T) { const baseline = 0.8 + 0.6 * T; const t = Math.abs((T - T_LAMBDA) / T_LAMBDA); const eps = 0.002; const peak = 4.5 * Math.max(0, -Math.log(t + eps) - 0.5); return Math.min(baseline + peak, C_MAX * 1.05); } // Tisza-Landau two-fluid superfluid fraction. function superfluidFraction(T) { if (T >= T_LAMBDA) return 0; return 1 - Math.pow(T / T_LAMBDA, SF_EXPONENT); } // Phase classifier: 'He I' for T >= T_lambda, 'He II' below it. function classifyPhase(T) { return T < T_LAMBDA ? 'He II' : 'He I'; } // ===================================================================== // Drawing // ===================================================================== function drawAxes() { push(); noFill(); stroke(SCRATCH); strokeWeight(1); rect(plotX, plotY, plotW, plotH); // T-axis tick marks (every 0.5 K) + labels noStroke(); fill(...DIM); textSize(10); textAlign(CENTER, TOP); for (let T = T_MIN; T <= T_MAX + 1e-6; T += 0.5) { const x = tToPx(T); stroke(SCRATCH); line(x, plotY + plotH, x, plotY + plotH + 4); noStroke(); text(nf(T, 0, 1), x, plotY + plotH + 6); } // c-axis tick marks (every 5 J/(g K)) + labels textAlign(RIGHT, CENTER); for (let c = C_MIN; c <= C_MAX; c += 5) { const y = cToPy(c); stroke(SCRATCH); line(plotX - 4, y, plotX, y); noStroke(); text(c, plotX - 6, y); } // Axis titles noStroke(); fill(...DIM); textSize(12); textAlign(CENTER, TOP); text('T [K]', plotX + plotW / 2, plotY + plotH + 24); push(); translate(plotX - 56, plotY + plotH / 2); rotate(-PI / 2); text('c_p [J/(g K)]', 0, 0); pop(); pop(); } // Draw the c_p(T) curve in two color segments to encode the He II / // He I split: cold blue to the left of T_lambda, warm orange to the // right. The visible discontinuity at the seam IS the transition. function drawHeatCapacityCurve() { push(); noFill(); strokeWeight(2); // He II side (T < T_lambda) in cold blue stroke(...COLDER); beginShape(); for (let T = T_MIN; T <= T_LAMBDA; T += 0.005) { const y = constrain(cToPy(cP(T)), plotY, plotY + plotH); vertex(tToPx(T), y); } endShape(); // He I side (T > T_lambda) in warm orange stroke(...HOT); beginShape(); for (let T = T_LAMBDA; T <= T_MAX + 1e-6; T += 0.005) { const y = constrain(cToPy(cP(T)), plotY, plotY + plotH); vertex(tToPx(T), y); } endShape(); // Region labels: He II low-T side, He I high-T side noStroke(); textSize(11); fill(...COLDER); textAlign(LEFT, TOP); text('He II (superfluid present)', tToPx(T_MIN) + 8, plotY + 10); fill(...HOT); textAlign(RIGHT, TOP); text('He I (normal liquid)', tToPx(T_MAX) - 8, plotY + 10); pop(); } // Vertical magenta guide at T_lambda, labelled. function drawLambdaGuide() { push(); stroke(...ACCENT); strokeWeight(1); drawingContext.setLineDash([4, 4]); line(tToPx(T_LAMBDA), plotY, tToPx(T_LAMBDA), plotY + plotH); drawingContext.setLineDash([]); noStroke(); fill(...ACCENT); textSize(10); textAlign(CENTER, BOTTOM); text('lambda point T = 2.1768 K', tToPx(T_LAMBDA), plotY - 2); pop(); } // Reader's current-T marker: vertical yellow line + dot on the curve. function drawTMarker(T) { const x = tToPx(T); const y = cToPy(Math.min(cP(T), C_MAX)); push(); stroke(...TRAJ); strokeWeight(1); line(x, plotY, x, plotY + plotH); noStroke(); fill(...TRAJ); circle(x, y, 9); pop(); } // Two-fluid composition bar: superfluid (cold) on the left, normal // (warm) on the right. The split moves to the left as T approaches // T_lambda from below. function drawTwoFluidBar(T) { const sFrac = superfluidFraction(T); const nFrac = 1 - sFrac; push(); // Background outline noFill(); stroke(SCRATCH); rect(barX, barY, barW, barH); // Superfluid component fill (cool) noStroke(); fill(...COLDER); rect(barX, barY, barW * sFrac, barH); // Normal component fill (warm) fill(...HOT); rect(barX + barW * sFrac, barY, barW * nFrac, barH); // Caption above the bar fill(...DIM); textSize(11); textAlign(LEFT, BOTTOM); text('two-fluid composition (Tisza-Landau)', barX, barY - 4); // Inside-bar labels, only when there's room fill(FG); textSize(12); if (sFrac > 0.14) { textAlign(LEFT, CENTER); text('superfluid ' + nf(sFrac, 0, 2), barX + 8, barY + barH / 2); } if (nFrac > 0.14) { textAlign(RIGHT, CENTER); text('normal ' + nf(nFrac, 0, 2), barX + barW - 8, barY + barH / 2); } pop(); } // Bottom-left readout: T, c_p, phase, superfluid fraction. function drawReadout(T) { const phase = classifyPhase(T); const phaseLabel = phase === 'He II' ? 'liquid He II (superfluid component present)' : 'liquid He I (normal classical liquid)'; const sFrac = superfluidFraction(T); push(); fill(...DIM); textAlign(LEFT, BOTTOM); textSize(12); text('T = ' + nf(T, 0, 3) + ' K ' + 'c_p ~ ' + nf(Math.min(cP(T), C_MAX), 0, 1) + ' J/(g K)', 14, height - 22); fill(FG); textSize(13); text('phase: ' + phaseLabel + ' rho_s/rho = ' + nf(sFrac, 0, 2), 14, height - 6); pop(); } // ===================================================================== // HUD // ===================================================================== function drawHUD() { push(); // Top-left: title + Wikitube URL (Betterfire Standard rule 2) noStroke(); fill(FG); textAlign(LEFT, TOP); textSize(20); text(TITLE, 14, 12); fill(...DIM); textSize(12); text('Wikitube microsim . en.wikitube.io/wiki/Superfluid_helium-4', 14, 36); // Top-right: control hints (Betterfire Standard rule 3) textAlign(RIGHT, TOP); textSize(10); text('drag the slider to set T', width - 14, 12); text('cross 2.1768 K -> He I to He II', width - 14, 24); text('Kapitsa, Allen, Misener 1937-38', width - 14, 36); // Bottom-right: canonical equation (Betterfire Standard rule 4) textAlign(RIGHT, BOTTOM); fill(FG); textSize(13); text('rho_s/rho = 1 - (T/T_lambda)^5.6 [Tisza-Landau two-fluid]', width - 14, height - 6); pop(); } // ===================================================================== // End of Superfluid_helium-4.js -- Wikitube microsim, Helium room, // Pattern A (state transition + cryogenic property: c_p lambda curve // and two-fluid composition). // ===================================================================== ``` ## Links (Wikipedia order) <!-- injected from _registry/childlinks/Superfluid_helium-4.json (2026-07-30T02:09:12Z) --> `Absolute_zero` · `Anthony_Leggett` · `Anti-gravity` · `Antiferromagnetism` · `Antimatter` · `BCS_theory` · `Bar_(unit)` · `Binodal` · `Boiling` · [[Boiling_point]] · `Bose–Einstein_condensate` · `Bose–Einstein_statistics` · [[Boson]] · `CERN` · `Chemical_ionization` · `Chemical_potential` · `Colloid` · `Color-glass_condensate` · `Compressed_fluid` · `Condensation` · `Cooling_curve` · `Cooper_pair` · `Critical_line_(thermodynamics)` · `Critical_phenomena` · `Critical_point_(thermodynamics)` · `Crystal` · `Crystallization` · `Dark_matter` · `Degenerate_matter` · `Deposition_(phase_transition)` · `Diatomic_molecule` · [[Dilution_refrigerator]] · `Don_Misener` · [[Electron]] · [[Emerging_technologies]] · `Enthalpy_of_fusion` · `Enthalpy_of_sublimation` · `Enthalpy_of_vaporization` · `Entropic_uncertainty` · `Equation_of_state` · `Evaporation` · `Exotic_matter` · [[Fermion]] · `Fermionic_condensate` · `Ferrimagnetism` · `Ferromagnetism` · `Flash_evaporation` · `Freezing` · `Gas` · `Gravity_Probe_B` · `Gyroscope` · `Hagen_Kleinert` · `Heat_pipe` · `Heike_Kamerlingh_Onnes` · [[Helium]] · [[Helium-3]] · [[Helium-4]] · `IRAS` · `Immersion_(virtual_reality)` · `Inertia` · `Ionization` · `Isotope` · `John_F._Allen_(physicist)` · `Josephson_effect` · `Lambda_point` · `Large_Hadron_Collider` · `Lars_Onsager` · `Latent_heat` · `Latent_internal_energy` · `Leidenfrost_effect` · `Lev_Landau` · `Liquid` · `Liquid_crystal` · `List_of_emerging_technologies` · `List_of_states_of_matter` · `Logarithmic_Schrödinger_equation` · `London_moment` · `Macroscopic_quantum_phenomena` · `Melting` · `Melting_point` · `Mpemba_effect` · `Open_quantum_system` · `Phase_diagram` · [[Phase_transition]] · `Phonon` · `Photonic_molecule` · [[Plasma_(physics)]] · `Plasma_recombination` · `Post-quantum_cryptography` · `Programmable_matter` · `Pyotr_Kapitsa` · `QCD_matter` · `Quantum_Hall_effect` · `Quantum_algorithm` · `Quantum_amplifier` · `Quantum_bus` · `Quantum_cellular_automaton` · `Quantum_channel` · `Quantum_circuit` · `Quantum_complexity_theory` · [[Quantum_computing]] · `Quantum_cryptography` · `Quantum_dynamics` · `Quantum_error_correction` · `Quantum_finite_automaton` · `Quantum_hydrodynamics` · `Quantum_image_processing` · `Quantum_imaging` · `Quantum_information` · `Quantum_key_distribution` · `Quantum_logic` · `Quantum_logic_clock` · `Quantum_logic_gate` · `Quantum_machine` · `Quantum_machine_learning` · [[Quantum_mechanics]] · `Quantum_metamaterial` · `Quantum_network` · `Quantum_neural_network` · `Quantum_optics` · `Quantum_programming` · `Quantum_sensor` · `Quantum_simulator` · `Quantum_spin_liquid` · `Quantum_teleportation` · `Quantum_vortex` · `Quark–gluon_plasma` · `Regelation` · `Richard_Feynman` · `Rollin_film` · `Roton` · `Rovibronic_coupling` · `Rydberg_matter` · `Second_sound` · `Solid` · `Solid_hydrogen` · [[Spin_(physics)]] · `Spinodal` · `Spontaneous_symmetry_breaking` · `State_of_matter` · `Strange_matter` · `String-net_liquid` · `Structure_factor` · `Sublimation_(phase_transition)` · [[Superconductivity]] · `Supercooling` · `Supercritical_fluid` · `Superdiamagnetism` · `Superfluid_film` · `Superfluidity` · `Superheated_water` · `Superheating` · `Supersolid` · `Thermo-dielectric_effect` · `Thermoacoustic_heat_engine` · `Time_crystal` · `Timeline_of_states_of_matter_and_phase_transitions` · `Triple_point` · `Trouton's_rule` · `Two-fluid_model` · `Vapor` · `Vaporization` · `Vapor–liquid_equilibrium` · `Vitrification` · `Volatility_(chemistry)` · [[Wayback_Machine]] > **Room:** [[Helium]] · **Status:** ✅ shipped <!-- GIFPLATE:BEGIN v1.0 g16 — Commons hotlink; do not hand-edit inside --> ## Images <figure class="wt-gifplate"> <img src="https://commons.wikimedia.org/wiki/Special:FilePath/Thermally_Agitated_Molecule.gif" alt="Quantum Flow" loading="lazy" decoding="async"> <figcaption><strong>Quantum Flow</strong> — Show quantum flow and frictionless dynamics at low temperature.<br> <span class="wt-credit">Wikimedia Commons &middot; <strong>licence pending verification</strong> (run <code>g17_gif_verify.py</code> on a networked lane) &middot; <a href="https://commons.wikimedia.org/wiki/File:Thermally_Agitated_Molecule.gif">Details</a></span></figcaption> </figure> *Still companion to the 1 live microsim above: the sim is the instrument, the plate is the glance. §15 keeps the player first; this sits in the image slot on [[Superfluid_helium-4]].* <!-- GIFPLATE:END --> ## Overview **Superfluid helium-4** is the low-temperature liquid phase of the He-4 isotope below the lambda transition at T_λ = 2.1768 K (at the saturation vapour pressure), in which the fluid exhibits a collection of macroscopic quantum behaviours — zero [[Viscosity|viscosity]], anomalously high thermal conductivity, persistent superfluid currents, film creep up container walls, the fountain (thermomechanical) effect, second sound (a propagating temperature [[Wave|wave]]), and quantised vortices of circulation κ = h / m_He. The transition was discovered independently by Pyotr Kapitsa and by John F. Allen and Don Misener in 1937–38 and named for the Greek letter that the heat-capacity curve traces near 2.17 K. The phenomenology is captured by the **Tisza–Landau two-fluid model**, in which the liquid is treated as an inseparable mixture of a normal component (carrying [[Entropy|entropy]] and viscosity) and a superfluid component (carrying no entropy and obeying ρ_s / ρ ≈ 1 − (T / T_λ)^5.6); at the lambda point the superfluid fraction vanishes and the conventional liquid He I phase is recovered. Microscopically the superfluid is closely related to Bose–Einstein condensation of the bosonic He-4 atoms, though strong interatomic interactions suppress the condensate fraction far below the BEC ideal. Superfluid He-4 is the working fluid of cryogenic infrastructure operating below 2.17 K — superconducting accelerator magnets (the LHC runs at 1.9 K), space telescopes, [[Neutron|neutron]]-scattering instruments, and any laboratory requiring kilowatts of cooling at sub-2 K temperatures. ## See also - Room hub: [[Helium]] - p5.js Editor conventions: P5 JS EDITOR - Wiki root: MAIN --- *Scaffolded by `generative-microsim` from row 23 of the Helium sheet on 2026-05-11T21:16:59Z.* <!-- 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 --> *Linked from the [[WT!Thury_Hydrodynamics_Compendium|Thury Hydrodynamics Compendium]], section 13, Superfluidity.* <!-- COMPENDIUMLINK:END --> ## Wikipedia : Wikitube **Strict pair:** [Wikipedia](https://en.wikipedia.org/wiki/Superfluid_helium-4) : [Wikitube](https://en.wikitube.io/wiki/Superfluid_helium-4) ## Previous hub tags Tree parent: [[Helium]]. Legacy hubs: none. --- *Sources: 1 legacy note. Minted wave 1, 2026-07-30 (v1.6 order).*