Water Desalination Engineering, Membrane Separations & Energy Recovery Devices
Seawater Reverse Osmosis (SWRO) Osmotic & ERD Energy Formula
Calculate Seawater Reverse Osmosis (SWRO) Concentrate Brine Osmotic Pressure Barrier (bar), Exit Net Driving Pressure (bar), Unrecovered Pump Specific Energy Consumption (kWh/m³), and Isobaric Pressure-Exchanger ERD Specific Energy Consumption SEC (kWh/m³).
Cut desalination electricity nearly in half with isobaric ERDs—while guarding osmotic stall!
In Seawater Reverse Osmosis (SWRO) desalination at permeate water recovery ratio Y (e.g., 50%), salt rejection concentrates feed salinity TDS_feed (g/L) in the exiting brine stream to TDS_brine = TDS_feed / (1 - Y), raising concentrate osmotic pressure to π_brine ≈ 0.78 * (TDS_feed / (1 - Y)) bar! Applied membrane pressure P_feed (bar) MUST exceed π_brine to sustain positive exit Net Driving Pressure (P_feed - π_brine > 0)! Because 1 bar acting on 1 m³ equals 100 kJ = 1/36 kWh, pumping 1/Y m³ of seawater without brine energy recovery consumes ((P_feed / Y) / 36) / η_pump kWh/m³, whereas an Isobaric Pressure-Exchanger Energy Recovery Device (ERD) of efficiency η_ERD recovers pressure from the (1 - Y)/Y reject brine stream, slashing Specific Energy Consumption to SEC = (((P_feed * (1 - (1 - Y) * η_ERD)) / Y) / 36) / η_pump!
Verify on a Coastal Municipal SWRO Train—Feed_Seawater_TDS = 36.0 g/L (B2), Permeate_Recovery_Y = 0.50 (50.0%, B3 -> Brine Salinity = 72 g/L & Concentrate Osmotic Barrier = 72 * 0.78 = 56.16 bar in E2), HighPressure_Feed = 64.0 bar (B4 -> Exit Net Driving Pressure = 64.0 - 56.16 = 7.84 bar in E3), Isobaric_ERD_Efficiency = 0.95 (95.0%, B5), and Pump_WireToWater_Efficiency = 0.80 (80.0%, B6): Unrecovered Pump SEC would be 4.4444 kWh/m³ (E4), whereas the Isobaric ERD cuts Pumping SEC by 47.5% down to 2.3333 kWh/m³ (E5)!
| SWRO Desalination Metric (36 g/L, Y=50%, P=64 bar, η_ERD=95%, η_pump=80%) | Formula | Verified Output |
|---|---|---|
| Concentrate Osmotic Barrier (bar) | (TDS_g_L / (1 - Y)) * 0.78 | 56.16 bar (70.20 Stall @ Y=60%) |
| Exit Net Driving Pressure (bar) | Feed_Pressure_Bar - Brine_Osmotic_Bar | 7.84 bar |
| Unrecovered Pump SEC (kWh/m³) | ((P_bar / Y) / 36) / η_pump | 4.4444 kWh/m³ |
| Isobaric ERD Pump SEC (kWh/m³) | (((P_bar*(1 - (1-Y)*η_ERD)) / Y) / 36) / η_pump | 2.3333 kWh/m³ (4.4444 @ η_ERD=0) |
SWRO Isobaric ERD Specific Energy Consumption (SEC) Formula
Validate TDS > 0, Recovery Y in (0, 0.85), η_ERD in [0, 1), η_pump in (0, 1], and strictly positive exit Net Driving Pressure P_feed > π_brine!
=LET(td_s, B2, rc_y, B3, pf_b, B4, er_d, B5, pm_e, B6, pi_b, (td_s / (1 - rc_y)) * 0.78, IF(OR(td_s <= 0, rc_y <= 0, rc_y >= 0.85, er_d < 0, er_d >= 1, pm_e <= 0, pm_e > 1, pf_b <= pi_b), "Osmotic Stall or Invalid SWRO Input", ROUND((((pf_b * (1 - (1 - rc_y) * er_d)) / rc_y) / 36) / pm_e, 4)))ERD Bypass & 60%-Recovery Osmotic Stall Checks
Set Isobaric_ERD_Efficiency B5 = 0 to confirm E5 matches Unrecovered SEC 4.4444 kWh/m³! Then restore B5 = 0.95 and raise Recovery B3 to 0.60 (where brine osmotic pressure hits 70.20 bar > 64 bar) to verify the osmotic-stall guard triggers!
=IF(ISTEXT(E5), E5, ROUND(((B4 / B3) / 36) / B6, 4))Try the example
Use the original values or change them to test your understanding.