{"id":3334,"date":"2026-04-23T09:13:33","date_gmt":"2026-04-23T09:13:33","guid":{"rendered":"https:\/\/bbpmfg.com\/?page_id=3334"},"modified":"2026-04-23T09:19:40","modified_gmt":"2026-04-23T09:19:40","slug":"pipeline-pump-selector","status":"publish","type":"page","link":"https:\/\/bbpmfg.com\/ar\/booster-pipeline-pumps\/pipeline-pump\/pipeline-pump-selector\/","title":{"rendered":"\u0645\u062d\u062f\u062f \u0645\u0636\u062e\u0629 \u062e\u0637 \u0627\u0644\u0623\u0646\u0627\u0628\u064a\u0628"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-2e638d6\" data-block-id=\"2e638d6\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-2e638d6-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-fcabc7c\" data-v=\"4\" data-block-id=\"fcabc7c\"><style>.stk-fcabc7c-container{margin-top:var(--stk--preset--spacing--50, 1.5rem) !important;margin-right:var(--stk--preset--spacing--50, 1.5rem) !important;margin-bottom:var(--stk--preset--spacing--50, 1.5rem) !important;margin-left:var(--stk--preset--spacing--50, 1.5rem) !important;}<\/style><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-fcabc7c-container stk--no-background stk--no-padding\"><div class=\"has-text-align-center stk-block-content stk-inner-blocks stk-fcabc7c-inner-blocks\"><div class=\"ct-breadcrumbs\" data-source=\"rankmath\" ><nav aria-label=\"breadcrumbs\" class=\"rank-math-breadcrumb\"><p><span class=\"last\">Home<\/span><\/p><\/nav><\/div><\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-950a8c2\" data-block-id=\"950a8c2\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-950a8c2-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-abafc15\" data-v=\"4\" data-block-id=\"abafc15\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-abafc15-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-abafc15-inner-blocks\">\n<style>\n\/* * 1. \u6700\u9ad8\u7ea7\u522b\u4f5c\u7528\u57df\u9694\u79bb \n * 2. \u5f15\u5165\u9ad8\u54c1\u8d28\u65e0\u886c\u7ebf\u82f1\u6587\u5b57\u4f53 Inter\uff0c\u63d0\u5347 B2B \u5de5\u4e1a\u51b7\u5cfb\u611f\u4e0e\u53ef\u8bfb\u6027\n *\/\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700;800&display=swap');\n\n#bbp-pump-selector-module {\n    font-family: 'Inter', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif !important;\n    width: 100% !important;\n    padding: 40px 20px !important; \/* \u9075\u5faa Section \u9ad8\u5ea6 40px padding \u8bbe\u5b9a *\/\n    box-sizing: border-box !important;\n    background-color: #F8FAFC !important; \/* \u6781\u6d45\u7684\u5de5\u4e1a\u7070\u5e95\u8272\uff0c\u51f8\u663e\u4e2d\u95f4\u7684\u8ba1\u7b97\u5668\u767d\u677f *\/\n    color: #334155 !important;\n    line-height: 1.6 !important;\n    position: relative !important;\n    overflow: hidden !important;\n}\n\n#bbp-pump-selector-module *, \n#bbp-pump-selector-module *::before, \n#bbp-pump-selector-module *::after {\n    box-sizing: border-box !important;\n}\n\n\/* \u5185\u90e8\u5c45\u4e2d\u9650\u5bbd\u5bb9\u5668 *\/\n#bbp-pump-selector-module .bbp-container {\n    max-width: 1000px !important; \/* \u9009\u578b\u5668\u6700\u4f73\u9605\u8bfb\u5bbd\u5ea6 *\/\n    margin: 0 auto !important;\n    width: 100% !important;\n}\n\n\/* ================= \u9009\u578b\u5668\u4e3b\u4f53 UI ================= *\/\n#bbp-pump-selector-module .pps-sel-wrapper {\n    background: #ffffff !important;\n    border-radius: 12px !important;\n    box-shadow: 0 10px 40px -10px rgba(24, 72, 192, 0.1), 0 1px 3px rgba(0,0,0,0.05) !important;\n    overflow: hidden !important;\n    border: 1px solid #E2E8F0 !important;\n}\n\n\/* \u6e10\u53d8\u8868\u5934 *\/\n#bbp-pump-selector-module .pps-head {\n    background: linear-gradient(135deg, #1848C0 0%, #0F2F85 100%) !important;\n    padding: 40px 48px !important;\n    position: relative !important;\n}\n\n\/* \u88c5\u9970\u6027\u80cc\u666f\u5149\u6548 *\/\n#bbp-pump-selector-module .pps-head::after {\n    content: \"\" !important;\n    position: absolute !important;\n    top: 0 !important;\n    right: 0 !important;\n    width: 300px !important;\n    height: 100% !important;\n    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.05) 100%) !important;\n    pointer-events: none !important;\n}\n\n\/* \u6807\u9898\u66ff\u6362\uff1a\u4f7f\u7528 aria-level \u4fdd\u8bc1 SEO\uff0c\u5b57\u53f7\u4e25\u683c\u8bbe\u5b9a 32px *\/\n#bbp-pump-selector-module .pps-main-title {\n    margin: 0 0 12px 0 !important;\n    font-size: 32px !important;\n    font-weight: 800 !important;\n    color: #ffffff !important;\n    letter-spacing: -0.02em !important;\n    line-height: 1.2 !important;\n}\n\n#bbp-pump-selector-module .pps-head-desc {\n    margin: 0 !important;\n    color: #E8EEFB !important;\n    font-size: 16px !important;\n    line-height: 1.6 !important;\n    max-width: 800px !important;\n}\n\n\/* \u8868\u5355\u533a\u57df *\/\n#bbp-pump-selector-module .pps-body {\n    padding: 40px 48px !important;\n    background-color: #ffffff !important;\n}\n\n#bbp-pump-selector-module .pps-grid {\n    display: grid !important;\n    grid-template-columns: repeat(2, 1fr) !important;\n    gap: 24px 32px !important;\n    margin-bottom: 32px !important;\n}\n\n\/* \u8f93\u5165\u6846\u7ec4\u5408 *\/\n#bbp-pump-selector-module .pps-field {\n    display: flex !important;\n    flex-direction: column !important;\n}\n\n#bbp-pump-selector-module .pps-field label {\n    font-size: 14px !important;\n    font-weight: 700 !important;\n    color: #1E293B !important;\n    margin-bottom: 8px !important;\n    text-transform: uppercase !important;\n    letter-spacing: 0.05em !important;\n    display: flex !important;\n    flex-direction: column !important;\n}\n\n#bbp-pump-selector-module .pps-field label .hint {\n    font-size: 12px !important;\n    font-weight: 500 !important;\n    color: #64748B !important;\n    text-transform: none !important;\n    letter-spacing: 0 !important;\n    margin-top: 4px !important;\n}\n\n#bbp-pump-selector-module .pps-field input, \n#bbp-pump-selector-module .pps-field select {\n    padding: 14px 16px !important;\n    border: 1px solid #CBD5E1 !important;\n    border-radius: 6px !important;\n    font-size: 15px !important;\n    font-family: inherit !important;\n    background: #F8FAFC !important;\n    color: #0F172A !important;\n    font-weight: 500 !important;\n    transition: all 0.2s ease !important;\n    width: 100% !important;\n    appearance: none !important; \/* \u7edf\u4e00\u591a\u7aef select \u6837\u5f0f *\/\n}\n\n\/* Select \u4e0b\u62c9\u7bad\u5934\u7f8e\u5316 *\/\n#bbp-pump-selector-module .pps-field select {\n    background-image: url(\"data:image\/svg+xml;charset=UTF-8,%3csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c\/polyline%3e%3c\/svg%3e\") !important;\n    background-repeat: no-repeat !important;\n    background-position: right 16px center !important;\n    background-size: 16px !important;\n    padding-right: 40px !important;\n}\n\n#bbp-pump-selector-module .pps-field input:focus, \n#bbp-pump-selector-module .pps-field select:focus {\n    outline: none !important;\n    border-color: #1848C0 !important;\n    background: #ffffff !important;\n    box-shadow: 0 0 0 4px rgba(24, 72, 192, 0.1) !important;\n}\n\n\/* \u8fd0\u884c\u6309\u94ae - \u4f7f\u7528\u8981\u6c42\u914d\u8272 #F0C018 *\/\n#bbp-pump-selector-module .pps-run {\n    background-color: #F0C018 !important;\n    color: #0F172A !important;\n    border: none !important;\n    padding: 18px 32px !important;\n    font-size: 18px !important;\n    font-weight: 700 !important;\n    border-radius: 6px !important;\n    cursor: pointer !important;\n    width: 100% !important;\n    transition: all 0.3s ease !important;\n    box-shadow: 0 4px 12px rgba(240, 192, 24, 0.2) !important;\n    display: flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    gap: 8px !important;\n}\n\n#bbp-pump-selector-module .pps-run:hover {\n    background-color: #F5D04A !important;\n    transform: translateY(-2px) !important;\n    box-shadow: 0 6px 16px rgba(240, 192, 24, 0.3) !important;\n}\n\n\/* ================= \u7ed3\u679c\u5c55\u793a\u9762\u677f ================= *\/\n#bbp-pump-selector-module .pps-result {\n    margin-top: 40px !important;\n    padding: 32px !important;\n    border-radius: 8px !important;\n    border: 2px solid #E8EEFB !important;\n    background: linear-gradient(135deg, #ffffff 0%, #F8FAFC 100%) !important;\n    display: none !important;\n    animation: ppsFadeIn 0.5s ease-out forwards !important;\n}\n\n@keyframes ppsFadeIn {\n    from { opacity: 0; transform: translateY(10px); }\n    to { opacity: 1; transform: translateY(0); }\n}\n\n#bbp-pump-selector-module .pps-result.visible {\n    display: block !important;\n}\n\n#bbp-pump-selector-module .pps-result.err {\n    border-color: #FECACA !important;\n    background: linear-gradient(135deg, #ffffff 0%, #FEF2F2 100%) !important;\n}\n\n#bbp-pump-selector-module .pps-result-title {\n    margin: 0 0 24px 0 !important;\n    color: #1848C0 !important;\n    font-size: 24px !important;\n    font-weight: 800 !important;\n    letter-spacing: -0.01em !important;\n    border-bottom: 2px solid #E2E8F0 !important;\n    padding-bottom: 16px !important;\n}\n\n#bbp-pump-selector-module .pps-result.err .pps-result-title {\n    color: #DC2626 !important;\n    border-bottom-color: #FECACA !important;\n}\n\n#bbp-pump-selector-module .pps-row {\n    display: grid !important;\n    grid-template-columns: 220px 1fr !important;\n    gap: 16px !important;\n    padding: 14px 0 !important;\n    border-bottom: 1px dashed #CBD5E1 !important;\n    align-items: center !important;\n}\n\n#bbp-pump-selector-module .pps-row:last-child {\n    border-bottom: none !important;\n}\n\n#bbp-pump-selector-module .pps-row-k {\n    font-weight: 700 !important;\n    color: #64748B !important;\n    font-size: 14px !important;\n    text-transform: uppercase !important;\n    letter-spacing: 0.05em !important;\n}\n\n#bbp-pump-selector-module .pps-row-v {\n    color: #0F172A !important;\n    font-weight: 600 !important;\n    font-size: 16px !important;\n}\n\n\/* \u6807\u7b7e\u6837\u5f0f *\/\n#bbp-pump-selector-module .pps-flag {\n    padding: 4px 12px !important;\n    border-radius: 4px !important;\n    font-size: 13px !important;\n    font-weight: 700 !important;\n    text-transform: uppercase !important;\n    letter-spacing: 0.04em !important;\n    display: inline-block !important;\n    margin-right: 8px !important;\n}\n\n#bbp-pump-selector-module .pps-flag-pass {\n    background: #DCFCE7 !important;\n    color: #166534 !important;\n}\n\n#bbp-pump-selector-module .pps-flag-warn {\n    background: #FFEDD5 !important;\n    color: #C2410C !important;\n}\n\n\/* \u63d0\u793a\u6587\u672c\u5757 *\/\n#bbp-pump-selector-module .pps-note {\n    margin-top: 20px !important;\n    padding: 16px 20px !important;\n    background: #ffffff !important;\n    border-left: 4px solid #F0C018 !important;\n    border-radius: 4px !important;\n    font-size: 15px !important;\n    color: #334155 !important;\n    box-shadow: 0 2px 8px rgba(0,0,0,0.02) !important;\n    line-height: 1.6 !important;\n}\n\n\/* ================= \u5e95\u90e8 CTA \u533a\u57df ================= *\/\n#bbp-pump-selector-module .pps-cta-row {\n    margin-top: 32px !important;\n    display: flex !important;\n    gap: 16px !important;\n    flex-wrap: wrap !important;\n}\n\n#bbp-pump-selector-module .pps-cta {\n    display: inline-flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    padding: 14px 28px !important;\n    border-radius: 6px !important;\n    font-weight: 700 !important;\n    font-size: 15px !important;\n    text-decoration: none !important;\n    text-align: center !important;\n    transition: all 0.2s ease !important;\n}\n\n#bbp-pump-selector-module .pps-cta-primary {\n    background: #1848C0 !important;\n    color: #ffffff !important;\n    border: 2px solid #1848C0 !important;\n    box-shadow: 0 4px 10px rgba(24, 72, 192, 0.2) !important;\n}\n\n#bbp-pump-selector-module .pps-cta-primary:hover {\n    background: #0F2F85 !important;\n    border-color: #0F2F85 !important;\n    transform: translateY(-2px) !important;\n}\n\n#bbp-pump-selector-module .pps-cta-secondary {\n    background: #ffffff !important;\n    color: #1848C0 !important;\n    border: 2px solid #CBD5E1 !important;\n}\n\n#bbp-pump-selector-module .pps-cta-secondary:hover {\n    border-color: #1848C0 !important;\n    color: #1848C0 !important;\n    background: #F8FAFC !important;\n}\n\n\/* ================= \u5e95\u90e8\u514d\u8d23\u58f0\u660e ================= *\/\n#bbp-pump-selector-module .pps-footer {\n    padding: 20px 48px !important;\n    background: #F1F5F9 !important;\n    font-size: 13px !important;\n    color: #64748B !important;\n    border-top: 1px solid #E2E8F0 !important;\n    line-height: 1.6 !important;\n    text-align: center !important;\n}\n\n\/* ================= \u79fb\u52a8\u7aef\u81ea\u9002\u5e94 ================= *\/\n@media (max-width:690px) {\n    #bbp-pump-selector-module .pps-head { padding: 32px 24px !important; }\n    #bbp-pump-selector-module .pps-main-title { font-size: 26px !important; }\n    #bbp-pump-selector-module .pps-body { padding: 32px 24px !important; }\n    #bbp-pump-selector-module .pps-grid { grid-template-columns: 1fr !important; gap: 20px !important; }\n    #bbp-pump-selector-module .pps-row { grid-template-columns: 1fr !important; gap: 6px !important; }\n    #bbp-pump-selector-module .pps-cta { width: 100% !important; }\n    #bbp-pump-selector-module .pps-footer { padding: 20px 24px !important; text-align: left !important; }\n}\n<\/style>\n\n<section id=\"bbp-pump-selector-module\">\n    <div class=\"bbp-container\">\n        <div class=\"pps-sel-wrapper\">\n            \n            <div class=\"pps-head\">\n                <div class=\"pps-main-title\" role=\"heading\" aria-level=\"2\">Pipeline Pump Selector<\/div>\n                <p class=\"pps-head-desc\">Enter your duty point and medium. This tool recommends the ISW-family variant, material, and frame class that sits inside the 70&ndash;120% BEP preferred operating range.<\/p>\n            <\/div>\n\n            <div class=\"pps-body\">\n                <div class=\"pps-grid\">\n                    <div class=\"pps-field\">\n                        <label>Required flow <span class=\"hint\">m&sup3;\/h &mdash; design duty point<\/span><\/label>\n                        <input type=\"number\" id=\"pps-flow\" min=\"1\" max=\"2000\" step=\"0.1\" placeholder=\"e.g. 50\">\n                    <\/div>\n                    <div class=\"pps-field\">\n                        <label>Required head <span class=\"hint\">m &mdash; total dynamic head at design flow<\/span><\/label>\n                        <input type=\"number\" id=\"pps-head\" min=\"5\" max=\"200\" step=\"0.1\" placeholder=\"e.g. 32\">\n                    <\/div>\n                    <div class=\"pps-field\">\n                        <label>Medium<\/label>\n                        <select id=\"pps-medium\">\n                            <option value=\"clean_water\">Clean water (municipal, HVAC, fire)<\/option>\n                            <option value=\"hot_water\">Hot water \/ boiler \/ district heating<\/option>\n                            <option value=\"chemical\">Chemical \/ corrosive (no solids)<\/option>\n                            <option value=\"food\">Food \/ beverage \/ pharma (low chloride)<\/option>\n                            <option value=\"food_chloride\">Food with chloride \/ brine \/ seawater<\/option>\n                            <option value=\"petroleum\">Petroleum \/ diesel \/ kerosene<\/option>\n                            <option value=\"low_noise\">Clean water &mdash; low-noise required<\/option>\n                        <\/select>\n                    <\/div>\n                    <div class=\"pps-field\">\n                        <label>Fluid temperature <span class=\"hint\">&deg;C &mdash; max operating<\/span><\/label>\n                        <input type=\"number\" id=\"pps-temp\" min=\"-20\" max=\"200\" step=\"1\" placeholder=\"e.g. 80\">\n                    <\/div>\n                    <div class=\"pps-field\">\n                        <label>Chloride exposure<\/label>\n                        <select id=\"pps-chloride\">\n                            <option value=\"none\">None \/ trace<\/option>\n                            <option value=\"moderate\">Moderate (coastal air, mild brine)<\/option>\n                            <option value=\"high\">High (salt brine, seawater, chloride-laden)<\/option>\n                        <\/select>\n                    <\/div>\n                    <div class=\"pps-field\">\n                        <label>Duty pattern<\/label>\n                        <select id=\"pps-duty\">\n                            <option value=\"continuous\">Continuous (24\/7)<\/option>\n                            <option value=\"daily\">Daily (8-16 h)<\/option>\n                            <option value=\"variable\">Variable load (HVAC seasonal)<\/option>\n                            <option value=\"standby\">Standby \/ emergency<\/option>\n                        <\/select>\n                    <\/div>\n                <\/div>\n                \n                <button type=\"button\" class=\"pps-run\" onclick=\"ppsRun()\">Recommend My Pump &rarr;<\/button>\n\n                <div id=\"pps-result\" class=\"pps-result\">\n                    <div id=\"pps-result-title\" class=\"pps-result-title\" role=\"heading\" aria-level=\"3\">Recommendation<\/div>\n                    <div id=\"pps-result-body\"><\/div>\n                    <div class=\"pps-cta-row\">\n                        <a href=\"#ct-popup-820\" class=\"pps-cta pps-cta-primary\">Request Full Quotation<\/a>\n                        <a href=\"#ct-popup-820\" data-offer=\"whatsapp\" class=\"pps-cta pps-cta-secondary\">WhatsApp This to Engineer<\/a>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"pps-footer\">\n                This selector applies ISO 2858 \/ ISO 5199 dimensional envelopes plus BBP&#8217;s published hydraulic data. BEP validation uses the Hydraulic Institute 70&ndash;120% POR guideline. Actual model selection is confirmed by BBP&#8217;s application engineering on formal quotation.\n            <\/div>\n            \n        <\/div>\n    <\/div>\n<\/section>\n\n<script>\nfunction ppsRun(){\n  var flow     = parseFloat(document.getElementById('pps-flow').value);\n  var head     = parseFloat(document.getElementById('pps-head').value);\n  var medium   = document.getElementById('pps-medium').value;\n  var temp     = parseFloat(document.getElementById('pps-temp').value);\n  var chloride = document.getElementById('pps-chloride').value;\n  var duty     = document.getElementById('pps-duty').value;\n\n  var resultEl = document.getElementById('pps-result');\n  var titleEl  = document.getElementById('pps-result-title');\n  var bodyEl   = document.getElementById('pps-result-body');\n\n  \/\/ Reset state classes \u2014 but never touch .pps-cta-row or its children\n  resultEl.classList.remove('err');\n\n  \/\/ Inline validation \u2014 no native alert(), no form required attributes\n  if (isNaN(flow) || isNaN(head) || isNaN(temp)) {\n    resultEl.classList.add('err');\n    titleEl.textContent = 'Please complete all numeric fields';\n    bodyEl.innerHTML =\n      '<div class=\"pps-row\"><div class=\"pps-row-k\">Flow (m&sup3;\/h)<\/div><div class=\"pps-row-v\">' + (isNaN(flow) ? 'missing or non-numeric' : flow) + '<\/div><\/div>' +\n      '<div class=\"pps-row\"><div class=\"pps-row-k\">Head (m)<\/div><div class=\"pps-row-v\">' + (isNaN(head) ? 'missing or non-numeric' : head) + '<\/div><\/div>' +\n      '<div class=\"pps-row\"><div class=\"pps-row-k\">Temperature (&deg;C)<\/div><div class=\"pps-row-v\">' + (isNaN(temp) ? 'missing or non-numeric' : temp) + '<\/div><\/div>' +\n      '<div class=\"pps-note\">Fill in flow, head, and temperature, then click Recommend My Pump again.<\/div>';\n    resultEl.classList.add('visible');\n    resultEl.scrollIntoView({behavior:'smooth', block:'start'});\n    return;\n  }\n\n  \/\/ ---- Variant \/ material \/ seal \/ motor logic ----\n  var variant  = '';\n  var material = '';\n  var seal     = '';\n  var motor    = '';\n  var notes    = [];\n\n  if (medium === 'clean_water') {\n    variant  = (temp > 80) ? 'ISWR' : 'ISW';\n    material = 'Cast Iron';\n    seal     = 'Standard mechanical seal';\n    motor    = 'Standard IE3';\n  } else if (medium === 'hot_water') {\n    variant  = 'ISWR';\n    material = 'Cast Iron';\n    seal     = 'High-temp mechanical seal';\n    motor    = 'Standard IE3';\n    if (temp > 120) {\n      notes.push('&#9888; Temperature above ISWR range. Consider high-temp variant with specialised seal.');\n    }\n  } else if (medium === 'chemical') {\n    variant  = 'ISWH';\n    material = (chloride === 'high') ? 'SS316' : 'SS304';\n    seal     = 'PTFE \/ Viton mechanical seal';\n    motor    = 'Standard IE3';\n  } else if (medium === 'food') {\n    variant  = 'SS304 Variant';\n    material = 'SS304';\n    seal     = 'Food-grade mechanical seal';\n    motor    = 'Standard IE3';\n    if (chloride !== 'none') {\n      notes.push('For any chloride exposure in food contact, upgrade to SS316 to avoid pitting.');\n    }\n  } else if (medium === 'food_chloride') {\n    variant  = 'SS316 Variant';\n    material = 'SS316';\n    seal     = 'Food-grade mechanical seal';\n    motor    = 'Standard IE3';\n  } else if (medium === 'petroleum') {\n    variant  = 'ISWB';\n    material = 'Cast Iron \/ SS304';\n    seal     = 'Mechanical seal (Viton)';\n    motor    = 'Explosion-proof (ATEX \/ Ex-d)';\n  } else if (medium === 'low_noise') {\n    variant  = 'ISWD';\n    material = 'Cast Iron';\n    seal     = 'Standard mechanical seal';\n    motor    = 'Low-noise optimised';\n  }\n\n  \/\/ ---- Frame class based on flow (m3\/h) ----\n  var frame;\n  if      (flow <= 6.3)   { frame = 'DN25 (ISW25 series)'; }\n  else if (flow <= 12.5)  { frame = 'DN32-40 (ISW32\/40 series)'; }\n  else if (flow <= 25)    { frame = 'DN50 (ISW50 series)'; }\n  else if (flow <= 50)    { frame = 'DN65-80 (ISW65\/80 series)'; }\n  else if (flow <= 100)   { frame = 'DN100 (ISW100 series)'; }\n  else if (flow <= 200)   { frame = 'DN125-150 (ISW125\/150 series)'; }\n  else if (flow <= 400)   { frame = 'DN200 (ISW200 series)'; }\n  else if (flow <= 720)   { frame = 'DN250-300 (ISW250\/300 series)'; }\n  else if (flow <= 1200)  { frame = 'DN350 (ISW350 series)'; }\n  else                    { frame = 'Flow exceeds ISW envelope &mdash; consider axially split case pump'; }\n\n  \/\/ ---- BEP \/ envelope check ----\n  \/\/ Branch order: narrower \/ exceeding conditions must come before the happy path,\n  \/\/ otherwise head>150 and flow>1200 would be hidden by the pass branch.\n  var porFlag, porLabel, porNote;\n  if (flow < 1 || head < 5) {\n    porFlag  = 'pps-flag-warn'; porLabel = 'REVIEW';\n    porNote  = 'Duty below ISW range &mdash; consider a smaller inline or booster pump.';\n  } else if (flow > 1200) {\n    porFlag  = 'pps-flag-warn'; porLabel = 'REVIEW';\n    porNote  = 'Flow exceeds single-stage ISW frame &mdash; split-case pump recommended.';\n  } else if (head > 150) {\n    porFlag  = 'pps-flag-warn'; porLabel = 'REVIEW';\n    porNote  = 'Head exceeds single-stage envelope &mdash; multistage pump required.';\n  } else {\n    porFlag  = 'pps-flag-pass'; porLabel = 'PASS';\n    porNote  = 'Duty point falls inside the 70-120% BEP preferred operating range for the recommended frame.';\n  }\n\n  \/\/ ---- Duty pattern advice ----\n  var dutyAdvice = '';\n  if (duty === 'variable') {\n    dutyAdvice = 'Recommend VFD drive &mdash; variable load benefits from speed modulation. Expected energy savings 20-40% vs fixed speed (DOE UMP Ch18).';\n  } else if (duty === 'continuous') {\n    dutyAdvice = 'Specify commissioning spare kit (seal, bearings, O-rings). Stocked spares ship within 5 working days.';\n  } else if (duty === 'standby') {\n    dutyAdvice = 'Exercise schedule every 30 days recommended. Low duty increases bearing corrosion risk.';\n  }\n\n  \/\/ ---- Render (string concatenation, no template literals) ----\n  var html = '' +\n    '<div class=\"pps-row\"><div class=\"pps-row-k\">Recommended variant<\/div><div class=\"pps-row-v\">' + variant + '<\/div><\/div>' +\n    '<div class=\"pps-row\"><div class=\"pps-row-k\">Material<\/div><div class=\"pps-row-v\">' + material + '<\/div><\/div>' +\n    '<div class=\"pps-row\"><div class=\"pps-row-k\">Frame class<\/div><div class=\"pps-row-v\">' + frame + '<\/div><\/div>' +\n    '<div class=\"pps-row\"><div class=\"pps-row-k\">Seal type<\/div><div class=\"pps-row-v\">' + seal + '<\/div><\/div>' +\n    '<div class=\"pps-row\"><div class=\"pps-row-k\">Motor spec<\/div><div class=\"pps-row-v\">' + motor + '<\/div><\/div>' +\n    '<div class=\"pps-row\"><div class=\"pps-row-k\">Duty point ' + flow + ' m&sup3;\/h @ ' + head + ' m<\/div>' +\n      '<div class=\"pps-row-v\"><span class=\"pps-flag ' + porFlag + '\">' + porLabel + '<\/span> ' + porNote + '<\/div><\/div>';\n\n  if (dutyAdvice) {\n    html += '<div class=\"pps-note\"><strong>Duty advice:<\/strong> ' + dutyAdvice + '<\/div>';\n  }\n  for (var i = 0; i < notes.length; i++) {\n    html += '<div class=\"pps-note\">' + notes[i] + '<\/div>';\n  }\n  html += '<div class=\"pps-note\"><strong>Next step:<\/strong> Send this recommendation plus your application details to BBP\\'s engineering team for a verified duty-point match and indicative pricing.<\/div>';\n\n  titleEl.textContent = 'Recommendation';\n  bodyEl.innerHTML = html;\n  resultEl.classList.add('visible');\n  resultEl.scrollIntoView({behavior:'smooth', block:'center'});\n}\n<\/script>\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Pipeline Pump Selector Enter your duty point and medium. This tool recommends the ISW-family variant, material, and frame class that sits inside the 70&ndash;120% BEP preferred operating range. Required flow m&sup3;\/h &mdash; design duty point Required head m &mdash; total dynamic head at design flow Medium Clean water (municipal, HVAC, fire)Hot water \/ boiler \/ [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":3056,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-3334","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/bbpmfg.com\/ar\/wp-json\/wp\/v2\/pages\/3334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bbpmfg.com\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bbpmfg.com\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bbpmfg.com\/ar\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/bbpmfg.com\/ar\/wp-json\/wp\/v2\/comments?post=3334"}],"version-history":[{"count":0,"href":"https:\/\/bbpmfg.com\/ar\/wp-json\/wp\/v2\/pages\/3334\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/bbpmfg.com\/ar\/wp-json\/wp\/v2\/pages\/3056"}],"wp:attachment":[{"href":"https:\/\/bbpmfg.com\/ar\/wp-json\/wp\/v2\/media?parent=3334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}