Petrophysics, Well-Log Interpretation & Volumetrics
Archie Water Saturation (Sw) & Formation Factor Formula
Calculate Clean-Sandstone Formation Resistivity Factor F, Archie Water Saturation Sw, Hydrocarbon Saturation Sh, and Hydrocarbon Pore-Thickness HPV (m).
Enter porosity as a decimal fraction (0.20, never 20)—and cap Sw at 1.00 in wet zones!
G.E. Archie’s (1942) empirical resistivity law underpins quantitative oil and gas well-log interpretation: because dry rock matrix grains are electrical insulators while salty connate brine conducts current through interconnected pores, Formation Resistivity Factor is F = a / (phi ^ m), 100%-Wet Rock Resistivity is R_0 = F * R_w, and Water Saturation is S_w = MIN(1, ((a * R_w) / ((phi ^ m) * R_t)) ^ (1 / n))! Entering percentage porosity 20 instead of decimal 0.20 shrinks F by 10,000x when m = 2!
Verify on a Clean Consolidated Sandstone Pay Zone (n = 2)—Tortuosity_Factor a = 1.00 (B2), Fractional_Porosity phi = 0.20 (20.0%, B3), Cementation_Exponent m = 2.00 (B4 -> Formation Factor F = 1 / 0.04 = 25.00 in E2), Connate_Brine_Resistivity R_w = 0.09 ohm·m (B5 -> R_0 = 2.25 ohm·m), Deep_Induction_Resistivity R_t = 25.00 ohm·m (B6), and Net_Pay_Thickness h = 15.0 m (B7): Archie Water Saturation equals SQRT(2.25 / 25.00) = 0.3000 (30.0%, E3), Hydrocarbon Saturation is 1 - 0.30 = 0.7000 (70.0%, E4), and Hydrocarbon Pore-Thickness h * phi * S_h equals 15 * 0.20 * 0.70 = 2.10 m (E5)!
| Archie Well-Log KPI (a=1, phi=0.20, m=2, Rw=0.09, Rt=25 ohm·m, h=15 m) | Formula | Verified Output |
|---|---|---|
| Formation Resistivity Factor F | a / (Porosity_phi ^ m) | 25.00 |
| Water Saturation Sw (n = 2) | MIN(1, SQRT((F * R_w) / R_t)) | 0.3000 (1.0000 @ Rt = 2.25) |
| Hydrocarbon Saturation Sh | 1 - Water_Saturation_Sw | 0.7000 (0.0000 @ Rt = 2.25) |
| Hydrocarbon Pore-Thickness (m) | Net_Pay_m * Porosity_phi * Sh | 2.10 m (0.00 m Wet Zone) |
Archie Clean-Sandstone Water Saturation & HPV Formula
Validate Tortuosity a in [0.5, 2.0], Fractional_Porosity phi in (0.01, 0.50] (rejecting whole-number 20% inputs!), Cementation m in [1.2, 3.0], R_w > 0, R_t > 0, and Net_Pay > 0!
=LET(tr_a, B2, ph_f, B3, cm_m, B4, rw_o, B5, rt_o, B6, h_np, B7, IF(OR(tr_a < 0.5, tr_a > 2, ph_f <= 0.01, ph_f > 0.5, cm_m < 1.2, cm_m > 3, rw_o <= 0, rt_o <= 0, h_np <= 0), "Invalid Archie Log Input", LET(fr_f, tr_a / (ph_f ^ cm_m), ROUND(MIN(1, SQRT((fr_f * rw_o) / rt_o)), 4))))Aquifer Oil-Water Contact R_0 Check (Set Deep Resistivity R_t = 2.25 ohm·m)
Drop True_Formation_Resistivity B6 from 25.00 ohm·m down to R_0 = 2.25 ohm·m below the free-water level: Water Saturation E3 hits 1.0000, Hydrocarbon Saturation E4 drops to 0.0000, and Hydrocarbon Pore-Thickness E5 equals 0.00 m! Also test B3 = 20 (whole-number porosity mistake) to verify the guard!
=IF(ISTEXT(E3), E3, ROUND(B7 * B3 * (1 - E3), 2))Try the example
Use the original values or change them to test your understanding.