Arte SheetsLearn. Try. Understand.

Water Treatment Engineering, Ion-Exchange Softening & Boiler Makeup

Ion-Exchange Water Softener Hardness & Brine Salt Formula

Calculate Ion-Exchange Softener Hardness in Grains per Gallon (gpg), Total Bed Kilograin Capacity (kgr), Service Gallon Run Before Regeneration (gal), and Salt Brining Efficiency (grains/lb NaCl).

Convert ppm CaCO3 by dividing by 17.1—and brining at 8 lb/ft³ beats 15 lb/ft³ salt waste!

Strong-acid cation ion-exchange water softeners swap Ca2+ and Mg2+ scale ions onto sulfonated polystyrene resin beads regenerated with NaCl brine. US water-treatment sizing mixes metric laboratory hardness (mg/L or ppm as CaCO3) with English resin capacity (kilograins per ft³): 1 grain per US gallon (gpg) equals exactly 17.1 mg/L CaCO3! Furthermore, resin exchange capacity is non-linear in brine dose: regenerating at 8.0 lb NaCl/ft³ achieves ~24 kgr/ft³ (3,000 grains removed per lb salt), whereas heavy 15.0 lb NaCl/ft³ brining pushes capacity only +25% to ~30 kgr/ft³ while slashing salt efficiency to 2,000 grains/lb (+50% more chloride brine discharged to sewer)!

Verify on a 5.0 ft³ Boiler-House Cation Softener—Raw_Hardness = 256.5 ppm as CaCO3 (B2 -> 256.5 / 17.1 = 15.00 gpg in E2), Resin_Bed_Volume = 5.0 ft³ (B3), Operating_Capacity = 24.0 kgr/ft³ (B4 -> Total Bed Capacity = 120.00 kgr in E3), and Regeneration_Salt_Dose = 8.0 lb NaCl/ft³ (40 lb salt per regen, B5): Service Water Run Before Hardness Breakthrough equals (120 * 1,000) / 15.00 = 8,000.00 gallons (E4), achieving 24,000 / 8.0 = 3,000.00 grains/lb Salt Efficiency (E5)!

Cation Softener Sizing KPI (256.5 ppm CaCO3, 5.0 ft³ Resin, 24 kgr @ 8 lb/ft³)FormulaVerified Output
Inlet Hardness (grains/gal gpg)Hardness_ppm_CaCO3 / 17.115.00 gpg
Total Bed Exchange Capacity (kgr)Resin_Volume_ft3 * Capacity_kgr_ft3120.00 kgr (150.00 @ Max Brine)
Service Gallon Run per Regen (gal)(Total_Capacity_kgr * 1000) / gpg8,000.00 gal (10,000.00 @ Max)
Brine Salt Efficiency (grains/lb)(Capacity_kgr_ft3 * 1000) / Salt_lb_ft33,000.00 gr/lb (2,000.00 @ 15 lb)

Ion-Exchange Softener Gallon Run & Salt-Efficiency Formula

Validate Hardness_ppm > 0, Resin_Volume_ft3 > 0, Operating_Capacity in (5, 36], and Salt_Dose_lb_ft3 in [4, 25]!

=LET(hd_p, B2, rs_v, B3, cp_k, B4, sl_d, B5, IF(OR(hd_p <= 0, rs_v <= 0, cp_k <= 5, cp_k > 36, sl_d < 4, sl_d > 25), "Invalid Softener Input", LET(gp_g, hd_p / 17.1, tot_g, rs_v * cp_k * 1000, ROUND(tot_g / gp_g, 2))))

Heavy-Brining Chloride-Waste Check (30 kgr/ft³ @ 15 lb NaCl/ft³)

Switch to maximum-capacity brining (B4 = 30.0 kgr/ft³, B5 = 15.0 lb NaCl/ft³): Service Gallon Run E4 rises from 8,000.00 gal to 10,000.00 gal, while Salt Efficiency E5 plunges by a third from 3,000.00 grains/lb down to 2,000.00 grains/lb!

=IF(ISTEXT(E4), E4, ROUND((B4 * 1000) / B5, 2))

Try the example

Use the original values or change them to test your understanding.

Further reading