{"id":7073,"date":"2025-11-21T18:28:05","date_gmt":"2025-11-21T10:28:05","guid":{"rendered":"https:\/\/hobertek.com\/?page_id=7073"},"modified":"2025-11-21T18:30:18","modified_gmt":"2025-11-21T10:30:18","slug":"pipeline-head-loss-calculator","status":"publish","type":"page","link":"https:\/\/hobertek.com\/zh\/pipeline-head-loss-calculator\/","title":{"rendered":"\u7ba1\u9053\u6c34\u5934\u635f\u5931\u8ba1\u7b97\u5668"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"7073\" class=\"elementor elementor-7073\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a67062f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a67062f\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-356f208\" data-id=\"356f208\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a11b8b0 elementor-widget elementor-widget-html\" data-id=\"a11b8b0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>HOBER Pipeline Head Loss Calculator - hobertek.com<\/title>\r\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\r\n    <style>\r\n        :root {\r\n            --primary: #002080;\r\n            --accent: #2680ff;\r\n            --bg: #f8f9fc;\r\n            --text: #333;\r\n            --border: #dde2f2;\r\n        }\r\n        * {box-sizing:border-box;}\r\n        body {\r\n            margin:0;\r\n            font-family:'Inter',sans-serif;\r\n            background:#ffffff;\r\n            color:var(--text);\r\n        }\r\n        .calculator-wrapper {\r\n            max-width:460px;\r\n            margin:30px auto;\r\n            border-radius:16px;\r\n            overflow:hidden;\r\n            box-shadow:0 15px 40px rgba(0,0,0,0.12);\r\n            background:#fff;\r\n            border:1px solid var(--border);\r\n        }\r\n        .header-bar {\r\n            background:var(--primary);\r\n            color:#fff;\r\n            padding:18px 20px;\r\n            font-size:18px;\r\n            font-weight:700;\r\n            text-align:center;\r\n        }\r\n        .hober-brand {\r\n            font-size:14px;\r\n            margin-top:8px;\r\n            opacity:0.9;\r\n        }\r\n        .form-row {\r\n            display:grid;\r\n            grid-template-columns:1.3fr 1fr 0.7fr;\r\n            align-items:center;\r\n            padding:14px 16px;\r\n            border-bottom:1px solid var(--border);\r\n        }\r\n        .form-row:nth-child(even){background:#f8f9fc;}\r\n        .label {font-weight:600;font-size:14.5px;}\r\n        .control input, .control select {\r\n            width:100%;\r\n            padding:10px 12px;\r\n            border-radius:10px;\r\n            border:none;\r\n            background:var(--primary);\r\n            color:#fff;\r\n            font-size:15px;\r\n            text-align:center;\r\n        }\r\n        .control input::placeholder {color:#a0c0ff;}\r\n        .unit {font-size:13.5px;color:#555;padding-left:8px;}\r\n        .section-title {\r\n            background:#002080;\r\n            color:#fff;\r\n            font-weight:600;\r\n            padding:12px 16px;\r\n            font-size:15px;\r\n        }\r\n        .fitting-row {\r\n            display:grid;\r\n            grid-template-columns:1.4fr 1fr;\r\n            padding:12px 16px;\r\n            border-bottom:1px solid var(--border);\r\n            align-items:center;\r\n        }\r\n        .fitting-row:nth-child(even){background:#f8f9fc;}\r\n        .counter {\r\n            display:grid;\r\n            grid-template-columns:1fr 1.5fr 1fr;\r\n            border-radius:10px;\r\n            overflow:hidden;\r\n            border:1px solid #c0c8e0;\r\n            height:44px;\r\n        }\r\n        .counter button {\r\n            background:#fff;\r\n            border:none;\r\n            font-size:20px;\r\n            cursor:pointer;\r\n            font-weight:bold;\r\n            color:var(--primary);\r\n        }\r\n        .counter button:hover {background:#eef2ff;}\r\n        .counter-value {\r\n            background:var(--primary);\r\n            color:#fff;\r\n            font-weight:600;\r\n            display:flex;\r\n            align-items:center;\r\n            justify-content:center;\r\n            font-size:16px;\r\n        }\r\n        .btn-calc {\r\n            width:100%;\r\n            padding:16px;\r\n            border:none;\r\n            background:var(--accent);\r\n            color:#fff;\r\n            font-size:17px;\r\n            font-weight:600;\r\n            cursor:pointer;\r\n        }\r\n        .btn-calc:hover {background:#1765d2;}\r\n        .readonly {\r\n            background:var(--primary);\r\n            color:#fff;\r\n            font-weight:600;\r\n        }\r\n        .result-section {\r\n            background:#002080;\r\n            color:#fff;\r\n            padding:16px;\r\n            font-size:16px;\r\n            text-align:center;\r\n        }\r\n        .contact-bar {\r\n            background:#001050;\r\n            color:#fff;\r\n            text-align:center;\r\n            padding:20px;\r\n            font-size:14px;\r\n        }\r\n        .contact-bar a {color:#fff;text-decoration:underline;}\r\n    <\/style>\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n<div class=\"calculator-wrapper\">\r\n    <div class=\"header-bar\">\r\n        HOBER\u7ba1\u9053\u6c34\u5934\u635f\u5931\u8ba1\u7b97\u5668\r\n        <div class=\"hober-brand\">\u4e13\u4e1a\u5de5\u5177 \u2022 15\u5e74\u5de5\u5382\u7ecf\u9a8c \u2022 hobertek.com<\/div>\r\n    <\/div>\r\n\r\n    <!-- Basic Parameters -->\r\n    <div class=\"form-row\">\r\n        <div class=\"label\">\u4f53\u6db2<\/div>\r\n        <div class=\"control\"><input type=\"text\" id=\"fluidName\" value=\"Clean Water\"><\/div>\r\n        <div class=\"unit\"><\/div>\r\n    <\/div>\r\n    <div class=\"form-row\">\r\n        <div class=\"label\">\u6d41\u901f<\/div>\r\n        <div class=\"control\"><input type=\"number\" id=\"flowRate\" value=\"60\" step=\"0.1\"><\/div>\r\n        <div class=\"unit\">\u7acb\u65b9\u7c73\/\u5c0f\u65f6<\/div>\r\n    <\/div>\r\n    <div class=\"form-row\">\r\n        <div class=\"label\">\u7ba1\u9053\u6750\u6599<\/div>\r\n        <div class=\"control\">\r\n            <select id=\"pipeMaterial\">\r\n                <option value=\"cast_iron\">\u65b0\u94f8\u94c1\u7ba1<\/option>\r\n                <option value=\"steel\" selected>\u78b3\u94a2\u7ba1<\/option>\r\n                <option value=\"pe\">PE\/HDPE\u7ba1<\/option>\r\n                <option value=\"pvc\">PVC\/UPVC\u7ba1\u6750<\/option>\r\n            <\/select>\r\n        <\/div>\r\n        <div class=\"unit\"><\/div>\r\n    <\/div>\r\n    <div class=\"form-row\">\r\n        <div class=\"label\">\u7ba1\u9053\u76f4\u5f84<\/div>\r\n        <div class=\"control\"><input type=\"number\" id=\"diameter\" placeholder=\"\u4f8b\u5982 110\" value=\"110\"><\/div>\r\n        <div class=\"unit\">\u6beb\u7c73<\/div>\r\n    <\/div>\r\n    <div class=\"form-row\">\r\n        <div class=\"label\">\u7ba1\u9053\u603b\u957f\u5ea6<\/div>\r\n        <div class=\"control\"><input type=\"number\" id=\"length\" placeholder=\"\u4f8b\u5982 300\" value=\"300\"><\/div>\r\n        <div class=\"unit\">\u7c73<\/div>\r\n    <\/div>\r\n    <div class=\"form-row\">\r\n        <div class=\"label\">\u7c98\u5ea6<\/div>\r\n        <div class=\"control\"><input type=\"number\" id=\"viscosity\" value=\"1\" step=\"0.1\"><\/div>\r\n        <div class=\"unit\">cps<\/div>\r\n    <\/div>\r\n    <div class=\"form-row\">\r\n        <div class=\"label\">\u6bd4\u91cd<\/div>\r\n        <div class=\"control\"><input type=\"number\" id=\"specificGravity\" value=\"1\" step=\"0.01\"><\/div>\r\n        <div class=\"unit\"><\/div>\r\n    <\/div>\r\n    <div class=\"form-row\">\r\n        <div class=\"label\">\u56fa\u5b9a\u5934\uff08\u53ef\u9009\uff09<\/div>\r\n        <div class=\"control\"><input type=\"number\" id=\"staticHead\" value=\"80\" step=\"0.1\"><\/div>\r\n        <div class=\"unit\">\u7c73<\/div>\r\n    <\/div>\r\n\r\n    <!-- Fittings -->\r\n    <div class=\"section-title\">\u914d\u4ef6\u6570\u91cf\uff08+\/-\uff09<\/div>\r\n    <div class=\"fitting-row\">\r\n        <div class=\"fitting-label\">90\u00b0\u5f2f\u5934<\/div>\r\n        <div class=\"counter\"><button onclick=\"c('elbow90',-1)\">\u2212<\/button><div class=\"counter-value\" id=\"elbow90\">2<\/div><button onclick=\"c('elbow90',1)\">+<\/button><\/div>\r\n    <\/div>\r\n    <div class=\"fitting-row\">\r\n        <div class=\"fitting-label\">45\u00b0\u5f2f\u5934<\/div>\r\n        <div class=\"counter\"><button onclick=\"c('elbow45',-1)\">\u2212<\/button><div class=\"counter-value\" id=\"elbow45\">0<\/div><button onclick=\"c('elbow45',1)\">+<\/button><\/div>\r\n    <\/div>\r\n    <div class=\"fitting-row\">\r\n        <div class=\"fitting-label\">\u4e09\u901a - \u5206\u652f\u6d41<\/div>\r\n        <div class=\"counter\"><button onclick=\"c('teeBranch',-1)\">\u2212<\/button><div class=\"counter-value\" id=\"teeBranch\">1<\/div><button onclick=\"c('teeBranch',1)\">+<\/button><\/div>\r\n    <\/div>\r\n    <div class=\"fitting-row\">\r\n        <div class=\"fitting-label\">\u53d1\u7403\u53f0 - \u76f4\u9053<\/div>\r\n        <div class=\"counter\"><button onclick=\"c('teeRun',-1)\">\u2212<\/button><div class=\"counter-value\" id=\"teeRun\">0<\/div><button onclick=\"c('teeRun',1)\">+<\/button><\/div>\r\n    <\/div>\r\n    <div class=\"fitting-row\">\r\n        <div class=\"fitting-label\">\u7403\u9600<\/div>\r\n        <div class=\"counter\"><button onclick=\"c('ballValve',-1)\">\u2212<\/button><div class=\"counter-value\" id=\"ballValve\">2<\/div><button onclick=\"c('ballValve',1)\">+<\/button><\/div>\r\n    <\/div>\r\n    <div class=\"fitting-row\">\r\n        <div class=\"fitting-label\">\u95f8\u9600<\/div>\r\n        <div class=\"counter\"><button onclick=\"c('gateValve',-1)\">\u2212<\/button><div class=\"counter-value\" id=\"gateValve\">1<\/div><button onclick=\"c('gateValve',1)\">+<\/button><\/div>\r\n    <\/div>\r\n    <div class=\"fitting-row\">\r\n        <div class=\"fitting-label\">\u6b62\u56de\u9600<\/div>\r\n        <div class=\"counter\"><button onclick=\"c('checkValve',-1)\">\u2212<\/button><div class=\"counter-value\" id=\"checkValve\">1<\/div><button onclick=\"c('checkValve',1)\">+<\/button><\/div>\r\n    <\/div>\r\n    <div class=\"fitting-row\">\r\n        <div class=\"fitting-label\">\u7403\u9600\/\u89d2\u9600<\/div>\r\n        <div class=\"counter\"><button onclick=\"c('angleValve',-1)\">\u2212<\/button><div class=\"counter-value\" id=\"angleValve\">0<\/div><button onclick=\"c('angleValve',1)\">+<\/button><\/div>\r\n    <\/div>\r\n\r\n    <button class=\"btn-calc\" onclick=\"calculateLoss()\">\u8ba1\u7b97\u6c34\u5934\u635f\u5931<\/button>\r\n\r\n    <!-- Results -->\r\n    <div class=\"result-section\">\u8ba1\u7b97\u7ed3\u679c<\/div>\r\n    <div class=\"form-row\">\r\n        <div class=\"label\">\u901f\u5ea6<\/div>\r\n        <div class=\"control\"><input type=\"text\" id=\"velocity\" class=\"readonly\" readonly><\/div>\r\n        <div class=\"unit\">\u591a\u53d1\u6027\u786c\u5316\u75c7<\/div>\r\n    <\/div>\r\n    <div class=\"form-row\">\r\n        <div class=\"label\">\u6469\u64e6\u635f\u5931\uff08hf\uff09<\/div>\r\n        <div class=\"control\"><input type=\"text\" id=\"headLossF\" class=\"readonly\" readonly><\/div>\r\n        <div class=\"unit\">\u7c73<\/div>\r\n    <\/div>\r\n    <div class=\"form-row\">\r\n        <div class=\"label\">\u5c40\u90e8\u635f\u5931\uff08hj\uff09<\/div>\r\n        <div class=\"control\"><input type=\"text\" id=\"headLossJ\" class=\"readonly\" readonly><\/div>\r\n        <div class=\"unit\">\u7c73<\/div>\r\n    <\/div>\r\n    <div class=\"form-row\">\r\n        <div class=\"label\">\u9759\u538b\u5934<\/div>\r\n        <div class=\"control\"><input type=\"text\" id=\"headStaticOut\" class=\"readonly\" readonly><\/div>\r\n        <div class=\"unit\">\u7c73<\/div>\r\n    <\/div>\r\n    <div class=\"form-row\">\r\n        <div class=\"label\">\u5168\u52a8\u529b\u5934<\/div>\r\n        <div class=\"control\"><input type=\"text\" id=\"headTotal\" class=\"readonly\" readonly><\/div>\r\n        <div class=\"unit\">\u7c73<\/div>\r\n    <\/div>\r\n    <div class=\"form-row\">\r\n        <div class=\"label\">\u538b\u964d<\/div>\r\n        <div class=\"control\"><input type=\"text\" id=\"pressureDrop\" class=\"readonly\" readonly><\/div>\r\n        <div class=\"unit\">\u9152\u5427<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"contact-bar\">\r\n        \u8fd9\u662fHOBER\u00ae\u51fa\u54c1\u7684\u4e13\u4e1a\u5de5\u5177\u3002<br>\r\n        \u9700\u8981\u6839\u636e\u8fd9\u4e9b\u7ed3\u679c\u8bbe\u8ba1\u7cbe\u786e\u7684\u592a\u9633\u80fd\u6c34\u6cf5\u7cfb\u7edf\u5417\uff1f<br>\r\n        \u8054\u7cfb Hober \u56e2\u961f\u83b7\u53d6\u514d\u8d39\u62a5\u4ef7 \u2192 <a href=\"mailto:sales@hobertek.com\">sales@hobertek.com<\/a>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\n  function c(id, delta){\r\n    const el = document.getElementById(id);\r\n    let v = parseInt(el.textContent, 10);\r\n    v += delta;\r\n    if (v < 0) v = 0;\r\n    el.textContent = v;\r\n  }\r\n  function calculateLoss(){\r\n    const Q_m3hr = parseFloat(document.getElementById('flowRate').value) || 0;\r\n    const D_mm = parseFloat(document.getElementById('diameter').value) || 0;\r\n    const L_m = parseFloat(document.getElementById('length').value) || 0;\r\n    const mu_cps = parseFloat(document.getElementById('viscosity').value) || 1;\r\n    const sg = parseFloat(document.getElementById('specificGravity').value) || 1;\r\n    const Hs = parseFloat(document.getElementById('staticHead').value) || 0;\r\n\r\n    if (Q_m3hr <= 0 || D_mm <= 0 || L_m <= 0){\r\n      alert('Please enter at least: Flow rate, pipe diameter and total length.');\r\n      return;\r\n    }\r\n\r\n    const Q_m3s = Q_m3hr \/ 3600;\r\n    const D_m = D_mm \/ 1000;\r\n    const rho = sg * 1000;\r\n    const mu = mu_cps * 0.001;\r\n    const g = 9.81;\r\n\r\n    const area = Math.PI * D_m * D_m \/ 4;\r\n    const v = Q_m3s \/ area;\r\n\r\n    const Re = rho * v * D_m \/ mu;\r\n\r\n    \/\/ Roughness \u03b5 (m)\r\n    const pipeMaterial = document.getElementById('pipeMaterial').value;\r\n    let epsilon = 0.00015; \/\/ default steel\r\n    if (pipeMaterial === 'cast_iron') epsilon = 0.00026;\r\n    if (pipeMaterial === 'pe' || pipeMaterial === 'pvc') epsilon = 0.0000015;\r\n\r\n    \/\/ Friction factor f (Swamee-Jain)\r\n    let f;\r\n    if (Re < 2300){\r\n      f = 64 \/ Re;\r\n    }else{\r\n      const term = (epsilon\/(3.7*D_m)) + (5.74\/Math.pow(Re,0.9));\r\n      f = 0.25 \/ Math.pow(Math.log10(term), 2);\r\n    }\r\n\r\n    const hf = f * (L_m \/ D_m) * (v*v\/(2*g));\r\n\r\n    \/\/ Local losses K\r\n    const K = {\r\n      elbow90: 0.9,\r\n      elbow45: 0.4,\r\n      teeBranch: 1.0,\r\n      teeRun: 0.6,\r\n      ballValve: 0.05,\r\n      gateValve: 0.2,\r\n      checkValve: 2.0,\r\n      angleValve: 5.0\r\n    };\r\n\r\n    const K_total = \r\n      K.elbow90 * parseInt(document.getElementById('elbow90').textContent) +\r\n      K.elbow45 * parseInt(document.getElementById('elbow45').textContent) +\r\n      K.teeBranch * parseInt(document.getElementById('teeBranch').textContent) +\r\n      K.teeRun * parseInt(document.getElementById('teeRun').textContent) +\r\n      K.ballValve * parseInt(document.getElementById('ballValve').textContent) +\r\n      K.gateValve * parseInt(document.getElementById('gateValve').textContent) +\r\n      K.checkValve * parseInt(document.getElementById('checkValve').textContent) +\r\n      K.angleValve * parseInt(document.getElementById('angleValve').textContent);\r\n\r\n    const hj = K_total * v*v \/ (2*g);\r\n\r\n    const H_tot = Hs + hf + hj;\r\n    const deltaP_bar = (rho * g * (hf + hj)) \/ 1e5;\r\n\r\n    document.getElementById('velocity').value = v.toFixed(2);\r\n    document.getElementById('headLossF').value = hf.toFixed(2);\r\n    document.getElementById('headLossJ').value = hj.toFixed(2);\r\n    document.getElementById('headStaticOut').value = Hs.toFixed(2);\r\n    document.getElementById('headTotal').value = H_tot.toFixed(2);\r\n    document.getElementById('pressureDrop').value = deltaP_bar.toFixed(3);\r\n  }\r\n<\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>HOBER\u7ba1\u9053\u6c34\u5934\u635f\u5931\u8ba1\u7b97\u5668 \u2013 hobertek.com HOBER\u7ba1\u9053\u6c34\u5934\u635f\u5931\u8ba1\u7b97\u5668\u4e13\u4e1a\u5de5\u5177 \u2022 15\u5e74\u5de5\u5382\u7ecf\u9a8c \u2022 hobertek.com \u6d41\u4f53\u6d41\u91cf m\u00b3\/h \u7ba1\u9053\u6750\u6599<span class=\"excerpt-hellip\"> [\u2026]<\/span><\/p>","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","om_disable_all_campaigns":false,"_joinchat":[],"footnotes":""},"class_list":["post-7073","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/hobertek.com\/zh\/wp-json\/wp\/v2\/pages\/7073","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hobertek.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hobertek.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hobertek.com\/zh\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/hobertek.com\/zh\/wp-json\/wp\/v2\/comments?post=7073"}],"version-history":[{"count":1,"href":"https:\/\/hobertek.com\/zh\/wp-json\/wp\/v2\/pages\/7073\/revisions"}],"predecessor-version":[{"id":7074,"href":"https:\/\/hobertek.com\/zh\/wp-json\/wp\/v2\/pages\/7073\/revisions\/7074"}],"wp:attachment":[{"href":"https:\/\/hobertek.com\/zh\/wp-json\/wp\/v2\/media?parent=7073"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}