{"id":100285,"date":"2026-02-15T20:31:50","date_gmt":"2026-02-15T20:31:50","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100285"},"modified":"2026-03-05T15:36:31","modified_gmt":"2026-03-05T15:36:31","slug":"vibration-iso20816-21-wind","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/nb\/calculators\/vibration-iso20816-21-wind\/","title":{"rendered":"Vibrasjonsgrenser for vindturbiner i henhold til ISO 20816-21 | Vibromera"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Vibration Limits Calculator \u2014 ISO 20816-21 Wind Turbines\",\"alternateName\":[\"ISO 20816-21 Calculator\",\"Wind Turbine Vibration Limits\",\"Wind Energy Vibration Evaluation\"],\"description\":\"Free online vibration zone evaluation calculator per ISO 20816-21 for wind turbines.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/vibration-iso20816-21-wind\/\",\"applicationCategory\":\"Engineering Calculator\",\"operatingSystem\":\"Any (Web Browser)\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"},\"datePublished\":\"2025-01-01\",\"dateModified\":\"2025-02-14\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true,\"featureList\":[\"ISO 20816-21 zone evaluation\",\"Main bearing, gearbox, generator, tower top\",\"Velocity and acceleration measurement\",\"Turbine power class selection\",\"Color-coded zone display\"],\"keywords\":\"vibration limits, ISO 20816-21, wind turbine, gearbox, generator, main bearing, tower, zone A B C D\"}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"What does ISO 20816-21 cover?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ISO 20816-21 specifies vibration evaluation criteria for onshore and offshore wind turbines. It covers the main drivetrain components: main bearing, gearbox, generator, and tower top (nacelle) vibration. It addresses both velocity and acceleration measurements depending on the component and frequency range of interest.\"}},\n{\"@type\":\"Question\",\"name\":\"Why are different measurement types used for different components?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Velocity (mm\/s RMS) is used for gearbox, generator, and tower top measurements where the dominant vibration frequencies are in the typical 10-1000 Hz range. Acceleration (g RMS) is used for main bearings where low-speed, high-frequency bearing defect signals are better captured by accelerometers, particularly for the slow-rotating main shaft (typically 10-20 RPM).\"}},\n{\"@type\":\"Question\",\"name\":\"How does turbine power class affect vibration limits?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Larger turbines (>3 MW) generally have lower rotational speeds and higher structural flexibility, which can influence vibration behavior. However, the zone boundaries in ISO 20816-21 are generally consistent across power classes, as they are based on component-level severity rather than overall turbine size. The power class context helps with interpretation.\"}},\n{\"@type\":\"Question\",\"name\":\"What is tower top vibration and why monitor it?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Tower top (nacelle) vibration reflects the overall structural response of the wind turbine to aerodynamic loads, rotor imbalance, and drivetrain forces. Excessive tower top vibration can indicate rotor mass or aerodynamic imbalance, yaw misalignment, foundation issues, or structural resonance. It is typically measured in mm\/s RMS.\"}},\n{\"@type\":\"Question\",\"name\":\"What should I do if wind turbine vibration reaches Zone C?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Zone C indicates the component is not suitable for continuous long-term operation. Actions include: investigate root cause using CMS (condition monitoring system) data, review SCADA trends for correlation with wind speed and power, check for bearing damage using envelope analysis, inspect gearbox oil for metal particles, consider curtailing the turbine until corrective action is completed, and schedule maintenance during the next suitable weather window.\"}}\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\":\"Vibration Limits ISO 20816-21\",\"item\":\"https:\/\/vibromera.eu\/calculators\/vibration-iso20816-21-wind\/\"}\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    --zone-a: #16a34a;\n    --zone-a-light: #dcfce7;\n    --zone-b: #ca8a04;\n    --zone-b-light: #fef9c3;\n    --zone-c: #ea580c;\n    --zone-c-light: #fff7ed;\n    --zone-d: #dc2626;\n    --zone-d-light: #fef2f2;\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.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.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.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.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.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-width:2px; 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; }\n.vc-rcard-unit { font-size:14px; font-weight:400; color:var(--vc-ink-secondary); }\n.vc-rcard-desc { font-size:13px; color:var(--vc-ink-secondary); margin-top:6px; line-height:1.5; }\n\n.vc-zone-a { border-color:var(--zone-a); background:linear-gradient(135deg, var(--zone-a-light) 0%, var(--vc-surface) 100%); }\n.vc-zone-a .vc-rcard-value { color:var(--zone-a); }\n.vc-zone-b { border-color:var(--zone-b); background:linear-gradient(135deg, var(--zone-b-light) 0%, var(--vc-surface) 100%); }\n.vc-zone-b .vc-rcard-value { color:var(--zone-b); }\n.vc-zone-c { border-color:var(--zone-c); background:linear-gradient(135deg, var(--zone-c-light) 0%, var(--vc-surface) 100%); }\n.vc-zone-c .vc-rcard-value { color:var(--zone-c); }\n.vc-zone-d { border-color:var(--zone-d); background:linear-gradient(135deg, var(--zone-d-light) 0%, var(--vc-surface) 100%); }\n.vc-zone-d .vc-rcard-value { color:var(--zone-d); }\n\n.vc-zone-bar { display:flex; height:36px; border-radius:6px; overflow:hidden; margin-bottom:16px; border:1px solid var(--vc-border-light); }\n.vc-zone-bar-seg { flex:1; display:flex; align-items:center; justify-content:center; font-family:var(--vc-mono); font-size:11px; font-weight:600; color:#fff; position:relative; transition:opacity 0.3s; }\n.vc-zone-bar-seg.zb-a { background:var(--zone-a); }\n.vc-zone-bar-seg.zb-b { background:var(--zone-b); }\n.vc-zone-bar-seg.zb-c { background:var(--zone-c); }\n.vc-zone-bar-seg.zb-d { background:var(--zone-d); }\n.vc-zone-bar-seg.zb-dim { opacity:0.35; }\n.vc-zone-bar-seg.zb-active { opacity:1; box-shadow:inset 0 0 0 2px rgba(255,255,255,0.5); }\n.vc-zone-bar-labels { display:flex; margin-top:4px; font-family:var(--vc-mono); font-size:10px; color:var(--vc-ink-muted); }\n.vc-zone-bar-labels span { flex:1; text-align:center; }\n\n.vc-zone-table { width:100%; border-collapse:collapse; margin:12px 0; font-size:13px; }\n.vc-zone-table th, .vc-zone-table td { padding:8px 12px; border:1px solid var(--vc-border-light); text-align:center; }\n.vc-zone-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-zone-table .zt-a { background:var(--zone-a-light); }\n.vc-zone-table .zt-b { background:var(--zone-b-light); }\n.vc-zone-table .zt-c { background:var(--zone-c-light); }\n.vc-zone-table .zt-d { background:var(--zone-d-light); }\n\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.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-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.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.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.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.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@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-iso20816-21\">\n\n<header class=\"vc-header\">\n    <p class=\"vc-header-eyebrow\">Free Engineering Tool #026<\/p>\n    <h1 class=\"vc-header-title\">Vibration Limits \u2014 Wind Turbines<\/h1>\n    <p class=\"vc-header-subtitle\">Evaluate vibration severity for wind turbine components per ISO 20816-21. Supports main bearing, gearbox, generator, and tower top measurements.<\/p>\n    <div class=\"vc-badges\">\n        <span class=\"vc-badge\">ISO 20816-21<\/span>\n        <span class=\"vc-badge\">Zones A\/B\/C\/D<\/span>\n        <span class=\"vc-badge\">Wind Turbines<\/span>\n    <\/div>\n<\/header>\n\n<div class=\"vc-card\">\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-component\">Component<\/label>\n                <select class=\"vc-select\" id=\"vc-component\">\n                    <option value=\"main-bearing\">Main Bearing<\/option>\n                    <option value=\"gearbox\" selected>Gearbox<\/option>\n                    <option value=\"generator\">Generator<\/option>\n                    <option value=\"tower\">Tower Top (Nacelle)<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-measurement\">Measurement<\/label>\n                <select class=\"vc-select\" id=\"vc-measurement\">\n                    <option value=\"velocity\" selected>Velocity (mm\/s RMS)<\/option>\n                    <option value=\"acceleration\">Acceleration (g RMS)<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-value\">Measured Value <span class=\"vc-label-hint\" id=\"vc-value-hint\">(mm\/s RMS)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-value\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"e.g. 5.5\" value=\"5.5\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-power\">Turbine Power Class<\/label>\n                <select class=\"vc-select\" id=\"vc-power\">\n                    <option value=\"small\">&lt;1 MW<\/option>\n                    <option value=\"medium\" selected>1\u20133 MW<\/option>\n                    <option value=\"large\">&gt;3 MW<\/option>\n                <\/select>\n            <\/div>\n        <\/div>\n\n        <div class=\"vc-presets\">\n            <div class=\"vc-presets-label\">Quick presets<\/div>\n            <button type=\"button\" class=\"vc-preset-btn\" data-c=\"gearbox\" data-m=\"velocity\" data-v=\"5.5\" data-p=\"medium\">Gearbox 5.5 mm\/s<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-c=\"generator\" data-m=\"velocity\" data-v=\"3.2\" data-p=\"medium\">Generator 3.2 mm\/s<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-c=\"main-bearing\" data-m=\"acceleration\" data-v=\"0.8\" data-p=\"large\">Main bearing 0.8 g<\/button>\n        <\/div>\n    <\/form>\n\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\n        <div class=\"vc-zone-bar\" id=\"vc-zone-bar\">\n            <div class=\"vc-zone-bar-seg zb-a\" id=\"zb-a\">A<\/div>\n            <div class=\"vc-zone-bar-seg zb-b\" id=\"zb-b\">B<\/div>\n            <div class=\"vc-zone-bar-seg zb-c\" id=\"zb-c\">C<\/div>\n            <div class=\"vc-zone-bar-seg zb-d\" id=\"zb-d\">D<\/div>\n        <\/div>\n        <div class=\"vc-zone-bar-labels\" id=\"vc-zone-labels\">\n            <span id=\"zl-a\"><\/span><span id=\"zl-b\"><\/span><span id=\"zl-c\"><\/span><span id=\"zl-d\"><\/span>\n        <\/div>\n\n        <div class=\"vc-result-grid\">\n            <div class=\"vc-rcard vc-rcard-primary\" id=\"vc-r-zone-card\">\n                <div class=\"vc-rcard-label\">Vibration Zone<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-zone\">\u2014<\/div>\n                <div class=\"vc-rcard-desc\" id=\"vc-r-zone-desc\"><\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Measured Value<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-measured\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Recommendation<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-action\" style=\"font-size:16px;\">\u2014<\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"vc-info-box\" id=\"vc-component-note\">\n            <p><strong>\u2139\ufe0f Component Note:<\/strong> <span id=\"vc-note-text\"><\/span><\/p>\n        <\/div>\n\n        <table class=\"vc-zone-table\" id=\"vc-boundary-table\">\n            <thead><tr><th>Zone<\/th><th>Boundary<\/th><th>Description<\/th><\/tr><\/thead>\n            <tbody id=\"vc-boundary-body\"><\/tbody>\n        <\/table>\n    <\/div>\n<\/div>\n\n<!-- Theory -->\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>ISO 20816-21 Scope<\/h3>\n            <p>ISO 20816-21 specifies vibration evaluation criteria for onshore and offshore wind turbines. It covers the main drivetrain components and the tower\/nacelle structure, addressing the unique operating conditions of wind energy systems.<\/p>\n            <div class=\"vc-formula-box\" id=\"vc-katex-1\"><\/div>\n\n            <h3>Gearbox \u2014 Velocity (mm\/s RMS)<\/h3>\n            <p>Gearbox vibration is measured on the bearing housing using velocity sensors. Multiple stages produce complex vibration signatures.<\/p>\n            <table class=\"vc-table\">\n                <thead><tr><th>Zone Boundary<\/th><th>Velocity (mm\/s RMS)<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>A\/B<\/td><td>3.5<\/td><\/tr>\n                    <tr><td>B\/C<\/td><td>7.1<\/td><\/tr>\n                    <tr><td>C\/D<\/td><td>11.2<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <h3>Generator \u2014 Velocity (mm\/s RMS)<\/h3>\n            <p>Generator vibration limits are lower because generators are precision rotating machines with tighter tolerances.<\/p>\n            <table class=\"vc-table\">\n                <thead><tr><th>Zone Boundary<\/th><th>Velocity (mm\/s RMS)<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>A\/B<\/td><td>2.8<\/td><\/tr>\n                    <tr><td>B\/C<\/td><td>5.6<\/td><\/tr>\n                    <tr><td>C\/D<\/td><td>9.0<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <h3>Main Bearing \u2014 Acceleration (g RMS)<\/h3>\n            <p>The main bearing operates at very low speeds (10\u201320 RPM). Acceleration measurement captures high-frequency bearing defect signals that velocity sensors would miss.<\/p>\n            <table class=\"vc-table\">\n                <thead><tr><th>Zone Boundary<\/th><th>Acceleration (g RMS)<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>A\/B<\/td><td>0.5<\/td><\/tr>\n                    <tr><td>B\/C<\/td><td>1.0<\/td><\/tr>\n                    <tr><td>C\/D<\/td><td>2.0<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <h3>Tower Top (Nacelle) \u2014 Velocity (mm\/s RMS)<\/h3>\n            <p>Tower top vibration reflects the overall structural response to aerodynamic loads and drivetrain forces.<\/p>\n            <table class=\"vc-table\">\n                <thead><tr><th>Zone Boundary<\/th><th>Velocity (mm\/s RMS)<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>A\/B<\/td><td>2.0<\/td><\/tr>\n                    <tr><td>B\/C<\/td><td>4.0<\/td><\/tr>\n                    <tr><td>C\/D<\/td><td>7.0<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <div class=\"vc-info-box\">\n                <p><strong>\u2139\ufe0f Note:<\/strong> Wind turbine vibration is highly variable with wind conditions. Measurements should be taken at consistent operating conditions (e.g., rated power, specific wind speed bins) for meaningful comparison. CMS (condition monitoring systems) provide continuous tracking.<\/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 Important:<\/strong> Main bearing failures are among the most costly wind turbine repairs. Early detection through vibration monitoring (especially high-frequency acceleration and envelope analysis) is critical for planned replacement before catastrophic failure.<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Related -->\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\/vibration-zones-iso20816-1\/\">ISO 20816-1 \u2014 General Guidelines<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/vibration-iso20816-3-industrial\/\">ISO 20816-3 \u2014 Industrial Machines<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/vibration-iso20816-5-hydro\/\">ISO 20816-5 \u2014 Hydro Turbines<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/vibration-iso20816-8-compressors\/\">ISO 20816-8 \u2014 Reciprocating Compressors<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/vibration-iso20816-9-gears\/\">ISO 20816-9 \u2014 Gear Drives<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/residual-unbalance-iso1940\/\">Residual Unbalance (ISO 21940)<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/vibration-velocity\/\">Vibration Velocity (ISO 10816)<\/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<div class=\"vc-promo\">\n    <div class=\"vc-promo-text\">\n        <strong>Vibromera \u2014 Portable Balancing &amp; Vibration Analysis<\/strong><br>\n        Professional vibration analyzers for wind turbine condition monitoring. ISO 20816 compliant evaluation 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 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 20816-21. Last updated: February 2025<\/p>\n    <div class=\"vc-footer-links\">\n        <a href=\"\/calculators\/engineering-calculators\/\">All 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 = 'vibration-iso20816-21-wind';\n\n    var COMPONENT_LIMITS = {\n        'gearbox':       { velocity: { ab:3.5, bc:7.1, cd:11.2, unit:'mm\/s RMS' }, acceleration: { ab:0.7, bc:1.4, cd:2.8, unit:'g RMS' } },\n        'generator':     { velocity: { ab:2.8, bc:5.6, cd:9.0, unit:'mm\/s RMS' }, acceleration: { ab:0.5, bc:1.0, cd:2.0, unit:'g RMS' } },\n        'main-bearing':  { velocity: { ab:2.0, bc:4.0, cd:7.0, unit:'mm\/s RMS' }, acceleration: { ab:0.5, bc:1.0, cd:2.0, unit:'g RMS' } },\n        'tower':         { velocity: { ab:2.0, bc:4.0, cd:7.0, unit:'mm\/s RMS' }, acceleration: { ab:0.3, bc:0.7, cd:1.5, unit:'g RMS' } }\n    };\n\n    var COMPONENT_DEFAULT_MEAS = {\n        'gearbox': 'velocity',\n        'generator': 'velocity',\n        'main-bearing': 'acceleration',\n        'tower': 'velocity'\n    };\n\n    var COMPONENT_NOTES = {\n        'gearbox': 'Wind turbine gearboxes typically have 3 stages (planetary + parallel shaft). Monitor gear mesh frequencies and bearing defect frequencies. Variable speed operation means frequencies change with wind speed.',\n        'generator': 'Generator vibration includes electromagnetic excitation at 2\u00d7 line frequency. Distinguish between mechanical (unbalance, misalignment) and electrical (rotor eccentricity, winding faults) sources.',\n        'main-bearing': 'Main bearing operates at very low speed (10-20 RPM). Use high-frequency acceleration and envelope analysis for early damage detection. Main bearing replacement is one of the most expensive wind turbine repairs.',\n        'tower': 'Tower top vibration reflects rotor imbalance, yaw misalignment, and structural resonance. Compare with SCADA data to correlate with wind speed and power output. Excessive tower vibration may indicate foundation issues.'\n    };\n\n    var ZONE_DESC = {\n        A: 'Newly commissioned machines \u2014 excellent condition',\n        B: 'Acceptable for unrestricted long-term operation',\n        C: 'Not suitable for long-term operation \u2014 plan remedial action',\n        D: 'Dangerous vibration level \u2014 risk of damage, immediate action required'\n    };\n\n    var ZONE_ACTION = {\n        A: 'No action required \u2014 component in excellent condition',\n        B: 'Continue normal operation and routine monitoring',\n        C: 'Investigate root cause; schedule corrective maintenance; consider curtailment',\n        D: 'Immediate shutdown or curtailment recommended \u2014 risk of damage'\n    };\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    function getZone(val, lim) {\n        if (val <= lim.ab) return 'A';\n        if (val <= lim.bc) return 'B';\n        if (val <= lim.cd) return 'C';\n        return 'D';\n    }\n\n    function calculate() {\n        var component = $('vc-component').value;\n        var measurement = $('vc-measurement').value;\n        var val = parseFloat($('vc-value').value);\n\n        if (isNaN(val) || val < 0) {\n            $('vc-results').classList.remove('vc-visible');\n            return;\n        }\n\n        var lim = COMPONENT_LIMITS[component][measurement];\n        var zone = getZone(val, lim);\n\n        ['a','b','c','d'].forEach(function(letter) {\n            var seg = $('zb-' + letter);\n            seg.className = 'vc-zone-bar-seg zb-' + letter + (letter.toUpperCase() === zone ? ' zb-active' : ' zb-dim');\n        });\n\n        $('zl-a').textContent = '\u2264' + lim.ab;\n        $('zl-b').textContent = lim.ab + '\u2013' + lim.bc;\n        $('zl-c').textContent = lim.bc + '\u2013' + lim.cd;\n        $('zl-d').textContent = '>' + lim.cd;\n\n        var zoneCard = $('vc-r-zone-card');\n        zoneCard.className = 'vc-rcard vc-rcard-primary vc-zone-' + zone.toLowerCase();\n        $('vc-r-zone').textContent = 'Zone ' + zone;\n        $('vc-r-zone-desc').textContent = ZONE_DESC[zone];\n\n        var decimals = measurement === 'acceleration' ? 2 : 1;\n        $('vc-r-measured').innerHTML = fmt(val, decimals) + ' <span class=\"vc-rcard-unit\">' + lim.unit + '<\/span>';\n        $('vc-r-action').textContent = ZONE_ACTION[zone];\n\n        $('vc-note-text').textContent = COMPONENT_NOTES[component];\n\n        var tbody = $('vc-boundary-body');\n        tbody.innerHTML =\n            '<tr class=\"zt-a\"><td><strong>Zone A<\/strong><\/td><td>\u2264 ' + lim.ab + ' ' + lim.unit + '<\/td><td>' + ZONE_DESC.A + '<\/td><\/tr>' +\n            '<tr class=\"zt-b\"><td><strong>Zone B<\/strong><\/td><td>' + lim.ab + ' \u2013 ' + lim.bc + ' ' + lim.unit + '<\/td><td>' + ZONE_DESC.B + '<\/td><\/tr>' +\n            '<tr class=\"zt-c\"><td><strong>Zone C<\/strong><\/td><td>' + lim.bc + ' \u2013 ' + lim.cd + ' ' + lim.unit + '<\/td><td>' + ZONE_DESC.C + '<\/td><\/tr>' +\n            '<tr class=\"zt-d\"><td><strong>Zone D<\/strong><\/td><td>&gt; ' + lim.cd + ' ' + lim.unit + '<\/td><td>' + ZONE_DESC.D + '<\/td><\/tr>';\n\n        $('vc-results').classList.add('vc-visible');\n\n        var u = new URL(window.location);\n        u.searchParams.set('component', component);\n        u.searchParams.set('measurement', measurement);\n        u.searchParams.set('value', val);\n        u.searchParams.set('power', $('vc-power').value);\n        history.replaceState(null, '', u.toString());\n\n        var compNames = { 'main-bearing':'Main Bearing', 'gearbox':'Gearbox', 'generator':'Generator', 'tower':'Tower Top' };\n        var measNames = { velocity:'Velocity', acceleration:'Acceleration' };\n        saveHistory({ component: component, measurement: measurement, value: val, power: $('vc-power').value, zone: zone, _summary: compNames[component] + ' (' + measNames[measurement] + ') ' + val + ' ' + lim.unit + ' \u2192 Zone ' + zone });\n    }\n\n    $('vc-component').addEventListener('change', function() {\n        var comp = this.value;\n        var defMeas = COMPONENT_DEFAULT_MEAS[comp];\n        $('vc-measurement').value = defMeas;\n        $('vc-value-hint').textContent = defMeas === 'acceleration' ? '(g RMS)' : '(mm\/s RMS)';\n        calculate();\n    });\n\n    $('vc-measurement').addEventListener('change', function() {\n        $('vc-value-hint').textContent = this.value === 'acceleration' ? '(g RMS)' : '(mm\/s RMS)';\n        calculate();\n    });\n\n    document.querySelectorAll('.vc-preset-btn').forEach(function(btn) {\n        btn.addEventListener('click', function(e) {\n            e.preventDefault();\n            $('vc-component').value = this.getAttribute('data-c');\n            $('vc-measurement').value = this.getAttribute('data-m');\n            $('vc-value').value = this.getAttribute('data-v');\n            $('vc-power').value = this.getAttribute('data-p');\n            $('vc-value-hint').textContent = this.getAttribute('data-m') === 'acceleration' ? '(g RMS)' : '(mm\/s RMS)';\n            calculate();\n        });\n    });\n\n    $('vc-form').addEventListener('input', calculate);\n    $('vc-form').addEventListener('change', calculate);\n\n    $('vc-copy-btn').addEventListener('click', function() {\n        var text = 'Vibration Zone Evaluation \u2014 ISO 20816-21\\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            'Component: ' + $('vc-component').options[$('vc-component').selectedIndex].text + '\\n' +\n            'Measurement: ' + $('vc-measurement').options[$('vc-measurement').selectedIndex].text + '\\n' +\n            'Power Class: ' + $('vc-power').options[$('vc-power').selectedIndex].text + '\\n' +\n            'Measured: ' + $('vc-r-measured').textContent + '\\n' +\n            'Zone: ' + $('vc-r-zone').textContent + '\\n' +\n            'Assessment: ' + $('vc-r-zone-desc').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\/vibration-iso20816-21-wind\/';\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    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    var faqData = [\n        { q: 'What does ISO 20816-21 cover?', a: '<p>ISO 20816-21 specifies vibration evaluation criteria for <strong>onshore and offshore wind turbines<\/strong>. It covers:<\/p><ul><li>Main bearing \u2014 slow-speed shaft bearing<\/li><li>Gearbox \u2014 multi-stage speed increaser<\/li><li>Generator \u2014 high-speed electrical machine<\/li><li>Tower top (nacelle) \u2014 structural vibration<\/li><\/ul><p>Both velocity (mm\/s) and acceleration (g) measurements are addressed depending on the component.<\/p>' },\n        { q: 'Why are different measurement types used for different components?', a: '<p><strong>Velocity (mm\/s RMS)<\/strong> is used for gearbox, generator, and tower top where vibration frequencies are in the 10\u20131000 Hz range.<\/p><p><strong>Acceleration (g RMS)<\/strong> is used for main bearings operating at very low speeds (10\u201320 RPM), where high-frequency bearing defect signals are better captured by accelerometers using envelope demodulation techniques.<\/p>' },\n        { q: 'How does turbine power class affect vibration limits?', a: '<p>Larger turbines (&gt;3 MW) have:<\/p><ul><li>Lower rotational speeds<\/li><li>Higher structural flexibility<\/li><li>Greater rotor inertia<\/li><li>More complex drivetrain dynamics<\/li><\/ul><p>The zone boundaries are generally consistent across power classes as they relate to component severity. Power class provides context for interpretation and trending.<\/p>' },\n        { q: 'What is tower top vibration and why monitor it?', a: '<p>Tower top (nacelle) vibration measures the overall structural response to:<\/p><ul><li>Rotor mass and aerodynamic imbalance<\/li><li>Yaw misalignment with wind direction<\/li><li>Drivetrain forces transmitted through the nacelle<\/li><li>Tower structural resonance<\/li><li>Foundation issues<\/li><\/ul><p>It is a key indicator of overall turbine health and can reveal issues not visible from individual component monitoring.<\/p>' },\n        { q: 'What should I do if wind turbine vibration reaches Zone C?', a: '<p>For Zone C on a wind turbine component:<\/p><ul><li>Review CMS (condition monitoring system) trends and SCADA data<\/li><li>Correlate vibration with wind speed and power output<\/li><li>For bearings: check envelope spectrum for defect frequencies<\/li><li>For gearbox: analyze oil samples for metal particles<\/li><li>Consider turbine curtailment to reduce loads<\/li><li>Schedule maintenance during the next suitable weather window<\/li><li>For tower: check foundation, yaw system, and rotor balance<\/li><\/ul>' }\n    ];\n\n    var faqList = $('vc-faq-list');\n    faqData.forEach(function(faq) {\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    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    function loadParams() {\n        var p = new URLSearchParams(window.location.search);\n        if (p.has('component')) {\n            $('vc-component').value = p.get('component');\n        }\n        if (p.has('measurement')) {\n            $('vc-measurement').value = p.get('measurement');\n            $('vc-value-hint').textContent = p.get('measurement') === 'acceleration' ? '(g RMS)' : '(mm\/s RMS)';\n        }\n        if (p.has('value')) $('vc-value').value = p.get('value');\n        if (p.has('power')) $('vc-power').value = p.get('power');\n    }\n\n    function renderFormulas() {\n        try {\n            katex.render('\\\\text{Zone} = \\\\begin{cases} A & v_{\\\\text{meas}} \\\\leq v_{A\/B} \\\\\\\\ B & v_{A\/B} < v_{\\\\text{meas}} \\\\leq v_{B\/C} \\\\\\\\ C & v_{B\/C} < v_{\\\\text{meas}} \\\\leq v_{C\/D} \\\\\\\\ D & v_{\\\\text{meas}} > v_{C\/D} \\\\end{cases}', $('vc-katex-1'), { displayMode: true, throwOnError: false });\n        } catch(e) {}\n    }\n\n    function init() {\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>Gratis online kalkulator for evaluering av vibrasjonssoner i henhold til ISO 20816-21 for vindturbiner. Evaluer lagerhusets hastighet og akselerasjon mot grenseverdiene for sone A\/B\/C\/D for hovedlager, girkasse, generator og t\u00e5rntopp.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100285","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100285","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":2,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100285\/revisions"}],"predecessor-version":[{"id":100745,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100285\/revisions\/100745"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/media?parent=100285"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/categories?post=100285"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/tags?post=100285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}