{"id":100141,"date":"2026-02-15T20:19:55","date_gmt":"2026-02-15T20:19:55","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100141"},"modified":"2026-02-15T20:19:55","modified_gmt":"2026-02-15T20:19:55","slug":"journal-bearing-frequencies","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/bn\/calculators\/journal-bearing-frequencies\/","title":{"rendered":"\u099c\u09be\u09b0\u09cd\u09a8\u09be\u09b2 \u09ac\u09c7\u09af\u09bc\u09be\u09b0\u09bf\u0982 \u09a4\u09cd\u09b0\u09c1\u099f\u09bf \u09ab\u09cd\u09b0\u09bf\u0995\u09cb\u09af\u09bc\u09c7\u09a8\u09cd\u09b8\u09bf | \u0985\u09af\u09bc\u09c7\u09b2 \u09b9\u09cb\u09af\u09bc\u09be\u09b0\u09cd\u09b2 &#038; \u0985\u09af\u09bc\u09c7\u09b2 \u09b9\u09c1\u0987\u09aa"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Journal Bearing Defect Frequency Calculator\",\"alternateName\":[\"Oil Whirl Calculator\",\"Oil Whip Frequency Calculator\",\"Plain Bearing Vibration Calculator\"],\"description\":\"Free online engineering calculator for journal (plain\/sleeve) bearing defect frequencies. Calculate oil whirl frequency range, oil whip, shaft frequency, and sub-synchronous vibration indicators.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/journal-bearing-frequencies\/\",\"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-15\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true,\"featureList\":[\"Oil whirl frequency range\",\"Oil whip frequency\",\"Shaft frequency\",\"2\u00d7 shaft frequency\",\"Sub-synchronous analysis\",\"Auto-calculation on input change\",\"URL parameter sharing\",\"Calculation history\"],\"keywords\":\"journal bearing, oil whirl, oil whip, plain bearing, sleeve bearing, sub-synchronous vibration, fluid film instability\"}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"What is oil whirl in journal bearings?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Oil whirl is a self-excited vibration in fluid-film (journal) bearings caused by the oil wedge pushing the shaft in a forward precessional orbit. It occurs at approximately 0.42\u20130.48\u00d7 shaft speed (often cited as ~0.43\u00d7). Oil whirl amplitude increases with speed and can become unstable if uncorrected.\"}},\n{\"@type\":\"Question\",\"name\":\"What is oil whip and how does it differ from oil whirl?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Oil whip occurs when oil whirl frequency coincides with the rotor's first natural frequency (first critical speed). At this point, the whirl 'locks on' to the natural frequency and does not increase further with speed. Oil whip is a severe instability condition with potentially destructive amplitude levels.\"}},\n{\"@type\":\"Question\",\"name\":\"How do I distinguish oil whirl from other sub-synchronous vibrations?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Oil whirl is identified by: (1) frequency at ~0.42\u20130.48\u00d7 shaft speed, (2) forward precession orbit, (3) frequency tracks shaft speed proportionally, (4) amplitude typically increases with speed. Other sub-synchronous sources like rub or loose components typically occur at exact sub-harmonics (1\/2\u00d7, 1\/3\u00d7) and may show reverse precession.\"}},\n{\"@type\":\"Question\",\"name\":\"What causes oil whirl onset?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Oil whirl onset depends on: (1) shaft speed exceeding the stability threshold, (2) light bearing load (lightly loaded bearings are more prone), (3) low oil viscosity (from high temperature or wrong oil grade), (4) excessive bearing clearance, and (5) misalignment or unbalance affecting the bearing load distribution.\"}},\n{\"@type\":\"Question\",\"name\":\"How to prevent or fix oil whirl and oil whip?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Solutions include: (1) increase bearing load or reduce clearance, (2) use anti-whirl bearing designs (tilting pad, pressure dam, lemon bore), (3) change oil viscosity (grade or temperature control), (4) reduce operating speed below instability threshold, (5) improve alignment and balance to stabilize the bearing load pattern.\"}}\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\":\"Journal Bearing Frequencies\",\"item\":\"https:\/\/vibromera.eu\/calculators\/journal-bearing-frequencies\/\"}\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 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: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:3000px; 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 TABLE \u2500\u2500 *\/\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 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-danger-box { background:var(--vc-red-light); border-left:3px solid var(--vc-red); 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\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-journal-bearing\">\n\n<!-- Header -->\n<header class=\"vc-header\">\n    <p class=\"vc-header-eyebrow\">Free Engineering Tool<\/p>\n    <h1 class=\"vc-header-title\">Journal Bearing Defect Frequencies<\/h1>\n    <p class=\"vc-header-subtitle\">Calculate oil whirl frequency range, oil whip indicators, shaft frequency, and sub-synchronous vibration characteristics for plain\/sleeve journal bearings.<\/p>\n    <div class=\"vc-badges\">\n        <span class=\"vc-badge\">Oil Whirl<\/span>\n        <span class=\"vc-badge\">Oil Whip<\/span>\n        <span class=\"vc-badge\">Sub-synchronous<\/span>\n    <\/div>\n<\/header>\n\n<!-- Calculator Card -->\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-rpm\">Shaft Speed <span class=\"vc-label-hint\">(RPM)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-rpm\" inputmode=\"decimal\" step=\"any\" min=\"1\" placeholder=\"e.g. 3000\" value=\"3000\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-clearance\">Bearing Clearance Ratio <span class=\"vc-label-hint\">(optional, c\/R \u00d7 10\u207b\u00b3)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-clearance\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"e.g. 1.5 (typical 1\u20133)\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-oiltemp\">Oil Temperature <span class=\"vc-label-hint\">(optional, \u00b0C, for reference)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-oiltemp\" inputmode=\"decimal\" step=\"any\" placeholder=\"e.g. 55\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-whirl-ratio\">Oil Whirl Ratio <span class=\"vc-label-hint\">(typical 0.43, range 0.42\u20130.48)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-whirl-ratio\" inputmode=\"decimal\" step=\"0.01\" min=\"0.30\" max=\"0.50\" placeholder=\"0.43\" value=\"0.43\">\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-rpm=\"3000\" data-cr=\"\" data-temp=\"\" data-wr=\"0.43\">3000 RPM<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-rpm=\"1500\" data-cr=\"\" data-temp=\"\" data-wr=\"0.43\">1500 RPM<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-rpm=\"7200\" data-cr=\"1.5\" data-temp=\"65\" data-wr=\"0.43\">7200 RPM turbo<\/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\">Oil Whirl Frequency Range<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-whirl\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Typical Oil Whirl (at selected ratio)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-whirl-typical\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Shaft Frequency (1\u00d7)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-fshaft\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">2\u00d7 Shaft (misalignment check)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-2x\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\" id=\"vc-rcard-clearance\" style=\"display:none;\">\n                <div class=\"vc-rcard-label\">Bearing Clearance Ratio<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-clearance\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\" id=\"vc-rcard-temp\" style=\"display:none;\">\n                <div class=\"vc-rcard-label\">Oil Temperature (reference)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-temp\">\u2014<\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Frequency Summary Table -->\n        <h3 style=\"font-family:var(--vc-display);font-size:17px;font-weight:700;margin:0 0 10px;\">Key Frequency Summary<\/h3>\n        <table class=\"vc-table\" id=\"vc-freq-table\">\n            <thead><tr><th>Frequency<\/th><th>Hz<\/th><th>CPM<\/th><th>Indicator<\/th><\/tr><\/thead>\n            <tbody id=\"vc-freq-body\"><\/tbody>\n        <\/table>\n\n        <div class=\"vc-warning-box\" id=\"vc-whip-warning\" style=\"margin-top:14px;\">\n            <p style=\"margin:0;font-size:14px;color:var(--vc-ink-secondary);\"><strong>\u26a0\ufe0f Oil Whip:<\/strong> If operating speed exceeds approximately 2\u00d7 the first critical speed, oil whirl may lock onto the rotor natural frequency, producing oil whip \u2014 a severe instability condition. Monitor sub-synchronous components closely.<\/p>\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>Oil Whirl<\/h3>\n            <p>Oil whirl is a self-excited vibration in fluid-film journal bearings. The oil film wedge generates a force that drives the shaft into a forward precessional orbit at a frequency below shaft speed:<\/p>\n            <div class=\"vc-formula-box\" id=\"vc-katex-1\"><\/div>\n            <p>The typical whirl ratio is ~0.43, but ranges from 0.42 to 0.48 depending on bearing geometry, load, oil viscosity, and clearance.<\/p>\n\n            <h3>Oil Whip<\/h3>\n            <p>Oil whip occurs when the oil whirl frequency coincides with the rotor&#8217;s first bending critical speed. At this point, the sub-synchronous vibration &#8220;locks on&#8221; to the critical speed and no longer tracks shaft speed:<\/p>\n            <div class=\"vc-formula-box\" id=\"vc-katex-2\"><\/div>\n            <p>Oil whip is a potentially destructive condition requiring immediate attention.<\/p>\n\n            <h3>Shaft Frequency<\/h3>\n            <div class=\"vc-formula-box\" id=\"vc-katex-3\"><\/div>\n\n            <h3>Key Vibration Indicators<\/h3>\n            <table class=\"vc-table\">\n                <thead><tr><th>Frequency<\/th><th>Pattern<\/th><th>Indication<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>0.42\u20130.48\u00d7 shaft<\/td><td>Sub-synchronous, forward precession<\/td><td>Oil whirl \u2014 bearing instability onset<\/td><\/tr>\n                    <tr><td>Locked sub-sync<\/td><td>Fixed frequency regardless of speed<\/td><td>Oil whip \u2014 locked to 1st critical<\/td><\/tr>\n                    <tr><td>1\u00d7 shaft<\/td><td>Synchronous<\/td><td>Normal unbalance response<\/td><\/tr>\n                    <tr><td>2\u00d7 shaft<\/td><td>Second harmonic<\/td><td>Misalignment, looseness, or non-linear response<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <div class=\"vc-example-box\">\n                <div class=\"vc-example-title\">Example \u2014 Steam Turbine at 3000 RPM<\/div>\n                <p><strong>Given:<\/strong> Shaft speed = 3000 RPM, Whirl ratio = 0.43<\/p>\n                <p>Shaft freq = 3000 \/ 60 = <strong>50.0 Hz<\/strong><\/p>\n                <p>Oil whirl range = 0.42\u00d750 to 0.48\u00d750 = <strong>21.0 \u2013 24.0 Hz<\/strong><\/p>\n                <p>Typical whirl = 0.43 \u00d7 50 = <strong>21.5 Hz<\/strong> (1290 CPM)<\/p>\n                <p>2\u00d7 shaft = <strong>100.0 Hz<\/strong><\/p>\n            <\/div>\n\n            <div class=\"vc-info-box\">\n                <p><strong>Diagnostic tip:<\/strong> Oil whirl tracks shaft speed (frequency changes proportionally). Oil whip does NOT track speed \u2014 it remains locked to the critical speed. This is the primary way to distinguish between the two conditions during run-up or coast-down.<\/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\/bearing-defect-frequencies\/\">Rolling Bearing Defect Frequencies<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/belt-defect-frequencies\/\">Belt Defect Frequencies<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/residual-unbalance-iso1940\/\">Residual Unbalance (ISO 1940)<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/vibration-velocity\/\">Vibration Velocity (ISO 10816)<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/pump-cavitation-frequency\/\">Pump Cavitation Frequency<\/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 vibration analysis instruments for diagnosing journal bearing issues. Sub-synchronous tracking and orbit analysis. 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;\">Journal bearing defect frequency reference. 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 = 'journal-bearing-frequencies';\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 rpm = parseFloat($('vc-rpm').value);\n        var clearance = parseFloat($('vc-clearance').value);\n        var oiltemp = parseFloat($('vc-oiltemp').value);\n        var whirlRatio = parseFloat($('vc-whirl-ratio').value) || 0.43;\n\n        if (!rpm || rpm <= 0) {\n            $('vc-results').classList.remove('vc-visible');\n            return;\n        }\n\n        \/\/ Shaft frequency\n        var fShaft = rpm \/ 60;\n\n        \/\/ Oil whirl frequency range (0.42-0.48 \u00d7 shaft freq)\n        var fWhirlLow = 0.42 * fShaft;\n        var fWhirlHigh = 0.48 * fShaft;\n        var fWhirlTypical = whirlRatio * fShaft;\n\n        \/\/ 2\u00d7 shaft\n        var f2x = 2 * fShaft;\n\n        \/\/ Display\n        $('vc-r-whirl').innerHTML = fmt(fWhirlLow, 2) + ' \u2013 ' + fmt(fWhirlHigh, 2) + ' <span class=\"vc-rcard-unit\">Hz<\/span>';\n        $('vc-r-whirl-typical').innerHTML = fmt(fWhirlTypical, 2) + ' <span class=\"vc-rcard-unit\">Hz<\/span> <span class=\"vc-rcard-unit\">(' + fmt(fWhirlTypical * 60, 0) + ' CPM)<\/span>';\n        $('vc-r-fshaft').innerHTML = fmt(fShaft, 3) + ' <span class=\"vc-rcard-unit\">Hz<\/span> <span class=\"vc-rcard-unit\">(' + fmt(rpm, 0) + ' CPM)<\/span>';\n        $('vc-r-2x').innerHTML = fmt(f2x, 2) + ' <span class=\"vc-rcard-unit\">Hz<\/span> <span class=\"vc-rcard-unit\">(' + fmt(f2x * 60, 0) + ' CPM)<\/span>';\n\n        \/\/ Optional fields\n        if (!isNaN(clearance) && clearance > 0) {\n            $('vc-rcard-clearance').style.display = '';\n            $('vc-r-clearance').innerHTML = fmt(clearance, 2) + ' <span class=\"vc-rcard-unit\">\u00d7 10\u207b\u00b3<\/span>';\n        } else {\n            $('vc-rcard-clearance').style.display = 'none';\n        }\n\n        if (!isNaN(oiltemp)) {\n            $('vc-rcard-temp').style.display = '';\n            $('vc-r-temp').innerHTML = fmt(oiltemp, 0) + ' <span class=\"vc-rcard-unit\">\u00b0C<\/span>';\n        } else {\n            $('vc-rcard-temp').style.display = 'none';\n        }\n\n        \/\/ Frequency summary table\n        var tbody = $('vc-freq-body');\n        tbody.innerHTML = '';\n        tbody.innerHTML += '<tr><td><strong>Oil Whirl (low)<\/strong><\/td><td>' + fmt(fWhirlLow, 2) + '<\/td><td>' + fmt(fWhirlLow * 60, 0) + '<\/td><td>0.42\u00d7 shaft \u2014 whirl lower bound<\/td><\/tr>';\n        tbody.innerHTML += '<tr><td><strong>Oil Whirl (typical)<\/strong><\/td><td>' + fmt(fWhirlTypical, 2) + '<\/td><td>' + fmt(fWhirlTypical * 60, 0) + '<\/td><td>' + fmt(whirlRatio, 2) + '\u00d7 shaft \u2014 most common whirl freq<\/td><\/tr>';\n        tbody.innerHTML += '<tr><td><strong>Oil Whirl (high)<\/strong><\/td><td>' + fmt(fWhirlHigh, 2) + '<\/td><td>' + fmt(fWhirlHigh * 60, 0) + '<\/td><td>0.48\u00d7 shaft \u2014 whirl upper bound<\/td><\/tr>';\n        tbody.innerHTML += '<tr style=\"border-top:2px solid var(--vc-border);\"><td><strong>1\u00d7 Shaft<\/strong><\/td><td>' + fmt(fShaft, 3) + '<\/td><td>' + fmt(rpm, 0) + '<\/td><td>Synchronous \u2014 unbalance, bow<\/td><\/tr>';\n        tbody.innerHTML += '<tr><td><strong>2\u00d7 Shaft<\/strong><\/td><td>' + fmt(f2x, 2) + '<\/td><td>' + fmt(f2x * 60, 0) + '<\/td><td>Misalignment, looseness<\/td><\/tr>';\n        tbody.innerHTML += '<tr><td><strong>\u00bd\u00d7 Shaft<\/strong><\/td><td>' + fmt(fShaft \/ 2, 2) + '<\/td><td>' + fmt(rpm \/ 2, 0) + '<\/td><td>Rub, loose rotating parts<\/td><\/tr>';\n\n        $('vc-results').classList.add('vc-visible');\n\n        \/\/ URL params\n        var u = new URL(window.location);\n        u.searchParams.set('rpm', rpm);\n        if (!isNaN(clearance) && clearance > 0) u.searchParams.set('clearance', clearance);\n        if (!isNaN(oiltemp)) u.searchParams.set('oiltemp', oiltemp);\n        u.searchParams.set('wr', whirlRatio);\n        history.replaceState(null, '', u.toString());\n\n        \/\/ History\n        saveHistory({ rpm: rpm, clearance: clearance || '', oiltemp: oiltemp || '', wr: whirlRatio, _summary: rpm + ' RPM, whirl ratio ' + whirlRatio });\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            $('vc-rpm').value = this.getAttribute('data-rpm');\n            $('vc-clearance').value = this.getAttribute('data-cr') || '';\n            $('vc-oiltemp').value = this.getAttribute('data-temp') || '';\n            $('vc-whirl-ratio').value = this.getAttribute('data-wr');\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 text = 'Journal Bearing Defect Frequency 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            'Shaft Speed: ' + $('vc-rpm').value + ' RPM\\n' +\n            'Whirl Ratio: ' + ($('vc-whirl-ratio').value || '0.43') + '\\n' +\n            'Oil Whirl Range: ' + $('vc-r-whirl').textContent + '\\n' +\n            'Typical Whirl: ' + $('vc-r-whirl-typical').textContent + '\\n' +\n            'Shaft Freq (1\u00d7): ' + $('vc-r-fshaft').textContent + '\\n' +\n            '2\u00d7 Shaft: ' + $('vc-r-2x').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\/journal-bearing-frequencies\/';\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 oil whirl in journal bearings?', a: '<p>Oil whirl is a self-excited vibration in fluid-film (journal) bearings caused by the oil wedge pushing the shaft in a forward precessional orbit. It occurs at approximately 0.42\u20130.48\u00d7 shaft speed (often cited as ~0.43\u00d7).<\/p><p>Oil whirl amplitude increases with speed and can become unstable, eventually transitioning to oil whip if uncorrected.<\/p>' },\n        { q: 'What is oil whip and how does it differ from oil whirl?', a: '<p>Oil whip occurs when oil whirl frequency coincides with the rotor\\'s first natural frequency (first bending critical speed). At this point, the whirl frequency \"locks on\" to the natural frequency and does not increase further with speed.<\/p><p>Key difference: oil whirl tracks shaft speed (proportional), oil whip is fixed at the critical speed regardless of operating speed. Oil whip is a severe instability condition with potentially destructive vibration levels.<\/p>' },\n        { q: 'How do I distinguish oil whirl from other sub-synchronous vibrations?', a: '<p>Oil whirl is identified by:<\/p><ul><li>Frequency at ~0.42\u20130.48\u00d7 shaft speed<\/li><li>Forward precession orbit (shaft whirls in same direction as rotation)<\/li><li>Frequency <strong>tracks shaft speed<\/strong> proportionally \u2014 this is key<\/li><li>Amplitude typically increases with speed<\/li><\/ul><p>Other sub-synchronous sources like rub or loose components typically occur at exact sub-harmonics (\u00bd\u00d7, \u2153\u00d7) and may show reverse precession.<\/p>' },\n        { q: 'What causes oil whirl onset?', a: '<p>Oil whirl onset depends on several factors:<\/p><ul><li>Shaft speed exceeding the stability threshold<\/li><li>Light bearing load (lightly loaded bearings are more prone)<\/li><li>Low oil viscosity (high temperature or wrong oil grade)<\/li><li>Excessive bearing clearance (worn bearings)<\/li><li>Misalignment or unbalance affecting load distribution<\/li><\/ul>' },\n        { q: 'How to prevent or fix oil whirl and oil whip?', a: '<p>Solutions include:<\/p><ul><li>Increase bearing load or reduce clearance<\/li><li>Use anti-whirl bearing designs (tilting pad, pressure dam, lemon bore)<\/li><li>Change oil viscosity (grade or temperature control)<\/li><li>Reduce operating speed below instability threshold<\/li><li>Improve shaft alignment and balance to stabilize bearing load<\/li><li>Add external damping or squeeze-film dampers<\/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    \/* \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        if (p.get('rpm')) $('vc-rpm').value = p.get('rpm');\n        if (p.get('clearance')) $('vc-clearance').value = p.get('clearance');\n        if (p.get('oiltemp')) $('vc-oiltemp').value = p.get('oiltemp');\n        if (p.get('wr')) $('vc-whirl-ratio').value = p.get('wr');\n    }\n\n    \/* \u2500\u2500 KATEX \u2500\u2500 *\/\n    function renderFormulas() {\n        try {\n            katex.render('f_{whirl} = (0.42 \\\\ldots 0.48) \\\\times \\\\frac{n}{60} \\\\quad [\\\\text{Hz}]', $('vc-katex-1'), { displayMode: true, throwOnError: false });\n            katex.render('f_{whip} = f_{\\\\text{1st critical}} \\\\quad \\\\text{(locks on, does not track speed)}', $('vc-katex-2'), { displayMode: true, throwOnError: false });\n            katex.render('f_{shaft} = \\\\frac{n}{60} \\\\quad [\\\\text{Hz}]', $('vc-katex-3'), { displayMode: true, throwOnError: false });\n        } catch(e) {}\n    }\n\n    \/* \u2500\u2500 INIT \u2500\u2500 *\/\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>\u099c\u09be\u09b0\u09cd\u09a8\u09be\u09b2 (\u09b8\u09be\u09a7\u09be\u09b0\u09a3) \u09ac\u09c7\u09af\u09bc\u09be\u09b0\u09bf\u0982 \u09a4\u09cd\u09b0\u09c1\u099f\u09bf \u09ab\u09cd\u09b0\u09bf\u0995\u09cb\u09af\u09bc\u09c7\u09a8\u09cd\u09b8\u09bf\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 \u09a4\u09c7\u09b2 \u0998\u09c2\u09b0\u09cd\u09a3\u09a8 \u09ab\u09cd\u09b0\u09bf\u0995\u09cb\u09af\u09bc\u09c7\u09a8\u09cd\u09b8\u09bf \u09b0\u09c7\u099e\u09cd\u099c, \u09a4\u09c7\u09b2 \u09b9\u09c1\u0987\u09aa \u09ab\u09cd\u09b0\u09bf\u0995\u09cb\u09af\u09bc\u09c7\u09a8\u09cd\u09b8\u09bf, \u09b6\u09cd\u09af\u09be\u09ab\u099f \u09ab\u09cd\u09b0\u09bf\u0995\u09cb\u09af\u09bc\u09c7\u09a8\u09cd\u09b8\u09bf \u098f\u09ac\u0982 \u09b8\u09be\u09ac-\u09b8\u09bf\u0999\u09cd\u0995\u09cd\u09b0\u09cb\u09a8\u09be\u09b8 \u0995\u09ae\u09cd\u09aa\u09a8 \u09b8\u09c2\u099a\u0995 \u0997\u09a3\u09a8\u09be \u0995\u09b0\u09c1\u09a8\u0964<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100141","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100141","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":1,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100141\/revisions"}],"predecessor-version":[{"id":100455,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100141\/revisions\/100455"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/media?parent=100141"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/categories?post=100141"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/tags?post=100141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}