{"id":100204,"date":"2026-02-15T20:27:17","date_gmt":"2026-02-15T20:27:17","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100204"},"modified":"2026-04-05T15:35:09","modified_gmt":"2026-04-05T15:35:09","slug":"residual-unbalance-iso1940","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/bn\/calculators\/residual-unbalance-iso1940\/","title":{"rendered":"\u0985\u09ac\u09b6\u09bf\u09b7\u09cd\u099f \u0985\u09b8\u09be\u09ae\u099e\u09cd\u099c\u09b8\u09cd\u09af \u0995\u09cd\u09af\u09be\u09b2\u0995\u09c1\u09b2\u09c7\u099f\u09b0 | ISO 21940-11 | Vibromera"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Permissible Residual Unbalance Calculator\",\"alternateName\":[\"Balance Grade Calculator\",\"ISO 1940 Calculator\",\"Unbalance Tolerance Calculator\"],\"description\":\"Free online engineering calculator for permissible residual unbalance per ISO 21940-11 (formerly ISO 1940). Supports all balance quality grades G0.4 to G4000.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/residual-unbalance-iso1940\/\",\"applicationCategory\":\"Engineering Calculator\",\"operatingSystem\":\"Any (Web Browser)\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"},\"datePublished\":\"2024-01-01\",\"dateModified\":\"2025-02-14\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true,\"featureList\":[\"Balance grades G0.4 to G4000\",\"Metric and Imperial units\",\"Per-plane unbalance distribution\",\"Eccentricity calculation\",\"Auto-calculation on input change\",\"URL parameter sharing\",\"Calculation history\"],\"keywords\":\"residual unbalance, ISO 21940, ISO 1940, balance grade, rotor balancing, eccentricity\"}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"What is permissible residual unbalance?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Permissible residual unbalance is the maximum amount of unbalance allowed to remain in a rotor after balancing, defined by ISO 21940-11 (formerly ISO 1940). It depends on the rotor mass, operating speed, and the required balance quality grade G.\"}},\n{\"@type\":\"Question\",\"name\":\"How do I choose the right balance grade G?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Balance grade G is selected based on rotor type. G6.3 is typical for fans, pumps, and electric motors. G2.5 is for gas turbines and turbochargers. G1.0 is for grinding machine drives. G16 is acceptable for agricultural machinery.\"}},\n{\"@type\":\"Question\",\"name\":\"What is the difference between ISO 1940 and ISO 21940-11?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ISO 21940-11 replaced the older ISO 1940-1 standard. The technical content is essentially the same \u2014 the formula and balance grades remain unchanged. The new number reflects the reorganization of the ISO 21940 series.\"}},\n{\"@type\":\"Question\",\"name\":\"How do I split unbalance between two correction planes?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"For rotors balanced in two planes, the total permissible unbalance is distributed between the planes based on their distance from the center of gravity. A common simplification is to allocate 50% to each plane when the CG is approximately centered.\"}},\n{\"@type\":\"Question\",\"name\":\"What units is unbalance measured in?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Unbalance is typically measured in g\u00b7mm (gram-millimeters) or oz\u00b7in (ounce-inches). The SI unit is kg\u00b7m, but g\u00b7mm is more practical for most industrial rotors. 1 oz\u00b7in \u2248 720 g\u00b7mm.\"}}\n]}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[\n{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/vibromera.eu\/\"},\n{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculators\",\"item\":\"https:\/\/vibromera.eu\/calculators\/\"},\n{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Residual Unbalance Calculator\",\"item\":\"https:\/\/vibromera.eu\/calculators\/residual-unbalance-iso1940\/\"}\n]}\n<\/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>\n:root {\n    --vc-bg: #f4f1ec;\n    --vc-surface: #ffffff;\n    --vc-surface-alt: #f8f6f2;\n    --vc-ink: #1a1a1a;\n    --vc-ink-secondary: #5a5650;\n    --vc-ink-muted: #8a857e;\n    --vc-accent: #c85a2a;\n    --vc-accent-hover: #b04d22;\n    --vc-accent-light: #fdf0ea;\n    --vc-blue: #2a5c8c;\n    --vc-blue-light: #eaf1f8;\n    --vc-green: #2a7a4b;\n    --vc-green-light: #eaf8ef;\n    --vc-yellow: #a67c00;\n    --vc-yellow-light: #fef9e8;\n    --vc-red: #b91c1c;\n    --vc-red-light: #fef2f2;\n    --vc-border: #d9d4cc;\n    --vc-border-light: #e8e4dd;\n    --vc-shadow: 0 1px 3px rgba(26,26,26,0.06), 0 4px 12px rgba(26,26,26,0.04);\n    --vc-shadow-lg: 0 4px 12px rgba(26,26,26,0.08), 0 16px 40px rgba(26,26,26,0.06);\n    --vc-radius: 8px;\n    --vc-radius-lg: 12px;\n    --vc-font: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n    --vc-mono: 'JetBrains Mono', 'Consolas', 'Monaco', monospace;\n    --vc-display: 'Fraunces', Georgia, serif;\n}\n\n.vc-calculator {\n    font-family: var(--vc-font);\n    font-size: 15px;\n    line-height: 1.65;\n    color: var(--vc-ink);\n    max-width: 960px;\n    margin: 0 auto;\n    padding: 20px 16px 40px;\n    -webkit-font-smoothing: antialiased;\n}\n.vc-calculator *, .vc-calculator *::before, .vc-calculator *::after { box-sizing: border-box; }\n\n\/* \u2500\u2500 HEADER \u2500\u2500 *\/\n.vc-header { text-align: center; padding: 48px 24px 40px; position: relative; }\n.vc-header::after { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:80px; height:3px; background:var(--vc-accent); border-radius:2px; }\n.vc-header-eyebrow { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--vc-accent); margin:0 0 12px; }\n.vc-header-title { font-family:var(--vc-display); font-size:clamp(24px,4vw,36px); font-weight:800; line-height:1.15; color:var(--vc-ink); margin:0 0 16px; letter-spacing:-0.02em; }\n.vc-header-subtitle { font-size:15px; color:var(--vc-ink-secondary); margin:0 auto 20px; max-width:600px; }\n.vc-badges { display:inline-flex; gap:8px; flex-wrap:wrap; justify-content:center; }\n.vc-badge { font-family:var(--vc-mono); font-size:11px; font-weight:500; padding:4px 10px; border-radius:4px; background:var(--vc-surface); border:1px solid var(--vc-border); color:var(--vc-ink-secondary); }\n\n\/* \u2500\u2500 CARD \u2500\u2500 *\/\n.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; }\n\n\/* \u2500\u2500 UNIT TOGGLE \u2500\u2500 *\/\n.vc-unit-bar { display:flex; border-bottom:1px solid var(--vc-border-light); background:var(--vc-surface-alt); }\n.vc-unit-btn { flex:1; padding:12px; border:none; background:transparent; font-family:var(--vc-font); font-size:13px; font-weight:600; color:var(--vc-ink-muted); cursor:pointer; transition:all 0.2s; position:relative; }\n.vc-unit-btn:hover { color:var(--vc-ink-secondary); background:rgba(200,90,42,0.04); }\n.vc-unit-btn.vc-active { color:var(--vc-accent); background:var(--vc-surface); }\n.vc-unit-btn.vc-active::after { content:''; position:absolute; bottom:-1px; left:16px; right:16px; height:2px; background:var(--vc-accent); border-radius:1px 1px 0 0; }\n\n\/* \u2500\u2500 FORM \u2500\u2500 *\/\n.vc-form { padding:24px; }\n.vc-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }\n@media(max-width:600px) { .vc-form-grid { grid-template-columns:1fr; } }\n.vc-field { display:flex; flex-direction:column; }\n.vc-field-full { grid-column: 1 \/ -1; }\n.vc-label { font-size:12px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:var(--vc-ink-secondary); margin-bottom:6px; }\n.vc-label-hint { font-weight:400; text-transform:none; letter-spacing:0; color:var(--vc-ink-muted); font-size:11px; }\n.vc-select, .vc-input { width:100%; padding:10px 12px; border:1.5px solid var(--vc-border); border-radius:6px; font-family:var(--vc-font); font-size:14px; color:var(--vc-ink); background:var(--vc-surface); transition:border-color 0.15s, box-shadow 0.15s; }\n.vc-select { padding-right:36px; appearance:none; -webkit-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; }\n.vc-select:focus, .vc-input:focus { outline:none; border-color:var(--vc-accent); box-shadow:0 0 0 3px rgba(200,90,42,0.12); }\n.vc-select:hover, .vc-input:hover { border-color:var(--vc-ink-muted); }\n\n\/* \u2500\u2500 PRESETS \u2500\u2500 *\/\n.vc-presets { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; padding-top:18px; border-top:1px solid var(--vc-border-light); }\n.vc-presets-label { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); width:100%; margin-bottom:2px; }\n.vc-preset-btn { padding:5px 12px; font-family:var(--vc-font); font-size:12px; font-weight:500; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-surface-alt); color:var(--vc-ink-secondary); cursor:pointer; transition:all 0.15s; }\n.vc-preset-btn:hover { border-color:var(--vc-accent); color:var(--vc-accent); background:var(--vc-accent-light); }\n\n\/* \u2500\u2500 RESULTS \u2500\u2500 *\/\n.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 0.5s cubic-bezier(0.4,0,0.2,1), padding 0.3s; }\n.vc-results.vc-visible { max-height:2000px; padding:24px; }\n.vc-results-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }\n.vc-results-title { font-family:var(--vc-display); font-size:20px; font-weight:700; color:var(--vc-ink); margin:0; }\n.vc-copy-btn { display:inline-flex; align-items:center; gap:5px; padding:6px 12px; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-surface); font-family:var(--vc-font); font-size:12px; font-weight:500; color:var(--vc-ink-secondary); cursor:pointer; transition:all 0.15s; }\n.vc-copy-btn:hover { border-color:var(--vc-accent); color:var(--vc-accent); }\n.vc-copy-btn.vc-copied { background:var(--vc-green-light); border-color:var(--vc-green); color:var(--vc-green); }\n\n.vc-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }\n@media(max-width:500px) { .vc-result-grid { grid-template-columns:1fr; } }\n.vc-rcard { background:var(--vc-surface); border:1px solid var(--vc-border-light); border-radius:var(--vc-radius); padding:16px; transition:transform 0.2s; }\n.vc-rcard:hover { transform:translateY(-1px); }\n.vc-rcard-primary { border-color:var(--vc-accent); border-width:2px; background:linear-gradient(135deg, #fdf6f2 0%, var(--vc-surface) 100%); grid-column:1 \/ -1; }\n.vc-rcard-label { font-family:var(--vc-mono); font-size:10px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); margin-bottom:4px; }\n.vc-rcard-value { font-family:var(--vc-mono); font-size:22px; font-weight:600; color:var(--vc-ink); line-height:1.2; }\n.vc-rcard-primary .vc-rcard-value { font-size:30px; color:var(--vc-accent); }\n.vc-rcard-unit { font-size:14px; font-weight:400; color:var(--vc-ink-secondary); }\n\n\/* \u2500\u2500 COLLAPSIBLE SECTIONS \u2500\u2500 *\/\n.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; }\n.vc-section-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border:none; background:transparent; cursor:pointer; font-family:var(--vc-font); text-align:left; transition:background 0.15s; }\n.vc-section-toggle:hover { background:var(--vc-surface-alt); }\n.vc-section-toggle-text { display:flex; align-items:center; gap:10px; }\n.vc-section-icon { font-size:20px; line-height:1; }\n.vc-section-title { font-family:var(--vc-display); font-size:18px; font-weight:700; color:var(--vc-ink); margin:0; }\n.vc-section-chevron { width:20px; height:20px; color:var(--vc-ink-muted); transition:transform 0.3s; flex-shrink:0; }\n.vc-section.vc-open .vc-section-chevron { transform:rotate(180deg); }\n.vc-section-body { max-height:0; overflow:hidden; transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1); }\n.vc-section.vc-open .vc-section-body { max-height:20000px; }\n.vc-section-inner { padding:0 24px 24px; border-top:1px solid var(--vc-border-light); }\n\n\/* \u2500\u2500 THEORY \u2500\u2500 *\/\n.vc-theory h3 { font-family:var(--vc-display); font-size:17px; font-weight:700; color:var(--vc-ink); margin:28px 0 10px; }\n.vc-theory h3:first-child { margin-top:20px; }\n.vc-theory p { font-size:14px; color:var(--vc-ink-secondary); margin:0 0 10px; }\n.vc-theory ul, .vc-theory ol { font-size:14px; color:var(--vc-ink-secondary); margin:0 0 12px 18px; padding:0; }\n.vc-theory li { margin-bottom:5px; }\n.vc-formula-box { background:var(--vc-surface-alt); border:2px solid var(--vc-border); border-radius:6px; padding:14px 20px; font-family:var(--vc-mono); font-size:16px; font-weight:500; text-align:center; margin:14px 0; color:var(--vc-ink); overflow-x:auto; }\n.vc-info-box { background:var(--vc-blue-light); border-left:3px solid var(--vc-blue); padding:14px 16px; border-radius:0 6px 6px 0; margin:14px 0; }\n.vc-info-box p { margin:0; font-size:14px; color:var(--vc-ink-secondary); }\n.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; }\n.vc-example-box { background:var(--vc-surface-alt); border:1px solid var(--vc-border-light); border-radius:6px; padding:16px; margin:14px 0; }\n.vc-example-title { font-family:var(--vc-mono); font-size:13px; font-weight:600; color:var(--vc-accent); margin-bottom:8px; }\n.vc-table { width:100%; border-collapse:collapse; margin:14px 0; font-size:13px; }\n.vc-table th, .vc-table td { padding:10px 12px; border:1px solid var(--vc-border-light); text-align:left; }\n.vc-table th { background:var(--vc-surface-alt); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.05em; color:var(--vc-ink-secondary); }\n.vc-table tr:nth-child(even) { background:var(--vc-surface-alt); }\n@media(max-width:600px) { .vc-table { font-size:12px; } .vc-table th, .vc-table td { padding:8px; } }\n\n\/* \u2500\u2500 FAQ \u2500\u2500 *\/\n.vc-faq-list { display:flex; flex-direction:column; gap:8px; margin-top:20px; }\n.vc-faq-item { border:1px solid var(--vc-border-light); border-radius:6px; overflow:hidden; }\n.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-family:var(--vc-font); font-size:15px; font-weight:600; color:var(--vc-ink); text-align:left; transition:background 0.15s; }\n.vc-faq-q:hover { background:#ede9e3; }\n.vc-faq-chevron { width:16px; height:16px; color:var(--vc-ink-muted); flex-shrink:0; transition:transform 0.25s; }\n.vc-faq-item.vc-open .vc-faq-chevron { transform:rotate(180deg); }\n.vc-faq-a { max-height:0; overflow:hidden; transition:max-height 0.35s; }\n.vc-faq-item.vc-open .vc-faq-a { max-height:1200px; }\n.vc-faq-a-inner { padding:14px 16px; border-top:1px solid var(--vc-border-light); font-size:14px; color:var(--vc-ink-secondary); }\n.vc-faq-a-inner p { margin:0 0 8px; }\n.vc-faq-a-inner p:last-child { margin-bottom:0; }\n.vc-faq-a-inner ul { margin:4px 0 8px 16px; padding:0; }\n.vc-faq-a-inner li { margin-bottom:3px; }\n\n\/* \u2500\u2500 RELATED \u2500\u2500 *\/\n.vc-related { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }\n.vc-related-link { display:inline-block; padding:8px 16px; font-family:var(--vc-font); 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; transition:all 0.15s; }\n.vc-related-link:hover { border-color:var(--vc-accent); color:var(--vc-accent); background:var(--vc-accent-light); }\n\n\/* \u2500\u2500 PROMO \u2500\u2500 *\/\n.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; }\n.vc-promo-text { flex:1; font-size:14px; color:var(--vc-ink-secondary); }\n.vc-promo-text strong { color:var(--vc-ink); }\n.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; white-space:nowrap; transition:background 0.15s; }\n.vc-promo-link:hover { background:var(--vc-accent-hover); }\n\n\/* \u2500\u2500 FOOTER \u2500\u2500 *\/\n.vc-footer { text-align:center; padding:32px 16px; font-size:13px; color:var(--vc-ink-muted); }\n.vc-footer a { color:var(--vc-accent); text-decoration:none; }\n.vc-footer a:hover { text-decoration:underline; }\n.vc-footer-links { margin-top:8px; font-size:12px; }\n.vc-footer-links a { margin:0 8px; }\n\n\/* \u2500\u2500 PRINT \u2500\u2500 *\/\n@media print {\n    .vc-section-body { max-height:none!important; }\n    .vc-faq-a { max-height:none!important; }\n    .vc-results { max-height:none!important; padding:24px!important; }\n    .vc-copy-btn, .vc-section-chevron, .vc-faq-chevron, .vc-presets, .vc-promo { display:none!important; }\n}\n<\/style>\n\n<div class=\"vc-calculator\" id=\"vc-residual-unbalance\">\n\n<!-- Header -->\n<header class=\"vc-header\">\n    <p class=\"vc-header-eyebrow\">Free Engineering Tool<\/p>\n    <h1 class=\"vc-header-title\">Permissible Residual Unbalance Calculator<\/h1>\n    <p class=\"vc-header-subtitle\">Calculate the maximum allowable residual unbalance for any rotor per ISO 21940-11. Enter mass, speed, and balance quality grade.<\/p>\n    <div class=\"vc-badges\">\n        <span class=\"vc-badge\">ISO 21940-11<\/span>\n        <span class=\"vc-badge\">ISO 1940-1<\/span>\n        <span class=\"vc-badge\">G0.4 \u2013 G4000<\/span>\n    <\/div>\n<\/header>\n\n<!-- Calculator Card -->\n<div class=\"vc-card\">\n    <div class=\"vc-unit-bar\">\n        <button type=\"button\" class=\"vc-unit-btn vc-active\" data-system=\"metric\">Metric (kg, g\u00b7mm)<\/button>\n        <button type=\"button\" class=\"vc-unit-btn\" data-system=\"imperial\">Imperial (lb, oz\u00b7in)<\/button>\n    <\/div>\n\n    <form class=\"vc-form\" id=\"vc-form\" autocomplete=\"off\">\n        <div class=\"vc-form-grid\">\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-mass\">Rotor Mass <span class=\"vc-label-hint\" id=\"vc-mass-unit-hint\">(kg)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-mass\" inputmode=\"decimal\" step=\"any\" min=\"0.001\" placeholder=\"e.g. 120\" value=\"120\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-speed\">Service Speed <span class=\"vc-label-hint\">(RPM)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-speed\" inputmode=\"decimal\" step=\"any\" min=\"1\" placeholder=\"e.g. 1500\" value=\"1500\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-grade\">Balance Grade G<\/label>\n                <select class=\"vc-select\" id=\"vc-grade\">\n                    <option value=\"4000\">G4000 \u2014 Crankshaft drives (large diesels)<\/option>\n                    <option value=\"1600\">G1600 \u2014 Rigid-mounted slow diesels<\/option>\n                    <option value=\"630\">G630 \u2014 Crankshaft drives (fast diesels)<\/option>\n                    <option value=\"250\">G250 \u2014 Four-stroke engines (rigid mounts)<\/option>\n                    <option value=\"100\">G100 \u2014 Complete reciprocating engines<\/option>\n                    <option value=\"40\">G40 \u2014 Automobile wheels, rims<\/option>\n                    <option value=\"16\">G16 \u2014 Agricultural machinery, crushers<\/option>\n                    <option value=\"6.3\" selected>G6.3 \u2014 Fans, pumps, motors, general<\/option>\n                    <option value=\"2.5\">G2.5 \u2014 Gas\/steam turbines, turbochargers<\/option>\n                    <option value=\"1\">G1.0 \u2014 Grinding machine drives<\/option>\n                    <option value=\"0.4\">G0.4 \u2014 Spindles, gyroscopes<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-planes\">Correction Planes<\/label>\n                <select class=\"vc-select\" id=\"vc-planes\">\n                    <option value=\"1\">1 plane<\/option>\n                    <option value=\"2\" selected>2 planes (50\/50 split)<\/option>\n                <\/select>\n            <\/div>\n        <\/div>\n\n        <!-- Presets -->\n        <div class=\"vc-presets\">\n            <div class=\"vc-presets-label\">Quick presets<\/div>\n            <button type=\"button\" class=\"vc-preset-btn\" data-m=\"50\" data-s=\"3000\" data-g=\"6.3\">Fan 50 kg \/ 3000 RPM<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-m=\"120\" data-s=\"1500\" data-g=\"6.3\">Pump 120 kg \/ 1500 RPM<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-m=\"25\" data-s=\"10000\" data-g=\"2.5\">Turbo 25 kg \/ 10000 RPM<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-m=\"500\" data-s=\"750\" data-g=\"6.3\">Motor 500 kg \/ 750 RPM<\/button>\n        <\/div>\n    <\/form>\n\n    <!-- Results -->\n    <div class=\"vc-results\" id=\"vc-results\">\n        <div class=\"vc-results-head\">\n            <h2 class=\"vc-results-title\">Results<\/h2>\n            <button type=\"button\" class=\"vc-copy-btn\" id=\"vc-copy-btn\">\n                <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg>\n                Copy\n            <\/button>\n        <\/div>\n        <div class=\"vc-result-grid\">\n            <div class=\"vc-rcard vc-rcard-primary\">\n                <div class=\"vc-rcard-label\">Total Permissible Unbalance<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-ubal\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Specific Unbalance (eccentricity)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-ecc\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Per-Plane Unbalance<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-plane\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Angular Velocity \u03c9<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-omega\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Balance Grade<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-grade\">\u2014<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Theory & Reference -->\n<div class=\"vc-section vc-open\" id=\"vc-sec-theory\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"true\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\ud83d\udcd8<\/span>\n            <span class=\"vc-section-title\">Theory &amp; Formulas<\/span>\n        <\/span>\n        <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>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner vc-theory\">\n            <h3>Permissible Specific Unbalance<\/h3>\n            <p>Per ISO 21940-11, the permissible specific unbalance (eccentricity) is:<\/p>\n            <div class=\"vc-formula-box\" id=\"vc-katex-1\"><\/div>\n            <ul>\n                <li><strong>G<\/strong> \u2014 balance quality grade (mm\/s)<\/li>\n                <li><strong>n<\/strong> \u2014 service speed (RPM)<\/li>\n                <li><strong>\u03c9<\/strong> \u2014 angular velocity (rad\/s)<\/li>\n            <\/ul>\n            <h3>Total Permissible Residual Unbalance<\/h3>\n            <div class=\"vc-formula-box\" id=\"vc-katex-2\"><\/div>\n            <p>Where <strong>m<\/strong> is rotor mass in kg. Result U<sub>per<\/sub> is in g\u00b7mm when e<sub>per<\/sub> is in \u03bcm and m in kg.<\/p>\n\n            <h3>Balance Quality Grades<\/h3>\n            <table class=\"vc-table\">\n                <thead><tr><th>Grade<\/th><th>e\u00b7\u03c9 (mm\/s)<\/th><th>Typical Application<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>G0.4<\/td><td>0.4<\/td><td>Gyroscopes, spindles<\/td><\/tr>\n                    <tr><td>G1.0<\/td><td>1.0<\/td><td>Grinding machine drives<\/td><\/tr>\n                    <tr><td>G2.5<\/td><td>2.5<\/td><td>Gas\/steam turbines, turbochargers<\/td><\/tr>\n                    <tr><td>G6.3<\/td><td>6.3<\/td><td>Fans, pumps, motors, general machinery<\/td><\/tr>\n                    <tr><td>G16<\/td><td>16<\/td><td>Agricultural machinery, automobile wheels<\/td><\/tr>\n                    <tr><td>G40<\/td><td>40<\/td><td>Car wheels, rims<\/td><\/tr>\n                    <tr><td>G100<\/td><td>100<\/td><td>Complete reciprocating engines<\/td><\/tr>\n                    <tr><td>G250<\/td><td>250<\/td><td>Four-stroke engines on rigid mounts<\/td><\/tr>\n                    <tr><td>G630<\/td><td>630<\/td><td>Crankshaft drives (fast diesels)<\/td><\/tr>\n                    <tr><td>G1600<\/td><td>1600<\/td><td>Slow diesels on rigid mounts<\/td><\/tr>\n                    <tr><td>G4000<\/td><td>4000<\/td><td>Crankshaft drives (large diesels)<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <h3>Practical Example<\/h3>\n            <div class=\"vc-example-box\">\n                <div class=\"vc-example-title\">Example \u2014 Centrifugal Fan Rotor<\/div>\n                <p><strong>Given:<\/strong> Rotor mass = 120 kg, Speed = 1500 RPM, Grade = G6.3<\/p>\n                <p>\u03c9 = 2\u03c0 \u00d7 1500 \/ 60 = 157.08 rad\/s<\/p>\n                <p>e<sub>per<\/sub> = 6.3 \u00d7 1000 \/ 157.08 = <strong>40.11 \u03bcm<\/strong><\/p>\n                <p>U<sub>per<\/sub> = 40.11 \u00d7 120 = <strong>4,813 g\u00b7mm<\/strong><\/p>\n                <p>Per-plane (2 planes, 50\/50): 4,813 \/ 2 = <strong>2,407 g\u00b7mm<\/strong><\/p>\n            <\/div>\n\n            <div class=\"vc-warning-box\">\n                <p style=\"margin:0;font-size:14px;color:var(--vc-ink-secondary);\"><strong>\u26a0\ufe0f Note:<\/strong> For disc-like rotors, 50\/50 split between planes is acceptable when CG is centered. For long rotors, use the lever rule based on actual CG position relative to correction planes.<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Related Calculators -->\n<div class=\"vc-section\" id=\"vc-sec-related\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\ud83d\udd17<\/span>\n            <span class=\"vc-section-title\">Related Calculators<\/span>\n        <\/span>\n        <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>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner\">\n            <div class=\"vc-related\">\n                <a class=\"vc-related-link\" href=\"\/calculators\/trial-weight-calculator\/\">Trial Weight Calculator<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/vibration-velocity\/\">Vibration Velocity (ISO 10816)<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/vibration-displacement\/\">Vibration Displacement<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/vibration-acceleration\/\">Vibration Acceleration<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/shaft-radial-runout\/\">Shaft Radial Runout<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- FAQ -->\n<div class=\"vc-section\" id=\"vc-sec-faq\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\u2753<\/span>\n            <span class=\"vc-section-title\">Frequently Asked Questions<\/span>\n        <\/span>\n        <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>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner\">\n            <div class=\"vc-faq-list\" id=\"vc-faq-list\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Promo -->\n<div class=\"vc-promo\">\n    <div class=\"vc-promo-text\">\n        <strong>Vibromera \u2014 Portable Balancing &amp; Vibration Analysis<\/strong><br>\n        Professional field balancing instruments and software. Achieve ISO 21940-11 compliance on-site. Used in 50+ countries.\n    <\/div>\n    <a class=\"vc-promo-link\" href=\"https:\/\/vibromera.eu\/\" target=\"_blank\" rel=\"noopener\">Learn More<\/a>\n<\/div>\n\n<!-- Footer -->\n<footer class=\"vc-footer\">\n    <p>\u00a9 2024\u20132025 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a> \u2014 Engineering Calculators<\/p>\n    <p style=\"font-size:12px;margin-top:4px;\">Based on ISO 21940-11 (ISO 1940-1). Last updated: February 2025<\/p>\n    <div class=\"vc-footer-links\">\n        <a href=\"\/calculators\/engineering-calculators\/\">All 252 Calculators<\/a>\n        <a href=\"https:\/\/vibromera.eu\/contacts\/\">Contact<\/a>\n    <\/div>\n<\/footer>\n\n<\/div>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.js\"><\/script>\n<script>\n(function() {\n    'use strict';\n\n    var SLUG = 'residual-unbalance-iso1940';\n    var unitSystem = 'metric';\n    var KG2LB = 2.20462;\n    var GMM2OZIN = 1\/720;\n\n    function $(id) { return document.getElementById(id); }\n    function fmt(n, d) { if(isNaN(n)) return '\u2014'; var f=n.toFixed(d===undefined?2:d); return f.replace(\/(\\.\\d*?)0+$\/,'$1').replace(\/\\.$\/,''); }\n\n    \/* \u2500\u2500 CALCULATION \u2500\u2500 *\/\n    function calculate() {\n        var massVal = parseFloat($('vc-mass').value);\n        var speed = parseFloat($('vc-speed').value);\n        var grade = parseFloat($('vc-grade').value);\n        var planes = parseInt($('vc-planes').value);\n\n        if (!massVal || massVal <= 0 || !speed || speed <= 0) {\n            $('vc-results').classList.remove('vc-visible');\n            return;\n        }\n\n        var massKg = unitSystem === 'imperial' ? massVal \/ KG2LB : massVal;\n        var omega = 2 * Math.PI * speed \/ 60;\n        var eper = grade * 1000 \/ omega; \/\/ \u03bcm\n        var uper = eper * massKg; \/\/ g\u00b7mm\n        var uperPlane = uper \/ planes;\n\n        \/\/ Display\n        if (unitSystem === 'imperial') {\n            var uOzIn = uper * GMM2OZIN;\n            var uPlaneOzIn = uperPlane * GMM2OZIN;\n            $('vc-r-ubal').innerHTML = fmt(uOzIn, uOzIn < 1 ? 3 : 2) + ' <span class=\"vc-rcard-unit\">oz\u00b7in<\/span>';\n            $('vc-r-plane').innerHTML = fmt(uPlaneOzIn, uPlaneOzIn < 1 ? 3 : 2) + ' <span class=\"vc-rcard-unit\">oz\u00b7in<\/span> <span class=\"vc-rcard-unit\">(' + planes + ' plane' + (planes > 1 ? 's' : '') + ')<\/span>';\n        } else {\n            $('vc-r-ubal').innerHTML = (uper >= 1000 ? fmt(uper, 0) : fmt(uper, 1)) + ' <span class=\"vc-rcard-unit\">g\u00b7mm<\/span>';\n            $('vc-r-plane').innerHTML = (uperPlane >= 1000 ? fmt(uperPlane, 0) : fmt(uperPlane, 1)) + ' <span class=\"vc-rcard-unit\">g\u00b7mm<\/span> <span class=\"vc-rcard-unit\">(' + planes + ' plane' + (planes > 1 ? 's' : '') + ')<\/span>';\n        }\n\n        $('vc-r-ecc').innerHTML = fmt(eper, 2) + ' <span class=\"vc-rcard-unit\">\u03bcm<\/span>';\n        $('vc-r-omega').innerHTML = fmt(omega, 2) + ' <span class=\"vc-rcard-unit\">rad\/s<\/span>';\n        $('vc-r-grade').innerHTML = 'G' + grade;\n\n        $('vc-results').classList.add('vc-visible');\n\n        \/\/ URL params\n        var u = new URL(window.location);\n        u.searchParams.set('mass', $('vc-mass').value);\n        u.searchParams.set('speed', speed);\n        u.searchParams.set('grade', grade);\n        u.searchParams.set('planes', planes);\n        history.replaceState(null, '', u.toString());\n\n        \/\/ History\n        saveHistory({\n            mass: $('vc-mass').value,\n            speed: speed,\n            grade: grade,\n            planes: planes,\n            _summary: 'm=' + $('vc-mass').value + (unitSystem === 'imperial' ? ' lb' : ' kg') + ', n=' + speed + ' RPM, G' + grade\n        });\n    }\n\n    \/* \u2500\u2500 UNIT TOGGLE \u2500\u2500 *\/\n    var unitBtns = document.querySelectorAll('.vc-unit-btn');\n    unitBtns.forEach(function(btn) {\n        btn.addEventListener('click', function() {\n            unitBtns.forEach(function(b) { b.classList.remove('vc-active'); });\n            this.classList.add('vc-active');\n            unitSystem = this.getAttribute('data-system');\n            $('vc-mass-unit-hint').textContent = unitSystem === 'imperial' ? '(lb)' : '(kg)';\n            try { localStorage.setItem('vc_units', unitSystem); } catch(e) {}\n            calculate();\n        });\n    });\n\n    \/* \u2500\u2500 PRESETS \u2500\u2500 *\/\n    document.querySelectorAll('.vc-preset-btn').forEach(function(btn) {\n        btn.addEventListener('click', function(e) {\n            e.preventDefault();\n            var m = parseFloat(this.getAttribute('data-m'));\n            $('vc-mass').value = unitSystem === 'imperial' ? fmt(m * KG2LB, 1) : m;\n            $('vc-speed').value = this.getAttribute('data-s');\n            $('vc-grade').value = this.getAttribute('data-g');\n            calculate();\n        });\n    });\n\n    \/* \u2500\u2500 AUTO-CALCULATE \u2500\u2500 *\/\n    $('vc-form').addEventListener('input', calculate);\n    $('vc-form').addEventListener('change', calculate);\n\n    \/* \u2500\u2500 COPY \u2500\u2500 *\/\n    $('vc-copy-btn').addEventListener('click', function() {\n        var torqueEl = $('vc-r-ubal');\n        var text = 'Residual Unbalance Calculation\\n' +\n            '\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\n' +\n            'Mass: ' + $('vc-mass').value + (unitSystem === 'imperial' ? ' lb' : ' kg') + '\\n' +\n            'Speed: ' + $('vc-speed').value + ' RPM\\n' +\n            'Grade: G' + $('vc-grade').value + '\\n' +\n            'Total Unbalance: ' + torqueEl.textContent + '\\n' +\n            'Eccentricity: ' + $('vc-r-ecc').textContent + '\\n' +\n            'Per-Plane: ' + $('vc-r-plane').textContent + '\\n' +\n            '\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\n' +\n            'vibromera.eu\/calculators\/residual-unbalance-iso1940\/';\n\n        if (navigator.clipboard) {\n            navigator.clipboard.writeText(text).then(function() {\n                var btn = $('vc-copy-btn');\n                btn.classList.add('vc-copied');\n                btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg> Copied!';\n                setTimeout(function() {\n                    btn.classList.remove('vc-copied');\n                    btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg> Copy';\n                }, 2000);\n            });\n        }\n    });\n\n    \/* \u2500\u2500 COLLAPSIBLE SECTIONS \u2500\u2500 *\/\n    document.querySelectorAll('.vc-section-toggle').forEach(function(btn) {\n        btn.addEventListener('click', function() {\n            var section = this.closest('.vc-section');\n            var isOpen = section.classList.contains('vc-open');\n            section.classList.toggle('vc-open');\n            this.setAttribute('aria-expanded', !isOpen);\n        });\n    });\n\n    \/* \u2500\u2500 FAQ \u2500\u2500 *\/\n    var faqData = [\n        { q: 'What is permissible residual unbalance?', a: '<p>Permissible residual unbalance is the maximum amount of unbalance allowed to remain in a rotor after balancing, defined by ISO 21940-11 (formerly ISO 1940). It depends on the rotor mass, operating speed, and the required balance quality grade (G).<\/p><p>Exceeding this limit leads to increased vibration, bearing wear, and reduced equipment life.<\/p>' },\n        { q: 'How do I choose the right balance grade G?', a: '<p>Balance grade G is selected based on rotor type:<\/p><ul><li><strong>G6.3<\/strong> \u2014 Most common: fans, pumps, electric motors, general machinery<\/li><li><strong>G2.5<\/strong> \u2014 Gas\/steam turbines, turbochargers<\/li><li><strong>G1.0<\/strong> \u2014 Grinding machine drives, CDs<\/li><li><strong>G16<\/strong> \u2014 Agricultural machinery, automobile wheels<\/li><li><strong>G40<\/strong> \u2014 Car wheels and rims<\/li><\/ul><p>When in doubt, use G6.3 as the default.<\/p>' },\n        { q: 'What is the difference between ISO 1940 and ISO 21940-11?', a: '<p>ISO 21940-11 replaced the older ISO 1940-1 standard. The technical content is essentially the same \u2014 the permissible specific unbalance formula and balance grades remain unchanged.<\/p><p>The new number reflects the reorganization of the ISO 21940 series covering all aspects of rotor balancing.<\/p>' },\n        { q: 'How do I split unbalance between two correction planes?', a: '<p>For disc-like rotors with CG approximately centered: allocate 50% to each plane.<\/p><p>For long rotors: use the lever rule \u2014 U\u2081 = U_total \u00d7 L\u2082\/(L\u2081+L\u2082) and U\u2082 = U_total \u00d7 L\u2081\/(L\u2081+L\u2082), where L\u2081 and L\u2082 are distances from CG to each correction plane.<\/p>' },\n        { q: 'What units is unbalance measured in?', a: '<p>Common units:<\/p><ul><li><strong>g\u00b7mm<\/strong> (gram-millimeters) \u2014 most common for industrial rotors<\/li><li><strong>oz\u00b7in<\/strong> (ounce-inches) \u2014 used in North America<\/li><li><strong>kg\u00b7m<\/strong> \u2014 SI unit (rarely used in practice)<\/li><\/ul><p>Conversion: 1 oz\u00b7in \u2248 720 g\u00b7mm<\/p>' }\n    ];\n\n    var faqList = $('vc-faq-list');\n    faqData.forEach(function(faq, i) {\n        faqList.innerHTML += '<div class=\"vc-faq-item\"><button type=\"button\" class=\"vc-faq-q\"><span>' + faq.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\">' + faq.a + '<\/div><\/div><\/div>';\n    });\n    faqList.addEventListener('click', function(e) {\n        var btn = e.target.closest('.vc-faq-q');\n        if (!btn) return;\n        btn.closest('.vc-faq-item').classList.toggle('vc-open');\n    });\n\n    \/* \u2500\u2500 HISTORY \u2500\u2500 *\/\n    function saveHistory(entry) {\n        var key = 'vc_history_' + SLUG;\n        var arr = [];\n        try { arr = JSON.parse(localStorage.getItem(key)) || []; } catch(e) {}\n        entry._ts = new Date().toISOString();\n        arr.unshift(entry);\n        if (arr.length > 10) arr = arr.slice(0, 10);\n        try { localStorage.setItem(key, JSON.stringify(arr)); } catch(e) {}\n    }\n\n    \/* \u2500\u2500 URL PARAMS \u2500\u2500 *\/\n    function loadParams() {\n        var p = new URLSearchParams(window.location.search);\n        p.forEach(function(v, k) { var el = $(k) || $('vc-' + k); if (el) el.value = v; });\n    }\n\n    \/* \u2500\u2500 KATEX \u2500\u2500 *\/\n    function renderFormulas() {\n        try {\n            katex.render('e_{per} = \\\\frac{G \\\\times 1000}{\\\\omega} = \\\\frac{G \\\\times 1000}{2\\\\pi n \/ 60} \\\\quad [\\\\mu m]', $('vc-katex-1'), { displayMode: true, throwOnError: false });\n            katex.render('U_{per} = e_{per} \\\\times m \\\\quad [g \\\\cdot mm]', $('vc-katex-2'), { displayMode: true, throwOnError: false });\n        } catch(e) {}\n    }\n\n    \/* \u2500\u2500 INIT \u2500\u2500 *\/\n    function init() {\n        try {\n            var saved = localStorage.getItem('vc_units');\n            if (saved === 'imperial') {\n                unitSystem = 'imperial';\n                unitBtns.forEach(function(b) { b.classList.toggle('vc-active', b.getAttribute('data-system') === 'imperial'); });\n                $('vc-mass-unit-hint').textContent = '(lb)';\n            }\n        } catch(e) {}\n\n        loadParams();\n        renderFormulas();\n        calculate();\n    }\n\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', init);\n    } else {\n        init();\n    }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>ISO 21940-11 (\u09aa\u09c2\u09b0\u09cd\u09ac\u09ac\u09b0\u09cd\u09a4\u09c0 ISO 1940) \u0985\u09a8\u09c1\u09af\u09be\u09af\u09bc\u09c0 \u0985\u09a8\u09c1\u09ae\u09cb\u09a6\u09bf\u09a4 \u0985\u09ac\u09b6\u09bf\u09b7\u09cd\u099f \u09ad\u09be\u09b0\u09b8\u09be\u09ae\u09cd\u09af\u09b9\u09c0\u09a8\u09a4\u09be\u09b0 \u099c\u09a8\u09cd\u09af \u09ac\u09bf\u09a8\u09be\u09ae\u09c2\u09b2\u09cd\u09af\u09c7 \u0985\u09a8\u09b2\u09be\u0987\u09a8 \u0995\u09cd\u09af\u09be\u09b2\u0995\u09c1\u09b2\u09c7\u099f\u09b0\u0964 \u09b0\u099f\u09b0 \u09ad\u09b0, \u0997\u09a4\u09bf \u098f\u09ac\u0982 \u09ad\u09be\u09b0\u09b8\u09be\u09ae\u09cd\u09af \u0997\u09c1\u09a3\u09ae\u09be\u09a8 \u0997\u09cd\u09b0\u09c7\u09a1 G \u09aa\u09cd\u09b0\u09ac\u09c7\u09b6 \u0995\u09b0\u09c1\u09a8 \u09af\u09be\u09a4\u09c7 g\u00b7mm \u098f\u09ac\u0982 \u0989\u09ce\u0995\u09c7\u09a8\u09cd\u09a6\u09cd\u09b0\u09a4\u09be\u09af\u09bc \u09b8\u09b0\u09cd\u09ac\u09cb\u099a\u09cd\u099a \u0985\u09a8\u09c1\u09ae\u09cb\u09a6\u09bf\u09a4 \u09ad\u09be\u09b0\u09b8\u09be\u09ae\u09cd\u09af\u09b9\u09c0\u09a8\u09a4\u09be \u09aa\u09be\u09a8\u0964<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100204","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100204","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":2,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100204\/revisions"}],"predecessor-version":[{"id":100913,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100204\/revisions\/100913"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/media?parent=100204"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/categories?post=100204"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/tags?post=100204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}