# Phase transition ## Microsim ### Live player <div class="microsim-player"> <iframe src="https://editor.p5js.org/sciencenibber/full/I72z0hVuk" width="100%" height="620" frameborder="0" sandbox="allow-scripts allow-same-origin"></iframe> </div> <div class="microsim-fallback"> <img src="Microsims/thumbs/Phase_transition.png" alt="Phase_transition 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/I72z0hVuk">open sketch in the p5.js editor</a></em></p> </div> **Editor URL:** https://editor.p5js.org/sciencenibber/sketches/I72z0hVuk **Description (100 words):** Three coupled Landau-theory views: a free-energy curve F(phi) on the left, a (T, h) phase diagram on the right, and an equilibrium order parameter phi_eq vs T plot along the bottom. The reader drags a yellow marker around the phase diagram (or nudges T and h with arrow keys); the free-energy curve reshapes in real time, the magenta dot tracks the global minimum, and a yellow ball relaxes down the gradient. Crossing the magenta first-order coexistence line at h = 0 jumps the ball between wells; crossing the critical endpoint at (Tc = 2.0, 0) merges them continuously. The bottom strip shows the canonical equation F = -h*phi + (r/2)*phi^2 + (u/4)*phi^4 with r = a*(T - Tc). ```js // ===================================================================== // Phase_transition.js -- Wikitube microsim // Article: Phase transition en.wikitube.io/wiki/Phase_transition // Room: Helium Pattern: A (phase diagram, state transitions) // --------------------------------------------------------------------- // Idea: three coupled views of the Landau theory of phase transitions // -- the canonical pedagogical model that unifies first-order, second- // order, and critical-point behavior in a single two-parameter // family of free-energy curves. // // 1. Left: the free-energy curve F(phi) as a function of the order // parameter phi, recomputed every frame from the reader's // current (T, h). A yellow ball relaxes down the gradient // and a magenta dot marks the global minimum. // 2. Right: the (T, h) phase diagram itself -- the magenta segment // along h = 0 for T < Tc is the first-order coexistence // line; the magenta dot at (Tc, 0) is the critical point // where the line terminates. The reader drags the yellow // marker around this plane. // 3. Bottom: equilibrium order parameter phi_eq(T) at the current h, // showing the pitchfork bifurcation (h = 0, dashed // reference) and the smoothed branch that the current h // picks out. // // Canonical equations (Landau theory, scalar phi^4): // F(phi; T, h) = -h*phi + (r/2)*phi^2 + (u/4)*phi^4 // r(T) = a*(T - Tc) // dF/dphi = 0: -h + r*phi + u*phi^3 = 0 (equilibrium) // // With a = u = 1 and Tc = 2.0: // * T > Tc: single well at phi_eq ~ h / r (small-h) // * T < Tc, h = 0: two symmetric wells at phi = +/- sqrt((Tc - T)) // * T = Tc, h = 0: critical point. Heat capacity diverges in // fluctuation-corrected theory; mean-field exponents // are (alpha, beta, gamma, delta) = (0, 1/2, 1, 3). // * T < Tc, h crossing 0: first-order jump in phi_eq from -|m| to +|m|; // latent heat L = T * Delta_S. // // The h = 0 axis for T < Tc IS the first-order coexistence line; for // T > Tc no transition occurs as h crosses zero (the curve is smooth). // The (Tc, 0) critical endpoint terminates the line and is the unique // point where the transition becomes continuous (second-order). // // Three observable behaviors as the reader sweeps (T, h): // * cross h = 0 at T < Tc -> ball jumps wells (first-order) // * cross T = Tc at h = 0 -> wells merge into one (continuous) // * any smooth path away from (Tc,0) -> phi_eq tracks smoothly // // Visual layout (720 x 520 canvas): // * top strip (0-44): HUD title + Wikitube URL + control hints // * left (40-380, 64-308): F(phi) panel // * right (404-690, 64-308): (T, h) phase diagram panel // * bottom (40-690, 332-468): phi_eq vs T panel (bifurcation) // * bottom strip (491-520): equation + parameter readout // // Conventions (Wikitube Betterfire Standard v0): // * single ARTICLE constant, single quotes // * p5.disableFriendlyErrors = true // * every text() string literal is ASCII; Greek letters live in // comments only (phi, lambda, etc. written as the ASCII names in // text strings to keep the editor preview pipeline clean) // * Energy-room palette (P5_JS_EDITOR section 4) // * pixelDensity(2), system-ui font // * controls: mouse drag in phase diagram, arrow keys nudge, R resets // ===================================================================== const ARTICLE = 'Phase_transition'; 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, 150]; const HOT = [220, 110, 60]; // disordered/symmetric phase (T > Tc) const COLD = [60, 130, 220]; // ordered phase, phi > 0 const COLDER = [40, 80, 180]; // ordered phase, phi < 0 const STRUCT = [120, 130, 150]; // frames, axis ticks const TRAJ = [240, 220, 80]; // reader marker, relaxing ball const SCRATCH = [120, 120, 120, 100]; // gridlines, dashed references const ACCENT = [200, 100, 220]; // coexistence line + critical point // ----- Landau parameters (dimensionless) ----------------------------- const A_LANDAU = 1.0; // dr/dT const U_LANDAU = 1.0; // quartic coefficient const T_C = 2.0; // critical temperature // ----- Plot data ranges ---------------------------------------------- const T_MIN = 0.4; const T_MAX = 3.6; const H_MIN = -1.2; const H_MAX = 1.2; const PHI_MIN = -1.9; const PHI_MAX = 1.9; // ----- Reader state -------------------------------------------------- let state = { T: 1.2, h: 0.0 }; // start in the ordered region, h = 0 let phiBall = -1.0; // relaxing ball position on F(phi) let dragging = false; // ----- Panel rectangles (filled in setup) ---------------------------- let fe = {}; // free energy panel (left) let pd = {}; // phase diagram (right) let bp = {}; // bifurcation panel (bottom) // ===================================================================== // Setup // ===================================================================== function setup() { createCanvas(720, 520); pixelDensity(2); textFont('system-ui'); textStyle(NORMAL); fe = { x: 40, y: 64, w: 340, h: 244 }; pd = { x: 404, y: 64, w: 286, h: 244 }; bp = { x: 40, y: 332, w: 650, h: 136 }; } // ===================================================================== // Draw loop // ===================================================================== function draw() { background(BG); // Relax the ball one step: dphi/dt = -dF/dphi. // Ball lags the global minimum slightly, which is the visual cue for // metastability when h crosses zero at low T. const dt = min(deltaTime / 1000, 0.05); const grad = -state.h + r(state.T) * phiBall + U_LANDAU * Math.pow(phiBall, 3); phiBall -= grad * dt * 4.0; drawFreeEnergyPanel(); drawPhaseDiagramPanel(); drawBifurcationPanel(); drawHUD(); } // ===================================================================== // Landau theory helpers // ===================================================================== // Quadratic coefficient r(T) = a * (T - Tc). Positive above Tc, negative // below Tc -- the sign change is what creates the double well. function r(T) { return A_LANDAU * (T - T_C); } // F(phi; T, h) = -h*phi + (r/2)*phi^2 + (u/4)*phi^4. function freeEnergy(phi, T, h) { return -h * phi + 0.5 * r(T) * phi * phi + 0.25 * U_LANDAU * phi * phi * phi * phi; } // Global minimum phi_eq solves dF/dphi = 0. Sample coarsely, then polish // with Newton's method on the cubic. function phiEq(T, h) { let bestPhi = 0; let bestF = Infinity; const N = 200; for (let i = 0; i <= N; i++) { const phi = lerp(PHI_MIN, PHI_MAX, i / N); const F = freeEnergy(phi, T, h); if (F < bestF) { bestF = F; bestPhi = phi; } } let phi = bestPhi; for (let k = 0; k < 20; k++) { const g = -h + r(T) * phi + U_LANDAU * phi * phi * phi; const gp = r(T) + 3 * U_LANDAU * phi * phi; if (Math.abs(gp) < 1e-9) break; const step = g / gp; phi -= step; if (Math.abs(step) < 1e-9) break; } return phi; } // ===================================================================== // Free-energy panel: F(phi) vs phi // ===================================================================== function drawFreeEnergyPanel() { // Frame noFill(); stroke(STRUCT[0], STRUCT[1], STRUCT[2], 130); strokeWeight(1); rect(fe.x, fe.y, fe.w, fe.h); // Build curve data and frame y-axis to fit const N = 220; const xs = new Array(N + 1); const ys = new Array(N + 1); let fMin = Infinity; let fMax = -Infinity; for (let i = 0; i <= N; i++) { const phi = lerp(PHI_MIN, PHI_MAX, i / N); const F = freeEnergy(phi, state.T, state.h); xs[i] = phi; ys[i] = F; if (F < fMin) fMin = F; if (F > fMax) fMax = F; } // Always include zero; pad fMin = Math.min(fMin, -0.05); fMax = Math.max(fMax, 0.05); const pad = (fMax - fMin) * 0.12; fMin -= pad; fMax += pad; const phiToPx = phi => map(phi, PHI_MIN, PHI_MAX, fe.x + 12, fe.x + fe.w - 12); const fToPy = F => map(F, fMin, fMax, fe.y + fe.h - 14, fe.y + 14); // Reference grid lines: phi = 0, phi = +/-1, F = 0 stroke(SCRATCH); strokeWeight(1); line(phiToPx( 0), fe.y + 8, phiToPx( 0), fe.y + fe.h - 8); line(phiToPx(-1), fe.y + 8, phiToPx(-1), fe.y + fe.h - 8); line(phiToPx( 1), fe.y + 8, phiToPx( 1), fe.y + fe.h - 8); line(fe.x + 8, fToPy(0), fe.x + fe.w - 8, fToPy(0)); // Curve noFill(); stroke(FG, 230); strokeWeight(2); beginShape(); for (let i = 0; i <= N; i++) vertex(phiToPx(xs[i]), fToPy(ys[i])); endShape(); // Global-minimum dot (magenta accent) const phiE = phiEq(state.T, state.h); const fE = freeEnergy(phiE, state.T, state.h); noStroke(); fill(ACCENT[0], ACCENT[1], ACCENT[2], 220); ellipse(phiToPx(phiE), fToPy(fE), 9, 9); // Relaxing ball (yellow trajectory accent) const fBall = freeEnergy(phiBall, state.T, state.h); fill(TRAJ[0], TRAJ[1], TRAJ[2], 240); ellipse(phiToPx(phiBall), fToPy(fBall), 12, 12); // Panel labels noStroke(); fill(FG, 210); textAlign(LEFT, BOTTOM); textSize(12); text('Landau free energy F(phi)', fe.x + 6, fe.y - 4); textAlign(CENTER, TOP); textSize(10); text('phi (order parameter)', fe.x + fe.w / 2, fe.y + fe.h + 4); push(); translate(fe.x - 6, fe.y + fe.h / 2); rotate(-HALF_PI); textAlign(CENTER, BOTTOM); textSize(10); text('F', 0, 0); pop(); // Sub-legend textAlign(LEFT, BOTTOM); textSize(10); fill(TRAJ[0], TRAJ[1], TRAJ[2], 230); text('yellow ball: relaxing phi', fe.x + 8, fe.y + fe.h - 18); fill(ACCENT[0], ACCENT[1], ACCENT[2], 230); text('magenta dot: global minimum', fe.x + 8, fe.y + fe.h - 4); // Axis tick labels fill(FG, 160); textSize(9); textAlign(CENTER, TOP); text('-1', phiToPx(-1), fe.y + fe.h - 10); text( '0', phiToPx( 0), fe.y + fe.h - 10); text( '1', phiToPx( 1), fe.y + fe.h - 10); } // ===================================================================== // Phase diagram panel: (T, h) plane with coexistence line + critical // point // ===================================================================== function drawPhaseDiagramPanel() { // Frame noFill(); stroke(STRUCT[0], STRUCT[1], STRUCT[2], 130); strokeWeight(1); rect(pd.x, pd.y, pd.w, pd.h); const tToPx = T => map(T, T_MIN, T_MAX, pd.x + 14, pd.x + pd.w - 14); const hToPy = h => map(h, H_MIN, H_MAX, pd.y + pd.h - 14, pd.y + 14); // Phase-region tinting (subtle): cool blue for T < Tc, warm for T > Tc. noStroke(); fill(COLD[0], COLD[1], COLD[2], 30); rect(pd.x + 8, pd.y + 8, tToPx(T_C) - (pd.x + 8), pd.h - 16); fill(HOT[0], HOT[1], HOT[2], 30); rect(tToPx(T_C), pd.y + 8, pd.x + pd.w - 8 - tToPx(T_C), pd.h - 16); // Reference grid: h = 0 axis, T = Tc vertical stroke(SCRATCH); strokeWeight(1); line(pd.x + 8, hToPy(0), pd.x + pd.w - 8, hToPy(0)); line(tToPx(T_C), pd.y + 8, tToPx(T_C), pd.y + pd.h - 8); // First-order coexistence line: h = 0 for T < Tc, bright magenta stroke(ACCENT[0], ACCENT[1], ACCENT[2], 230); strokeWeight(3); line(tToPx(T_MIN), hToPy(0), tToPx(T_C), hToPy(0)); // Critical endpoint at (Tc, 0) noStroke(); fill(ACCENT[0], ACCENT[1], ACCENT[2], 240); ellipse(tToPx(T_C), hToPy(0), 11, 11); // Phase labels noStroke(); fill(COLD[0], COLD[1], COLD[2], 230); textAlign(CENTER, CENTER); textSize(11); text('ordered', tToPx((T_MIN + T_C) / 2), hToPy( 0.75)); text('(phi > 0)', tToPx((T_MIN + T_C) / 2), hToPy( 0.55)); fill(COLDER[0], COLDER[1], COLDER[2], 230); text('ordered', tToPx((T_MIN + T_C) / 2), hToPy(-0.55)); text('(phi < 0)', tToPx((T_MIN + T_C) / 2), hToPy(-0.75)); fill(HOT[0], HOT[1], HOT[2], 230); text('disordered', tToPx((T_C + T_MAX) / 2), hToPy( 0.75)); text('(phi = 0)', tToPx((T_C + T_MAX) / 2), hToPy( 0.55)); // Annotations: coexistence line + critical point labels noStroke(); fill(ACCENT[0], ACCENT[1], ACCENT[2], 230); textSize(10); textAlign(LEFT, BOTTOM); text('1st-order coexistence (h = 0, T < Tc)', pd.x + 14, hToPy(0) - 4); textAlign(LEFT, TOP); text('critical (Tc, 0)', tToPx(T_C) + 8, hToPy(0) + 6); // Reader marker (yellow): ring + dot const mx = tToPx(state.T); const my = hToPy(state.h); stroke(TRAJ[0], TRAJ[1], TRAJ[2]); strokeWeight(2); noFill(); ellipse(mx, my, 16, 16); noStroke(); fill(TRAJ[0], TRAJ[1], TRAJ[2]); ellipse(mx, my, 5, 5); // Tick labels noStroke(); fill(FG, 160); textSize(9); textAlign(CENTER, TOP); for (const T of [0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5]) { text(nf(T, 0, 1), tToPx(T), pd.y + pd.h - 11); } textAlign(RIGHT, CENTER); for (const h of [-1, -0.5, 0, 0.5, 1]) { text(nf(h, 0, 1), pd.x + 11, hToPy(h)); } // Panel title fill(FG, 210); textAlign(LEFT, BOTTOM); textSize(12); text('(T, h) phase diagram . drag the dot', pd.x + 6, pd.y - 4); textAlign(CENTER, TOP); textSize(10); text('T (temperature)', pd.x + pd.w / 2, pd.y + pd.h + 4); push(); translate(pd.x - 6, pd.y + pd.h / 2); rotate(-HALF_PI); textAlign(CENTER, BOTTOM); textSize(10); text('h (field)', 0, 0); pop(); } // ===================================================================== // Bifurcation panel: phi_eq(T) at the current h // ===================================================================== function drawBifurcationPanel() { // Frame noFill(); stroke(STRUCT[0], STRUCT[1], STRUCT[2], 130); strokeWeight(1); rect(bp.x, bp.y, bp.w, bp.h); const tToPx2 = T => map(T, T_MIN, T_MAX, bp.x + 14, bp.x + bp.w - 14); const pToPy2 = phi => map(phi, PHI_MAX, PHI_MIN, bp.y + 12, bp.y + bp.h - 14); // Reference axes stroke(SCRATCH); strokeWeight(1); line(bp.x + 8, pToPy2(0), bp.x + bp.w - 8, pToPy2(0)); // phi = 0 line(tToPx2(T_C), bp.y + 8, tToPx2(T_C), bp.y + bp.h - 8); // T = Tc // h = 0 reference (pitchfork) -- dashed, drawn beneath the solid curve drawingContext.setLineDash([4, 4]); stroke(SCRATCH); strokeWeight(1); for (const sign of [+1, -1]) { noFill(); beginShape(); for (let i = 0; i <= 120; i++) { const T = lerp(T_MIN, T_C, i / 120); const phi = sign * Math.sqrt(Math.max(0, (T_C - T) * A_LANDAU / U_LANDAU)); vertex(tToPx2(T), pToPy2(phi)); } endShape(); } // For T > Tc the h = 0 branch is phi = 0 (along the axis, already // drawn as the grid line). drawingContext.setLineDash([]); // Solid bright curve: phi_eq(T) at current h noFill(); stroke(FG, 230); strokeWeight(2); beginShape(); for (let i = 0; i <= 240; i++) { const T = lerp(T_MIN, T_MAX, i / 240); const phi = phiEq(T, state.h); vertex(tToPx2(T), pToPy2(phi)); } endShape(); // Current state marker const phiHere = phiEq(state.T, state.h); noStroke(); fill(TRAJ[0], TRAJ[1], TRAJ[2]); ellipse(tToPx2(state.T), pToPy2(phiHere), 9, 9); // Critical point reference at (Tc, 0) fill(ACCENT[0], ACCENT[1], ACCENT[2], 220); ellipse(tToPx2(T_C), pToPy2(0), 7, 7); // Tick labels fill(FG, 160); textSize(9); textAlign(CENTER, TOP); for (const T of [0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5]) { text(nf(T, 0, 1), tToPx2(T), bp.y + bp.h - 11); } textAlign(RIGHT, CENTER); for (const p of [-1, 0, 1]) { text(nf(p, 0, 0), bp.x + 11, pToPy2(p)); } // Panel title fill(FG, 210); textAlign(LEFT, BOTTOM); textSize(12); text('Equilibrium order parameter phi_eq vs T (at current h)', bp.x + 6, bp.y - 4); textAlign(CENTER, TOP); textSize(10); text('T', bp.x + bp.w / 2, bp.y + bp.h + 4); push(); translate(bp.x - 6, bp.y + bp.h / 2); rotate(-HALF_PI); textAlign(CENTER, BOTTOM); textSize(10); text('phi_eq', 0, 0); pop(); // Legend textAlign(RIGHT, BOTTOM); textSize(10); fill(FG, 170); text('dashed: h = 0 pitchfork . solid: current h', bp.x + bp.w - 8, bp.y + bp.h - 4); } // ===================================================================== // HUD: title, URL, controls, readout, equation // ===================================================================== function drawHUD() { // Top strip noStroke(); fill(0, 170); rect(0, 0, width, 44); // Title + Wikitube subtitle (Betterfire Standard rules 2 + 3) fill(FG); textAlign(LEFT, TOP); textSize(20); text(TITLE, 14, 8); fill(...DIM); textSize(12); text('Wikitube microsim . en.wikitube.io/wiki/Phase_transition', 14, 30); // Top-right hint lines (control discoverability) fill(FG, 200); textAlign(RIGHT, TOP); textSize(10); text('drag in (T, h) plane to move state', width - 14, 6); text('arrow keys nudge T (left/right), h (up/down)', width - 14, 18); text('press R to reset', width - 14, 30); // Bottom strip: equation + parameter readout fill(0, 160); rect(0, height - 29, width, 29); const phiHere = phiEq(state.T, state.h); const rHere = r(state.T); fill(FG, 230); textAlign(LEFT, CENTER); textSize(11); text('F(phi; T, h) = -h*phi + (r/2)*phi^2 + (u/4)*phi^4 . r = a*(T - Tc) . Clausius-Clapeyron: dP/dT = L / (T * dV)', 14, height - 15); textAlign(RIGHT, CENTER); fill(FG, 180); text('T = ' + nf(state.T, 0, 2) + ' h = ' + nf(state.h, 0, 2) + ' r = ' + nf(rHere, 0, 2) + ' phi_eq = ' + nf(phiHere, 0, 2), width - 14, height - 15); } // ===================================================================== // Input handling // ===================================================================== function mousePressed() { if (insidePhase(mouseX, mouseY)) { dragging = true; updateFromMouse(); } } function mouseDragged() { if (dragging) updateFromMouse(); } function mouseReleased() { dragging = false; } function updateFromMouse() { state.T = map(mouseX, pd.x + 14, pd.x + pd.w - 14, T_MIN, T_MAX, true); state.h = map(mouseY, pd.y + pd.h - 14, pd.y + 14, H_MIN, H_MAX, true); } function insidePhase(x, y) { return x >= pd.x && x <= pd.x + pd.w && y >= pd.y && y <= pd.y + pd.h; } function keyPressed() { const dT = (T_MAX - T_MIN) / 80; const dh = (H_MAX - H_MIN) / 60; if (keyCode === LEFT_ARROW) state.T = constrain(state.T - dT, T_MIN, T_MAX); if (keyCode === RIGHT_ARROW) state.T = constrain(state.T + dT, T_MIN, T_MAX); if (keyCode === UP_ARROW) state.h = constrain(state.h + dh, H_MIN, H_MAX); if (keyCode === DOWN_ARROW) state.h = constrain(state.h - dh, H_MIN, H_MAX); if (key === 'r' || key === 'R') { state.T = 1.2; state.h = 0.0; phiBall = -1.0; } } // ===================================================================== // End of Phase_transition.js -- Wikitube microsim, Helium room, Pattern A. // ===================================================================== ``` ## MicroSim spec - **Recommended sim type:** phase transition - **Microsimmability score:** 86/100 - **Layout:** drawing region (canvas) on top; control region (sliders/buttons) below. ### Parameters (tunable controls) - `Temperature` - `External field` - `Lattice size` ### What animates An Ising-like lattice flips between ordered and disordered phases as temperature crosses the critical point. ### Learning objective Show how order appears or vanishes sharply at a critical temperature. ## MicroSim spec - **Recommended sim type:** [[Cellular_automaton|cellular automaton]] - **Microsimmability score:** 78/100 - **Layout:** drawing region (canvas) on top; control region (sliders/buttons) below. ### Parameters (tunable controls) - `Temperature` - `Coupling` - `Field` ### What animates A lattice of spins flips between ordered and disordered phases as temperature crosses a critical point. ### Learning objective Observe how a [[System|system]] changes phase abruptly as a control parameter crosses a threshold. ## Links (Wikipedia order) <!-- injected from _registry/childlinks/Phase_transition.json (2026-07-30T02:09:12Z) --> `Abnormal_grain_growth` · `Accidental_symmetry` · `Adiabatic_invariant` · `Adsorption` · `Allotropes_of_iron` · `Allotropy` · `Amir_Faghri` · `Amorphous_solid` · `Analytic_function` · `Antiferromagnetism` · `Antimatter` · `Antimonide` · [[Argon]] · `Austenite` · `Binodal` · `Biology` · `Boiling` · [[Boiling_point]] · `Bose_gas` · `Bose–Einstein_condensate` · [[Boson]] · `Brian_Josephson` · `Carol_Kendall_(scientist)` · `Chemical_ionization` · [[Chemistry]] · `Chloroplast` · `Christof_Wetterich` · `Coil–globule_transition` · `Colloid` · `Color-glass_condensate` · `Commensurability_(mathematics)` · `Complex_system_approach_to_peace_and_armed_conflict` · `Compressed_fluid` · `Condensation` · `Condensed_matter_physics` · `Congruent_melting` · `Continuum_percolation_theory` · `Cooling_curve` · `Cornelis_Jacobus_Gorter` · `Correlation_function_(statistical_mechanics)` · `Course_of_Theoretical_Physics` · `Critical_exponent` · `Critical_line_(thermodynamics)` · `Critical_opalescence` · `Critical_point_(thermodynamics)` · `Crystal` · `Crystal_growth` · [[Crystal_structure]] · `Crystallization` · `Curie_temperature` · `DNA_condensation` · `Daniel_C._Tsui` · `Dark_matter` · `David_Layzer` · `Degenerate_matter` · `Department_of_Peace_Studies,_University_of_Bradford` · `Deposition_(phase_transition)` · `Diamagnetism` · `Differential_scanning_calorimetry` · `Ehrenfest_equations` · `Electrical_conductor` · `Electromagnetic_field` · `Electron_paramagnetic_resonance` · `Electronic_band_structure` · `Enthalpy` · `Enthalpy_of_fusion` · `Enthalpy_of_sublimation` · `Enthalpy_of_vaporization` · `Equation_of_state` · `Equilibrium_fractionation` · `Eric_Chaisson` · `Evaporation` · `Exciton` · `Exotic_matter` · `Felix_Bloch` · `Fermi_gas` · `Fermi_liquid_theory` · `Fermionic_condensate` · `Ferrimagnetism` · `Ferroelectricity` · `Ferromagnetism` · `Flash_evaporation` · [[Fractal]] · `Freezing` · `Gas` · `Gerd_Binnig` · `Giorgio_Parisi` · `Glass_transition` · `Granular_material` · `H._Eugene_Stanley` · `Hagen_Kleinert` · `Hall_effect` · `Heat_capacity` · `Heike_Kamerlingh_Onnes` · `Heinrich_Rohrer` · [[Helium]] · `Horst_Ludwig_Störmer` · [[Hydrogen]] · `Insulator_(electricity)` · `Intensive_and_extensive_properties` · `Ionization` · `Ising_model` · `Isotope_fractionation` · `Ivar_Giaever` · `Jamming_(physics)` · `Johannes_Diderik_van_der_Waals` · `John_Bardeen` · `John_Hasbrouck_Van_Vleck` · `John_Hubbard_(physicist)` · `John_Perdew` · `John_Robert_Schrieffer` · `Julia_Yeomans` · `Kelvin_probe_force_microscope` · `Kenneth_G._Wilson` · `Klaus_von_Klitzing` · `Kondo_effect` · `Lambda_point` · `Lambda_transition` · `Landau_theory` · `Lars_Onsager` · `Laser-heated_pedestal_growth` · `Latent_heat` · `Latent_internal_energy` · `Leidenfrost_effect` · `Leo_Esaki` · `Leo_Kadanoff` · `Leon_Cooper` · `Lev_Landau` · `Linolenic_acid` · `Lipid_bilayer` · `Liquid` · `Liquid_crystal` · `Liquidus_and_solidus` · `List_of_states_of_matter` · `Logarithm` · `Louis_Néel` · `Luttinger_liquid` · `Macroscopic_quantum_phenomena` · `Magnet` · `Magnetic_structure` · `Magnetic_susceptibility` · `Magnetization` · `Magnon` · `Manfred_R._Schroeder` · `Manganese_monosilicide` · `Martin_H._Krieger` · `Max_von_Laue` · `Mean-field_theory` · `Melting` · `Melting_point` · `Mesophase` · `Metal–organic_framework` · `Metamagnetism` · `Metamaterial` · `Michael_Fisher` · `Micro-pulling-down` · `Microporous_material` · `Miscibility_gap` · `Mixing_ratio` · `Mixture` · `Mott_insulator` · `Mpemba_effect` · `Multicritical_point` · `Mössbauer_spectroscopy` · `Neural_network_(biology)` · [[Neutron_diffraction]] · [[Nickel]] · `Order_and_disorder` · `Paramagnetism` · `Paul_Ehrenfest` · `Percolation_theory` · `Perturbed_angular_correlation` · `Peter_Debye` · `Phase_(matter)` · `Phase_diagram` · `Phonon` · `Photonic_molecule` · `Physical_cosmology` · `Physical_property` · [[Physics]] · `Piezoelectricity` · [[Plasma_(physics)]] · `Plasma_recombination` · `Plasmon` · `Polariton` · `Polaron` · `Polyamorphism` · `Polymer` · `Power_law` · `Pressure` · `Programmable_matter` · `Protein_folding` · `QCD_matter` · `Quantum_Hall_effect` · `Quantum_critical_point` · `Quantum_phase_transition` · `Quantum_spin_liquid` · `Quantum_vortex` · `Quark–gluon_plasma` · `Quasiparticle` · `Regelation` · `Renormalization_group` · `Robert_B._Laughlin` · `Roton` · `Rudolf_Peierls` · `Rydberg_matter` · `SQUID` · [[Scale-free_network]] · `Semiconductor` · `Semimetal` · `Soft_matter` · `Solid` · `Solid_solution` · `Solution_(chemistry)` · `Spin_Hall_effect` · `Spin_gapless_semiconductor` · `Spin_glass` · `Spin_label` · `Spinodal` · `Spinodal_decomposition` · `Spontaneous_symmetry_breaking` · `Springer_Nature` · `State_of_matter` · `Strange_matter` · `String-net_liquid` · `Sublimation_(phase_transition)` · [[Superconductivity]] · `Supercooling` · `Supercritical_fluid` · `Supercritical_liquid–gas_boundaries` · `Superdiamagnetism` · `Superfluid_film` · `Superfluidity` · `Superheated_water` · `Superheating` · `Superparamagnetism` · `Superradiant_phase_transition` · `Supersaturation` · `Supersolid` · `Symmetry_breaking` · `Tantalum_hafnium_carbide` · `Temperature` · `Thermo-dielectric_effect` · `Thermodynamic_free_energy` · [[Thermodynamic_system]] · `Thermoelectric_effect` · `Time_crystal` · `Timeline_of_states_of_matter_and_phase_transitions` · [[Titanium]] · `Titanium_aluminide` · `Topological_defect` · `Topological_insulator` · `Topological_quantum_field_theory` · `Tracy–Widom_distribution` · `Transition_state` · `Triple_point` · `Trouton's_rule` · `Turbulence` · `Two-dimensional_electron_gas` · `Type-II_superconductor` · `Type-I_superconductor` · `University_of_Chicago_Press` · `Vapor` · `Vapor_pressure` · `Vaporization` · `Vapor–liquid_equilibrium` · `Variational_perturbation_theory` · `Vitrification` · `Volatility_(chemistry)` · `Vortex` · `Walter_Kohn` · `Water` · `Water_vapor` · [[Wayback_Machine]] · `William_Henry_Bragg` · `X-ray_diffraction` · `Yang_Chen-Ning` · `Yuwen_Zhang` > **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/Dynamical_systems_equilibria.gif" alt="Bifurcation & Equilibria" loading="lazy" decoding="async"> <figcaption><strong>Bifurcation & Equilibria</strong> — Illustrate bifurcation and state transitions between equilibria.<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:Dynamical_systems_equilibria.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 [[Phase_transition]].* <!-- GIFPLATE:END --> ## Overview A **phase transition** is the qualitative change in the equilibrium state of a [[Thermodynamic_system|thermodynamic system]] when an external control parameter — most often temperature, but also pressure, magnetic field, or chemical composition — crosses a critical value, producing a singularity in some derivative of the free [[Energy|energy]]. The Ehrenfest classification originally distinguished transitions by the lowest discontinuous derivative of the Gibbs free energy: **first-order** transitions, where the first derivatives ([[Entropy|entropy]], volume) jump and the [[System|system]] absorbs or releases **latent heat**, and **second-order** or continuous transitions, where the first derivatives are continuous but second derivatives (heat capacity, susceptibility, compressibility) diverge. The modern view, due to Landau, recasts every continuous transition as the appearance of an **order parameter** φ that vanishes in the symmetric phase and grows continuously below the critical point. The Clausius–Clapeyron relation, dP/dT = L / (T·ΔV), governs every first-order coexistence curve — including the melting line of ice, the saturation curve of every liquid, and the solidification curve of helium under pressure. Continuous transitions exhibit **critical exponents** (α, β, γ, δ, ν, η) that depend only on the dimensionality and symmetry of the order parameter, grouping otherwise unrelated systems into **universality classes** (Ising, XY, Heisenberg, mean-field). The 3D-XY class governs the **superfluid lambda transition of helium-4** at 2.172 K — the highest-resolution continuous transition ever measured — and superconducting transitions follow BCS or 3D-XY scaling depending on the regime. Renormalization-group theory (Wilson, 1971) explains why such disparate systems share exponents: long-wavelength fluctuations near the critical point depend only on symmetry, not microscopic detail. ## See also - Room hub: [[Helium]] - p5.js Editor conventions: P5 JS EDITOR - Wiki root: MAIN --- *Scaffolded by `generative-microsim` from row 28 of the Helium sheet on 2026-05-11T22:10:51Z.* <!-- 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/Phase_transition) : [Wikitube](https://en.wikitube.io/wiki/Phase_transition) ## Previous hub tags Tree parents: [[Cellular_automaton]] · [[Complex_system]] · [[Cybernetics]] · [[Dynamical_system]] · [[Emergence]] · [[Feedback]] · [[Helium-3]] · [[Self-organization]] · [[Systems_science]] · [[Systems_theory]]. Legacy hubs: none. --- *Sources: 3 legacy notes. Minted wave 1, 2026-07-30 (v1.6 order).*