---
id: po.wb.esp.dws-inverted-esp
title: Inverted ESP Sizing — Downhole Water Sink
category: Production
requires:
  - po-addin
tags:
  - esp
  - downhole-water-sink
  - downhole-water-loop
  - inverted-esp
  - water-injection
  - pump-sizing
  - performance-curve
  - vsd
  - affinity-laws
---

# Inverted ESP Sizing — Downhole Water Sink

## Description

Sizes an electric submersible pump that runs inverted in a downhole water sink (DWS) or
downhole water loop (DWL) completion: water drained below the oil–water contact is pumped down
through an isolation packer and re-injected into the base of the same aquifer. Nothing is lifted to
surface, so the system curve is drainage drawdown plus injection build-up plus a short friction
path — for a hydrostatically connected aquifer, a straight line through the origin.

Design by rate, or by sink: enter the drawdown wanted at the drainage perforations and the design
rate becomes PI × sink. From the loop hydraulics (or a known TDH) and a vendor single-stage curve it
returns the design TDH, split in feet into sink head, injection head, static head and friction; the
stage count, brake horsepower, BEP and operating-point efficiency; the sink at the operating point;
the drive frequency that delivers each rate; motor loading, motor cooling velocity, packer
differential and shaft thrust. With injectivity close to the PI the design TDH is about twice the
sink head, because the pump also has to re-inject the water it drains. Two print-ready charts: the
pump performance curve against the system curve, and the variable-speed (tornado) chart.

Two input checks: an SG outside the plausible brine range (a psi/ft gradient typed into the SG cell),
and a static head between the zones that is not about zero (zone pressures and spacing that do not
describe one connected aquifer). An injection static pressure of 0 is computed for the same-aquifer
case.

The functions the `PO.ESP.*` catalog lacks are defined as workbook LAMBDAs:
`PO.ESP.DWS.TDH`, `PO.ESP.Affinity.Rate`, `PO.ESP.Affinity.Head`, `PO.ESP.Affinity.Power`,
`PO.ESP.Curve.HeadAtSpeed`, `PO.ESP.Curve.PowerAtSpeed`, `PO.ESP.Motor.CoolingVelocity`,
`PO.ESP.Shaft.Thrust`.

## Inputs

Named cells you can edit — every result recalculates from them.

| Name | Description | Default | Unit |
|---|---|---|---|
| `DWS_Q` | Target water rate (drainage = injection) | 3000 | bbl/d |
| `DWS_Sink` | Target sink at the drainage perforations (0 = design by rate) | 0 | psi |
| `DWS_SG` | Water specific gravity | 1.07 | — |
| `DWS_Pdr` | Drainage zone static pressure | 3200 | psi |
| `DWS_PI` | Drainage productivity index | 10 | bbl/d/psi |
| `DWS_Pinj` | Injection zone static pressure (0 = same aquifer as the drain) | 3246 | psi |
| `DWS_II` | Injectivity index | 8 | bbl/d/psi |
| `DWS_dZ` | Vertical distance, drainage to injection perforations | 100 | ft |
| `DWS_FlowID` | Flow-path ID, pump discharge to injection perforations | 3.958 | in |
| `DWS_FlowL` | Flow-path length | 150 | ft |
| `DWS_TDHKnown` | Known TDH at the design rate (0 = use loop hydraulics) | 0 | ft |
| `DWS_Fbase` | Catalog curve frequency | 60 | Hz |
| `DWS_FreqSet` | Design frequency (0 = frequency that delivers the design rate) | 0 | Hz |
| `DWS_StagesSet` | Stages installed (0 = minimum at catalog frequency) | 0 | stages |
| `DWS_MotorHP` | Motor nameplate power at catalog frequency | 60 | HP |
| `DWS_SF` | Motor sizing safety factor | 1.10 | — |
| `DWS_MotorOD` | Motor OD | 5.62 | in |
| `DWS_CasingID` | Casing (or shroud) ID at the motor | 6.276 | in |
| `DWS_Temp` | Water temperature at the motor | 180 | degF |
| `DWS_Shaft` | Pump shaft diameter | 0.875 | in |
| `DWS_PackerRating` | Packer differential pressure rating | 5000 | psi |
| `DWS_Qmin` | Pump recommended range — minimum rate | 2200 | bbl/d |
| `DWS_Qmax` | Pump recommended range — maximum rate | 3800 | bbl/d |
| `DWS_Cases` | Rate cases (five) | 2000–4000 | bbl/d |
| `DWS_VsdF` | Tornado chart frequencies (seven) | 40–70 | Hz |

The single-stage curve (`DWS_CurveQ`, `DWS_CurveH`, `DWS_CurveP`) on the Pump Curve sheet is
example data to be replaced with the vendor's curve.

## Sheets

- `Guide`
- `Inputs`
- `Pump Curve`
- `Design`
- `Performance Chart`
- `VSD Chart`
- `Calc`

Four XY scatter charts: the single-stage catalog curve, pump head with the system curve and
efficiency, brake horsepower, and the variable-speed tornado chart.

## Functions used

`PO.ESP.Curve.BEP`, `PO.ESP.Curve.BEP.Eff`, `PO.ESP.Curve.Efficiency`, `PO.ESP.Curve.Head`,
`PO.ESP.Curve.InRange`, `PO.ESP.Curve.Power`, `PO.ESP.Head.FromPressure`, `PO.ESP.Head.ToPressure`,
`PO.ESP.HydraulicHP`, `PO.ESP.Motor.Load.Status`, `PO.ESP.Motor.LoadFactor`,
`PO.ESP.Motor.RequiredHP`, `PO.ESP.Motor.Temp.Rise`, `PO.ESP.Nodal.Drawdown`,
`PO.ESP.Pump.Efficiency`, `PO.ESP.Pump.TotalHead`, `PO.ESP.Stages`, `PO.ESP.Stages.Actual`,
`PO.ESP.System.Hfric`
