{"id":100182,"date":"2026-02-15T20:25:30","date_gmt":"2026-02-15T20:25:30","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100182"},"modified":"2026-04-05T15:37:41","modified_gmt":"2026-04-05T15:37:41","slug":"pipe-diameter-flow-rate","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/bn\/calculators\/pipe-diameter-flow-rate\/","title":{"rendered":"Pipe Diameter from Flow Rate Calculator | Free DN Sizing"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Pipe Diameter from Flow Rate Calculator\",\"description\":\"Calculate minimum pipe ID from flow rate and velocity limit. Round to standard DN sizes. Reverse mode: max flow for given pipe.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/pipe-diameter-flow-rate\/\",\"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-15\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"How do I calculate minimum pipe diameter?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"d = \u221a(4Q\/(\u03c0v)), where Q is flow in m\u00b3\/s and v is maximum velocity in m\/s. Then round up to the nearest standard pipe size.\"}},\n{\"@type\":\"Question\",\"name\":\"What velocity should I use for pipe sizing?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Hydraulic suction: 0.5\u20131.5 m\/s. Pressure: 3\u20136 m\/s. Return: 2\u20134 m\/s. Water: 1\u20133 m\/s. These are economic velocity ranges.\"}},\n{\"@type\":\"Question\",\"name\":\"What are standard pipe sizes?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"DN series: DN15, DN20, DN25, DN32, DN40, DN50, DN65, DN80, DN100, DN125, DN150, DN200, DN250, DN300. The ID depends on pipe schedule.\"}},\n{\"@type\":\"Question\",\"name\":\"What is economic velocity?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The velocity that minimizes total cost (pipe + energy). Higher velocity = smaller pipe but more pumping cost. Lower velocity = bigger pipe but less energy.\"}},\n{\"@type\":\"Question\",\"name\":\"How do I calculate max flow for a given pipe?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Q = v \u00d7 A = v \u00d7 \u03c0\/4 \u00d7 d\u00b2. With velocity limit of 4 m\/s and DN25 (ID 26.6mm): Q = 4 \u00d7 \u03c0\/4 \u00d7 0.0266\u00b2 = 2.22\u00d710\u207b\u00b3 m\u00b3\/s = 133 L\/min.\"}}\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\":\"Pipe Diameter from Flow Rate\",\"item\":\"https:\/\/vibromera.eu\/calculators\/pipe-diameter-flow-rate\/\"}\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 { --vc-bg:#f4f1ec; --vc-surface:#ffffff; --vc-surface-alt:#f8f6f2; --vc-ink:#1a1a1a; --vc-ink-secondary:#5a5650; --vc-ink-muted:#8a857e; --vc-accent:#c85a2a; --vc-accent-hover:#b04d22; --vc-accent-light:#fdf0ea; --vc-blue:#2a5c8c; --vc-blue-light:#eaf1f8; --vc-green:#2a7a4b; --vc-green-light:#eaf8ef; --vc-yellow:#a67c00; --vc-yellow-light:#fef9e8; --vc-red:#b91c1c; --vc-red-light:#fef2f2; --vc-border:#d9d4cc; --vc-border-light:#e8e4dd; --vc-shadow:0 1px 3px rgba(26,26,26,0.06),0 4px 12px rgba(26,26,26,0.04); --vc-radius:8px; --vc-radius-lg:12px; --vc-font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; --vc-mono:'JetBrains Mono','Consolas','Monaco',monospace; --vc-display:'Fraunces',Georgia,serif; }\n.vc-calculator { font-family:var(--vc-font); font-size:15px; line-height:1.65; color:var(--vc-ink); max-width:960px; margin:0 auto; padding:20px 16px 40px; -webkit-font-smoothing:antialiased; }\n.vc-calculator *, .vc-calculator *::before, .vc-calculator *::after { box-sizing:border-box; }\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.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.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.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.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.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.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.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.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.vc-table tr.vc-highlight { background:var(--vc-accent-light); font-weight:600; }\n@media(max-width:600px) { .vc-table { font-size:12px; } .vc-table th, .vc-table td { padding:8px; } }\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; } .vc-faq-a-inner p:last-child { margin-bottom:0; }\n.vc-faq-a-inner ul { margin:4px 0 8px 16px; padding:0; } .vc-faq-a-inner li { margin-bottom:3px; }\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.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); } .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.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; } .vc-footer a:hover { text-decoration:underline; }\n.vc-footer-links { margin-top:8px; font-size:12px; } .vc-footer-links a { margin:0 8px; }\n@media print { .vc-section-body { max-height:none!important; } .vc-faq-a { max-height:none!important; } .vc-results { max-height:none!important; padding:24px!important; } .vc-copy-btn, .vc-section-chevron, .vc-faq-chevron, .vc-presets, .vc-promo { display:none!important; } }\n<\/style>\n\n<div class=\"vc-calculator\" id=\"vc-pipe-diameter-flow-rate\">\n\n<header class=\"vc-header\">\n    <p class=\"vc-header-eyebrow\">Free Engineering Tool<\/p>\n    <h1 class=\"vc-header-title\">Pipe Diameter from Flow Rate Calculator<\/h1>\n    <p class=\"vc-header-subtitle\">Calculate minimum pipe inner diameter from flow rate and velocity limit. Round up to standard DN sizes. Reverse mode: max flow for a given pipe size.<\/p>\n    <div class=\"vc-badges\">\n        <span class=\"vc-badge\">d = \u221a(4Q\/\u03c0v)<\/span>\n        <span class=\"vc-badge\">DN Sizes<\/span>\n        <span class=\"vc-badge\">Reverse Calc<\/span>\n        <span class=\"vc-badge\">Economic Velocity<\/span>\n    <\/div>\n<\/header>\n\n<div class=\"vc-card\">\n    <div class=\"vc-unit-bar\">\n        <button type=\"button\" class=\"vc-unit-btn vc-active\" data-system=\"metric\">Metric (L\/min, mm, m\/s)<\/button>\n        <button type=\"button\" class=\"vc-unit-btn\" data-system=\"imperial\">Imperial (GPM, in, ft\/s)<\/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-calc-mode\">Calculation Mode<\/label>\n                <select class=\"vc-select\" id=\"vc-calc-mode\">\n                    <option value=\"diameter\" selected>Pipe Diameter from Flow + Velocity<\/option>\n                    <option value=\"flow\">Max Flow from Pipe Size + Velocity<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"vc-field\" id=\"vc-field-flow\">\n                <label class=\"vc-label\" for=\"vc-flow\">Flow Rate <span class=\"vc-label-hint\" id=\"vc-flow-hint\">(L\/min)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-flow\" inputmode=\"decimal\" step=\"any\" min=\"0\" value=\"60\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-vel\">Max Velocity <span class=\"vc-label-hint\" id=\"vc-vel-hint\">(m\/s)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-vel\" inputmode=\"decimal\" step=\"any\" min=\"0\" value=\"4\">\n            <\/div>\n            <div class=\"vc-field\" id=\"vc-field-pipesize\" style=\"display:none\">\n                <label class=\"vc-label\" for=\"vc-pipesize\">Pipe Size (ID) <span class=\"vc-label-hint\" id=\"vc-pipe-hint\">(mm)<\/span><\/label>\n                <select class=\"vc-select\" id=\"vc-pipesize\">\n                    <option value=\"15.8\">DN15 (ID 15.8 mm)<\/option>\n                    <option value=\"20.9\">DN20 (ID 20.9 mm)<\/option>\n                    <option value=\"26.6\" selected>DN25 (ID 26.6 mm)<\/option>\n                    <option value=\"35.1\">DN32 (ID 35.1 mm)<\/option>\n                    <option value=\"40.9\">DN40 (ID 40.9 mm)<\/option>\n                    <option value=\"52.5\">DN50 (ID 52.5 mm)<\/option>\n                    <option value=\"62.7\">DN65 (ID 62.7 mm)<\/option>\n                    <option value=\"77.9\">DN80 (ID 77.9 mm)<\/option>\n                    <option value=\"102.3\">DN100 (ID 102.3 mm)<\/option>\n                    <option value=\"128.2\">DN125 (ID 128.2 mm)<\/option>\n                    <option value=\"154.1\">DN150 (ID 154.1 mm)<\/option>\n                    <option value=\"202.7\">DN200 (ID 202.7 mm)<\/option>\n                    <option value=\"254.5\">DN250 (ID 254.5 mm)<\/option>\n                    <option value=\"303.2\">DN300 (ID 303.2 mm)<\/option>\n                <\/select>\n            <\/div>\n        <\/div>\n\n        <div class=\"vc-presets\">\n            <div class=\"vc-presets-label\">Quick presets<\/div>\n            <button type=\"button\" class=\"vc-preset-btn\" data-q=\"20\" data-v=\"4\" data-m=\"diameter\">20 L\/min @ 4 m\/s<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-q=\"60\" data-v=\"4\" data-m=\"diameter\">60 L\/min @ 4 m\/s<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-q=\"200\" data-v=\"6\" data-m=\"diameter\">200 L\/min @ 6 m\/s<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-q=\"60\" data-v=\"1.5\" data-m=\"diameter\">60 L\/min suction 1.5 m\/s<\/button>\n        <\/div>\n    <\/form>\n\n    <div class=\"vc-results\" id=\"vc-results\">\n        <div class=\"vc-results-head\">\n            <h2 class=\"vc-results-title\">Results<\/h2>\n            <button type=\"button\" class=\"vc-copy-btn\" id=\"vc-copy-btn\">\n                <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg>\n                Copy\n            <\/button>\n        <\/div>\n        <div class=\"vc-result-grid\">\n            <div class=\"vc-rcard vc-rcard-primary\">\n                <div class=\"vc-rcard-label\" id=\"vc-r-main-label\">Minimum Pipe Diameter<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-main\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Standard Pipe Size (Sch 40)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-std\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Actual Velocity (with std size)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-vact\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Cross-Section Area<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-area\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Max Flow at This Velocity<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-qmax\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Next Smaller Size<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-smaller\">\u2014<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Theory -->\n<div class=\"vc-section vc-open\" id=\"vc-sec-theory\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"true\">\n        <span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">\ud83d\udcd8<\/span><span class=\"vc-section-title\">Theory &amp; Formulas<\/span><\/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>Minimum Pipe Diameter<\/h3>\n            <p>From the continuity equation Q = v \u00d7 A and A = \u03c0d\u00b2\/4:<\/p>\n            <div class=\"vc-formula-box\" id=\"vc-katex-1\"><\/div>\n            <p>The calculated diameter is the minimum; always round <strong>up<\/strong> to the next standard size.<\/p>\n\n            <h3>Reverse Calculation \u2014 Maximum Flow<\/h3>\n            <div class=\"vc-formula-box\" id=\"vc-katex-2\"><\/div>\n\n            <h3>Standard Pipe Sizes (Schedule 40)<\/h3>\n            <table class=\"vc-table\" id=\"vc-pipe-table\">\n                <thead><tr><th>Nominal<\/th><th>OD (mm)<\/th><th>Wall (mm)<\/th><th>ID (mm)<\/th><th>Area (mm\u00b2)<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>DN15 (\u00bd\u2033)<\/td><td>21.3<\/td><td>2.77<\/td><td>15.8<\/td><td>196<\/td><\/tr>\n                    <tr><td>DN20 (\u00be\u2033)<\/td><td>26.7<\/td><td>2.87<\/td><td>20.9<\/td><td>343<\/td><\/tr>\n                    <tr><td>DN25 (1\u2033)<\/td><td>33.4<\/td><td>3.38<\/td><td>26.6<\/td><td>556<\/td><\/tr>\n                    <tr><td>DN32 (1\u00bc\u2033)<\/td><td>42.2<\/td><td>3.56<\/td><td>35.1<\/td><td>968<\/td><\/tr>\n                    <tr><td>DN40 (1\u00bd\u2033)<\/td><td>48.3<\/td><td>3.68<\/td><td>40.9<\/td><td>1,314<\/td><\/tr>\n                    <tr><td>DN50 (2\u2033)<\/td><td>60.3<\/td><td>3.91<\/td><td>52.5<\/td><td>2,165<\/td><\/tr>\n                    <tr><td>DN65 (2\u00bd\u2033)<\/td><td>73.0<\/td><td>5.16<\/td><td>62.7<\/td><td>3,087<\/td><\/tr>\n                    <tr><td>DN80 (3\u2033)<\/td><td>88.9<\/td><td>5.49<\/td><td>77.9<\/td><td>4,768<\/td><\/tr>\n                    <tr><td>DN100 (4\u2033)<\/td><td>114.3<\/td><td>6.02<\/td><td>102.3<\/td><td>8,213<\/td><\/tr>\n                    <tr><td>DN125 (5\u2033)<\/td><td>141.3<\/td><td>6.55<\/td><td>128.2<\/td><td>12,908<\/td><\/tr>\n                    <tr><td>DN150 (6\u2033)<\/td><td>168.3<\/td><td>7.11<\/td><td>154.1<\/td><td>18,638<\/td><\/tr>\n                    <tr><td>DN200 (8\u2033)<\/td><td>219.1<\/td><td>8.18<\/td><td>202.7<\/td><td>32,270<\/td><\/tr>\n                    <tr><td>DN250 (10\u2033)<\/td><td>273.1<\/td><td>9.27<\/td><td>254.5<\/td><td>50,869<\/td><\/tr>\n                    <tr><td>DN300 (12\u2033)<\/td><td>323.9<\/td><td>10.31<\/td><td>303.2<\/td><td>72,145<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <h3>Economic Velocity<\/h3>\n            <p>The <strong>economic velocity<\/strong> is the flow speed that minimizes total cost \u2014 balancing pipe cost (capital) against pumping cost (energy):<\/p>\n            <ul>\n                <li>Lower velocity \u2192 larger pipe (expensive) but lower pumping power<\/li>\n                <li>Higher velocity \u2192 smaller pipe (cheaper) but more energy to pump<\/li>\n                <li>Typical economic velocities for water: 1\u20132 m\/s; for hydraulic oil: 3\u20135 m\/s in pressure lines<\/li>\n            <\/ul>\n            <div class=\"vc-info-box\">\n                <p><strong>\ud83d\udca1 Rule of thumb:<\/strong> For systems running >4000 hours\/year, lean toward lower velocities. For intermittent systems, higher velocities (smaller pipes) are acceptable.<\/p>\n            <\/div>\n\n            <h3>Practical Example<\/h3>\n            <div class=\"vc-example-box\">\n                <div class=\"vc-example-title\">Example \u2014 Hydraulic Pressure Line<\/div>\n                <p><strong>Given:<\/strong> Q = 60 L\/min, v_max = 4 m\/s<\/p>\n                <p>Q = 60 \/ 60000 = 0.001 m\u00b3\/s<\/p>\n                <p>d_min = \u221a(4 \u00d7 0.001 \/ (\u03c0 \u00d7 4)) = \u221a(3.183 \u00d7 10\u207b\u2074) = <strong>17.84 mm<\/strong><\/p>\n                <p>Standard size: round up to <strong>DN20 (ID = 20.9 mm)<\/strong><\/p>\n                <p>Actual velocity: v = 0.001 \/ (\u03c0\/4 \u00d7 0.0209\u00b2) = <strong>2.92 m\/s<\/strong> \u2713 within limit<\/p>\n            <\/div>\n\n            <div class=\"vc-warning-box\">\n                <p style=\"margin:0;font-size:14px;color:var(--vc-ink-secondary);\"><strong>\u26a0\ufe0f Note:<\/strong> Always verify that the actual velocity with the chosen standard pipe size is within your limit. If the next standard size down would exceed the velocity limit, you must use the larger size.<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\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\"><span class=\"vc-section-icon\">\ud83d\udd17<\/span><span class=\"vc-section-title\">Related Calculators<\/span><\/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\/pipe-flow-velocity\/\">Flow Velocity<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/pipe-pressure-drop\/\">Pipe Pressure Drop<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/reynolds-number-calculator\/\">Reynolds Number<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/valve-flow-coefficient\/\">Valve Kv\/Cv<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\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\"><span class=\"vc-section-icon\">\u2753<\/span><span class=\"vc-section-title\">Frequently Asked Questions<\/span><\/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\"><div class=\"vc-faq-list\" id=\"vc-faq-list\"><\/div><\/div>\n    <\/div>\n<\/div>\n\n<div class=\"vc-promo\">\n    <div class=\"vc-promo-text\"><strong>Vibromera \u2014 Portable Balancing &amp; Vibration Analysis<\/strong><br>Professional field balancing instruments and software. Used in 50+ countries.<\/div>\n    <a class=\"vc-promo-link\" href=\"https:\/\/vibromera.eu\/\" target=\"_blank\" rel=\"noopener\">Learn More<\/a>\n<\/div>\n\n<footer class=\"vc-footer\">\n    <p>\u00a9 2024\u20132025 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a> \u2014 Engineering Calculators<\/p>\n    <p style=\"font-size:12px;margin-top:4px;\">Pipe diameter from flow rate: d = \u221a(4Q\/(\u03c0v)). Last updated: February 2025<\/p>\n    <div class=\"vc-footer-links\"><a href=\"\/calculators\/engineering-calculators\/\">All Calculators<\/a><a href=\"https:\/\/vibromera.eu\/contacts\/\">Contact<\/a><\/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    var SLUG = 'pipe-diameter-flow-rate';\n    var unitSystem = 'metric';\n\n    \/\/ DN standard sizes: [nominal, ID in mm]\n    var STD_PIPES = [\n        { dn: 'DN15', id: 15.8 }, { dn: 'DN20', id: 20.9 }, { dn: 'DN25', id: 26.6 },\n        { dn: 'DN32', id: 35.1 }, { dn: 'DN40', id: 40.9 }, { dn: 'DN50', id: 52.5 },\n        { dn: 'DN65', id: 62.7 }, { dn: 'DN80', id: 77.9 }, { dn: 'DN100', id: 102.3 },\n        { dn: 'DN125', id: 128.2 }, { dn: 'DN150', id: 154.1 }, { dn: 'DN200', id: 202.7 },\n        { dn: 'DN250', id: 254.5 }, { dn: 'DN300', id: 303.2 }\n    ];\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    function nextStdPipe(d_mm) {\n        for (var i = 0; i < STD_PIPES.length; i++) {\n            if (STD_PIPES[i].id >= d_mm) return { idx: i, pipe: STD_PIPES[i] };\n        }\n        return { idx: STD_PIPES.length - 1, pipe: STD_PIPES[STD_PIPES.length - 1] };\n    }\n\n    function updateFields() {\n        var mode = $('vc-calc-mode').value;\n        $('vc-field-flow').style.display = mode === 'diameter' ? '' : 'none';\n        $('vc-field-pipesize').style.display = mode === 'flow' ? '' : 'none';\n    }\n\n    function calculate() {\n        var mode = $('vc-calc-mode').value;\n        var v_raw = parseFloat($('vc-vel').value);\n\n        if (!v_raw || v_raw <= 0) { $('vc-results').classList.remove('vc-visible'); return; }\n\n        var v_ms = unitSystem === 'imperial' ? v_raw * 0.3048 : v_raw;\n\n        if (mode === 'diameter') {\n            var Q_raw = parseFloat($('vc-flow').value);\n            if (!Q_raw || Q_raw <= 0) { $('vc-results').classList.remove('vc-visible'); return; }\n\n            var Q_m3s = unitSystem === 'imperial' ? Q_raw * 6.309e-5 : Q_raw \/ 60000;\n            var d_min_m = Math.sqrt(4 * Q_m3s \/ (Math.PI * v_ms));\n            var d_min_mm = d_min_m * 1000;\n\n            var found = nextStdPipe(d_min_mm);\n            var stdPipe = found.pipe;\n            var D_std_m = stdPipe.id \/ 1000;\n            var A_std = Math.PI \/ 4 * D_std_m * D_std_m;\n            var v_actual = Q_m3s \/ A_std;\n            var Q_max_lmin = v_ms * A_std * 60000;\n\n            \/\/ Next smaller\n            var smallerInfo = '\u2014';\n            if (found.idx > 0) {\n                var smaller = STD_PIPES[found.idx - 1];\n                var A_sm = Math.PI \/ 4 * Math.pow(smaller.id \/ 1000, 2);\n                var v_sm = Q_m3s \/ A_sm;\n                smallerInfo = smaller.dn + ' (ID ' + smaller.id + ' mm) \u2192 v = ' + fmt(v_sm, 2) + ' m\/s';\n                if (v_sm > v_ms) smallerInfo += ' \u26a0\ufe0f exceeds limit!';\n            }\n\n            $('vc-r-main-label').textContent = 'Minimum Pipe Diameter';\n            $('vc-r-main').innerHTML = fmt(d_min_mm, 1) + ' <span class=\"vc-rcard-unit\">mm<\/span>';\n            $('vc-r-std').innerHTML = stdPipe.dn + ' <span class=\"vc-rcard-unit\">(ID ' + stdPipe.id + ' mm)<\/span>';\n            $('vc-r-vact').innerHTML = fmt(v_actual, 2) + ' <span class=\"vc-rcard-unit\">m\/s<\/span> (' + fmt(v_actual * 3.28084, 1) + ' ft\/s)';\n            $('vc-r-area').innerHTML = fmt(A_std * 1e6, 0) + ' <span class=\"vc-rcard-unit\">mm\u00b2<\/span>';\n            $('vc-r-qmax').innerHTML = fmt(Q_max_lmin, 1) + ' <span class=\"vc-rcard-unit\">L\/min<\/span> (' + fmt(Q_max_lmin * 0.264172, 1) + ' GPM)';\n            $('vc-r-smaller').innerHTML = smallerInfo;\n\n        } else {\n            \/\/ Flow from pipe size\n            var D_pipe_mm = parseFloat($('vc-pipesize').value);\n            var D_pipe_m = D_pipe_mm \/ 1000;\n            var A_pipe = Math.PI \/ 4 * D_pipe_m * D_pipe_m;\n            var Q_max_m3s = v_ms * A_pipe;\n            var Q_max_lmin2 = Q_max_m3s * 60000;\n\n            $('vc-r-main-label').textContent = 'Maximum Flow Rate';\n            $('vc-r-main').innerHTML = fmt(Q_max_lmin2, 1) + ' <span class=\"vc-rcard-unit\">L\/min<\/span>';\n            $('vc-r-std').innerHTML = 'ID ' + D_pipe_mm + ' <span class=\"vc-rcard-unit\">mm<\/span>';\n            $('vc-r-vact').innerHTML = fmt(v_ms, 2) + ' <span class=\"vc-rcard-unit\">m\/s<\/span> (max)';\n            $('vc-r-area').innerHTML = fmt(A_pipe * 1e6, 0) + ' <span class=\"vc-rcard-unit\">mm\u00b2<\/span>';\n            $('vc-r-qmax').innerHTML = fmt(Q_max_lmin2 * 0.264172, 1) + ' <span class=\"vc-rcard-unit\">GPM<\/span> \/ ' + fmt(Q_max_m3s * 3600, 2) + ' <span class=\"vc-rcard-unit\">m\u00b3\/h<\/span>';\n            $('vc-r-smaller').innerHTML = '\u2014';\n        }\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('flow', $('vc-flow').value);\n        u.searchParams.set('vel', $('vc-vel').value);\n        u.searchParams.set('units', unitSystem);\n        history.replaceState(null, '', u.toString());\n\n        saveHistory({ _summary: mode === 'diameter' ? $('vc-flow').value + ' L\/min \u2192 ' + $('vc-r-std').textContent : 'ID ' + $('vc-pipesize').value + 'mm \u2192 ' + $('vc-r-main').textContent });\n    }\n\n    var unitBtns = document.querySelectorAll('.vc-unit-btn');\n    unitBtns.forEach(function(btn) {\n        btn.addEventListener('click', function() {\n            unitBtns.forEach(function(b) { b.classList.remove('vc-active'); });\n            this.classList.add('vc-active');\n            unitSystem = this.getAttribute('data-system');\n            $('vc-flow-hint').textContent = unitSystem === 'imperial' ? '(US GPM)' : '(L\/min)';\n            $('vc-vel-hint').textContent = unitSystem === 'imperial' ? '(ft\/s)' : '(m\/s)';\n            try { localStorage.setItem('vc_units', unitSystem); } catch(e) {}\n            calculate();\n        });\n    });\n\n    document.querySelectorAll('.vc-preset-btn').forEach(function(btn) {\n        btn.addEventListener('click', function(e) {\n            e.preventDefault();\n            $('vc-flow').value = this.getAttribute('data-q');\n            $('vc-vel').value = this.getAttribute('data-v');\n            $('vc-calc-mode').value = this.getAttribute('data-m');\n            updateFields();\n            calculate();\n        });\n    });\n\n    $('vc-form').addEventListener('input', function() { updateFields(); calculate(); });\n    $('vc-form').addEventListener('change', function() { updateFields(); calculate(); });\n\n    $('vc-copy-btn').addEventListener('click', function() {\n        var text = 'Pipe Diameter Calculation\\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\n' +\n            $('vc-r-main-label').textContent + ': ' + $('vc-r-main').textContent + '\\n' +\n            'Standard: ' + $('vc-r-std').textContent + '\\n' +\n            'Velocity: ' + $('vc-r-vact').textContent + '\\n' +\n            'Area: ' + $('vc-r-area').textContent + '\\n' +\n            '\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\nvibromera.eu\/calculators\/pipe-diameter-flow-rate\/';\n        if (navigator.clipboard) {\n            navigator.clipboard.writeText(text).then(function() {\n                var btn = $('vc-copy-btn'); 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() { btn.classList.remove('vc-copied'); 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'; }, 2000);\n            });\n        }\n    });\n\n    document.querySelectorAll('.vc-section-toggle').forEach(function(btn) {\n        btn.addEventListener('click', function() { var s = this.closest('.vc-section'); s.classList.toggle('vc-open'); this.setAttribute('aria-expanded', s.classList.contains('vc-open')); });\n    });\n\n    var faqData = [\n        { q: 'How do I calculate minimum pipe diameter from flow rate?', a: '<p>Use the formula <strong>d = \u221a(4Q \/ (\u03c0v))<\/strong>, where Q is the flow rate in m\u00b3\/s and v is the maximum allowable velocity in m\/s.<\/p><p>Example: 60 L\/min at max 4 m\/s \u2192 d = \u221a(4 \u00d7 0.001 \/ (\u03c0 \u00d7 4)) = 17.8 mm \u2192 round up to DN20 (ID 20.9 mm).<\/p>' },\n        { q: 'What velocity should I use for pipe sizing?', a: '<p>Recommended maximum velocities:<\/p><ul><li><strong>Hydraulic suction:<\/strong> 0.5 \u2013 1.5 m\/s (to avoid cavitation)<\/li><li><strong>Hydraulic pressure:<\/strong> 3 \u2013 6 m\/s (up to 7 for short runs)<\/li><li><strong>Hydraulic return:<\/strong> 2 \u2013 4 m\/s<\/li><li><strong>Water supply:<\/strong> 1 \u2013 3 m\/s (\u22642.5 in buildings for noise)<\/li><\/ul><p>These are <em>economic velocities<\/em> \u2014 balancing pipe cost vs pumping energy.<\/p>' },\n        { q: 'What are the standard DN pipe sizes?', a: '<p>DN (Diam\u00e8tre Nominal) sizes for Schedule 40 steel pipe:<\/p><ul><li>DN15 (\u00bd\u2033): ID 15.8 mm<\/li><li>DN25 (1\u2033): ID 26.6 mm<\/li><li>DN50 (2\u2033): ID 52.5 mm<\/li><li>DN100 (4\u2033): ID 102.3 mm<\/li><li>DN150 (6\u2033): ID 154.1 mm<\/li><li>DN200 (8\u2033): ID 202.7 mm<\/li><\/ul><p>Note: ID depends on the schedule (wall thickness). Schedule 40 is most common; Schedule 80 has thicker walls and smaller ID.<\/p>' },\n        { q: 'What is economic velocity?', a: '<p>Economic velocity is the speed that minimizes the <strong>total lifecycle cost<\/strong> of a piping system \u2014 which includes both the capital cost of the pipe and the ongoing energy cost of pumping.<\/p><p>Larger pipes cost more to buy but have lower pressure drop \u2192 less pumping energy. Smaller pipes are cheaper but need more pumping power.<\/p><p>For systems running continuously (>4000 h\/yr), use lower velocities. For intermittent systems, higher velocities are acceptable.<\/p>' },\n        { q: 'Why always round UP to the next standard size?', a: '<p>Rounding down would exceed your velocity limit, causing:<\/p><ul><li>Higher pressure drop (\u0394P \u221d v\u00b2)<\/li><li>Noise and vibration<\/li><li>Potential cavitation on suction lines<\/li><li>Increased erosion and fitting wear<\/li><\/ul><p>Always round up. The actual velocity with the larger pipe will be lower than your limit \u2014 which is safe.<\/p>' }\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) { var b = e.target.closest('.vc-faq-q'); if (b) b.closest('.vc-faq-item').classList.toggle('vc-open'); });\n\n    function saveHistory(entry) {\n        var key = 'vc_history_' + SLUG; var arr = [];\n        try { arr = JSON.parse(localStorage.getItem(key)) || []; } catch(e) {}\n        entry._ts = new Date().toISOString(); arr.unshift(entry);\n        if (arr.length > 10) arr = arr.slice(0, 10);\n        try { localStorage.setItem(key, JSON.stringify(arr)); } catch(e) {}\n    }\n\n    function loadParams() {\n        var p = new URLSearchParams(window.location.search);\n        if (p.has('mode')) $('vc-calc-mode').value = p.get('mode');\n        if (p.has('flow')) $('vc-flow').value = p.get('flow');\n        if (p.has('vel')) $('vc-vel').value = p.get('vel');\n        if (p.get('units') === 'imperial') {\n            unitSystem = 'imperial';\n            unitBtns.forEach(function(b) { b.classList.toggle('vc-active', b.getAttribute('data-system') === 'imperial'); });\n            $('vc-flow-hint').textContent = '(US GPM)';\n            $('vc-vel-hint').textContent = '(ft\/s)';\n        }\n    }\n\n    function renderFormulas() {\n        try {\n            katex.render('d_{\\\\min} = \\\\sqrt{\\\\frac{4Q}{\\\\pi v_{\\\\max}}} \\\\quad [\\\\text{m}]', $('vc-katex-1'), { displayMode: true, throwOnError: false });\n            katex.render('Q_{\\\\max} = v_{\\\\max} \\\\times \\\\frac{\\\\pi d^2}{4} \\\\quad [\\\\text{m}^3\/\\\\text{s}]', $('vc-katex-2'), { displayMode: true, throwOnError: false });\n        } catch(e) {}\n    }\n\n    function init() {\n        try { var saved = localStorage.getItem('vc_units'); if (saved === 'imperial') { unitSystem = 'imperial'; unitBtns.forEach(function(b) { b.classList.toggle('vc-active', b.getAttribute('data-system') === 'imperial'); }); $('vc-flow-hint').textContent = '(US GPM)'; $('vc-vel-hint').textContent = '(ft\/s)'; } } catch(e) {}\n        loadParams();\n        updateFields();\n        renderFormulas();\n        calculate();\n    }\n\n    if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Free pipe diameter calculator. Calculate minimum pipe ID from flow rate and velocity limit. Round up to standard DN sizes. Reverse: max flow for given pipe size. Economic velocity concept.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100182","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100182","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":2,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100182\/revisions"}],"predecessor-version":[{"id":100926,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100182\/revisions\/100926"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/media?parent=100182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/categories?post=100182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/tags?post=100182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}