{"id":100103,"date":"2026-02-15T20:16:44","date_gmt":"2026-02-15T20:16:44","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100103"},"modified":"2026-02-15T20:16:44","modified_gmt":"2026-02-15T20:16:44","slug":"flywheel-energy-calculator","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/nb\/calculators\/flywheel-energy-calculator\/","title":{"rendered":"Svinghjulsenergikalkulator | Gratisverkt\u00f8y #079"},"content":{"rendered":"\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Flywheel Energy Calculator\",\"description\":\"Flywheel kinetic energy storage calculator.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/flywheel-energy-calculator\/\",\"applicationCategory\":\"Engineering Calculator\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\"},\"datePublished\":\"2024-01-01\",\"dateModified\":\"2025-02-14\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true}<\/script>\n\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"How is flywheel energy calculated?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"E = 0.5*J*omega^2, where J is moment of inertia and omega is angular velocity.\"}},{\"@type\":\"Question\",\"name\":\"What is useful energy range?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Energy between max and min operating speed: 0.5*J*(omega_max^2 - omega_min^2).\"}},{\"@type\":\"Question\",\"name\":\"How to convert energy units?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"1 kJ = 0.000278 kWh = 1.341 hp*s.\"}},{\"@type\":\"Question\",\"name\":\"What limits flywheel speed?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Material tensile strength via hoop stress sigma = rho*v^2.\"}},{\"@type\":\"Question\",\"name\":\"Solid disc vs ring?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Ring has J=mR^2 vs disc J=mR^2\/2. Ring more mass-efficient but higher stress.\"}}]}<\/script>\n\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/vibromera.eu\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculators\",\"item\":\"https:\/\/vibromera.eu\/calculators\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Flywheel Energy\",\"item\":\"https:\/\/vibromera.eu\/calculators\/flywheel-energy-calculator\/\"}]}<\/script>\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&#038;family=JetBrains+Mono:wght@400;500;600&#038;family=Fraunces:opsz,wght@9..144,700;9..144,800&#038;display=swap\" rel=\"stylesheet\">\n\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.css\">\n\n<style>:root{--vc-bg:#f4f1ec;--vc-surface:#fff;--vc-surface-alt:#f8f6f2;--vc-ink:#1a1a1a;--vc-ink-secondary:#5a5650;--vc-ink-muted:#8a857e;--vc-accent:#c85a2a;--vc-accent-light:#fdf0ea;--vc-green:#2a7a4b;--vc-green-light:#eaf8ef;--vc-yellow:#a67c00;--vc-yellow-light:#fef9e8;--vc-border:#d9d4cc;--vc-border-light:#e8e4dd;--vc-shadow:0 1px 3px rgba(26,26,26,.06),0 4px 12px rgba(26,26,26,.04);--vc-radius:8px;--vc-radius-lg:12px;--vc-font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--vc-mono:'JetBrains Mono',Consolas,Monaco,monospace;--vc-display:'Fraunces',Georgia,serif}.vc-calculator{font-family:var(--vc-font);font-size:15px;line-height:1.65;color:var(--vc-ink);max-width:960px;margin:0 auto;padding:20px 16px 40px}.vc-calculator *{box-sizing:border-box}.vc-header{text-align:center;padding:48px 24px 40px;position:relative}.vc-header::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:3px;background:var(--vc-accent);border-radius:2px}.vc-header-eyebrow{font-family:var(--vc-mono);font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--vc-accent);margin:0 0 12px}.vc-header-title{font-family:var(--vc-display);font-size:clamp(24px,4vw,36px);font-weight:800;line-height:1.15;margin:0 0 16px}.vc-header-subtitle{font-size:15px;color:var(--vc-ink-secondary);margin:0 auto 20px;max-width:600px}.vc-badges{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:center}.vc-badge{font-family:var(--vc-mono);font-size:11px;padding:4px 10px;border-radius:4px;background:var(--vc-surface);border:1px solid var(--vc-border);color:var(--vc-ink-secondary)}.vc-card{background:var(--vc-surface);border:1px solid var(--vc-border);border-radius:var(--vc-radius-lg);box-shadow:var(--vc-shadow);overflow:hidden;margin-top:32px}.vc-unit-bar{display:flex;border-bottom:1px solid var(--vc-border-light);background:var(--vc-surface-alt)}.vc-unit-btn{flex:1;padding:12px;border:none;background:transparent;font-size:13px;font-weight:600;color:var(--vc-ink-muted);cursor:pointer;position:relative}.vc-unit-btn.vc-active{color:var(--vc-accent);background:var(--vc-surface)}.vc-unit-btn.vc-active::after{content:'';position:absolute;bottom:-1px;left:16px;right:16px;height:2px;background:var(--vc-accent)}.vc-form{padding:24px}.vc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:600px){.vc-form-grid{grid-template-columns:1fr}}.vc-field{display:flex;flex-direction:column}.vc-label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--vc-ink-secondary);margin-bottom:6px}.vc-label-hint{font-weight:400;text-transform:none;color:var(--vc-ink-muted);font-size:11px}.vc-select,.vc-input{width:100%;padding:10px 12px;border:1.5px solid var(--vc-border);border-radius:6px;font-size:14px;color:var(--vc-ink);background:var(--vc-surface)}.vc-select{appearance:none;cursor:pointer;background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='none' stroke='%235a5650' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:right 10px center;padding-right:36px}.vc-select:focus,.vc-input:focus{outline:none;border-color:var(--vc-accent);box-shadow:0 0 0 3px rgba(200,90,42,.12)}.vc-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid var(--vc-border-light)}.vc-presets-label{font-family:var(--vc-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--vc-ink-muted);width:100%;margin-bottom:2px}.vc-preset-btn{padding:5px 12px;font-size:12px;border:1px solid var(--vc-border);border-radius:6px;background:var(--vc-surface-alt);color:var(--vc-ink-secondary);cursor:pointer}.vc-preset-btn:hover{border-color:var(--vc-accent);color:var(--vc-accent);background:var(--vc-accent-light)}.vc-results{border-top:1px solid var(--vc-border-light);background:var(--vc-surface-alt);padding:0;max-height:0;overflow:hidden;transition:max-height .5s,padding .3s}.vc-results.vc-visible{max-height:2000px;padding:24px}.vc-results-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.vc-results-title{font-family:var(--vc-display);font-size:20px;font-weight:700;margin:0}.vc-copy-btn{padding:6px 12px;border:1px solid var(--vc-border);border-radius:6px;background:var(--vc-surface);font-size:12px;color:var(--vc-ink-secondary);cursor:pointer}.vc-copy-btn.vc-copied{background:var(--vc-green-light);color:var(--vc-green)}.vc-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:500px){.vc-result-grid{grid-template-columns:1fr}}.vc-rcard{background:var(--vc-surface);border:1px solid var(--vc-border-light);border-radius:var(--vc-radius);padding:16px}.vc-rcard-primary{border-color:var(--vc-accent);border-width:2px;background:linear-gradient(135deg,#fdf6f2,var(--vc-surface));grid-column:1\/-1}.vc-rcard-label{font-family:var(--vc-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--vc-ink-muted);margin-bottom:4px}.vc-rcard-value{font-family:var(--vc-mono);font-size:22px;font-weight:600;color:var(--vc-ink)}.vc-rcard-primary .vc-rcard-value{font-size:30px;color:var(--vc-accent)}.vc-rcard-unit{font-size:14px;color:var(--vc-ink-secondary)}.vc-section{margin-top:24px;border:1px solid var(--vc-border);border-radius:var(--vc-radius-lg);background:var(--vc-surface);box-shadow:var(--vc-shadow);overflow:hidden}.vc-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border:none;background:transparent;cursor:pointer;text-align:left}.vc-section-toggle:hover{background:var(--vc-surface-alt)}.vc-section-toggle-text{display:flex;align-items:center;gap:10px}.vc-section-icon{font-size:20px}.vc-section-title{font-family:var(--vc-display);font-size:18px;font-weight:700;margin:0}.vc-section-chevron{width:20px;height:20px;color:var(--vc-ink-muted);transition:transform .3s}.vc-section.vc-open .vc-section-chevron{transform:rotate(180deg)}.vc-section-body{max-height:0;overflow:hidden;transition:max-height .4s}.vc-section.vc-open .vc-section-body{max-height:20000px}.vc-section-inner{padding:0 24px 24px;border-top:1px solid var(--vc-border-light)}.vc-theory h3{font-family:var(--vc-display);font-size:17px;font-weight:700;margin:28px 0 10px}.vc-theory h3:first-child{margin-top:20px}.vc-theory p{font-size:14px;color:var(--vc-ink-secondary);margin:0 0 10px}.vc-formula-box{background:var(--vc-surface-alt);border:2px solid var(--vc-border);border-radius:6px;padding:14px 20px;text-align:center;margin:14px 0;overflow-x:auto}.vc-warning-box{background:var(--vc-yellow-light);border-left:3px solid var(--vc-yellow);padding:14px 16px;border-radius:0 6px 6px 0;margin:14px 0}.vc-faq-list{display:flex;flex-direction:column;gap:8px;margin-top:20px}.vc-faq-item{border:1px solid var(--vc-border-light);border-radius:6px;overflow:hidden}.vc-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:none;background:var(--vc-surface-alt);cursor:pointer;font-size:15px;font-weight:600;color:var(--vc-ink);text-align:left}.vc-faq-q:hover{background:#ede9e3}.vc-faq-chevron{width:16px;height:16px;color:var(--vc-ink-muted);transition:transform .25s}.vc-faq-item.vc-open .vc-faq-chevron{transform:rotate(180deg)}.vc-faq-a{max-height:0;overflow:hidden;transition:max-height .35s}.vc-faq-item.vc-open .vc-faq-a{max-height:1200px}.vc-faq-a-inner{padding:14px 16px;border-top:1px solid var(--vc-border-light);font-size:14px;color:var(--vc-ink-secondary)}.vc-faq-a-inner p{margin:0 0 8px}.vc-faq-a-inner p:last-child{margin-bottom:0}.vc-related{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.vc-related-link{display:inline-block;padding:8px 16px;font-size:13px;font-weight:600;background:var(--vc-surface-alt);color:var(--vc-ink-secondary);border:1px solid var(--vc-border);border-radius:var(--vc-radius);text-decoration:none}.vc-related-link:hover{border-color:var(--vc-accent);color:var(--vc-accent)}.vc-promo{margin-top:24px;padding:20px;background:linear-gradient(135deg,var(--vc-accent-light),var(--vc-surface));border:1px solid var(--vc-border);border-radius:var(--vc-radius-lg);display:flex;align-items:center;gap:16px}.vc-promo-text{flex:1;font-size:14px;color:var(--vc-ink-secondary)}.vc-promo-text strong{color:var(--vc-ink)}.vc-promo-link{padding:8px 20px;font-size:13px;font-weight:700;color:#fff;background:var(--vc-accent);border-radius:var(--vc-radius);text-decoration:none}.vc-footer{text-align:center;padding:32px 16px;font-size:13px;color:var(--vc-ink-muted)}.vc-footer a{color:var(--vc-accent);text-decoration:none}.vc-footer-links{margin-top:8px;font-size:12px}.vc-footer-links a{margin:0 8px}@media print{.vc-section-body{max-height:none!important}.vc-results{max-height:none!important;padding:24px!important}.vc-copy-btn,.vc-presets,.vc-promo{display:none!important}}<\/style>\n\n<div class=\"vc-calculator\">\n<header class=\"vc-header\"><p class=\"vc-header-eyebrow\">Free Engineering Tool #079<\/p><h1 class=\"vc-header-title\">Flywheel Energy Calculator<\/h1><p class=\"vc-header-subtitle\">Calculate kinetic energy stored in a flywheel. Enter J (or mass + radius) and rotational speed. Results in kJ, kWh, and hp&middot;s.<\/p><div class=\"vc-badges\"><span class=\"vc-badge\">Energy Storage<\/span><span class=\"vc-badge\">Multiple Units<\/span><span class=\"vc-badge\">Auto-Calc<\/span><\/div><\/header>\n<div class=\"vc-card\">\n<div class=\"vc-unit-bar\"><button type=\"button\" class=\"vc-unit-btn vc-active\" data-system=\"metric\">Metric (kg&middot;m&sup2;, RPM)<\/button><button type=\"button\" class=\"vc-unit-btn\" data-system=\"imperial\">Imperial (lb&middot;ft&sup2;, RPM)<\/button><\/div>\n<form class=\"vc-form\" id=\"vc-form\" autocomplete=\"off\"><div class=\"vc-form-grid\">\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-mode\">Input Mode<\/label><select class=\"vc-select\" id=\"vc-mode\"><option value=\"J\" selected>Direct J input<\/option><option value=\"mr\">Mass + Radius<\/option><\/select><\/div>\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-speed\">Speed <span class=\"vc-label-hint\">(RPM)<\/span><\/label><input class=\"vc-input\" type=\"number\" id=\"vc-speed\" step=\"any\" min=\"0\" value=\"3000\"><\/div>\n<div class=\"vc-field\" id=\"vc-fJ\"><label class=\"vc-label\" for=\"vc-J\">Inertia J <span class=\"vc-label-hint\" id=\"vc-Ju\">(kg&middot;m&sup2;)<\/span><\/label><input class=\"vc-input\" type=\"number\" id=\"vc-J\" step=\"any\" min=\"0\" value=\"5\"><\/div>\n<div class=\"vc-field\" id=\"vc-fm\" style=\"display:none\"><label class=\"vc-label\" for=\"vc-mass\">Mass <span class=\"vc-label-hint\" id=\"vc-mu\">(kg)<\/span><\/label><input class=\"vc-input\" type=\"number\" id=\"vc-mass\" step=\"any\" min=\"0\" value=\"100\"><\/div>\n<div class=\"vc-field\" id=\"vc-fr\" style=\"display:none\"><label class=\"vc-label\" for=\"vc-rad\">Eff. Radius <span class=\"vc-label-hint\" id=\"vc-ru\">(mm)<\/span><\/label><input class=\"vc-input\" type=\"number\" id=\"vc-rad\" step=\"any\" min=\"0\" value=\"300\"><\/div>\n<\/div>\n<div class=\"vc-presets\"><div class=\"vc-presets-label\">Quick presets<\/div>\n<button type=\"button\" class=\"vc-preset-btn\" data-mode=\"J\" data-j=\"5\" data-n=\"3000\">J=5 @3000RPM<\/button>\n<button type=\"button\" class=\"vc-preset-btn\" data-mode=\"mr\" data-m=\"100\" data-r=\"300\" data-n=\"1500\">100kg R300 @1500<\/button>\n<button type=\"button\" class=\"vc-preset-btn\" data-mode=\"J\" data-j=\"50\" data-n=\"600\">J=50 @600RPM<\/button>\n<\/div><\/form>\n<div class=\"vc-results\" id=\"vc-results\"><div class=\"vc-results-head\"><h2 class=\"vc-results-title\">Results<\/h2><button type=\"button\" class=\"vc-copy-btn\" id=\"vc-copy-btn\">Copy<\/button><\/div>\n<div class=\"vc-result-grid\">\n<div class=\"vc-rcard vc-rcard-primary\"><div class=\"vc-rcard-label\">Kinetic Energy<\/div><div class=\"vc-rcard-value\" id=\"vc-r-E\">&mdash;<\/div><\/div>\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Energy (kWh)<\/div><div class=\"vc-rcard-value\" id=\"vc-r-kWh\">&mdash;<\/div><\/div>\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Energy (hp&middot;s)<\/div><div class=\"vc-rcard-value\" id=\"vc-r-hps\">&mdash;<\/div><\/div>\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Inertia J<\/div><div class=\"vc-rcard-value\" id=\"vc-r-J\">&mdash;<\/div><\/div>\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Angular Velocity<\/div><div class=\"vc-rcard-value\" id=\"vc-r-omega\">&mdash;<\/div><\/div>\n<\/div>\n<div class=\"vc-viz\" id=\"vc-viz\" style=\"text-align:center;margin:16px 0 8px\"><\/div>\n<\/div><\/div>\n<div class=\"vc-section vc-open\"><button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"true\"><span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">&#x1F4D8;<\/span><span class=\"vc-section-title\">Theory<\/span><\/span><svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg><\/button>\n<div class=\"vc-section-body\"><div class=\"vc-section-inner vc-theory\">\n<h3>Kinetic Energy<\/h3><div class=\"vc-formula-box\" id=\"vc-katex-1\"><\/div>\n<h3>Solid Disc Flywheel<\/h3><div class=\"vc-formula-box\" id=\"vc-katex-2\"><\/div>\n<h3>Useful Energy Between Speeds<\/h3><div class=\"vc-formula-box\" id=\"vc-katex-3\"><\/div>\n<div class=\"vc-warning-box\"><p style=\"margin:0;font-size:14px;color:var(--vc-ink-secondary)\">Max safe rim speed: 100&ndash;200 m\/s for steel. Hoop stress: &sigma; = &rho;v&sup2;.<\/p><\/div>\n<\/div><\/div><\/div>\n<div class=\"vc-section\"><button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\"><span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">&#x1F517;<\/span><span class=\"vc-section-title\">Related<\/span><\/span><svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg><\/button><div class=\"vc-section-body\"><div class=\"vc-section-inner\"><div class=\"vc-related\"><a class=\"vc-related-link\" href=\"\/calculators\/rotor-moment-of-inertia\/\">Moment of Inertia<\/a><a class=\"vc-related-link\" href=\"\/calculators\/rotor-acceleration-time\/\">Acceleration Time<\/a><a class=\"vc-related-link\" href=\"\/calculators\/residual-unbalance-iso1940\/\">Residual Unbalance<\/a><\/div><\/div><\/div><\/div>\n<div class=\"vc-section\"><button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\"><span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">&#x2753;<\/span><span class=\"vc-section-title\">FAQ<\/span><\/span><svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg><\/button><div class=\"vc-section-body\"><div class=\"vc-section-inner\"><div class=\"vc-faq-list\" id=\"vc-faq-list\"><\/div><\/div><\/div><\/div>\n<div class=\"vc-promo\"><div class=\"vc-promo-text\"><strong>Vibromera<\/strong> &mdash; Portable Balancing &amp; Vibration Analysis.<\/div><a class=\"vc-promo-link\" href=\"https:\/\/vibromera.eu\/\" target=\"_blank\" rel=\"noopener\">Learn More<\/a><\/div>\n<footer class=\"vc-footer\"><p>&copy; 2024&ndash;2025 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a><\/p><div class=\"vc-footer-links\"><a href=\"\/calculators\/engineering-calculators\/\">All Calculators<\/a><a href=\"https:\/\/vibromera.eu\/contacts\/\">Contact<\/a><\/div><\/footer>\n<\/div>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.js\"><\/script>\n<script>\n(function(){\n'use strict';var SLUG='flywheel-energy-calculator',uS='metric';\nfunction $(id){return document.getElementById(id)}\nfunction fmt(n,d){if(isNaN(n)||!isFinite(n))return'\\u2014';return n.toFixed(d==null?2:d).replace(\/(\\.\\d*?)0+$\/,'$1').replace(\/\\.$\/,'')}\n$('vc-mode').addEventListener('change',function(){var isJ=this.value==='J';$('vc-fJ').style.display=isJ?'flex':'none';$('vc-fm').style.display=isJ?'none':'flex';$('vc-fr').style.display=isJ?'none':'flex';calc()});\nfunction calc(){\n  var mode=$('vc-mode').value,n=parseFloat($('vc-speed').value);\n  if(!n||n<=0){$('vc-results').classList.remove('vc-visible');return}\n  var J;\n  if(mode==='J'){J=parseFloat($('vc-J').value);if(!J||J<=0){$('vc-results').classList.remove('vc-visible');return}if(uS==='imperial')J=J*1.35582}\n  else{var m=parseFloat($('vc-mass').value),r=parseFloat($('vc-rad').value);if(!m||m<=0||!r||r<=0){$('vc-results').classList.remove('vc-visible');return}var mk=uS==='imperial'?m*0.453592:m,rm=uS==='imperial'?r*0.0254:r\/1000;J=0.5*mk*rm*rm}\n  var w=2*Math.PI*n\/60,E=0.5*J*w*w;\n  if(uS==='imperial'){$('vc-r-J').innerHTML=fmt(J\/1.35582,3)+' <span class=\"vc-rcard-unit\">lb\\u00B7ft\\u00B2<\/span>'}\n  else{$('vc-r-J').innerHTML=fmt(J,4)+' <span class=\"vc-rcard-unit\">kg\\u00B7m\\u00B2<\/span>'}\n  $('vc-r-E').innerHTML=fmt(E\/1000,2)+' <span class=\"vc-rcard-unit\">kJ<\/span>';\n  $('vc-r-kWh').innerHTML=fmt(E\/3.6e6,4)+' <span class=\"vc-rcard-unit\">kWh<\/span>';\n  $('vc-r-hps').innerHTML=fmt(E\/745.7,2)+' <span class=\"vc-rcard-unit\">hp\\u00B7s<\/span>';\n  $('vc-r-omega').innerHTML=fmt(w,1)+' <span class=\"vc-rcard-unit\">rad\/s<\/span>';\n  $('vc-results').classList.add('vc-visible');\n  drawViz(J,w,E,n,$('vc-mode').value);\n  sH({J:fmt(J,4),n:n,E:fmt(E\/1000,2),_summary:'J='+fmt(J,3)+' n='+n+' E='+fmt(E\/1000,2)+'kJ'});\n}\nvar uB=document.querySelectorAll('.vc-unit-btn');uB.forEach(function(b){b.addEventListener('click',function(){uB.forEach(function(x){x.classList.remove('vc-active')});this.classList.add('vc-active');uS=this.getAttribute('data-system');$('vc-Ju').textContent=uS==='imperial'?'(lb\\u00B7ft\\u00B2)':'(kg\\u00B7m\\u00B2)';$('vc-mu').textContent=uS==='imperial'?'(lb)':'(kg)';$('vc-ru').textContent=uS==='imperial'?'(in)':'(mm)';calc()})});\ndocument.querySelectorAll('.vc-preset-btn').forEach(function(b){b.addEventListener('click',function(e){e.preventDefault();var md=this.getAttribute('data-mode'),isJ=md==='J';$('vc-mode').value=md;$('vc-fJ').style.display=isJ?'flex':'none';$('vc-fm').style.display=isJ?'none':'flex';$('vc-fr').style.display=isJ?'none':'flex';if(isJ)$('vc-J').value=this.getAttribute('data-j');else{$('vc-mass').value=this.getAttribute('data-m');$('vc-rad').value=this.getAttribute('data-r')}$('vc-speed').value=this.getAttribute('data-n');calc()})});\n$('vc-form').addEventListener('input',calc);$('vc-form').addEventListener('change',calc);\n$('vc-copy-btn').addEventListener('click',function(){var t='Flywheel Energy\\nE: '+$('vc-r-E').textContent+'\\nkWh: '+$('vc-r-kWh').textContent+'\\nhp*s: '+$('vc-r-hps').textContent+'\\nJ: '+$('vc-r-J').textContent;if(navigator.clipboard){navigator.clipboard.writeText(t).then(function(){var b=$('vc-copy-btn');b.classList.add('vc-copied');b.textContent='Copied!';setTimeout(function(){b.classList.remove('vc-copied');b.textContent='Copy'},2000)})}});\ndocument.querySelectorAll('.vc-section-toggle').forEach(function(b){b.addEventListener('click',function(){var s=this.closest('.vc-section');s.classList.toggle('vc-open');this.setAttribute('aria-expanded',s.classList.contains('vc-open'))})});\nvar fD=[{q:'How is energy calculated?',a:'<p>E=\\u00BDJ\\u03C9\\u00B2. J in kg\\u00B7m\\u00B2, \\u03C9 in rad\/s.<\/p>'},{q:'Useful energy range?',a:'<p>\\u0394E=\\u00BDJ(\\u03C9<sub>max<\/sub>\\u00B2\\u2212\\u03C9<sub>min<\/sub>\\u00B2). Typically \\u00B15\\u201310% speed.<\/p>'},{q:'Convert energy units?',a:'<p>1 kJ=0.000278 kWh=1.341 hp\\u00B7s.<\/p>'},{q:'Speed limit?',a:'<p>Hoop stress \\u03C3=\\u03C1v\\u00B2. Steel@200m\/s: 314 MPa.<\/p>'},{q:'Disc vs ring?',a:'<p>Ring: J=mR\\u00B2. Disc: J=mR\\u00B2\/2. Ring more efficient.<\/p>'}];\nvar fL=$('vc-faq-list');fD.forEach(function(f){fL.innerHTML+='<div class=\"vc-faq-item\"><button type=\"button\" class=\"vc-faq-q\"><span>'+f.q+'<\/span><svg class=\"vc-faq-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg><\/button><div class=\"vc-faq-a\"><div class=\"vc-faq-a-inner\">'+f.a+'<\/div><\/div><\/div>'});\nfL.addEventListener('click',function(e){var b=e.target.closest('.vc-faq-q');if(b)b.closest('.vc-faq-item').classList.toggle('vc-open')});\nfunction drawViz(J,w,E,n,mode){\n  var c=$('vc-viz'),W=280,H=240;\n  var svg='<svg width=\"'+W+'\" height=\"'+H+'\" viewBox=\"0 0 '+W+' '+H+'\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">';\n  svg+='<defs><marker id=\"fwa\" markerWidth=\"7\" markerHeight=\"5\" refX=\"6\" refY=\"2.5\" orient=\"auto\"><path d=\"M0,0 L7,2.5 L0,5\" fill=\"#c85a2a\"\/><\/marker><\/defs>';\n  var cx=W\/2,cy=H\/2+5;\n  var Ro=70,Ri=mode==='J'?Ro*0.3:Ro*0.3;\/\/ solid disc by default\n  \/\/ Outer disc (3D-ish ellipse)\n  svg+='<ellipse cx=\"'+cx+'\" cy=\"'+cy+'\" rx=\"'+Ro+'\" ry=\"'+(Ro*0.45)+'\" fill=\"#d4e6f9\" stroke=\"#3578b2\" stroke-width=\"2\"\/>';\n  \/\/ Inner bore\n  if(Ri>5){\n    svg+='<ellipse cx=\"'+cx+'\" cy=\"'+cy+'\" rx=\"'+Ri+'\" ry=\"'+(Ri*0.45)+'\" fill=\"#f4f1ec\" stroke=\"#7b8fa3\" stroke-width=\"1.5\"\/>';\n  }\n  \/\/ Spokes \/ center dot\n  svg+='<circle cx=\"'+cx+'\" cy=\"'+cy+'\" r=\"3\" fill=\"#3578b2\"\/>';\n  \/\/ Angular velocity arrow (curved arc around top)\n  var arcR=Ro+14;\n  var a1=-60*Math.PI\/180,a2=40*Math.PI\/180;\n  var x1=cx+arcR*Math.cos(a1),y1=cy+arcR*0.45*Math.sin(a1);\n  var x2=cx+arcR*Math.cos(a2),y2=cy+arcR*0.45*Math.sin(a2);\n  svg+='<path d=\"M'+x1.toFixed(1)+' '+y1.toFixed(1)+' A'+arcR+' '+(arcR*0.45)+' 0 0 1 '+x2.toFixed(1)+' '+y2.toFixed(1)+'\" fill=\"none\" stroke=\"#c85a2a\" stroke-width=\"2\" marker-end=\"url(#fwa)\"\/>';\n  svg+='<text x=\"'+(x2+8)+'\" y=\"'+(y2-2)+'\" fill=\"#c85a2a\" font-size=\"11\" font-weight=\"700\">\\u03C9<\/text>';\n  \/\/ Energy indication (filled portion proportional to log(E))\n  var eFrac=Math.min(1,Math.max(0.1,Math.log10(E+1)\/6));\n  svg+='<ellipse cx=\"'+cx+'\" cy=\"'+cy+'\" rx=\"'+(Ro*eFrac)+'\" ry=\"'+(Ro*0.45*eFrac)+'\" fill=\"rgba(200,90,42,0.15)\" stroke=\"none\"\/>';\n  \/\/ Labels\n  svg+='<text x=\"'+cx+'\" y=\"16\" text-anchor=\"middle\" fill=\"#2c3e50\" font-size=\"11\" font-weight=\"600\">E = '+(E\/1000).toFixed(1)+' kJ at '+Math.round(n)+' RPM<\/text>';\n  svg+='<text x=\"'+cx+'\" y=\"'+(H-6)+'\" text-anchor=\"middle\" fill=\"#8a857e\" font-size=\"9\">J = '+J.toFixed(3)+' kg\\u00B7m\\u00B2 | \\u03C9 = '+w.toFixed(1)+' rad\/s<\/text>';\n  svg+='<text x=\"'+cx+'\" y=\"'+(cy+4)+'\" text-anchor=\"middle\" fill=\"#3578b2\" font-size=\"10\" font-weight=\"600\">Flywheel<\/text>';\n  svg+='<\/svg>';\n  c.innerHTML=svg;\n}\nfunction sH(e){var k='vc_history_'+SLUG,a=[];try{a=JSON.parse(localStorage.getItem(k))||[]}catch(x){}e._ts=new Date().toISOString();a.unshift(e);if(a.length>10)a=a.slice(0,10);try{localStorage.setItem(k,JSON.stringify(a))}catch(x){}}\nfunction rF(){try{katex.render('E=\\\\frac{1}{2}J\\\\omega^2',$('vc-katex-1'),{displayMode:true,throwOnError:false});katex.render('J=\\\\frac{1}{2}mR^2\\\\;\\\\text{(solid disc)}',$('vc-katex-2'),{displayMode:true,throwOnError:false});katex.render('\\\\Delta E=\\\\frac{1}{2}J(\\\\omega_{max}^2-\\\\omega_{min}^2)',$('vc-katex-3'),{displayMode:true,throwOnError:false})}catch(e){}}\nrF();calc();\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Beregn svinghjulets kinetiske energilagring. Skriv inn treghetsmoment eller masse + radius og hastighet. E = 0,5 * J * omega ^ 2. Resulterer i kJ, kWh, hk * s.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100103","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":1,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100103\/revisions"}],"predecessor-version":[{"id":100404,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100103\/revisions\/100404"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/media?parent=100103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/categories?post=100103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/tags?post=100103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}