{"id":4220,"date":"2026-04-28T08:47:57","date_gmt":"2026-04-28T08:47:57","guid":{"rendered":"https:\/\/bbpmfg.com\/?page_id=4220"},"modified":"2026-04-28T08:55:25","modified_gmt":"2026-04-28T08:55:25","slug":"frame-size-head-requirements-estimator-bbp-asj-deep-well-pump","status":"publish","type":"page","link":"https:\/\/bbpmfg.com\/ar\/deep-well-pumps\/stainless-steel-deep-well-pump\/frame-size-head-requirements-estimator-bbp-asj-deep-well-pump\/","title":{"rendered":"\u062d\u062c\u0645 \u0627\u0644\u0625\u0637\u0627\u0631 \u0648\u0645\u062a\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0631\u0623\u0633 \u0645\u0642\u062f\u0631 \u0645\u0636\u062e\u0629 \u0627\u0644\u0628\u0626\u0631 \u0627\u0644\u0639\u0645\u064a\u0642\u0629 BBP ASJ"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-1ff2f40\" data-block-id=\"1ff2f40\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-1ff2f40-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-05b205c\" data-v=\"4\" data-block-id=\"05b205c\"><style>.stk-05b205c-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-05b205c-container stk--no-background stk--no-padding\"><div class=\"has-text-align-center stk-block-content stk-inner-blocks stk-05b205c-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-ab61ab0\" data-block-id=\"ab61ab0\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-ab61ab0-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-6be3b7d\" data-v=\"4\" data-block-id=\"6be3b7d\"><style>.stk-6be3b7d-container{margin-top:var(--stk--preset--spacing--none, 0px) !important;margin-right:var(--stk--preset--spacing--none, 0px) !important;margin-bottom:var(--stk--preset--spacing--none, 0px) !important;margin-left:var(--stk--preset--spacing--none, 0px) !important;}<\/style><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-6be3b7d-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-6be3b7d-inner-blocks\">\n<section id=\"bbp-frame-size-v1\">\n    <link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700;800&#038;family=IBM+Plex+Mono:wght@400;600;700&#038;display=swap\">\n    <style>\n        \/* ==========================================================================\n           1. ISOLATION SCOPE & BASE RESET\n           ========================================================================== *\/\n        #bbp-frame-size-v1 {\n            --c0: #1848C0 !important;\n            --c0-hover: #123690 !important;\n            --c2: #F0C018 !important;\n            --c3: #F8FAFC !important; \/* Premium light background *\/\n            --c4: #E2E8F0 !important; \/* Soft borders *\/\n            --c5: #64748B !important; \/* Muted text *\/\n            --c6: #334155 !important; \/* Darker labels *\/\n            --green: #10B981 !important;\n            --amber: #F59E0B !important;\n            --fM: 'IBM Plex Mono', 'Courier New', monospace !important;\n            --fS: 'Inter', system-ui, sans-serif !important;\n\n            width: 100% !important;\n            background-color: var(--c3) !important; \/* Full bleed background *\/\n            padding: 70px 0 !important;\n            font-family: var(--fS) !important;\n            box-sizing: border-box !important;\n            line-height: 1.6 !important;\n            color: #0f172a !important;\n        }\n\n        #bbp-frame-size-v1 * {\n            box-sizing: border-box !important;\n        }\n\n        \/* Container (Anchored Content) *\/\n        #bbp-frame-size-v1 .bbp-container {\n            max-width: 1600px !important;\n            margin: 0 auto !important;\n            padding: 0 30px !important;\n            width: 100% !important;\n            display: flex !important;\n            justify-content: center !important; \/* Centers the calculator card to prevent excessive whitespace *\/\n        }\n\n        \/* ==========================================================================\n           2. CALCULATOR CARD (Premium B2B Enclosure)\n           ========================================================================== *\/\n        #bbp-frame-size-v1 .fs-card-wrapper {\n            width: 100% !important;\n            max-width: 1000px !important; \/* Optimal reading\/interaction width *\/\n            background: #ffffff !important;\n            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06) !important;\n            border-top: 4px solid var(--c0) !important;\n            border-radius: 4px !important;\n            overflow: hidden !important;\n        }\n\n        #bbp-frame-size-v1 .fs-header {\n            background: var(--c0) !important;\n            color: #fff !important;\n            padding: 35px 40px !important;\n        }\n\n        \/* Strict Tag Isolation for Headings *\/\n        #bbp-frame-size-v1 .fs-h2 {\n            color: #ffffff !important;\n            font-family: var(--fS) !important;\n            font-size: clamp(24px, 3vw, 32px) !important;\n            font-weight: 800 !important;\n            line-height: 1.2 !important;\n            margin: 0 0 10px 0 !important;\n            text-transform: uppercase !important;\n            letter-spacing: -0.5px !important;\n        }\n        \n        #bbp-frame-size-v1 .fs-h2-accent {\n            color: var(--c2) !important;\n        }\n\n        #bbp-frame-size-v1 .fs-header-desc {\n            color: rgba(255,255,255,0.85) !important;\n            margin: 0 !important;\n            font-size: 15px !important;\n            line-height: 1.6 !important;\n        }\n\n        #bbp-frame-size-v1 .fs-body {\n            padding: 40px !important;\n            background: #ffffff !important;\n        }\n\n        \/* ==========================================================================\n           3. INPUT CONTROLS\n           ========================================================================== *\/\n        #bbp-frame-size-v1 .unit-toggle {\n            display: flex !important;\n            gap: 0 !important;\n            margin-bottom: 25px !important;\n            border: 1px solid var(--c4) !important;\n            width: fit-content !important;\n            border-radius: 4px !important;\n            overflow: hidden !important;\n        }\n\n        #bbp-frame-size-v1 .unit-btn {\n            padding: 10px 24px !important;\n            background: #f8fafc !important;\n            border: none !important;\n            font-size: 14px !important;\n            cursor: pointer !important;\n            color: var(--c6) !important;\n            font-weight: 700 !important;\n            font-family: var(--fS) !important;\n            transition: all 0.2s ease !important;\n        }\n\n        #bbp-frame-size-v1 .unit-btn.active {\n            background: var(--c0) !important;\n            color: #fff !important;\n        }\n\n        #bbp-frame-size-v1 .input-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-frame-size-v1 .input-group label {\n            display: block !important;\n            font-size: 13px !important;\n            font-weight: 700 !important;\n            text-transform: uppercase !important;\n            letter-spacing: 0.5px !important;\n            color: var(--c6) !important;\n            margin-bottom: 8px !important;\n            font-family: var(--fS) !important;\n        }\n\n        #bbp-frame-size-v1 .input-group input[type=\"number\"],\n        #bbp-frame-size-v1 .input-group select {\n            width: 100% !important;\n            height: 48px !important;\n            padding: 0 16px !important;\n            border: 2px solid var(--c4) !important;\n            border-radius: 4px !important;\n            background: #fff !important;\n            font-size: 16px !important;\n            font-family: var(--fM) !important;\n            color: #0f172a !important;\n            transition: border-color 0.2s ease !important;\n            appearance: none !important;\n            -webkit-appearance: none !important;\n        }\n        \n        #bbp-frame-size-v1 .input-group input[type=\"number\"]:focus,\n        #bbp-frame-size-v1 .input-group select:focus {\n            outline: none !important;\n            border-color: var(--c0) !important;\n        }\n\n        #bbp-frame-size-v1 .input-group select option { \n            color: #0f172a !important; \n            background: #FFFFFF !important; \n        }\n\n        #bbp-frame-size-v1 .input-hint { \n            font-size: 12px !important; \n            color: var(--c5) !important; \n            margin-top: 6px !important; \n        }\n\n        \/* Calculate Button *\/\n        #bbp-frame-size-v1 .calc-btn {\n            display: inline-flex !important;\n            align-items: center !important;\n            justify-content: center !important;\n            height: 54px !important;\n            padding: 0 40px !important;\n            background: var(--c0) !important;\n            color: #fff !important;\n            font-weight: 700 !important;\n            font-size: 16px !important;\n            font-family: var(--fS) !important;\n            border: none !important;\n            border-radius: 4px !important;\n            cursor: pointer !important;\n            width: 100% !important;\n            text-transform: uppercase !important;\n            letter-spacing: 0.5px !important;\n            transition: background-color 0.3s ease !important;\n        }\n\n        #bbp-frame-size-v1 .calc-btn:hover { \n            background: var(--c0-hover) !important; \n        }\n\n        \/* ==========================================================================\n           4. RESULTS DISPLAY\n           ========================================================================== *\/\n        #bbp-frame-size-v1 .result-box {\n            display: none !important;\n            margin-top: 40px !important;\n            border-top: 1px solid var(--c4) !important;\n            padding-top: 40px !important;\n            animation: bbpFadeIn 0.4s ease forwards !important;\n        }\n\n        #bbp-frame-size-v1 .result-box.visible { \n            display: block !important; \n        }\n\n        @keyframes bbpFadeIn {\n            from { opacity: 0; transform: translateY(10px); }\n            to { opacity: 1; transform: translateY(0); }\n        }\n\n        #bbp-frame-size-v1 .head-summary {\n            background: var(--c0) !important;\n            color: #fff !important;\n            padding: 24px 30px !important;\n            margin-bottom: 24px !important;\n            display: flex !important;\n            gap: 40px !important;\n            flex-wrap: wrap !important;\n            align-items: center !important;\n            border-radius: 4px !important;\n        }\n\n        #bbp-frame-size-v1 .hs-item { text-align: left !important; }\n        \n        #bbp-frame-size-v1 .hs-num {\n            font-family: var(--fM) !important;\n            font-size: 32px !important;\n            font-weight: 700 !important;\n            color: var(--c2) !important;\n            line-height: 1 !important;\n        }\n\n        #bbp-frame-size-v1 .hs-lbl { \n            font-size: 12px !important; \n            color: rgba(255,255,255,0.75) !important; \n            margin-top: 6px !important; \n            text-transform: uppercase !important; \n            letter-spacing: 0.5px !important; \n            font-weight: 600 !important;\n        }\n\n        #bbp-frame-size-v1 .frame-cards {\n            display: grid !important;\n            grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;\n            gap: 12px !important;\n            margin-bottom: 24px !important;\n        }\n\n        #bbp-frame-size-v1 .frame-card {\n            padding: 16px 12px !important;\n            border: 2px solid var(--c4) !important;\n            background: #fff !important;\n            text-align: center !important;\n            opacity: 0.5 !important;\n            border-radius: 4px !important;\n            transition: all 0.3s ease !important;\n        }\n\n        #bbp-frame-size-v1 .frame-card.match {\n            border-color: var(--green) !important;\n            opacity: 1 !important;\n        }\n\n        #bbp-frame-size-v1 .frame-card.best {\n            border-color: var(--c0) !important;\n            border-width: 3px !important;\n            background: var(--c3) !important;\n            opacity: 1 !important;\n            box-shadow: 0 4px 12px rgba(24, 72, 192, 0.1) !important;\n        }\n\n        #bbp-frame-size-v1 .fc-size {\n            font-family: var(--fM) !important;\n            font-size: 20px !important;\n            font-weight: 700 !important;\n            color: var(--c0) !important;\n            margin-bottom: 4px !important;\n        }\n\n        #bbp-frame-size-v1 .fc-inch { font-size: 12px !important; color: var(--c5) !important; margin-bottom: 8px !important; }\n        #bbp-frame-size-v1 .fc-flow { font-size: 12px !important; font-weight: 700 !important; color: var(--c6) !important; margin-bottom: 2px !important; }\n        #bbp-frame-size-v1 .fc-head { font-size: 12px !important; color: var(--c5) !important; }\n        \n        #bbp-frame-size-v1 .fc-tag {\n            display: inline-block !important;\n            font-size: 10px !important;\n            font-weight: 700 !important;\n            text-transform: uppercase !important;\n            padding: 4px 8px !important;\n            margin-top: 8px !important;\n            background: var(--c0) !important;\n            color: #fff !important;\n            border-radius: 2px !important;\n        }\n\n        #bbp-frame-size-v1 .rec-detail {\n            background: #fff !important;\n            border: 1px solid var(--c4) !important;\n            padding: 24px !important;\n            margin-bottom: 24px !important;\n            border-radius: 4px !important;\n        }\n\n        #bbp-frame-size-v1 .fs-h4 { \n            margin: 0 0 16px 0 !important; \n            font-size: 16px !important; \n            font-weight: 700 !important;\n            color: var(--c0) !important;\n        }\n\n        #bbp-frame-size-v1 .spec-row { \n            display: flex !important; \n            justify-content: space-between !important; \n            padding: 10px 0 !important; \n            border-bottom: 1px solid var(--c4) !important; \n            font-size: 14px !important; \n        }\n\n        #bbp-frame-size-v1 .spec-row:last-child { border-bottom: none !important; }\n        #bbp-frame-size-v1 .spec-row .skey { color: var(--c5) !important; font-weight: 600 !important; }\n        #bbp-frame-size-v1 .spec-row .sval { font-family: var(--fM) !important; font-weight: 600 !important; color: #0f172a !important; text-align: right !important; }\n\n        #bbp-frame-size-v1 .note-box {\n            background: #FEF3C7 !important;\n            border-left: 4px solid var(--amber) !important;\n            padding: 16px 20px !important;\n            font-size: 14px !important;\n            color: #92400E !important;\n            margin-bottom: 24px !important;\n            font-weight: 500 !important;\n        }\n\n        \/* Folded Corner Button Strategy within CTA Strip *\/\n        #bbp-frame-size-v1 .cta-strip {\n            background: var(--c3) !important;\n            border: 1px solid var(--c4) !important;\n            padding: 24px 30px !important;\n            display: flex !important;\n            align-items: center !important;\n            justify-content: space-between !important;\n            flex-wrap: wrap !important;\n            gap: 20px !important;\n            border-radius: 4px !important;\n        }\n\n        #bbp-frame-size-v1 .cta-strip p { \n            margin: 0 !important; \n            font-size: 15px !important; \n            font-weight: 600 !important; \n            color: var(--c6) !important; \n            flex: 1 1 300px !important;\n        }\n\n        #bbp-frame-size-v1 .bbp-btn-folded-wrapper {\n            position: relative !important;\n            display: inline-block !important;\n        }\n\n        #bbp-frame-size-v1 .bbp-btn-folded {\n            display: inline-flex !important;\n            align-items: center !important;\n            justify-content: center !important;\n            padding: 16px 32px !important;\n            background-color: var(--c0) !important;\n            color: #ffffff !important;\n            font-size: 14px !important;\n            font-weight: 700 !important;\n            text-transform: uppercase !important;\n            text-decoration: none !important;\n            transition: background-color 0.3s ease !important;\n            border: none !important;\n            cursor: pointer !important;\n            appearance: none !important; \n            clip-path: polygon(0 0, 100% 0, 100% calc(100% - 15px), calc(100% - 15px) 100%, 0 100%) !important;\n        }\n\n        #bbp-frame-size-v1 .bbp-btn-folded:hover {\n            background-color: var(--c0-hover) !important;\n        }\n\n        #bbp-frame-size-v1 .bbp-btn-folded-flap {\n            position: absolute !important;\n            bottom: 0 !important;\n            right: 0 !important;\n            width: 15px !important;\n            height: 15px !important;\n            background: var(--c2) !important;\n            clip-path: polygon(0 0, 100% 0, 0 100%) !important; \n            pointer-events: none !important;\n        }\n\n        \/* ==========================================================================\n           5. RESPONSIVE\n           ========================================================================== *\/\n        @media (max-width:690px) {\n            #bbp-frame-size-v1 { padding: 40px 0 !important; }\n            #bbp-frame-size-v1 .bbp-container { padding: 0 15px !important; }\n            #bbp-frame-size-v1 .fs-header, #bbp-frame-size-v1 .fs-body { padding: 25px !important; }\n            #bbp-frame-size-v1 .input-grid { grid-template-columns: 1fr !important; gap: 20px !important; }\n            #bbp-frame-size-v1 .head-summary { gap: 20px !important; flex-direction: column !important; align-items: flex-start !important;}\n            #bbp-frame-size-v1 .frame-cards { grid-template-columns: repeat(2, 1fr) !important; }\n            #bbp-frame-size-v1 .cta-strip { flex-direction: column !important; align-items: flex-start !important; }\n            #bbp-frame-size-v1 .bbp-btn-folded-wrapper, #bbp-frame-size-v1 .bbp-btn-folded { width: 100% !important; }\n        }\n    <\/style>\n\n    <div class=\"bbp-container\">\n        \n        <div class=\"fs-card-wrapper\">\n            \n            <div class=\"fs-header\">\n                <div class=\"fs-h2\" role=\"heading\" aria-level=\"2\">\n                    Frame Size &amp; Head Requirements Estimator<br>\n                    <span class=\"fs-h2-accent\">\u2014 BBP ASJ Deep Well Pump<\/span>\n                <\/div>\n                <p class=\"fs-header-desc\">Enter your well parameters to estimate total dynamic head and recommended ASJ frame size. BBP engineering provides free exact model selection \u2014 this tool gives you an immediate starting point for your specification.<\/p>\n            <\/div>\n\n            <div class=\"fs-body\">\n                <div class=\"unit-toggle\">\n                    <button type=\"button\" class=\"unit-btn active\" id=\"bbp-fs-btn-metric\" onclick=\"window.bbp_fs_setUnit(true)\">Metric (m \/ m\u00b3\/h)<\/button>\n                    <button type=\"button\" class=\"unit-btn\" id=\"bbp-fs-btn-imperial\" onclick=\"window.bbp_fs_setUnit(false)\">Imperial (ft \/ GPM)<\/button>\n                <\/div>\n\n                <div class=\"input-grid\">\n                    <div class=\"input-group\">\n                        <label>Static Water Level Depth (<span class=\"u-depth\">m<\/span>)<\/label>\n                        <input type=\"number\" id=\"fs-swl\" min=\"1\" max=\"1000\" value=\"80\" placeholder=\"e.g. 80\">\n                        <div class=\"input-hint\">Distance from ground surface to water surface at rest<\/div>\n                    <\/div>\n                    <div class=\"input-group\">\n                        <label>Drawdown Allowance (<span class=\"u-depth\">m<\/span>)<\/label>\n                        <input type=\"number\" id=\"fs-dd\" min=\"0\" max=\"200\" value=\"15\" placeholder=\"e.g. 15\">\n                        <div class=\"input-hint\">Estimated drop in water level during pumping<\/div>\n                    <\/div>\n                    <div class=\"input-group\">\n                        <label>Discharge Head \/ Elevation (<span class=\"u-depth\">m<\/span>)<\/label>\n                        <input type=\"number\" id=\"fs-dh\" min=\"0\" max=\"200\" value=\"10\" placeholder=\"e.g. 10\">\n                        <div class=\"input-hint\">Height from wellhead to discharge point<\/div>\n                    <\/div>\n                    <div class=\"input-group\">\n                        <label>Pipe Friction Loss (<span class=\"u-depth\">m<\/span>)<\/label>\n                        <input type=\"number\" id=\"fs-fric\" min=\"0\" max=\"100\" value=\"8\" placeholder=\"e.g. 8\">\n                        <div class=\"input-hint\">Estimated; use 5\u201315 m for typical 50\u2013150 m rising main<\/div>\n                    <\/div>\n                    <div class=\"input-group\">\n                        <label>Target Flow Rate (<span class=\"u-flow\">m\u00b3\/h<\/span>)<\/label>\n                        <input type=\"number\" id=\"fs-flow\" min=\"0.5\" max=\"300\" step=\"0.5\" value=\"25\" placeholder=\"e.g. 25\">\n                        <div class=\"input-hint\">Required flow at the pump discharge<\/div>\n                    <\/div>\n                    <div class=\"input-group\">\n                        <label>Borehole Casing Diameter (inches)<\/label>\n                        <select id=\"fs-casing\">\n                            <option value=\"4\">4&#8243; (100 mm)<\/option>\n                            <option value=\"5\">5&#8243; (125 mm)<\/option>\n                            <option value=\"6\" selected>6&#8243; (150 mm)<\/option>\n                            <option value=\"8\">8&#8243; (200 mm)<\/option>\n                            <option value=\"10\">10&#8243; (250 mm)<\/option>\n                            <option value=\"12\">12&#8243; (300 mm)<\/option>\n                        <\/select>\n                        <div class=\"input-hint\">Pump frame must be \u226480\u201390% of casing internal diameter<\/div>\n                    <\/div>\n                <\/div>\n\n                <button type=\"button\" class=\"calc-btn\" id=\"fs-calc-btn\" onclick=\"window.bbp_fs_calc()\">Estimate Frame Size &amp; Head &rarr;<\/button>\n\n                <div class=\"result-box\" id=\"fs-results\">\n                    \n                    <div class=\"head-summary\">\n                        <div class=\"hs-item\">\n                            <div class=\"hs-num\" id=\"fs-tdh\">\u2014<\/div>\n                            <div class=\"hs-lbl\">Total Dynamic Head (<span class=\"u-depth\">m<\/span>)<\/div>\n                        <\/div>\n                        <div class=\"hs-item\">\n                            <div class=\"hs-num\" id=\"fs-flow-out\">\u2014<\/div>\n                            <div class=\"hs-lbl\">Required Flow (<span class=\"u-flow\">m\u00b3\/h<\/span>)<\/div>\n                        <\/div>\n                        <div class=\"hs-item\">\n                            <div class=\"hs-num\" id=\"fs-rec-frame\">\u2014<\/div>\n                            <div class=\"hs-lbl\">Recommended Frame<\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"frame-cards\" id=\"fs-frame-cards\">\n                        <\/div>\n\n                    <div class=\"rec-detail\" id=\"fs-rec-detail\">\n                        <div class=\"fs-h4\" role=\"heading\" aria-level=\"4\">Recommended Frame Specification Range (BBP ASJ)<\/div>\n                        <div class=\"spec-row\"><span class=\"skey\">Frame Size<\/span><span class=\"sval\" id=\"spec-frame\">\u2014<\/span><\/div>\n                        <div class=\"spec-row\"><span class=\"skey\">Flow Envelope<\/span><span class=\"sval\" id=\"spec-flow\">\u2014<\/span><\/div>\n                        <div class=\"spec-row\"><span class=\"skey\">Head Envelope<\/span><span class=\"sval\" id=\"spec-head\">\u2014<\/span><\/div>\n                        <div class=\"spec-row\"><span class=\"skey\">Motor Power Range<\/span><span class=\"sval\" id=\"spec-power\">\u2014<\/span><\/div>\n                        <div class=\"spec-row\"><span class=\"skey\">Total Dynamic Head Required<\/span><span class=\"sval\" id=\"spec-tdh\">\u2014<\/span><\/div>\n                        <div class=\"spec-row\"><span class=\"skey\">Fit Assessment<\/span><span class=\"sval\" id=\"spec-fit\">\u2014<\/span><\/div>\n                    <\/div>\n\n                    <div class=\"note-box\" id=\"fs-note\" style=\"display:none;\"><\/div>\n\n                    <div style=\"font-size:12px; color:var(--c5); margin-bottom:24px; line-height: 1.6;\">\n                        Frame sizes shown above are from BBP ASJ published specification ranges. Total dynamic head = Static level + Drawdown + Discharge head + Friction losses + 10% safety margin. Model selection within a frame size depends on exact stage count and hydraulic curve \u2014 BBP engineering provides free model-by-model matching at no charge.\n                    <\/div>\n\n                    <div class=\"cta-strip\">\n                        <p>Send BBP your well depth, target flow, and water chemistry \u2014 model confirmed in 30 minutes.<\/p>\n                        <div class=\"bbp-btn-folded-wrapper\">\n                            <a href=\"#ct-popup-820\" class=\"bbp-btn-folded\">Request Free Model Selection &rarr;<\/a>\n                            <div class=\"bbp-btn-folded-flap\"><\/div>\n                        <\/div>\n                    <\/div>\n\n                <\/div>\n            <\/div>\n            \n        <\/div>\n    <\/div>\n\n    <script>\n    \/\/ Global Scope Data for WP Gutenberg Safe Execution\n    window.bbp_fs_isMetric = true;\n    window.bbp_fs_frames = [\n      { size: '100mm', inch: '4\"',  flowMin: 2,   flowMax: 10,  headMin: 15,  headMax: 120, powerMin: '0.37', powerMax: '3',   hpMin: '0.5', hpMax: '4' },\n      { size: '125mm', inch: '5\"',  flowMin: 5,   flowMax: 20,  headMin: 30,  headMax: 200, powerMin: '1.5',  powerMax: '7.5', hpMin: '2',   hpMax: '10' },\n      { size: '150mm', inch: '6\"',  flowMin: 10,  flowMax: 50,  headMin: 40,  headMax: 300, powerMin: '3',    powerMax: '22',  hpMin: '4',   hpMax: '30' },\n      { size: '200mm', inch: '8\"',  flowMin: 30,  flowMax: 100, headMin: 80,  headMax: 450, powerMin: '11',   powerMax: '55',  hpMin: '15',  hpMax: '74' },\n      { size: '250mm', inch: '10\"', flowMin: 80,  flowMax: 180, headMin: 120, headMax: 550, powerMin: '37',   powerMax: '110', hpMin: '50',  hpMax: '148' },\n      { size: '300mm', inch: '12\"', flowMin: 150, flowMax: 250, headMin: 200, headMax: 652, powerMin: '75',   powerMax: '230', hpMin: '100', hpMax: '308' }\n    ];\n    window.bbp_fs_casingToMin = { 4: '100mm', 5: '125mm', 6: '150mm', 8: '200mm', 10: '250mm', 12: '300mm' };\n    window.bbp_fs_frameOrder = ['100mm','125mm','150mm','200mm','250mm','300mm'];\n\n    \/\/ Conversion Helpers\n    window.bbp_fs_toDisp = function(valM, isFlow) {\n      if (window.bbp_fs_isMetric) { return valM; }\n      if (isFlow) { return Math.round(valM * 4.403); }\n      return Math.round(valM * 3.281);\n    };\n\n    window.bbp_fs_fromDisp = function(valD, isFlow) {\n      if (window.bbp_fs_isMetric) { return valD; }\n      if (isFlow) { return valD \/ 4.403; }\n      return valD \/ 3.281;\n    };\n\n    \/\/ Logic Gate Replacement Helper (No ampersands)\n    window.bbp_fs_isMatch = function(flow, tdh, f) {\n      if (flow >= f.flowMin) {\n        if (flow <= f.flowMax) {\n          if (tdh >= f.headMin) {\n            if (tdh <= f.headMax) {\n              return true;\n            }\n          }\n        }\n      }\n      return false;\n    };\n\n    \/\/ Global Event Triggers\n    window.bbp_fs_setUnit = function(toMetric) {\n      window.bbp_fs_isMetric = toMetric;\n      \n      if (toMetric) {\n        document.getElementById('bbp-fs-btn-metric').classList.add('active');\n        document.getElementById('bbp-fs-btn-imperial').classList.remove('active');\n      } else {\n        document.getElementById('bbp-fs-btn-imperial').classList.add('active');\n        document.getElementById('bbp-fs-btn-metric').classList.remove('active');\n      }\n      \n      var depthU = toMetric ? 'm' : 'ft';\n      var flowU  = toMetric ? 'm\u00b3\/h' : 'GPM';\n      \n      var dEls = document.querySelectorAll('#bbp-frame-size-v1 .u-depth');\n      for (var i = 0; i < dEls.length; i++) { dEls[i].textContent = depthU; }\n      \n      var fEls = document.querySelectorAll('#bbp-frame-size-v1 .u-flow');\n      for (var j = 0; j < fEls.length; j++) { fEls[j].textContent = flowU; }\n    };\n\n    window.bbp_fs_calc = function() {\n      var swl  = window.bbp_fs_fromDisp(parseFloat(document.getElementById('fs-swl').value)  || 0, false);\n      var dd   = window.bbp_fs_fromDisp(parseFloat(document.getElementById('fs-dd').value)   || 0, false);\n      var dh   = window.bbp_fs_fromDisp(parseFloat(document.getElementById('fs-dh').value)   || 0, false);\n      var fric = window.bbp_fs_fromDisp(parseFloat(document.getElementById('fs-fric').value) || 0, false);\n      var flow = window.bbp_fs_fromDisp(parseFloat(document.getElementById('fs-flow').value) || 0, true);\n      var casingIn = parseInt(document.getElementById('fs-casing').value) || 6;\n\n      var rawHead = swl + dd + dh + fric;\n      var tdh = Math.round(rawHead * 1.10);\n\n      var tdhDisp  = Math.round(window.bbp_fs_toDisp(tdh, false));\n      var flowDisp = window.bbp_fs_isMetric ? flow.toFixed(1) : Math.round(window.bbp_fs_toDisp(flow, true));\n      var unit     = window.bbp_fs_isMetric ? 'm' : 'ft';\n      var funit    = window.bbp_fs_isMetric ? 'm\u00b3\/h' : 'GPM';\n\n      document.getElementById('fs-tdh').textContent     = tdhDisp + ' ' + unit;\n      document.getElementById('fs-flow-out').textContent = flowDisp + ' ' + funit;\n\n      var minFrame = window.bbp_fs_casingToMin[casingIn] || '100mm';\n      var minIdx = window.bbp_fs_frameOrder.indexOf(minFrame);\n\n      \/\/ Search best fit\n      var best = null;\n      for (var i = 0; i < window.bbp_fs_frames.length; i++) {\n        var f = window.bbp_fs_frames[i];\n        var fi = window.bbp_fs_frameOrder.indexOf(f.size);\n        if (fi >= minIdx) {\n          if (window.bbp_fs_isMatch(flow, tdh, f)) {\n            if (!best) { best = f; }\n          }\n        }\n      }\n\n      \/\/ Fallback to closest\n      if (!best) {\n        var closest = null;\n        var minGap = Infinity;\n        for (var j = 0; j < window.bbp_fs_frames.length; j++) {\n          var fj = window.bbp_fs_frames[j];\n          var fjj = window.bbp_fs_frameOrder.indexOf(fj.size);\n          if (fjj >= minIdx) {\n            var flowGap = Math.max(0, flow - fj.flowMax, fj.flowMin - flow);\n            var headGap = Math.max(0, tdh - fj.headMax, fj.headMin - tdh);\n            var gap = flowGap + headGap;\n            if (gap < minGap) { minGap = gap; closest = fj; }\n          }\n        }\n        best = closest;\n      }\n\n      \/\/ Generate Cards\n      var cardsHtml = '';\n      for (var k = 0; k < window.bbp_fs_frames.length; k++) {\n        var fk = window.bbp_fs_frames[k];\n        var fki = window.bbp_fs_frameOrder.indexOf(fk.size);\n        \n        var isBest = false;\n        if (best) { if (fk.size === best.size) { isBest = true; } }\n        \n        var isMatched = window.bbp_fs_isMatch(flow, tdh, fk);\n        \n        var isCasingOK = false;\n        if (fki >= minIdx) { isCasingOK = true; }\n\n        var cls = 'frame-card';\n        if (isBest) {\n          cls = cls + ' best';\n        } else {\n          if (isMatched) {\n            if (isCasingOK) {\n               cls = cls + ' match';\n            }\n          }\n        }\n\n        cardsHtml = cardsHtml + '<div class=\"' + cls + '\">';\n        cardsHtml = cardsHtml + '<div class=\"fc-size\">' + fk.size + '<\/div>';\n        cardsHtml = cardsHtml + '<div class=\"fc-inch\">' + fk.inch + '<\/div>';\n        cardsHtml = cardsHtml + '<div class=\"fc-flow\">' + fk.flowMin + '\u2013' + fk.flowMax + ' m\u00b3\/h<\/div>';\n        cardsHtml = cardsHtml + '<div class=\"fc-head\">' + fk.headMin + '\u2013' + fk.headMax + ' m head<\/div>';\n        \n        if (isBest) {\n          cardsHtml = cardsHtml + '<div class=\"fc-tag\">Best Match<\/div>';\n        }\n        if (!isCasingOK) {\n          cardsHtml = cardsHtml + '<div style=\"font-size:10px;color:#ef4444;margin-top:6px;font-weight:600;\">Casing too small<\/div>';\n        }\n        cardsHtml = cardsHtml + '<\/div>';\n      }\n      \n      document.getElementById('fs-frame-cards').innerHTML = cardsHtml;\n\n      \/\/ Detail Populating\n      if (best) {\n        document.getElementById('fs-rec-frame').textContent = best.size;\n        document.getElementById('spec-frame').textContent  = best.size + ' (' + best.inch + ')';\n        document.getElementById('spec-flow').textContent   = best.flowMin + '\u2013' + best.flowMax + ' m\u00b3\/h';\n        document.getElementById('spec-head').textContent   = best.headMin + '\u2013' + best.headMax + ' m';\n        document.getElementById('spec-power').textContent  = best.powerMin + '\u2013' + best.powerMax + ' kW  |  ' + best.hpMin + '\u2013' + best.hpMax + ' HP';\n        document.getElementById('spec-tdh').textContent    = tdhDisp + ' ' + unit + ' (incl. 10% safety margin)';\n\n        var fitText = '\u26a0 Verify stage count with BBP \u2014 near range limit';\n        if (window.bbp_fs_isMatch(flow, tdh, best)) {\n          fitText = '\u2705 Flow and head within range';\n        }\n        document.getElementById('spec-fit').textContent = fitText;\n      } else {\n        document.getElementById('fs-rec-frame').textContent = 'See note';\n      }\n\n      \/\/ Generate Notes logic safely\n      var noteEl = document.getElementById('fs-note');\n      var notesHTML = '';\n      var hasNote = false;\n      \n      if (tdh > 652) {\n        notesHTML = notesHTML + 'Required head (' + tdhDisp + ' ' + unit + ') exceeds ASJ series maximum (652 m). Contact BBP engineering \u2014 multi-pump series configuration or high-head specialist may be required.<br>';\n        hasNote = true;\n      }\n      \n      if (flow > 250) {\n        notesHTML = notesHTML + 'Required flow (' + flowDisp + ' ' + funit + ') exceeds standard ASJ range (250 m\u00b3\/h). Parallel pump configuration or large-bore custom solution \u2014 contact BBP.<br>';\n        hasNote = true;\n      }\n      \n      if (!best) {\n        notesHTML = notesHTML + 'No single standard frame fully matches your flow and head combination within casing constraints. BBP engineering can configure multi-stage or parallel options.<br>';\n        hasNote = true;\n      }\n\n      if (hasNote) {\n        noteEl.innerHTML = notesHTML;\n        noteEl.style.display = 'block';\n      } else {\n        noteEl.style.display = 'none';\n      }\n\n      \/\/ Display Box\n      var resultsBox = document.getElementById('fs-results');\n      resultsBox.classList.add('visible');\n      resultsBox.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    };\n    <\/script>\n<\/section>\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Frame Size &amp; Head Requirements Estimator \u2014 BBP ASJ Deep Well Pump Enter your well parameters to estimate total dynamic head and recommended ASJ frame size. BBP engineering provides free exact model selection \u2014 this tool gives you an immediate starting point for your specification. Metric (m \/ m\u00b3\/h) Imperial (ft \/ GPM) Static Water [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":4120,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-4220","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/bbpmfg.com\/ar\/wp-json\/wp\/v2\/pages\/4220","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=4220"}],"version-history":[{"count":0,"href":"https:\/\/bbpmfg.com\/ar\/wp-json\/wp\/v2\/pages\/4220\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/bbpmfg.com\/ar\/wp-json\/wp\/v2\/pages\/4120"}],"wp:attachment":[{"href":"https:\/\/bbpmfg.com\/ar\/wp-json\/wp\/v2\/media?parent=4220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}