# Energy transformation ## Microsim ### Live player <div class="microsim-player"> <iframe src="https://editor.p5js.org/sciencenibber/full/Uf3g0uO_e" width="100%" height="620" frameborder="0" sandbox="allow-scripts allow-same-origin"></iframe> </div> <div class="microsim-fallback"> <img src="Microsims/thumbs/Energy_transformation.png" alt="Energy_transformation 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/Uf3g0uO_e">open sketch in the p5.js editor</a></em></p> </div> **Editor URL:** https://editor.p5js.org/sciencenibber/sketches/Uf3g0uO_e **Description (100 words):** Four tall stocks across the top represent the canonical Chemical, Thermal, Mechanical, and Electrical energy reservoirs. A magenta fuel arrow on the left charges the Chemical stock, three yellow primary arrows carry it rightward through the cascade, and three dashed orange Q_loss arrows divert the unconverted fraction at each stage into a wide Waste-Heat sink below. Drag the eta_combust, eta_engine, and eta_gen sliders to dial each conversion efficiency; the throttle slider sets the fuel rate. Top-right gauges read the cascade's eta_total, the waste percentage, the delivered tally, and the first-law conservation sum, which holds at 1000 kJ even as the chain redistributes it. ```js // ===================================================================== // Energy_transformation.js -- Wikitube microsim // Article: Energy_transformation // en.wikitube.io/wiki/Energy_transformation // Room: Helium Pattern: K (stock-and-flow, 12) // --------------------------------------------------------------------- // Idea: a four-stage energy-conversion cascade rendered as a textbook // stock-and-flow system. A finite Chemical fuel reservoir feeds a // Thermal stock through (near-) lossless combustion; the Thermal stock // drives a heat engine that fills a Mechanical stock; the Mechanical // stock spins a generator that fills an Electrical stock; the // Electrical stock discharges to a (lossless) delivered-load output. // // At every stage only a fraction eta_i of the inflow is converted; the // remainder is shed to a single Waste-Heat sink that grows monotonically // and represents the entropy reservoir of the second law. // // Equations (one ODE per stock, forward Euler in step()): // // dE_chem / dt = -P_in // dE_therm / dt = +P_in * eta_combust - k_t * E_therm // dE_mech / dt = +k_t * E_therm * eta_engine - k_m * E_mech // dE_elec / dt = +k_m * E_mech * eta_gen - k_e * E_elec // dE_waste / dt = +P_in * (1 - eta_combust) // + k_t * E_therm * (1 - eta_engine) // + k_m * E_mech * (1 - eta_gen) // // First law: E_chem + E_therm + E_mech + E_elec + E_waste + E_load // = const (the cascade gauge in the upper-right reads this // sum every frame; it should stay pinned at 1000) // // Second law: every stage obeys the Carnot envelope // eta_engine <= 1 - T_cold / T_hot ~ 0.6 // and the waste fraction (1 - eta_total) grows whenever // the cascade transports energy. // // The Helium connection: every operation of the helium economy // (liquefaction compressors, MRI quench recovery, rocket pressurant // warming, dilution-refrigerator stages, plasma heating in fusion) is // an instance of this cascade, just with different stocks and // conversion arrows. The accounting logic is the same. // // Visual layout (720 x 520 canvas): // * top-left: HUD title + en.wikitube.io/wiki/{ARTICLE} subtitle // * top center: four primary stocks (Chemical, Thermal, Mechanical, // Electrical) as tall rectangles with fill levels // showing current quantity (kJ) // * arrows: horizontal flow arrows between stocks carry animated // tokens whose density encodes the current flow rate; // downward dashed arrows mark the loss-to-waste path // at each stage with eta < 1 // * y ~ 270: a wide Waste-Heat reservoir (the entropy sink) with // the running total // * top-right: conversion gauges (eta_total, waste %, first-law // conservation check) // * bottom-left: four sliders (eta_combust, eta_engine, eta_gen, // throttle P_in) and pause / reset buttons // * bottom-right: canonical first-law equation, ASCII // // Conventions (Wikitube Betterfire Standard v0): // * single ARTICLE constant at top, single quotes // * p5.disableFriendlyErrors = true to keep editor console clean // * non-ASCII (Greek eta, mu, lambda, middle dot) lives in COMMENTS // ONLY; every text() string literal is ASCII // * Energy-room palette (P5_JS_EDITOR section 4, line 165): dark BG, // HOT / COLD tones, STRUCT grey, TRAJ accent, GAUGE green // * no FES-triggering tricks: all sliders carry .position(...).size(), // createCanvas is inside setup, no eval / new Function // ===================================================================== const ARTICLE = 'Energy_transformation'; 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]; // chemical, thermal, waste const COLD = [60, 130, 220]; // mechanical, electrical const STRUCT = [120, 130, 150]; // borders, labels const TRAJ = [240, 220, 80]; // primary flow tokens const GAUGE = [120, 220, 140]; // delivered output + cascade gauges const ACCENT = [200, 100, 220]; // fuel-in arrow // ---- Stocks (kJ) and first-order discharge constants (1/s) ---------- const E0 = 1000; // initial fuel charge in the chemical stock const E_VIZ_FULL = 1000; // viz cap for the chemical (source) bar const E_VIZ_MID = 100; // viz cap for thermal / mech / elec bars const K_THERM = 0.6; // thermal -> mech rate constant const K_MECH = 0.6; // mech -> elec rate constant const K_ELEC = 0.6; // elec -> load rate constant let E_chem = E0; let E_therm = 0; let E_mech = 0; let E_elec = 0; let E_waste = 0; let E_delivered = 0; // ---- DOM controls (positioned in setup) ----------------------------- let etaCombustSlider, etaEngineSlider, etaGenSlider, throttleSlider; let pauseBtn, resetBtn; let paused = false; let tokenPhase = 0; // 0..1 traveling phase for flow-arrow dots // ---- Stock geometry (one definition, consumed by drawCascade) ------- const STOCK_W = 64; const STOCK_H = 160; const STOCK_Y = 60; const STOCK_X = [60, 195, 330, 465]; const STOCK_COLORS = [HOT, HOT, COLD, COLD]; const STOCK_NAMES = ['Chemical', 'Thermal', 'Mechanical', 'Electrical']; const STOCK_CAPS = [E_VIZ_FULL, E_VIZ_MID, E_VIZ_MID, E_VIZ_MID]; // ===================================================================== // setup() -- build the canvas, place sliders and buttons // ===================================================================== function setup() { createCanvas(720, 520); pixelDensity(2); textFont('system-ui'); textAlign(LEFT, TOP); // Slider stack along the bottom-left, 35 px row pitch. const xs = 30; etaCombustSlider = createSlider(0.50, 1.00, 0.95, 0.01).position(xs, 360).size(190); etaEngineSlider = createSlider(0.05, 0.60, 0.40, 0.01).position(xs, 395).size(190); etaGenSlider = createSlider(0.50, 1.00, 0.95, 0.01).position(xs, 430).size(190); throttleSlider = createSlider(0, 40, 20, 1 ).position(xs, 465).size(190); pauseBtn = createButton('pause').position(xs + 230, 395); pauseBtn.mousePressed(togglePause); resetBtn = createButton('reset').position(xs + 230, 430); resetBtn.mousePressed(resetAll); } function togglePause() { paused = !paused; pauseBtn.html(paused ? 'resume' : 'pause'); } function resetAll() { E_chem = E0; E_therm = 0; E_mech = 0; E_elec = 0; E_waste = 0; E_delivered = 0; } // ===================================================================== // draw() -- read controls, integrate one dt step, render the scene // ===================================================================== function draw() { background(BG); // Read slider state once per frame into named locals so the integrator // reads as physics rather than as UI plumbing. const etaC = etaCombustSlider.value(); const etaE = etaEngineSlider.value(); const etaG = etaGenSlider.value(); const P_in = throttleSlider.value(); const dt = paused ? 0 : min(deltaTime / 1000, 0.05); step(etaC, etaE, etaG, P_in, dt); drawCascade(etaC, etaE, etaG, P_in); drawWasteTank(); drawGaugesAndEquation(etaC, etaE, etaG); drawSliderLabels(); drawHUD(); // last so it sits above everything (BF7 satisfied) } // ===================================================================== // step() -- forward-Euler integration of the five stock ODEs. // Order matters only at the level of one frame; with dt <= 0.05 s the // cascade reaches visible steady-state in 1-2 s. // ===================================================================== function step(etaC, etaE, etaG, P_in, dt) { if (dt <= 0) return; // Stage 1: Chem -> Thermal (idealized combustion, eta_combust) const chemReq = P_in * dt; // requested draw const chemDrain = min(E_chem, chemReq); // limited by reservoir E_chem -= chemDrain; E_therm += chemDrain * etaC; E_waste += chemDrain * (1 - etaC); // Stage 2: Thermal -> Mechanical (heat engine, Carnot-limited eta) const thermDrain = E_therm * K_THERM * dt; E_therm -= thermDrain; E_mech += thermDrain * etaE; E_waste += thermDrain * (1 - etaE); // Stage 3: Mechanical -> Electrical (generator, eta_gen) const mechDrain = E_mech * K_MECH * dt; E_mech -= mechDrain; E_elec += mechDrain * etaG; E_waste += mechDrain * (1 - etaG); // Stage 4: Electrical -> Delivered (idealized lossless transmission) const elecDrain = E_elec * K_ELEC * dt; E_elec -= elecDrain; E_delivered += elecDrain; } // ===================================================================== // drawHUD() -- the canonical Wikitube title bar (BF2 / BF3 / BF7). // ===================================================================== function drawHUD() { noStroke(); fill(0, 180); rect(8, 8, 370, 38); fill(255); textSize(20); textAlign(LEFT, TOP); text(TITLE, 16, 11); fill(...DIM); textSize(11); text('Wikitube microsim . en.wikitube.io/wiki/' + ARTICLE, 16, 32); } // ===================================================================== // drawCascade() -- four stocks, three primary arrows, three loss arrows, // one fuel-in arrow on the left, one delivered arrow on the right. // ===================================================================== function drawCascade(etaC, etaE, etaG, P_in) { tokenPhase = (tokenPhase + (paused ? 0 : 0.02)) % 1; // Instantaneous flow rates used for arrow-token density. const flows = [ (E_chem > 0) ? P_in : 0, E_therm * K_THERM, E_mech * K_MECH, E_elec * K_ELEC, ]; const etas = [etaC, etaE, etaG, 1.0]; // last hop is lossless const stocks = [E_chem, E_therm, E_mech, E_elec]; // --- stocks --------------------------------------------------------- for (let i = 0; i < 4; i++) { drawStock( STOCK_X[i], STOCK_Y, STOCK_W, STOCK_H, stocks[i] / STOCK_CAPS[i], STOCK_COLORS[i], STOCK_NAMES[i], stocks[i], ); } // --- primary horizontal arrows (with loss arrows hanging down) ------ for (let i = 0; i < 3; i++) { const x1 = STOCK_X[i] + STOCK_W; const x2 = STOCK_X[i + 1]; const y = STOCK_Y + STOCK_H / 2; drawFlowArrow(x1, y, x2, y, flows[i], TRAJ); if (etas[i] < 1) { const midX = (x1 + x2) / 2; drawLossArrow(midX, y + 8, midX, 260, flows[i] * (1 - etas[i])); } } // --- fuel-in arrow (left of the Chemical stock) --------------------- const yMid = STOCK_Y + STOCK_H / 2; drawFlowArrow(STOCK_X[0] - 34, yMid, STOCK_X[0], yMid, P_in, ACCENT); fill(...ACCENT); textSize(10); textAlign(RIGHT, CENTER); text('fuel ' + nf(P_in, 1, 0) + ' kW', STOCK_X[0] - 38, yMid); // --- delivered arrow (right of the Electrical stock) ---------------- drawFlowArrow( STOCK_X[3] + STOCK_W, yMid, STOCK_X[3] + STOCK_W + 34, yMid, flows[3], GAUGE, ); fill(...GAUGE); textAlign(LEFT, CENTER); text('load', STOCK_X[3] + STOCK_W + 38, yMid); textAlign(LEFT, TOP); } // ===================================================================== // drawStock() -- a vertical bar with frame, faint background, and // filled portion proportional to frac in [0, 1]. // ===================================================================== function drawStock(x, y, w, h, frac, col, label, value) { const fillH = h * constrain(frac, 0, 1); // empty background noStroke(); fill(col[0], col[1], col[2], 35); rect(x, y, w, h); // filled portion (from bottom) fill(...col); rect(x, y + h - fillH, w, fillH); // frame stroke(...STRUCT); strokeWeight(1.5); noFill(); rect(x, y, w, h); // labels below noStroke(); fill(...STRUCT); textSize(11); textAlign(CENTER, TOP); text(label, x + w / 2, y + h + 6); fill(FG); textSize(10); text(nf(value, 1, 1) + ' kJ', x + w / 2, y + h + 22); textAlign(LEFT, TOP); } // ===================================================================== // drawFlowArrow() -- straight line with an arrowhead and traveling // token dots; density scales with rate. // ===================================================================== function drawFlowArrow(x1, y1, x2, y2, rate, col) { stroke(col[0], col[1], col[2], 180); strokeWeight(2); line(x1, y1, x2, y2); noStroke(); fill(...col); const ah = 6; triangle(x2, y2, x2 - ah, y2 - ah / 1.5, x2 - ah, y2 + ah / 1.5); // animated tokens -- 1 to 6 dots depending on flow magnitude const nTokens = max(1, min(6, floor(rate / 3))); fill(col[0], col[1], col[2], 220); for (let k = 0; k < nTokens; k++) { const t = (tokenPhase + k / nTokens) % 1; const px = lerp(x1 + 4, x2 - 6, t); circle(px, y1, 3); } } // ===================================================================== // drawLossArrow() -- dashed vertical arrow from the primary-flow line // down to the Waste-Heat tank, tagged 'Q_loss'. // ===================================================================== function drawLossArrow(x1, y1, x2, y2, rate) { stroke(HOT[0], HOT[1], HOT[2], 180); strokeWeight(1.4); // simple manual dashing let yy = y1; while (yy < y2 - 4) { line(x1, yy, x1, min(yy + 6, y2 - 4)); yy += 10; } noStroke(); fill(HOT[0], HOT[1], HOT[2], 220); const ah = 6; triangle(x1, y2, x1 - ah / 1.5, y2 - ah, x1 + ah / 1.5, y2 - ah); textSize(9); textAlign(CENTER, TOP); text('Q_loss', x1, y1 + 2); textAlign(LEFT, TOP); } // ===================================================================== // drawWasteTank() -- the entropy reservoir; grows monotonically and // shows the running total in kJ inline. // ===================================================================== function drawWasteTank() { const x = 60; const y = 268; const w = 470; const h = 28; const frac = constrain(E_waste / 1000, 0, 1); // faint background fill noStroke(); fill(HOT[0], HOT[1], HOT[2], 45); rect(x, y, w, h); // filled portion fill(...HOT); rect(x, y, w * frac, h); // frame stroke(...STRUCT); strokeWeight(1.5); noFill(); rect(x, y, w, h); // inline label noStroke(); fill(FG); textSize(11); textAlign(LEFT, CENTER); text('Waste-Heat sink (entropy reservoir): ' + nf(E_waste, 1, 1) + ' kJ', x + 8, y + h / 2); textAlign(LEFT, TOP); } // ===================================================================== // drawGaugesAndEquation() -- top-right cascade gauges plus the // bottom-right canonical first-law equation. // ===================================================================== function drawGaugesAndEquation(etaC, etaE, etaG) { const etaTotal = etaC * etaE * etaG; const sum = E_chem + E_therm + E_mech + E_elec + E_waste + E_delivered; // -- gauges --------------------------------------------------------- const x = 560; const y = 64; fill(...STRUCT); textSize(11); text('Cascade gauges', x, y); drawBar(x, y + 28, 140, 12, etaTotal, GAUGE, 'eta_total = ' + nf(etaTotal * 100, 1, 1) + ' %'); drawBar(x, y + 60, 140, 12, 1 - etaTotal, HOT, 'waste = ' + nf((1 - etaTotal) * 100, 1, 1) + ' %'); fill(...DIM); textSize(10); text('Delivered: ' + nf(E_delivered, 1, 1) + ' kJ', x, y + 86); text('Waste: ' + nf(E_waste, 1, 1) + ' kJ', x, y + 100); fill(...GAUGE); text('1st-law sum: ' + nf(sum, 1, 1) + ' kJ (const = ' + E0 + ')', x, y + 118); // -- canonical equation, bottom-right -------------------------------- fill(...DIM); textSize(11); textAlign(RIGHT, BOTTOM); text('dE/dt = P_in - P_out . sum E = const . eta <= 1 - T_c/T_h', width - 12, height - 10); textAlign(LEFT, TOP); } // ===================================================================== // drawBar() -- horizontal gauge bar with label drawn above. // ===================================================================== function drawBar(x, y, w, h, frac, col, label) { noStroke(); fill(col[0], col[1], col[2], 60); rect(x, y, w, h); fill(...col); rect(x, y, w * constrain(frac, 0, 1), h); fill(...STRUCT); textSize(10); textAlign(LEFT, BOTTOM); text(label, x, y - 2); textAlign(LEFT, TOP); } // ===================================================================== // drawSliderLabels() -- labels are drawn each frame so they track the // slider positions chosen in setup() without any DOM <div> overhead. // ===================================================================== function drawSliderLabels() { const xs = 30; fill(...STRUCT); textSize(10); text('eta_combust (chem -> therm)', xs, 348); text('eta_engine (therm -> mech, Carnot-limited)', xs, 383); text('eta_gen (mech -> elec)', xs, 418); text('throttle P_in (kW)', xs, 453); } ``` ## Links (Wikipedia order) <!-- injected from _registry/childlinks/Energy_transformation.json (2026-07-30T02:09:12Z) --> `ATP_hydrolysis` · `Airborne_wind_energy` · [[Alternating_current]] · `Big_Bang` · [[Binding_energy]] · `Bioenergy` · `Biomass` · `Black-body_radiation` · `Boiler` · `Brayton_cycle` · `Capacitor` · `Carbon_footprint` · `Carnot_cycle` · `Catabolism` · [[Chaos_theory]] · `Chemical_energy` · `Coal` · `Coal-fired_power_station` · `Cogeneration` · `Concentrated_solar_power` · `Conservation_of_energy` · `Conservation_of_mass` · `Dark_energy` · `Direct_current` · `Drag_(physics)` · [[Earth]] · `Efficient_energy_use` · `Elastic_energy` · `Electric_battery` · `Electric_generator` · `Electric_potential_energy` · `Electric_power` · `Electrical_energy` · `Electrical_resistance_and_conductance` · `Electricity` · `Electricity_delivery` · [[Energy]] · `Energy_accounting` · `Energy_carrier` · `Energy_condition` · `Energy_conservation` · `Energy_consumption` · `Energy_conversion_efficiency` · `Energy_democracy` · `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_quality` · `Energy_recovery` · `Energy_recycling` · `Energy_security` · `Energy_storage` · `Energy_supply` · `Energy_system` · `Energy_transition` · `Engine` · `Enthalpy` · `Entropic_force` · [[Entropy]] · `Exergy` · `Fire` · `First_law_of_thermodynamics` · `Fossil_fuel` · `Fossil_fuel_power_station` · `Free_entropy` · `Friction` · `Fuel` · `Fuel_cell` · `Fuel_oil` · `Gas-turbine_engine` · `Geothermal_energy` · `Geothermal_power` · `Gravitational_binding_energy` · `Gravitational_energy` · `Gravitational_potential` · `Heat` · `Heat_capacity` · `Heat_death_of_the_universe` · `Heat_engine` · [[Heat_transfer]] · `History_of_energy` · `Hydroelectricity` · [[Hydrogen]] · `Hydropower` · `Index_of_energy_articles` · [[Information_science]] · `Integrated_gasification_combined_cycle` · `Interatomic_potential` · `Internal_energy` · [[Ionization_energy]] · `Irreversible_process` · [[Isolated_system]] · `Isotope` · `James_Watt` · `Jevons_paradox` · [[Jupiter]] · `Kepler's_laws_of_planetary_motion` · `Kinetic_energy` · `Latent_heat` · `Laws_of_thermodynamics` · `Magnetic_energy` · `Marine_energy` · `Mass` · `Mass–energy_equivalence` · `Mechanical_energy` · `Mechanical_wave` · `Metabolism` · `Microphone` · [[Natural_gas]] · `Natural_uranium` · `Negative_energy` · `Negative_mass` · `Negentropy` · `Neptune` · `Nicolas_Léonard_Sadi_Carnot` · `Noether's_theorem` · `Nuclear_binding_energy` · `Nuclear_fission` · [[Nuclear_fuel]] · [[Nuclear_fusion]] · `Nuclear_power` · `Nuclear_power_plant` · [[Nucleosynthesis]] · `Ocean_thermal_energy_conversion` · `Oil_refinery` · `Orbit` · `Otto_von_Guericke` · `Outer_space` · `Outline_of_energy` · `Oxford_University_Press` · `Petroleum` · [[Phase_space]] · `Photosynthesis` · `Photovoltaic_system` · [[Physics]] · `Piezoelectric_sensor` · `Potential_energy` · `Power_(physics)` · `Power_usage_effectiveness` · `Precipitation` · `Primary_energy` · `Quantum_chromodynamics_binding_energy` · [[Quantum_computing]] · `Quantum_fluctuation` · `Quantum_potential` · `Quantum_thermodynamics` · `Quintessence_(physics)` · `Radiant_energy` · `Radiation` · [[Radioactive_decay]] · `Radioisotope_thermoelectric_generator` · `Rankine_cycle` · `Reflections_on_the_Motive_Power_of_Fire` · `Renewable_energy` · `Reversible_computing` · `Saturn` · [[Second_law_of_thermodynamics]] · `Solar_System` · `Solar_energy` · `Solar_furnace` · `Solar_power` · `Solar_power_tower` · `Solar_thermal_energy` · `Sound_energy` · `Steam_engine` · `Stirling_cycle` · `Superconducting_quantum_computing` · [[Superconductivity]] · `Surface_energy` · `Sustainable_energy` · `Thermal_energy` · `Thermal_equilibrium` · `Thermal_reservoir` · [[Thermodynamic_equilibrium]] · `Thermodynamic_free_energy` · `Thermodynamic_potential` · `Thermodynamic_state` · [[Thermodynamic_system]] · `Thermodynamic_temperature` · [[Thermodynamics]] · `Thermoeconomics` · `Thomas_Newcomen` · `Thomas_Savery` · [[Thorium]] · `Tidal_power` · [[Transducer]] · `Transmitter` · `Type_II_supernova` · [[Uncertainty_principle]] · `Units_of_energy` · [[Uranium]] · `Uranus` · `Vacuum` · `Vacuum_energy` · `Vacuum_pump` · `Volume_(thermodynamics)` · `Waste-to-energy` · `Waste-to-energy_plant` · `Watt_steam_engine` · `Wave_power` · `Wind_farm` · `Wind_power` · `Work_(physics)` · `World_energy_supply_and_consumption` · [[Zero-point_energy]] ## From the Real GENERATIVE library ![Energy transformation](https://upload.wikimedia.org/wikipedia/commons/thumb/0/09/Oaxaca_I_Lamatalaventosa_Wind_Farm.jpg/220px-Oaxaca_I_Lamatalaventosa_Wind_Farm.jpg) *Energy transformation — 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:Oaxaca_I_Lamatalaventosa_Wind_Farm.jpg).* ![Animated: Energy transformation](https://upload.wikimedia.org/wikipedia/commons/6/6c/EnergyTransformation.gif) *Animated: Energy transformation — 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:EnergyTransformation.gif).* > Energy transformation, also known as energy conversion, is the process of changing energy from one form to another.[1] In physics, energy is a quantity that provides the capacity to perform work or moving (e.g. lifting an object) or provides heat. ([Wikipedia](https://en.wikipedia.org/wiki/Energy_transformation)) <!-- REAL-GENERATIVE-MEDIA:END --> <!-- LOCAL-MEDIA-PASS:START --> ## From the vault media library !Energy transformation thumb.png *Energy Transformation — from the vault's own media holdings, placed 2026-07-09. MTN / Wikitube.io original · CC BY-SA 4.0.* <!-- LOCAL-MEDIA-PASS:END --> ## Media (PD/CC) <!-- MEDIA-DEPLOY:Energy_transformation/EnergyTransformation.gif --> !Gif Library/Energy transformation/EnergyTransformation.gif *EnergyTransformation.gif · Public domain* <!-- /MEDIA-DEPLOY --> <!-- SIGN-SYSTEMS:START --> **Semiotic universals** (the notations and alphabet letters this article speaks — each opens its canonical card): kanji radicals · temperature heat · energy · flow · transformation. Index: the glyph gallery · SEMIOTICS PORTAL. <!-- SIGN-SYSTEMS:END --> > **Room:** [[Helium]] · **Status:** ✅ shipped ## Overview Energy transformation, also called [[Energy|energy]] conversion, is the physical process whereby energy changes from one form into another while its total quantity is conserved. The principle is enshrined in the first law of thermodynamics, which expresses energy conservation as dU = dQ - dW, and in Noether's theorem, which derives conservation from the time-translation symmetry of physical law. Although total energy is conserved, every real conversion redistributes some of it as thermal energy that cannot be fully recovered as work, a one-way drift formalised by the second law and the Carnot efficiency limit eta <= 1 - T_cold / T_hot. The historical record runs from Joule's 1840s paddle-wheel experiments establishing the mechanical equivalent of heat, through Carnot's 1824 cycle analysis, to Einstein's 1905 mass-energy equivalence E = mc^2, which extended conservation to rest mass itself. Modern [[Engineering|engineering]] applies these laws across every industry: thermal power plants convert chemical energy in fuel into electrical energy through combustion, steam, turbine, and generator stages; photovoltaic cells convert photons directly into [[Electron|electron]]-hole pairs and then current; electric motors invert that chain, mapping electrical input to magnetic field, torque, and mechanical work. Cryogenic helium liquefaction is a clean illustration: compressor shaft work drives sequential heat-exchange and Joule-Thomson throttling stages, each transforming mechanical input into a smaller, colder reservoir of liquid coolant. The same accounting logic governs MRI quench recovery, rocket pressurisation, fusion plasma heating, and quantum-computing dilution refrigerators - operations of the helium economy that are all energy-transformation pipelines. ## See also - Room hub: [[Helium]] - p5.js Editor conventions: P5 JS EDITOR - Wiki root: MAIN --- *Scaffolded by `generative-microsim` from row 108 of the Helium sheet on 2026-05-12T15:09:56Z.* <!-- 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/Energy_transformation) : [Wikitube](https://en.wikitube.io/wiki/Energy_transformation) ## Previous hub tags Tree parent: [[Systems_theory]]. Legacy hubs: none. --- *Sources: 1 legacy note. Minted wave 1, 2026-07-30 (v1.6 order).*