{"id":100002,"date":"2026-02-15T20:05:27","date_gmt":"2026-02-15T20:05:27","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100002"},"modified":"2026-02-15T20:05:27","modified_gmt":"2026-02-15T20:05:27","slug":"affinity-laws-calculator","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/pt_br\/calculators\/affinity-laws-calculator\/","title":{"rendered":"Calculadora de Leis de Afinidade | Altera\u00e7\u00e3o da Velocidade da Bomba e do Ventilador"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Affinity Laws Calculator\",\"alternateName\":[\"Pump Speed Calculator\",\"Fan Laws Calculator\",\"VFD Savings Calculator\"],\"description\":\"Free online engineering calculator for pump and fan affinity laws. Calculate new flow, head\/pressure, and power when speed or impeller diameter changes.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/affinity-laws-calculator\/\",\"applicationCategory\":\"Engineering Calculator\",\"operatingSystem\":\"Any (Web Browser)\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"},\"datePublished\":\"2024-01-01\",\"dateModified\":\"2025-02-14\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true,\"featureList\":[\"Speed change laws\",\"Diameter change laws\",\"Flow, head, and power calculation\",\"Speed ratio display\",\"URL parameter sharing\",\"Calculation history\"],\"keywords\":\"affinity laws, pump speed, fan laws, VFD, impeller diameter\"}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"What are the affinity laws?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The affinity laws (also called fan laws or pump laws) are a set of three relationships that describe how flow, head\/pressure, and power change with rotational speed or impeller diameter for centrifugal pumps, fans, and turbines. Flow varies linearly, head varies as the square, and power varies as the cube of the speed ratio.\"}},\n{\"@type\":\"Question\",\"name\":\"When do affinity laws apply?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Affinity laws apply to centrifugal pumps, fans, and blowers operating on a fixed system curve. They assume geometrically similar conditions and incompressible flow. They work best for speed changes up to about \u00b130% from the design point.\"}},\n{\"@type\":\"Question\",\"name\":\"What are the limitations of affinity laws?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Affinity laws are approximations. They do not account for efficiency changes at off-design conditions, system curve shifts, cavitation, or compressibility effects. For large speed or diameter changes (>30%), actual performance may deviate significantly from predictions.\"}},\n{\"@type\":\"Question\",\"name\":\"How does VFD speed control save energy?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Because power varies as the cube of speed, even a small speed reduction yields large energy savings. Reducing speed by 20% reduces power consumption by approximately 49% (0.8\u00b3 = 0.512). This is why Variable Frequency Drives (VFDs) are highly cost-effective for flow control compared to throttling valves.\"}},\n{\"@type\":\"Question\",\"name\":\"What is the relationship between flow and pressure?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Per the affinity laws, if speed changes by a ratio r, flow changes by r and pressure\/head changes by r\u00b2. So if you double the speed, flow doubles but pressure quadruples. If you halve the speed, flow halves but pressure drops to one quarter.\"}}\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\":\"Affinity Laws Calculator\",\"item\":\"https:\/\/vibromera.eu\/calculators\/affinity-laws-calculator\/\"}\n]}\n<\/script>\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&#038;family=JetBrains+Mono:wght@400;500;600&#038;family=Fraunces:opsz,wght@9..144,700;9..144,800&#038;display=swap\" rel=\"stylesheet\">\n\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.css\">\n\n<style>\n:root {\n    --vc-bg: #f4f1ec;\n    --vc-surface: #ffffff;\n    --vc-surface-alt: #f8f6f2;\n    --vc-ink: #1a1a1a;\n    --vc-ink-secondary: #5a5650;\n    --vc-ink-muted: #8a857e;\n    --vc-accent: #c85a2a;\n    --vc-accent-hover: #b04d22;\n    --vc-accent-light: #fdf0ea;\n    --vc-blue: #2a5c8c;\n    --vc-blue-light: #eaf1f8;\n    --vc-green: #2a7a4b;\n    --vc-green-light: #eaf8ef;\n    --vc-yellow: #a67c00;\n    --vc-yellow-light: #fef9e8;\n    --vc-red: #b91c1c;\n    --vc-red-light: #fef2f2;\n    --vc-border: #d9d4cc;\n    --vc-border-light: #e8e4dd;\n    --vc-shadow: 0 1px 3px rgba(26,26,26,0.06), 0 4px 12px rgba(26,26,26,0.04);\n    --vc-shadow-lg: 0 4px 12px rgba(26,26,26,0.08), 0 16px 40px rgba(26,26,26,0.06);\n    --vc-radius: 8px;\n    --vc-radius-lg: 12px;\n    --vc-font: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n    --vc-mono: 'JetBrains Mono', 'Consolas', 'Monaco', monospace;\n    --vc-display: 'Fraunces', Georgia, serif;\n}\n\n.vc-calculator {\n    font-family: var(--vc-font);\n    font-size: 15px;\n    line-height: 1.65;\n    color: var(--vc-ink);\n    max-width: 960px;\n    margin: 0 auto;\n    padding: 20px 16px 40px;\n    -webkit-font-smoothing: antialiased;\n}\n.vc-calculator *, .vc-calculator *::before, .vc-calculator *::after { box-sizing: border-box; }\n\n\/* \u2500\u2500 HEADER \u2500\u2500 *\/\n.vc-header { text-align: center; padding: 48px 24px 40px; position: relative; }\n.vc-header::after { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:80px; height:3px; background:var(--vc-accent); border-radius:2px; }\n.vc-header-eyebrow { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--vc-accent); margin:0 0 12px; }\n.vc-header-title { font-family:var(--vc-display); font-size:clamp(24px,4vw,36px); font-weight:800; line-height:1.15; color:var(--vc-ink); margin:0 0 16px; letter-spacing:-0.02em; }\n.vc-header-subtitle { font-size:15px; color:var(--vc-ink-secondary); margin:0 auto 20px; max-width:600px; }\n.vc-badges { display:inline-flex; gap:8px; flex-wrap:wrap; justify-content:center; }\n.vc-badge { font-family:var(--vc-mono); font-size:11px; font-weight:500; padding:4px 10px; border-radius:4px; background:var(--vc-surface); border:1px solid var(--vc-border); color:var(--vc-ink-secondary); }\n\n\/* \u2500\u2500 CARD \u2500\u2500 *\/\n.vc-card { background:var(--vc-surface); border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); box-shadow:var(--vc-shadow); overflow:hidden; margin-top:32px; }\n\n\/* \u2500\u2500 UNIT TOGGLE \u2500\u2500 *\/\n.vc-unit-bar { display:flex; border-bottom:1px solid var(--vc-border-light); background:var(--vc-surface-alt); }\n.vc-unit-btn { flex:1; padding:12px; border:none; background:transparent; font-family:var(--vc-font); font-size:13px; font-weight:600; color:var(--vc-ink-muted); cursor:pointer; transition:all 0.2s; position:relative; }\n.vc-unit-btn:hover { color:var(--vc-ink-secondary); background:rgba(200,90,42,0.04); }\n.vc-unit-btn.vc-active { color:var(--vc-accent); background:var(--vc-surface); }\n.vc-unit-btn.vc-active::after { content:''; position:absolute; bottom:-1px; left:16px; right:16px; height:2px; background:var(--vc-accent); border-radius:1px 1px 0 0; }\n\n\/* \u2500\u2500 FORM \u2500\u2500 *\/\n.vc-form { padding:24px; }\n.vc-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }\n@media(max-width:600px) { .vc-form-grid { grid-template-columns:1fr; } }\n.vc-field { display:flex; flex-direction:column; }\n.vc-field-full { grid-column: 1 \/ -1; }\n.vc-label { font-size:12px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:var(--vc-ink-secondary); margin-bottom:6px; }\n.vc-label-hint { font-weight:400; text-transform:none; letter-spacing:0; color:var(--vc-ink-muted); font-size:11px; }\n.vc-select, .vc-input { width:100%; padding:10px 12px; border:1.5px solid var(--vc-border); border-radius:6px; font-family:var(--vc-font); font-size:14px; color:var(--vc-ink); background:var(--vc-surface); transition:border-color 0.15s, box-shadow 0.15s; }\n.vc-select { padding-right:36px; appearance:none; -webkit-appearance:none; cursor:pointer; background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='none' stroke='%235a5650' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'\/%3E%3C\/svg%3E\"); background-repeat:no-repeat; background-position:right 10px center; }\n.vc-select:focus, .vc-input:focus { outline:none; border-color:var(--vc-accent); box-shadow:0 0 0 3px rgba(200,90,42,0.12); }\n.vc-select:hover, .vc-input:hover { border-color:var(--vc-ink-muted); }\n\n\/* \u2500\u2500 PRESETS \u2500\u2500 *\/\n.vc-presets { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; padding-top:18px; border-top:1px solid var(--vc-border-light); }\n.vc-presets-label { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); width:100%; margin-bottom:2px; }\n.vc-preset-btn { padding:5px 12px; font-family:var(--vc-font); font-size:12px; font-weight:500; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-surface-alt); color:var(--vc-ink-secondary); cursor:pointer; transition:all 0.15s; }\n.vc-preset-btn:hover { border-color:var(--vc-accent); color:var(--vc-accent); background:var(--vc-accent-light); }\n\n\/* \u2500\u2500 RESULTS \u2500\u2500 *\/\n.vc-results { border-top:1px solid var(--vc-border-light); background:var(--vc-surface-alt); padding:0; max-height:0; overflow:hidden; transition:max-height 0.5s cubic-bezier(0.4,0,0.2,1), padding 0.3s; }\n.vc-results.vc-visible { max-height:2000px; padding:24px; }\n.vc-results-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }\n.vc-results-title { font-family:var(--vc-display); font-size:20px; font-weight:700; color:var(--vc-ink); margin:0; }\n.vc-copy-btn { display:inline-flex; align-items:center; gap:5px; padding:6px 12px; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-surface); font-family:var(--vc-font); font-size:12px; font-weight:500; color:var(--vc-ink-secondary); cursor:pointer; transition:all 0.15s; }\n.vc-copy-btn:hover { border-color:var(--vc-accent); color:var(--vc-accent); }\n.vc-copy-btn.vc-copied { background:var(--vc-green-light); border-color:var(--vc-green); color:var(--vc-green); }\n\n.vc-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }\n@media(max-width:500px) { .vc-result-grid { grid-template-columns:1fr; } }\n.vc-rcard { background:var(--vc-surface); border:1px solid var(--vc-border-light); border-radius:var(--vc-radius); padding:16px; transition:transform 0.2s; }\n.vc-rcard:hover { transform:translateY(-1px); }\n.vc-rcard-primary { border-color:var(--vc-accent); border-width:2px; background:linear-gradient(135deg, #fdf6f2 0%, var(--vc-surface) 100%); grid-column:1 \/ -1; }\n.vc-rcard-label { font-family:var(--vc-mono); font-size:10px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); margin-bottom:4px; }\n.vc-rcard-value { font-family:var(--vc-mono); font-size:22px; font-weight:600; color:var(--vc-ink); line-height:1.2; }\n.vc-rcard-primary .vc-rcard-value { font-size:30px; color:var(--vc-accent); }\n.vc-rcard-unit { font-size:14px; font-weight:400; color:var(--vc-ink-secondary); }\n\n\/* \u2500\u2500 COLLAPSIBLE SECTIONS \u2500\u2500 *\/\n.vc-section { margin-top:24px; border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); background:var(--vc-surface); box-shadow:var(--vc-shadow); overflow:hidden; }\n.vc-section-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border:none; background:transparent; cursor:pointer; font-family:var(--vc-font); text-align:left; transition:background 0.15s; }\n.vc-section-toggle:hover { background:var(--vc-surface-alt); }\n.vc-section-toggle-text { display:flex; align-items:center; gap:10px; }\n.vc-section-icon { font-size:20px; line-height:1; }\n.vc-section-title { font-family:var(--vc-display); font-size:18px; font-weight:700; color:var(--vc-ink); margin:0; }\n.vc-section-chevron { width:20px; height:20px; color:var(--vc-ink-muted); transition:transform 0.3s; flex-shrink:0; }\n.vc-section.vc-open .vc-section-chevron { transform:rotate(180deg); }\n.vc-section-body { max-height:0; overflow:hidden; transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1); }\n.vc-section.vc-open .vc-section-body { max-height:20000px; }\n.vc-section-inner { padding:0 24px 24px; border-top:1px solid var(--vc-border-light); }\n\n\/* \u2500\u2500 THEORY \u2500\u2500 *\/\n.vc-theory h3 { font-family:var(--vc-display); font-size:17px; font-weight:700; color:var(--vc-ink); margin:28px 0 10px; }\n.vc-theory h3:first-child { margin-top:20px; }\n.vc-theory p { font-size:14px; color:var(--vc-ink-secondary); margin:0 0 10px; }\n.vc-theory ul, .vc-theory ol { font-size:14px; color:var(--vc-ink-secondary); margin:0 0 12px 18px; padding:0; }\n.vc-theory li { margin-bottom:5px; }\n.vc-formula-box { background:var(--vc-surface-alt); border:2px solid var(--vc-border); border-radius:6px; padding:14px 20px; font-family:var(--vc-mono); font-size:16px; font-weight:500; text-align:center; margin:14px 0; color:var(--vc-ink); overflow-x:auto; }\n.vc-info-box { background:var(--vc-blue-light); border-left:3px solid var(--vc-blue); padding:14px 16px; border-radius:0 6px 6px 0; margin:14px 0; }\n.vc-info-box p { margin:0; font-size:14px; color:var(--vc-ink-secondary); }\n.vc-warning-box { background:var(--vc-yellow-light); border-left:3px solid var(--vc-yellow); padding:14px 16px; border-radius:0 6px 6px 0; margin:14px 0; }\n.vc-example-box { background:var(--vc-surface-alt); border:1px solid var(--vc-border-light); border-radius:6px; padding:16px; margin:14px 0; }\n.vc-example-title { font-family:var(--vc-mono); font-size:13px; font-weight:600; color:var(--vc-accent); margin-bottom:8px; }\n.vc-table { width:100%; border-collapse:collapse; margin:14px 0; font-size:13px; }\n.vc-table th, .vc-table td { padding:10px 12px; border:1px solid var(--vc-border-light); text-align:left; }\n.vc-table th { background:var(--vc-surface-alt); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.05em; color:var(--vc-ink-secondary); }\n.vc-table tr:nth-child(even) { background:var(--vc-surface-alt); }\n@media(max-width:600px) { .vc-table { font-size:12px; } .vc-table th, .vc-table td { padding:8px; } }\n\n\/* \u2500\u2500 FAQ \u2500\u2500 *\/\n.vc-faq-list { display:flex; flex-direction:column; gap:8px; margin-top:20px; }\n.vc-faq-item { border:1px solid var(--vc-border-light); border-radius:6px; overflow:hidden; }\n.vc-faq-q { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border:none; background:var(--vc-surface-alt); cursor:pointer; font-family:var(--vc-font); font-size:15px; font-weight:600; color:var(--vc-ink); text-align:left; transition:background 0.15s; }\n.vc-faq-q:hover { background:#ede9e3; }\n.vc-faq-chevron { width:16px; height:16px; color:var(--vc-ink-muted); flex-shrink:0; transition:transform 0.25s; }\n.vc-faq-item.vc-open .vc-faq-chevron { transform:rotate(180deg); }\n.vc-faq-a { max-height:0; overflow:hidden; transition:max-height 0.35s; }\n.vc-faq-item.vc-open .vc-faq-a { max-height:1200px; }\n.vc-faq-a-inner { padding:14px 16px; border-top:1px solid var(--vc-border-light); font-size:14px; color:var(--vc-ink-secondary); }\n.vc-faq-a-inner p { margin:0 0 8px; }\n.vc-faq-a-inner p:last-child { margin-bottom:0; }\n.vc-faq-a-inner ul { margin:4px 0 8px 16px; padding:0; }\n.vc-faq-a-inner li { margin-bottom:3px; }\n\n\/* \u2500\u2500 RELATED \u2500\u2500 *\/\n.vc-related { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }\n.vc-related-link { display:inline-block; padding:8px 16px; font-family:var(--vc-font); font-size:13px; font-weight:600; background:var(--vc-surface-alt); color:var(--vc-ink-secondary); border:1px solid var(--vc-border); border-radius:var(--vc-radius); text-decoration:none; transition:all 0.15s; }\n.vc-related-link:hover { border-color:var(--vc-accent); color:var(--vc-accent); background:var(--vc-accent-light); }\n\n\/* \u2500\u2500 PROMO \u2500\u2500 *\/\n.vc-promo { margin-top:24px; padding:20px; background:linear-gradient(135deg, var(--vc-accent-light), var(--vc-surface)); border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); display:flex; align-items:center; gap:16px; }\n.vc-promo-text { flex:1; font-size:14px; color:var(--vc-ink-secondary); }\n.vc-promo-text strong { color:var(--vc-ink); }\n.vc-promo-link { padding:8px 20px; font-size:13px; font-weight:700; color:#fff; background:var(--vc-accent); border-radius:var(--vc-radius); text-decoration:none; white-space:nowrap; transition:background 0.15s; }\n.vc-promo-link:hover { background:var(--vc-accent-hover); }\n\n\/* \u2500\u2500 FOOTER \u2500\u2500 *\/\n.vc-footer { text-align:center; padding:32px 16px; font-size:13px; color:var(--vc-ink-muted); }\n.vc-footer a { color:var(--vc-accent); text-decoration:none; }\n.vc-footer a:hover { text-decoration:underline; }\n.vc-footer-links { margin-top:8px; font-size:12px; }\n.vc-footer-links a { margin:0 8px; }\n\n\/* \u2500\u2500 PRINT \u2500\u2500 *\/\n@media print {\n    .vc-section-body { max-height:none!important; }\n    .vc-faq-a { max-height:none!important; }\n    .vc-results { max-height:none!important; padding:24px!important; }\n    .vc-copy-btn, .vc-section-chevron, .vc-faq-chevron, .vc-presets, .vc-promo { display:none!important; }\n}\n<\/style>\n\n<div class=\"vc-calculator\" id=\"vc-affinity-laws\">\n\n<!-- Header -->\n<header class=\"vc-header\">\n    <p class=\"vc-header-eyebrow\">Free Engineering Tool<\/p>\n    <h1 class=\"vc-header-title\">Affinity Laws Calculator<\/h1>\n    <p class=\"vc-header-subtitle\">Calculate new flow, head\/pressure, and power when pump or fan speed (or impeller diameter) changes. Based on the centrifugal pump affinity laws.<\/p>\n    <div class=\"vc-badges\">\n        <span class=\"vc-badge\">Pumps &amp; Fans<\/span>\n        <span class=\"vc-badge\">Speed &amp; Diameter<\/span>\n        <span class=\"vc-badge\">VFD Savings<\/span>\n    <\/div>\n<\/header>\n\n<!-- Calculator Card -->\n<div class=\"vc-card\">\n    <div class=\"vc-unit-bar\">\n        <button type=\"button\" class=\"vc-unit-btn vc-active\" data-mode=\"speed\">Speed Change (n\u2082\/n\u2081)<\/button>\n        <button type=\"button\" class=\"vc-unit-btn\" data-mode=\"diameter\">Diameter Change (D\u2082\/D\u2081)<\/button>\n    <\/div>\n\n    <form class=\"vc-form\" id=\"vc-form\" autocomplete=\"off\">\n        <div class=\"vc-form-grid\">\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-n1\" id=\"vc-n1-label\">Original Speed <span class=\"vc-label-hint\">(RPM)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-n1\" inputmode=\"decimal\" step=\"any\" min=\"0.001\" placeholder=\"e.g. 1450\" value=\"1450\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-n2\" id=\"vc-n2-label\">New Speed <span class=\"vc-label-hint\">(RPM)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-n2\" inputmode=\"decimal\" step=\"any\" min=\"0.001\" placeholder=\"e.g. 1750\" value=\"1750\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-q1\">Original Flow Q\u2081 <span class=\"vc-label-hint\" id=\"vc-q1-hint\">(m\u00b3\/h, GPM, CFM\u2026)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-q1\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"e.g. 100\" value=\"100\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-h1\">Original Head\/Pressure H\u2081 <span class=\"vc-label-hint\" id=\"vc-h1-hint\">(m, ft, inWG\u2026)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-h1\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"e.g. 25\" value=\"25\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-p1\">Original Power P\u2081 <span class=\"vc-label-hint\" id=\"vc-p1-hint\">(kW, hp\u2026)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-p1\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"e.g. 7.5\" value=\"7.5\">\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-mode=\"speed\" data-n1=\"1450\" data-n2=\"1750\" data-q1=\"100\" data-h1=\"25\" data-p1=\"7.5\">Pump 1450\u21921750 RPM<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-mode=\"speed\" data-n1=\"1000\" data-n2=\"1200\" data-q1=\"5000\" data-h1=\"2\" data-p1=\"3\">Fan 1000\u21921200 RPM<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-mode=\"speed\" data-n1=\"2950\" data-n2=\"2200\" data-q1=\"50\" data-h1=\"40\" data-p1=\"11\">VFD Slowdown 2950\u21922200<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-mode=\"diameter\" data-n1=\"250\" data-n2=\"220\" data-q1=\"80\" data-h1=\"30\" data-p1=\"9\">Impeller Trim 250\u2192220 mm<\/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\">New Flow Q\u2082<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-q2\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">New Head \/ Pressure H\u2082<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-h2\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">New Power P\u2082<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-p2\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\" id=\"vc-r-ratio-label\">Speed Ratio (n\u2082\/n\u2081)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-ratio\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Flow Ratio (Q\u2082\/Q\u2081)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-qratio\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Head Ratio (H\u2082\/H\u2081)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-hratio\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Power Ratio (P\u2082\/P\u2081)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-pratio\">\u2014<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Theory & Formulas -->\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>The Three Affinity Laws<\/h3>\n            <p>The affinity laws relate flow rate, head (pressure), and power to changes in rotational speed or impeller diameter for centrifugal pumps, fans, and blowers:<\/p>\n\n            <div class=\"vc-formula-box\" id=\"vc-katex-1\"><\/div>\n            <div class=\"vc-formula-box\" id=\"vc-katex-2\"><\/div>\n            <div class=\"vc-formula-box\" id=\"vc-katex-3\"><\/div>\n\n            <p>Where the ratio can be either n\u2082\/n\u2081 (speed change) or D\u2082\/D\u2081 (diameter change).<\/p>\n\n            <h3>Speed Change vs. Diameter Change<\/h3>\n            <p>The same mathematical relationships apply for both speed changes and impeller diameter changes:<\/p>\n            <table class=\"vc-table\">\n                <thead><tr><th>Parameter<\/th><th>Speed Change<\/th><th>Diameter Change<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>Flow Q<\/td><td>Q\u2082 = Q\u2081 \u00d7 (n\u2082\/n\u2081)<\/td><td>Q\u2082 = Q\u2081 \u00d7 (D\u2082\/D\u2081)<\/td><\/tr>\n                    <tr><td>Head H<\/td><td>H\u2082 = H\u2081 \u00d7 (n\u2082\/n\u2081)\u00b2<\/td><td>H\u2082 = H\u2081 \u00d7 (D\u2082\/D\u2081)\u00b2<\/td><\/tr>\n                    <tr><td>Power P<\/td><td>P\u2082 = P\u2081 \u00d7 (n\u2082\/n\u2081)\u00b3<\/td><td>P\u2082 = P\u2081 \u00d7 (D\u2082\/D\u2081)\u00b3<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <h3>VFD Energy Savings<\/h3>\n            <div class=\"vc-info-box\">\n                <p><strong>Key Insight:<\/strong> Power varies as the <em>cube<\/em> of speed. A 20% speed reduction saves approximately 49% of power (0.8\u00b3 = 0.512). This is why Variable Frequency Drives (VFDs) are one of the most cost-effective energy saving measures for pumps and fans.<\/p>\n            <\/div>\n\n            <table class=\"vc-table\">\n                <thead><tr><th>Speed Reduction<\/th><th>Flow Reduction<\/th><th>Head Reduction<\/th><th>Power Savings<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>10%<\/td><td>10%<\/td><td>19%<\/td><td>27%<\/td><\/tr>\n                    <tr><td>20%<\/td><td>20%<\/td><td>36%<\/td><td>49%<\/td><\/tr>\n                    <tr><td>30%<\/td><td>30%<\/td><td>51%<\/td><td>66%<\/td><\/tr>\n                    <tr><td>40%<\/td><td>40%<\/td><td>64%<\/td><td>78%<\/td><\/tr>\n                    <tr><td>50%<\/td><td>50%<\/td><td>75%<\/td><td>88%<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <h3>Practical Example<\/h3>\n            <div class=\"vc-example-box\">\n                <div class=\"vc-example-title\">Example \u2014 Centrifugal Pump Speed Increase<\/div>\n                <p><strong>Given:<\/strong> n\u2081 = 1450 RPM, n\u2082 = 1750 RPM, Q\u2081 = 100 m\u00b3\/h, H\u2081 = 25 m, P\u2081 = 7.5 kW<\/p>\n                <p>Speed ratio r = 1750 \/ 1450 = 1.2069<\/p>\n                <p>Q\u2082 = 100 \u00d7 1.2069 = <strong>120.7 m\u00b3\/h<\/strong><\/p>\n                <p>H\u2082 = 25 \u00d7 1.2069\u00b2 = <strong>36.4 m<\/strong><\/p>\n                <p>P\u2082 = 7.5 \u00d7 1.2069\u00b3 = <strong>13.2 kW<\/strong><\/p>\n            <\/div>\n\n            <div class=\"vc-warning-box\">\n                <p style=\"margin:0;font-size:14px;color:var(--vc-ink-secondary);\"><strong>\u26a0\ufe0f Limitations:<\/strong> Affinity laws assume constant efficiency, geometrically similar conditions, and incompressible flow. For speed changes beyond \u00b130%, actual performance may deviate significantly. Impeller trimming laws are less accurate than speed change laws \u2014 always verify with manufacturer curves.<\/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\/nominal-bore-converter-dn\/\">DN \/ NPS Converter<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/pipe-flow-velocity\/\">Pipe Flow Velocity<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/pipe-pressure-drop\/\">Pressure Drop (Darcy-Weisbach)<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/npsh-calculator\/\">NPSH Calculator<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/three-phase-motor-power\/\">Motor Power Calculator<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- FAQ -->\n<div class=\"vc-section\" id=\"vc-sec-faq\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\u2753<\/span>\n            <span class=\"vc-section-title\">Frequently Asked Questions<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner\">\n            <div class=\"vc-faq-list\" id=\"vc-faq-list\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Promo -->\n<div class=\"vc-promo\">\n    <div class=\"vc-promo-text\">\n        <strong>Vibromera \u2014 Portable Balancing &amp; Vibration Analysis<\/strong><br>\n        Professional field balancing instruments and software. Achieve optimal pump and fan performance on-site. Used in 50+ countries.\n    <\/div>\n    <a class=\"vc-promo-link\" href=\"https:\/\/vibromera.eu\/\" target=\"_blank\" rel=\"noopener\">Learn More<\/a>\n<\/div>\n\n<!-- Footer -->\n<footer class=\"vc-footer\">\n    <p>\u00a9 2024\u20132025 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a> \u2014 Engineering Calculators<\/p>\n    <p style=\"font-size:12px;margin-top:4px;\">Affinity Laws for centrifugal pumps &#038; fans. Last updated: February 2025<\/p>\n    <div class=\"vc-footer-links\">\n        <a href=\"\/calculators\/engineering-calculators\/\">All 252 Calculators<\/a>\n        <a href=\"https:\/\/vibromera.eu\/contacts\/\">Contact<\/a>\n    <\/div>\n<\/footer>\n\n<\/div>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.js\"><\/script>\n<script>\n(function() {\n    'use strict';\n\n    var SLUG = 'affinity-laws-calculator';\n    var mode = 'speed'; \/\/ 'speed' or 'diameter'\n\n    function $(id) { return document.getElementById(id); }\n    function fmt(n, d) { if(isNaN(n)||!isFinite(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 v1 = parseFloat($('vc-n1').value);\n        var v2 = parseFloat($('vc-n2').value);\n        var q1 = parseFloat($('vc-q1').value);\n        var h1 = parseFloat($('vc-h1').value);\n        var p1 = parseFloat($('vc-p1').value);\n\n        if (!v1 || v1 <= 0 || !v2 || v2 <= 0) {\n            $('vc-results').classList.remove('vc-visible');\n            return;\n        }\n\n        var r = v2 \/ v1; \/\/ speed or diameter ratio\n\n        var q2 = q1 * r;\n        var h2 = h1 * r * r;\n        var p2 = p1 * r * r * r;\n\n        var qRatio = r;\n        var hRatio = r * r;\n        var pRatio = r * r * r;\n\n        \/\/ Display\n        if (!isNaN(q1) && q1 > 0) {\n            $('vc-r-q2').innerHTML = fmt(q2, q2 >= 100 ? 1 : 2) + ' <span class=\"vc-rcard-unit\">(same unit as Q\u2081)<\/span>';\n        } else {\n            $('vc-r-q2').innerHTML = '\u2014';\n        }\n\n        if (!isNaN(h1) && h1 > 0) {\n            $('vc-r-h2').innerHTML = fmt(h2, h2 >= 100 ? 1 : 2) + ' <span class=\"vc-rcard-unit\">(same unit as H\u2081)<\/span>';\n        } else {\n            $('vc-r-h2').innerHTML = '\u2014';\n        }\n\n        if (!isNaN(p1) && p1 > 0) {\n            $('vc-r-p2').innerHTML = fmt(p2, p2 >= 100 ? 1 : 2) + ' <span class=\"vc-rcard-unit\">(same unit as P\u2081)<\/span>';\n        } else {\n            $('vc-r-p2').innerHTML = '\u2014';\n        }\n\n        $('vc-r-ratio').innerHTML = fmt(r, 4);\n        $('vc-r-qratio').innerHTML = fmt(qRatio, 4) + ' <span class=\"vc-rcard-unit\">(' + fmt(qRatio * 100, 1) + '%)<\/span>';\n        $('vc-r-hratio').innerHTML = fmt(hRatio, 4) + ' <span class=\"vc-rcard-unit\">(' + fmt(hRatio * 100, 1) + '%)<\/span>';\n        $('vc-r-pratio').innerHTML = fmt(pRatio, 4) + ' <span class=\"vc-rcard-unit\">(' + fmt(pRatio * 100, 1) + '%)<\/span>';\n\n        $('vc-results').classList.add('vc-visible');\n\n        \/\/ URL params\n        var u = new URL(window.location);\n        u.searchParams.set('mode', mode);\n        u.searchParams.set('n1', v1);\n        u.searchParams.set('n2', v2);\n        if (!isNaN(q1)) u.searchParams.set('q1', q1);\n        if (!isNaN(h1)) u.searchParams.set('h1', h1);\n        if (!isNaN(p1)) u.searchParams.set('p1', p1);\n        history.replaceState(null, '', u.toString());\n\n        \/\/ History\n        var label = mode === 'speed' ? 'RPM' : 'mm';\n        saveHistory({\n            mode: mode, n1: v1, n2: v2, q1: q1, h1: h1, p1: p1,\n            _summary: (mode === 'speed' ? 'n' : 'D') + '\u2081=' + v1 + '\u2192' + v2 + ' ' + label + ', Q\u2081=' + (q1||'\u2014') + ', H\u2081=' + (h1||'\u2014') + ', P\u2081=' + (p1||'\u2014')\n        });\n    }\n\n    \/* \u2500\u2500 MODE TOGGLE \u2500\u2500 *\/\n    var modeBtns = document.querySelectorAll('.vc-unit-btn');\n    modeBtns.forEach(function(btn) {\n        btn.addEventListener('click', function() {\n            modeBtns.forEach(function(b) { b.classList.remove('vc-active'); });\n            this.classList.add('vc-active');\n            mode = this.getAttribute('data-mode');\n            updateLabels();\n            calculate();\n        });\n    });\n\n    function updateLabels() {\n        if (mode === 'speed') {\n            $('vc-n1-label').innerHTML = 'Original Speed <span class=\"vc-label-hint\">(RPM)<\/span>';\n            $('vc-n2-label').innerHTML = 'New Speed <span class=\"vc-label-hint\">(RPM)<\/span>';\n            $('vc-n1').placeholder = 'e.g. 1450';\n            $('vc-n2').placeholder = 'e.g. 1750';\n            $('vc-r-ratio-label').textContent = 'Speed Ratio (n\u2082\/n\u2081)';\n        } else {\n            $('vc-n1-label').innerHTML = 'Original Diameter <span class=\"vc-label-hint\">(mm)<\/span>';\n            $('vc-n2-label').innerHTML = 'New Diameter <span class=\"vc-label-hint\">(mm)<\/span>';\n            $('vc-n1').placeholder = 'e.g. 250';\n            $('vc-n2').placeholder = 'e.g. 220';\n            $('vc-r-ratio-label').textContent = 'Diameter Ratio (D\u2082\/D\u2081)';\n        }\n    }\n\n    \/* \u2500\u2500 PRESETS \u2500\u2500 *\/\n    document.querySelectorAll('.vc-preset-btn').forEach(function(btn) {\n        btn.addEventListener('click', function(e) {\n            e.preventDefault();\n            var m = this.getAttribute('data-mode');\n            mode = m;\n            modeBtns.forEach(function(b) { b.classList.toggle('vc-active', b.getAttribute('data-mode') === m); });\n            updateLabels();\n\n            $('vc-n1').value = this.getAttribute('data-n1');\n            $('vc-n2').value = this.getAttribute('data-n2');\n            $('vc-q1').value = this.getAttribute('data-q1');\n            $('vc-h1').value = this.getAttribute('data-h1');\n            $('vc-p1').value = this.getAttribute('data-p1');\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 label = mode === 'speed' ? 'Speed' : 'Diameter';\n        var text = 'Affinity Laws 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            'Mode: ' + label + ' Change\\n' +\n            label + ' 1: ' + $('vc-n1').value + '\\n' +\n            label + ' 2: ' + $('vc-n2').value + '\\n' +\n            'Q\u2081: ' + $('vc-q1').value + '  \u2192  Q\u2082: ' + $('vc-r-q2').textContent + '\\n' +\n            'H\u2081: ' + $('vc-h1').value + '  \u2192  H\u2082: ' + $('vc-r-h2').textContent + '\\n' +\n            'P\u2081: ' + $('vc-p1').value + '  \u2192  P\u2082: ' + $('vc-r-p2').textContent + '\\n' +\n            'Ratio: ' + $('vc-r-ratio').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\/affinity-laws-calculator\/';\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 are the affinity laws?', a: '<p>The affinity laws (also called fan laws or pump laws) are three relationships for centrifugal machines:<\/p><ul><li><strong>Flow<\/strong> varies linearly with speed: Q\u2082 = Q\u2081 \u00d7 (n\u2082\/n\u2081)<\/li><li><strong>Head\/Pressure<\/strong> varies as the square: H\u2082 = H\u2081 \u00d7 (n\u2082\/n\u2081)\u00b2<\/li><li><strong>Power<\/strong> varies as the cube: P\u2082 = P\u2081 \u00d7 (n\u2082\/n\u2081)\u00b3<\/li><\/ul><p>The same ratios apply when impeller diameter changes instead of speed.<\/p>' },\n        { q: 'When do affinity laws apply?', a: '<p>Affinity laws apply to:<\/p><ul><li>Centrifugal pumps, fans, blowers, and turbines<\/li><li>Operating on a fixed system curve<\/li><li>With geometrically similar flow conditions<\/li><li>Incompressible fluids (liquids, low-velocity air)<\/li><\/ul><p>They work best for speed changes of up to \u00b130% from the design point. They do <strong>not<\/strong> apply to positive displacement pumps or reciprocating compressors.<\/p>' },\n        { q: 'What are the limitations of affinity laws?', a: '<p>Key limitations:<\/p><ul><li>They assume constant efficiency \u2014 in reality, efficiency changes at off-design points<\/li><li>Large speed changes (>30%) can cause significant deviation<\/li><li>Impeller trimming laws are less accurate than speed change laws<\/li><li>Not valid for compressible flow at high Mach numbers<\/li><li>Do not account for cavitation (NPSH) effects<\/li><li>System curve changes (e.g. valve throttling) invalidate the predictions<\/li><\/ul>' },\n        { q: 'How does VFD speed control save energy?', a: '<p>Because power varies as the <strong>cube<\/strong> of speed, even small speed reductions yield large energy savings:<\/p><ul><li>10% speed reduction \u2192 27% power savings<\/li><li>20% speed reduction \u2192 49% power savings<\/li><li>30% speed reduction \u2192 66% power savings<\/li><li>50% speed reduction \u2192 88% power savings<\/li><\/ul><p>VFDs (Variable Frequency Drives) exploit this cubic relationship, making them far more efficient than throttling valves for flow control. Typical payback periods are 6\u201318 months.<\/p>' },\n        { q: 'What is the relationship between flow and pressure?', a: '<p>For a given speed change ratio <em>r<\/em>:<\/p><ul><li>Flow changes by <em>r<\/em> (linear)<\/li><li>Pressure\/head changes by <em>r\u00b2<\/em> (quadratic)<\/li><\/ul><p>So if you double the speed (r=2), flow doubles but pressure quadruples (4\u00d7). If you halve the speed (r=0.5), flow halves but pressure drops to 25%. This non-linear relationship is key to understanding pump and fan system behavior.<\/p>' }\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.has('mode')) {\n            mode = p.get('mode');\n            modeBtns.forEach(function(b) { b.classList.toggle('vc-active', b.getAttribute('data-mode') === mode); });\n            updateLabels();\n        }\n        if (p.has('n1')) $('vc-n1').value = p.get('n1');\n        if (p.has('n2')) $('vc-n2').value = p.get('n2');\n        if (p.has('q1')) $('vc-q1').value = p.get('q1');\n        if (p.has('h1')) $('vc-h1').value = p.get('h1');\n        if (p.has('p1')) $('vc-p1').value = p.get('p1');\n    }\n\n    \/* \u2500\u2500 KATEX \u2500\u2500 *\/\n    function renderFormulas() {\n        try {\n            katex.render('Q_2 = Q_1 \\\\times \\\\frac{n_2}{n_1}', $('vc-katex-1'), { displayMode: true, throwOnError: false });\n            katex.render('H_2 = H_1 \\\\times \\\\left(\\\\frac{n_2}{n_1}\\\\right)^2', $('vc-katex-2'), { displayMode: true, throwOnError: false });\n            katex.render('P_2 = P_1 \\\\times \\\\left(\\\\frac{n_2}{n_1}\\\\right)^3', $('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>Calculadora online gratuita de leis de afinidade para bombas e ventiladores. Calcule a nova vaz\u00e3o, altura manom\u00e9trica\/press\u00e3o e pot\u00eancia quando a velocidade ou o di\u00e2metro do rotor mudarem. Suporta RPM, CFM e m\u00b3\/h.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100002","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/pt_br\/wp-json\/wp\/v2\/calculator\/100002","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/pt_br\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/pt_br\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":1,"href":"https:\/\/vibromera.eu\/pt_br\/wp-json\/wp\/v2\/calculator\/100002\/revisions"}],"predecessor-version":[{"id":100316,"href":"https:\/\/vibromera.eu\/pt_br\/wp-json\/wp\/v2\/calculator\/100002\/revisions\/100316"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/pt_br\/wp-json\/wp\/v2\/media?parent=100002"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/pt_br\/wp-json\/wp\/v2\/categories?post=100002"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/pt_br\/wp-json\/wp\/v2\/tags?post=100002"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}