Wellbore Zonal Isolation & Primary Cementing, API Spec 10A Absolute-Volume Slurry Design
Oilwell Primary Cementing Slurry Yield & Sack Count Formula
Calculate API Absolute-Volume Slurry Yield (ft³/sack), Mixed Slurry Density (ppg), Required Bulk Cement Sacks Including Open-Hole Washout Excess, and Total Mix Water (bbl).
Confusing a 94-lb bulk cement sack’s 1.00 ft³ aerated silo volume with its 0.480 ft³ absolute grain volume leaves primary cement tops 600 feet below the freshwater shoe!
A standard `API` bulk sack of **Class G / Class H Oilwell Portland Cement** weighs `W_{sk} = 94` lb and occupies `1.00` ft³ (`7.48` gal) *dry with `52%` trapped air in the bulk p-tank*—yet once sheared in a jet/recirculating mixer with **Mix Water `V_w`** (`gal/sk` at `8.33` lb/gal), every air pocket vanishes leaving only **Absolute Mineral Grain Volume `V_{abs} = W_{sk} / (SG_{cem} * 8.33)`** (`3.594` gal/sk = `0.480` ft³/sk at `SG_{cem} = 3.14`)! By **API `10A` / `10B` Absolute-Volume Additive Accounting**, **Slurry Yield `Y = (V_{abs} + V_w) / 7.48052`** (`ft³/sack`), **Slurry Density `rho_s = (W_{sk} + V_w * 8.33) / (V_{abs} + V_w)`** (`ppg`), **Required Cement Sacks `N_{sk} = ROUNDUP((V_{gauge} * (1 + E_{wash} / 100)) / Y, 0)`** across Gauge Annular Volume `V_{gauge}` (`ft³`) plus Caliper/Washout Excess `E_{wash}` (`%`), and **Mix-Tank Water `V_{tot,bbl} = (N_{sk} * V_w) / 42`** (`oilfield barrels` at `42` gal/bbl)!
Verify on a `15.8` ppg Neat Class G Tail Cement Job—Sack_Weight `W_{sk}` = 94.0 lb (B2), Cement_Specific_Gravity `SG_{cem}` = 3.14 (B3), Mix_Water_Requirement `V_w` = 5.00 gal/sk (B4), Gauge_Annular_Volume `V_{gauge}` = 680 ft³ (B5), and Open-Hole_Washout_Excess `E_{wash}` = 25.0% (B6): Slurry Yield equals **`1.149` ft³/sk** (E2), Slurry Density equals **`15.78` ppg** (E3), Required Bulk Cement equals **`740` sacks** (E4), requiring **`88.10` bbl** of fresh mix water on location (E5)!
| API 10A Primary Cementing KPI (94 lb Sack, SG=3.14, Gauge=680 ft³) | Formula | Verified Output |
|---|---|---|
| Absolute Slurry Yield (ft³/sk) | ((Sack_lb / (SG * 8.33)) + Water_gal) / 7.48052 | 1.149 ft³/sk tail (1.577 ft³/sk extended lead) |
| Mixed Slurry Density (ppg) | (Sack_lb + Water_gal * 8.33) / (Abs_gal + Water_gal) | 15.78 ppg tail (13.76 ppg bentonite lead) |
| Bulk Cement Sacks Required (sk) | ROUNDUP((Gauge_ft3 * (1 + Excess_Pct/100)) / Yield, 0) | 740 sk @ 25% excess (626 sk @ 45% lead) |
| Total Mix Water Required (bbl) | (Required_Sacks * Mix_Water_gal_sk) / 42 | 88.10 bbl (122.22 bbl mix tank volume) |
API Spec 10A Absolute-Volume Slurry Yield, Density & Barrel Water Formula
Validate `Sack_Weight` in `[50, 120]` lb, `Cement_SG` in `[2.60, 3.30]`, `Mix_Water` in `[3.0, 18.0]` gal/sk, `Gauge_Volume` in `[20, 25,000]` ft³, and `Open-Hole_Excess` in `[0, 150]`%!
=LET(ws_l, B2, sg_c, B3, mw_g, B4, av_f, B5, ex_p, B6, yl_f, ((ws_l / (sg_c * 8.33)) + mw_g) / 7.48052, IF(OR(ws_l < 50, ws_l > 120, sg_c < 2.6, sg_c > 3.3, mw_g < 3, mw_g > 18, av_f < 20, av_f > 25000, ex_p < 0, ex_p > 150), "Invalid Cement Input", ROUND((ROUNDUP((av_f * (1 + ex_p / 100)) / yl_f, 0) * mw_g) / 42, 2)))Bentonite-Extended Light Lead Slurry (`8.2` gal/sk Water, `45%` Washout Excess) Fracture-Gradient Check
Switch to a pre-hydrated gel-extended lead slurry (`B4 = 8.20` gal/sk water) across unconsolidated washed-out sands (`B6 = 45%` excess) to stay below formation fracture gradient: Slurry Density E3 drops safely to **`13.76` ppg** while Yield E2 expands to **`1.577` ft³/sk**, trimming cement tonnage to `626` sacks (E4) while increasing rig-tank mix water E5 to **`122.22` bbl**!
=IF(ISTEXT(E5), E5, LET(yl_f, ((B2 / (B3 * 8.33)) + B4) / 7.48052, ROUNDUP((B5 * (1 + B6 / 100)) / yl_f, 0)))Try the example
Use the original values or change them to test your understanding.