{"id":4035,"date":"2026-04-28T03:18:15","date_gmt":"2026-04-28T03:18:15","guid":{"rendered":"https:\/\/bbpmfg.com\/?page_id=4035"},"modified":"2026-04-28T03:41:19","modified_gmt":"2026-04-28T03:41:19","slug":"chemical-metering-pump-sizing-calculator","status":"publish","type":"page","link":"https:\/\/bbpmfg.com\/es\/chemical-pumps\/chemical-metering-pump\/chemical-metering-pump-sizing-calculator\/","title":{"rendered":"Calculadora de tama\u00f1o de bombas dosificadoras qu\u00edmicas"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-0ff1e36\" data-block-id=\"0ff1e36\"><div class=\"stk-row stk-inner-blocks has-text-align-left stk-block-content stk-content-align stk-0ff1e36-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-5a95856\" data-v=\"4\" data-block-id=\"5a95856\"><style>.stk-5a95856-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-5a95856-container stk--no-background stk--no-padding\"><div class=\"has-text-align-center stk-block-content stk-inner-blocks stk-5a95856-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-acfdf38\" data-block-id=\"acfdf38\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-acfdf38-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-f1b6165\" data-v=\"4\" data-block-id=\"f1b6165\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-f1b6165-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-f1b6165-inner-blocks\">\n<section id=\"bbp-sizing-calculator-module\">\n    <style>\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;600;700;800&display=swap');\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap');\n\n        \/* ============================================================\n           1. ISOLATION & FULL-BLEED BACKGROUND\n           ============================================================ *\/\n        #bbp-sizing-calculator-module {\n            width: 100% !important;\n            position: relative !important;\n            background-color: #f8fafc !important; \/* Cement Grey *\/\n            box-sizing: border-box !important;\n            font-family: 'Inter', sans-serif !important;\n            overflow: hidden !important;\n            border-top: 4px solid #1848C0 !important;\n            padding: 70px 30px !important;\n        }\n\n        #bbp-sizing-calculator-module * {\n            box-sizing: border-box !important;\n        }\n\n        \/* ============================================================\n           2. CONTAINER & GRID LAYOUT\n           ============================================================ *\/\n        #bbp-sizing-calculator-module .bbp-container {\n            max-width: 1600px !important;\n            margin: 0 auto !important;\n            display: grid !important;\n            grid-template-columns: 5fr 7fr !important;\n            gap: 50px !important;\n            align-items: stretch !important;\n        }\n\n        \/* ============================================================\n           3. LEFT COLUMN: TITLES & FORM\n           ============================================================ *\/\n        #bbp-sizing-calculator-module .bbp-calc-left {\n            display: flex !important;\n            flex-direction: column !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-h2-title {\n            color: #111827 !important;\n            font-size: 32px !important;\n            font-weight: 800 !important;\n            line-height: 1.2 !important;\n            margin: 0 0 16px 0 !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-tool-intro {\n            font-size: 16px !important;\n            color: #475569 !important;\n            line-height: 1.6 !important;\n            margin: 0 0 35px 0 !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-form-grid {\n            display: grid !important;\n            grid-template-columns: 1fr 1fr !important;\n            gap: 24px !important;\n            margin-bottom: 30px !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-field {\n            display: flex !important;\n            flex-direction: column !important;\n            gap: 8px !important;\n            position: relative !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-label {\n            font-size: 12px !important;\n            font-weight: 700 !important;\n            color: #1848C0 !important;\n            text-transform: uppercase !important;\n            letter-spacing: 0.5px !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-inp,\n        #bbp-sizing-calculator-module .bbp-sel {\n            height: 50px !important;\n            width: 100% !important;\n            border: 2px solid #cbd5e1 !important;\n            background: #ffffff !important;\n            color: #0f172a !important;\n            font-family: 'IBM Plex Mono', monospace !important;\n            font-size: 15px !important;\n            font-weight: 500 !important;\n            padding: 0 16px !important;\n            outline: none !important;\n            border-radius: 0 !important;\n            transition: border-color 0.3s ease, box-shadow 0.3s ease !important;\n            -webkit-appearance: none !important;\n            appearance: none !important;\n            position: relative !important;\n            z-index: 10 !important; \/* Fixes unclickable select bug in WP *\/\n            cursor: pointer !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-inp {\n            cursor: text !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-inp:focus,\n        #bbp-sizing-calculator-module .bbp-sel:focus {\n            border-color: #1848C0 !important;\n            box-shadow: 0 0 0 3px rgba(24, 72, 192, 0.1) !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-sel {\n            background-image: url(\"data:image\/svg+xml,%3Csvg width='12' height='8' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231848C0' stroke-width='2' stroke-linecap='square'\/%3E%3C\/svg%3E\") !important;\n            background-repeat: no-repeat !important;\n            background-position: right 16px center !important;\n            padding-right: 40px !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-hint {\n            font-size: 12px !important;\n            color: #64748b !important;\n            line-height: 1.4 !important;\n            margin-top: 2px !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-err-msg {\n            display: none !important;\n            background: #fef2f2 !important;\n            border-left: 4px solid #ef4444 !important;\n            color: #b91c1c !important;\n            padding: 14px 16px !important;\n            font-size: 14px !important;\n            font-weight: 600 !important;\n            margin-bottom: 20px !important;\n        }\n        \n        #bbp-sizing-calculator-module .bbp-err-msg.show {\n            display: block !important;\n        }\n\n        \/* Cut Corner Calculate Button *\/\n        #bbp-sizing-calculator-module .bbp-btn-calc {\n            height: 56px !important;\n            background: #1848C0 !important;\n            color: #ffffff !important;\n            border: none !important;\n            padding: 0 32px !important;\n            font-size: 16px !important;\n            font-weight: 800 !important;\n            text-transform: uppercase !important;\n            letter-spacing: 0.5px !important;\n            cursor: pointer !important;\n            width: 100% !important;\n            transition: background-color 0.3s ease !important;\n            clip-path: polygon(15px 0, 100% 0, 100% calc(100% - 15px), calc(100% - 15px) 100%, 0 100%, 0 15px) !important;\n            display: flex !important;\n            align-items: center !important;\n            justify-content: center !important;\n            gap: 10px !important;\n        }\n        \n        #bbp-sizing-calculator-module .bbp-btn-calc:hover {\n            background: #111827 !important;\n        }\n\n        \/* ============================================================\n           4. RIGHT COLUMN: STANDBY & RESULTS\n           ============================================================ *\/\n        #bbp-sizing-calculator-module .bbp-calc-right {\n            display: flex !important;\n            flex-direction: column !important;\n            height: 100% !important;\n            min-height: 450px !important;\n        }\n\n        \/* Standby State (Awaiting Input) *\/\n        #bbp-sizing-calculator-module .bbp-standby-state {\n            flex: 1 !important;\n            background-color: #111827 !important;\n            border: 1px solid #334155 !important;\n            display: flex !important;\n            flex-direction: column !important;\n            align-items: center !important;\n            justify-content: center !important;\n            padding: 40px !important;\n            text-align: center !important;\n            clip-path: polygon(30px 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%, 0 30px) !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-standby-icon {\n            margin-bottom: 20px !important;\n            opacity: 0.5 !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-standby-text {\n            color: #94a3b8 !important;\n            font-family: 'IBM Plex Mono', monospace !important;\n            font-size: 14px !important;\n            text-transform: uppercase !important;\n            letter-spacing: 1px !important;\n            line-height: 1.6 !important;\n        }\n\n        \/* Result State *\/\n        #bbp-sizing-calculator-module .bbp-result-state {\n            display: none !important;\n            flex: 1 !important;\n            background: #ffffff !important;\n            border: 2px solid #1848C0 !important;\n            flex-direction: column !important;\n            clip-path: polygon(30px 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%, 0 30px) !important;\n            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1) !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-result-state.show {\n            display: flex !important;\n            animation: bbpSlideUp 0.4s ease-out forwards !important;\n        }\n\n        @keyframes bbpSlideUp {\n            from { opacity: 0; transform: translateY(20px); }\n            to { opacity: 1; transform: translateY(0); }\n        }\n\n        #bbp-sizing-calculator-module .bbp-res-header {\n            background: #1848C0 !important;\n            padding: 30px !important;\n            display: flex !important;\n            align-items: center !important;\n            gap: 20px !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-series-badge {\n            font-family: 'IBM Plex Mono', monospace !important;\n            font-size: 32px !important;\n            font-weight: 700 !important;\n            background: #F0C018 !important;\n            color: #111827 !important;\n            padding: 12px 20px !important;\n            line-height: 1 !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-res-title-wrap {\n            flex: 1 !important;\n            display: flex !important;\n            flex-direction: column !important;\n            gap: 8px !important;\n            align-items: flex-start !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-series-name {\n            color: #ffffff !important;\n            font-size: 20px !important;\n            font-weight: 800 !important;\n            margin: 0 !important;\n            line-height: 1.2 !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-fit-chip {\n            font-family: 'Inter', sans-serif !important;\n            font-size: 12px !important;\n            font-weight: 800 !important;\n            padding: 4px 12px !important;\n            text-transform: uppercase !important;\n            letter-spacing: 0.5px !important;\n        }\n        \n        #bbp-sizing-calculator-module .bbp-fit-best { background: #10b981 !important; color: #ffffff !important; }\n        #bbp-sizing-calculator-module .bbp-fit-good { background: #F0C018 !important; color: #111827 !important; }\n        #bbp-sizing-calculator-module .bbp-fit-review { background: #ef4444 !important; color: #ffffff !important; }\n\n        #bbp-sizing-calculator-module .bbp-res-body {\n            padding: 30px !important;\n            display: flex !important;\n            flex-direction: column !important;\n            flex: 1 !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-spec-grid {\n            display: grid !important;\n            grid-template-columns: repeat(2, 1fr) !important;\n            gap: 15px !important;\n            margin-bottom: 25px !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-spec-item {\n            background: #f8fafc !important;\n            padding: 16px !important;\n            border: 1px solid #e2e8f0 !important;\n            border-left: 3px solid #1848C0 !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-sv {\n            font-family: 'IBM Plex Mono', monospace !important;\n            font-size: 16px !important;\n            font-weight: 700 !important;\n            color: #111827 !important;\n            display: block !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-sl {\n            font-size: 12px !important;\n            font-weight: 600 !important;\n            color: #64748b !important;\n            display: block !important;\n            margin-top: 4px !important;\n            text-transform: uppercase !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-rec-note {\n            font-size: 15px !important;\n            color: #334155 !important;\n            line-height: 1.7 !important;\n            margin: 0 0 20px 0 !important;\n            padding: 20px !important;\n            background: #f1f5f9 !important;\n        }\n\n        #bbp-sizing-calculator-module .bbp-alt-row {\n            font-size: 13px !important;\n            color: #64748b !important;\n            line-height: 1.6 !important;\n            padding-top: 20px !important;\n            border-top: 1px dashed #cbd5e1 !important;\n            margin-top: auto !important;\n            margin-bottom: 25px !important;\n        }\n\n        \/* Cut Corner CTA Button inside Result *\/\n        #bbp-sizing-calculator-module .bbp-btn-cta {\n            display: inline-flex !important;\n            align-items: center !important;\n            justify-content: center !important;\n            height: 56px !important;\n            background: #F0C018 !important;\n            color: #111827 !important;\n            font-size: 16px !important;\n            font-weight: 800 !important;\n            text-transform: uppercase !important;\n            text-decoration: none !important;\n            border: none !important;\n            cursor: pointer !important;\n            transition: all 0.3s ease !important;\n            clip-path: polygon(15px 0, 100% 0, 100% calc(100% - 15px), calc(100% - 15px) 100%, 0 100%, 0 15px) !important;\n        }\n        \n        #bbp-sizing-calculator-module .bbp-btn-cta:hover {\n            background: #1848C0 !important;\n            color: #ffffff !important;\n        }\n\n        \/* ============================================================\n           5. RESPONSIVE DESIGN\n           ============================================================ *\/\n        @media (max-width:1000px) {\n            #bbp-sizing-calculator-module .bbp-container {\n                grid-template-columns: 1fr !important;\n            }\n            #bbp-sizing-calculator-module .bbp-standby-state {\n                display: none !important;\n            }\n        }\n        @media (max-width: 640px) {\n            #bbp-sizing-calculator-module .bbp-form-grid {\n                grid-template-columns: 1fr !important;\n            }\n            #bbp-sizing-calculator-module .bbp-spec-grid {\n                grid-template-columns: 1fr !important;\n            }\n            #bbp-sizing-calculator-module .bbp-res-header {\n                flex-direction: column !important;\n                align-items: flex-start !important;\n            }\n        }\n    <\/style>\n\n    <div class=\"bbp-container\">\n        \n        <div class=\"bbp-calc-left\">\n            <div class=\"bbp-h2-title\" role=\"heading\" aria-level=\"2\">Chemical Metering Pump Sizing Calculator<\/div>\n            <p class=\"bbp-tool-intro\">Enter your application parameters to identify the correct Beibangpu BBP series. The calculator returns a series recommendation with fit rating, key specifications, and a direct path to an application engineering quotation.<\/p>\n\n            <div class=\"bbp-err-msg\" id=\"bbp-calc-err\">Enter flow rate and pressure, then select viscosity and application to continue.<\/div>\n\n            <div class=\"bbp-form-grid\">\n                <div class=\"bbp-field\">\n                    <label class=\"bbp-label\" for=\"bbp-calc-flow\">Required Flow Rate (GPH)<\/label>\n                    <input type=\"number\" id=\"bbp-calc-flow\" class=\"bbp-inp\" min=\"0.01\" max=\"1000\" step=\"0.1\" placeholder=\"e.g. 12.5\">\n                    <span class=\"bbp-hint\">Gallons per hour at injection point. Enter peak operating flow.<\/span>\n                <\/div>\n                \n                <div class=\"bbp-field\">\n                    <label class=\"bbp-label\" for=\"bbp-calc-press\">Max Back-Pressure (PSI)<\/label>\n                    <input type=\"number\" id=\"bbp-calc-press\" class=\"bbp-inp\" min=\"1\" max=\"5000\" step=\"1\" placeholder=\"e.g. 100\">\n                    <span class=\"bbp-hint\">System pressure at injection point under worst-case conditions.<\/span>\n                <\/div>\n                \n                <div class=\"bbp-field\">\n                    <label class=\"bbp-label\" for=\"bbp-calc-visc\">Chemical Viscosity<\/label>\n                    <select id=\"bbp-calc-visc\" class=\"bbp-sel\">\n                        <option value=\"\">&#8212; Select viscosity &#8212;<\/option>\n                        <option value=\"low\">Low (< 500 CPS) - acids, water-based<\/option>\n                        <option value=\"med\">Medium (500-2K CPS) &#8211; polymer, slurries<\/option>\n                        <option value=\"high\">High (2K-20K CPS) &#8211; heavy polymers<\/option>\n                    <\/select>\n                <\/div>\n                \n                <div class=\"bbp-field\">\n                    <label class=\"bbp-label\" for=\"bbp-calc-app\">Application \/ Service<\/label>\n                    <select id=\"bbp-calc-app\" class=\"bbp-sel\">\n                        <option value=\"\">&#8212; Select application &#8212;<\/option>\n                        <option value=\"water\">Water \/ Wastewater Treatment<\/option>\n                        <option value=\"og\">Oil and Gas &#8211; Chemical Injection<\/option>\n                        <option value=\"chem\">Chemical Processing \/ Industrial<\/option>\n                        <option value=\"pharma\">Pharmaceutical \/ Food and Beverage<\/option>\n                        <option value=\"general\">General Industrial<\/option>\n                    <\/select>\n                <\/div>\n            <\/div>\n\n            <button type=\"button\" class=\"bbp-btn-calc\" onclick=\"bbpExecuteCalc()\">\n                Generate Engineering Recommendation \n                <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"square\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n            <\/button>\n        <\/div>\n\n        <div class=\"bbp-calc-right\">\n            \n            <div id=\"bbp-calc-standby\" class=\"bbp-standby-state\">\n                <svg class=\"bbp-standby-icon\" width=\"64\" height=\"64\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#475569\" stroke-width=\"1.5\" stroke-linecap=\"square\">\n                    <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"><\/rect>\n                    <line x1=\"3\" y1=\"9\" x2=\"21\" y2=\"9\"><\/line>\n                    <line x1=\"9\" y1=\"21\" x2=\"9\" y2=\"9\"><\/line>\n                <\/svg>\n                <div class=\"bbp-standby-text\">\n                    System Standby<br>Awaiting Application Parameters\n                <\/div>\n            <\/div>\n\n            <div id=\"bbp-calc-result\" class=\"bbp-result-state\">\n                <div class=\"bbp-res-header\">\n                    <span class=\"bbp-series-badge\" id=\"bbp-calc-badge\">BBP-S<\/span>\n                    <div class=\"bbp-res-title-wrap\">\n                        <div class=\"bbp-series-name\" id=\"bbp-calc-name\">Solenoid-Driven Diaphragm<\/div>\n                        <span class=\"bbp-fit-chip\" id=\"bbp-calc-fit\">Best Fit<\/span>\n                    <\/div>\n                <\/div>\n                \n                <div class=\"bbp-res-body\">\n                    <div class=\"bbp-spec-grid\" id=\"bbp-calc-specs\"><\/div>\n                    <div class=\"bbp-rec-note\" id=\"bbp-calc-note\"><\/div>\n                    <div class=\"bbp-alt-row\" id=\"bbp-calc-alt\"><\/div>\n                    \n                    <a href=\"#ct-popup-820\" class=\"bbp-btn-cta\">Request Quote for This Series \u2192<\/a>\n                <\/div>\n            <\/div>\n\n        <\/div>\n    <\/div>\n\n    <script>\n    var bbpSeriesData = {\n        'BBP-S': {\n            name: 'Solenoid-Driven Diaphragm',\n            flow: '0.1-20 GPH',\n            press: '150 PSI',\n            acc: '\u00b1 1.0%',\n            turn: '100:1',\n            mat: 'PTFE \/ PVDF',\n            minF: 0.1, maxF: 20, maxP: 150,\n            visc: ['low'],\n            badVisc: ['high'],\n            ogOK: false,\n            note: 'The BBP-S solenoid-driven diaphragm is optimized for low-flow, standard-pressure chemical dosing -- water treatment, pH adjustment, disinfection. Simplest drive mechanism; lowest maintenance burden for standard aqueous chemical service.'\n        },\n        'BBP-M': {\n            name: 'Motor-Driven Diaphragm',\n            flow: '5-100 GPH',\n            press: '250 PSI',\n            acc: '\u00b1 1.0%',\n            turn: '1,000:1',\n            mat: 'PTFE \/ PVDF',\n            minF: 5, maxF: 100, maxP: 250,\n            visc: ['low', 'med'],\n            badVisc: ['high'],\n            ogOK: false,\n            note: 'The BBP-M motor-driven diaphragm provides 1,000:1 turndown -- the widest ratio in the BBP range. Preferred where process conditions vary significantly across shifts, or where 4-20 mA control integration is required for SCADA\/DCS systems.'\n        },\n        'BBP-H': {\n            name: 'Hydraulic Diaphragm',\n            flow: '10-500 GPH',\n            press: '1,000 PSI',\n            acc: '\u00b1 1.0%',\n            turn: '500:1',\n            mat: '316SS trim \/ PTFE faced',\n            minF: 10, maxF: 500, maxP: 1000,\n            visc: ['low', 'med'],\n            badVisc: ['high'],\n            ogOK: true,\n            note: 'The BBP-H hydraulic diaphragm handles high-pressure and hazardous-duty chemical injection. Double-diaphragm design provides secondary containment with leak detection capability. 316SS trim with PTFE-faced diaphragm handles corrosion inhibitors, methanol, and scale inhibitor service in upstream oil and gas.'\n        },\n        'BBP-P': {\n            name: 'Peristaltic Tube',\n            flow: '0.5-50 GPH',\n            press: '100 PSI',\n            acc: '\u00b1 1.0%',\n            turn: '200:1',\n            mat: 'Silicone \/ Viton \/ PTFE',\n            minF: 0.5, maxF: 50, maxP: 100,\n            visc: ['low', 'med', 'high'],\n            badVisc: [],\n            ogOK: false,\n            note: 'The BBP-P peristaltic is the only BBP series that handles high-viscosity and shear-sensitive media without cavitation. Zero metal-to-fluid contact. Tube replacement (typically 3,000-5,000 operating hours) is the only scheduled maintenance item -- no check valves, no liquid end seals.'\n        }\n    };\n\n    function bbpExecuteCalc() {\n        var flow  = parseFloat(document.getElementById('bbp-calc-flow').value);\n        var press = parseFloat(document.getElementById('bbp-calc-press').value);\n        var visc  = document.getElementById('bbp-calc-visc').value;\n        var app   = document.getElementById('bbp-calc-app').value;\n        var err   = document.getElementById('bbp-calc-err');\n        var res   = document.getElementById('bbp-calc-result');\n        var stdby = document.getElementById('bbp-calc-standby');\n\n        \/\/ Replacing || condition safely without && (No && allowed)\n        var hasError = false;\n        if (!flow) { hasError = true; }\n        if (!press) { hasError = true; }\n        if (!visc) { hasError = true; }\n        if (!app) { hasError = true; }\n        if (flow <= 0) { hasError = true; }\n        if (press <= 0) { hasError = true; }\n\n        if (hasError) {\n            err.className = 'bbp-err-msg show';\n            res.className = 'bbp-result-state';\n            if (window.innerWidth > 1024) { \n                stdby.style.display = 'flex'; \n            }\n            return;\n        }\n        \n        err.className = 'bbp-err-msg';\n\n        var keys = Object.keys(bbpSeriesData);\n        var sc = {};\n        \n        for (var i = 0; i < keys.length; i++) {\n            var k = keys[i];\n            var d = bbpSeriesData[k];\n            var s = 0;\n\n            if (flow >= d.minF) {\n                if (flow <= d.maxF) { \n                    s += 30; \n                } else { \n                    s -= 20; \n                }\n            } else { \n                s += 10; \n            }\n\n            if (press <= d.maxP) { \n                s += 25; \n            } else { \n                s -= 35; \n            }\n\n            if (d.visc.indexOf(visc) > -1) { \n                s += 20; \n            }\n            if (d.badVisc.indexOf(visc) > -1) { \n                s -= 30; \n            }\n\n            if (app === 'og') {\n                if (d.ogOK) { \n                    s += 15; \n                } else { \n                    s -= 10; \n                }\n            }\n\n            if (visc === 'high') {\n                if (k === 'BBP-P') { \n                    s += 25; \n                }\n            }\n\n            if (app === 'pharma') {\n                if (k === 'BBP-S') { s += 5; }\n                if (k === 'BBP-P') { s += 5; }\n            }\n            sc[k] = s;\n        }\n\n        var sorted = keys.slice().sort(function(a, b) { \n            return sc[b] - sc[a]; \n        });\n        \n        var best = sorted[0];\n        var d = bbpSeriesData[best];\n        \n        var alts = [];\n        for (var j = 1; j < sorted.length; j++) {\n            if (sc[sorted[j]] > 0) {\n                alts.push(sorted[j]);\n            }\n        }\n\n        var fitLabel = '';\n        var fitClass = '';\n        var isBest = 0;\n\n        if (flow >= d.minF) {\n            if (flow <= d.maxF) {\n                if (press <= d.maxP) {\n                    if (d.visc.indexOf(visc) > -1) {\n                        isBest = 1;\n                    }\n                }\n            }\n        }\n\n        if (isBest) {\n            fitLabel = 'Best Fit';\n            fitClass = 'bbp-fit-best';\n        } else if (press <= d.maxP) {\n            fitLabel = 'Good Fit';\n            fitClass = 'bbp-fit-good';\n        } else {\n            fitLabel = 'Review with Engineer';\n            fitClass = 'bbp-fit-review';\n        }\n\n        document.getElementById('bbp-calc-badge').textContent = best;\n        document.getElementById('bbp-calc-name').textContent  = d.name;\n\n        var fc = document.getElementById('bbp-calc-fit');\n        fc.textContent = fitLabel;\n        fc.className   = 'bbp-fit-chip ' + fitClass;\n\n        var specsList = [\n            {sv: d.flow,  sl: 'Flow Range'},\n            {sv: d.press, sl: 'Max Pressure'},\n            {sv: d.acc,   sl: 'Dosing Accuracy'},\n            {sv: d.turn,  sl: 'Turndown Ratio'},\n            {sv: d.mat,   sl: 'Wetted Materials'}\n        ];\n\n        var specsHtml = '';\n        for (var m = 0; m < specsList.length; m++) {\n            specsHtml += '<div class=\"bbp-spec-item\"><span class=\"bbp-sv\">' + specsList[m].sv + '<\/span><span class=\"bbp-sl\">' + specsList[m].sl + '<\/span><\/div>';\n        }\n        document.getElementById('bbp-calc-specs').innerHTML = specsHtml;\n\n        document.getElementById('bbp-calc-note').textContent = d.note;\n\n        var altTxt = '';\n        if (alts.length > 0) {\n            altTxt = 'Also consider: ';\n            var altNames = [];\n            for (var n = 0; n < alts.length; n++) {\n                altNames.push(alts[n] + ' (' + bbpSeriesData[alts[n]].name + ')');\n            }\n            altTxt += altNames.join(', ');\n            altTxt += '. Beibangpu engineers can confirm selection for your specific chemical and operating conditions.';\n        }\n        document.getElementById('bbp-calc-alt').textContent = altTxt;\n\n        \/\/ UI Transition\n        stdby.style.display = 'none';\n        res.className = 'bbp-result-state show';\n\n        \/\/ Smooth scroll to result on mobile\n        if(window.innerWidth <= 1024) {\n            res.scrollIntoView({behavior: 'smooth', block: 'nearest'});\n        }\n    }\n    <\/script>\n<\/section>\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Chemical Metering Pump Sizing Calculator Enter your application parameters to identify the correct Beibangpu BBP series. The calculator returns a series recommendation with fit rating, key specifications, and a direct path to an application engineering quotation. Enter flow rate and pressure, then select viscosity and application to continue. Required Flow Rate (GPH) Gallons per hour [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":3894,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-4035","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/bbpmfg.com\/es\/wp-json\/wp\/v2\/pages\/4035","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bbpmfg.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bbpmfg.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bbpmfg.com\/es\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/bbpmfg.com\/es\/wp-json\/wp\/v2\/comments?post=4035"}],"version-history":[{"count":0,"href":"https:\/\/bbpmfg.com\/es\/wp-json\/wp\/v2\/pages\/4035\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/bbpmfg.com\/es\/wp-json\/wp\/v2\/pages\/3894"}],"wp:attachment":[{"href":"https:\/\/bbpmfg.com\/es\/wp-json\/wp\/v2\/media?parent=4035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}