Square-Root Extraction
Flow through a restriction follows the square root of differential pressure. A DP cell reads linearly in pressure, so flow needs the square root taken. Enter a signal and read the flow, or enter a flow and read the signal, both directions, with the differential-pressure and flow ranges side by side.
Guided setup
Describe the DP and flow ranges and your reading. The wizard runs the exact same math as the form and shows both the linear and extracted signals right here — and it will confirm whether a milliamp reading is the linear or the extracted signal.
The wizard only asks questions and runs the calculator. Every number comes from the deterministic engine, not the AI.
Ranges
Calculate
Why is flow proportional to the square root of differential pressure?
A head-type element turns velocity into pressure drop, and pressure drop rises with the square of velocity, so getting flow back out means taking the square root: Q = k × √ΔP.
Squeeze flow through a restriction and the fluid speeds up. The energy for that speed comes out of static pressure, and the drop goes as velocity squared. Double the flow and the differential rises 4×; cut flow to a tenth and the differential falls to 1% of what it was. The lopsidedness is the whole story of this page: the top half of the flow range uses 75 percentage points of the differential span, while the bottom quarter of the flow range lives inside the first 6.25% of it.
The full orifice equation for volumetric flow is Q = N · C · E · Y · d² · √(ΔP ÷ ρ), where C is the discharge coefficient — 0.60 to 0.62 across most of the ISO 5167-2 tables for a sharp-edged concentric plate — E is the velocity of approach factor, 1 ÷ √(1 − β⁴), and Y is the expansion factor, which ISO 5167 calls the expansibility factor and which equals 1 for liquids. Those are multipliers. The square root is the shape, and it does not come from the transmitter: a DP cell is linear in pressure and always will be. The root is arithmetic applied after the cell, and it belongs to every head-type element — orifice, venturi, flow nozzle, wedge, V-cone, averaging pitot, target meter.
What is the %DP to %flow table for square-root extraction?
%flow = √(%DP), so 6.25% DP is 25% flow, 25% DP is 50% flow, 50% DP is 70.71% flow, and only 0% and 100% land on the same number in both columns.
Percent of differential-pressure span, the linear mA a plain DP transmitter puts out at that point, the flow it represents, and the mA an extracted output puts out for that same flow. All four columns describe one condition in the pipe.
| % DP span | DP-linear mA | % flow | Flow-extracted mA |
|---|---|---|---|
| 0 | 4.00 | 0.00 | 4.00 |
| 0.25 | 4.04 | 5.00 | 4.80 |
| 1 | 4.16 | 10.00 | 5.60 |
| 4 | 4.64 | 20.00 | 7.20 |
| 6.25 | 5.00 | 25.00 | 8.00 |
| 10 | 5.60 | 31.62 | 9.06 |
| 25 | 8.00 | 50.00 | 12.00 |
| 50 | 12.00 | 70.71 | 15.31 |
| 56.25 | 13.00 | 75.00 | 16.00 |
| 75 | 16.00 | 86.60 | 17.86 |
| 90 | 18.40 | 94.87 | 19.18 |
| 100 | 20.00 | 100.00 | 20.00 |
Four numbers are worth carrying in your head: 6.25 / 25, 25 / 50, 50 / 70.71, and 56.25 / 75. Going the other way, square the flow: 50% flow is 25% DP, and 10% flow is 1% DP.
Is 12 mA on a DP flow loop 50% flow or 70.7% flow?
It depends which signal you are holding: 12 mA on a linear DP output is 50% of differential pressure and 70.71% of flow, while 12 mA on an extracted output is 50% of flow and only 25% of differential pressure.
From a linear DP signal, %flow = 100 × √((mA − 4) ÷ 16). At 12 mA that is (12 − 4) ÷ 16 = 0.500, √0.500 = 0.7071, so 70.71% of flow. To convert the whole signal, mAflow = 4 + 16 × √((mAlinear − 4) ÷ 16), which puts 12.00 mA of linear DP at 15.31 mA of extracted flow. On a 0–500 GPM range that is 353.6 GPM, not 250.
Working backward is the same trick squared. Half flow — 250 GPM, 12.00 mA extracted — is only 25% of differential span, which is 8.00 mA on a linear DP output. The only two points where the linear and extracted signals agree are the ends: a live 4 mA is 0% on both, and 20 mA is 100% on both. That is exactly why a two-point loop check will not catch an extraction error.
Should the square root be taken in the transmitter or in the DCS?
Either is correct as long as exactly one device does it and the loop sheet says which one, and the two major vendors do not agree on which: Yokogawa calls extraction in the DCS best practice, while Emerson recommends its application-specific flow configuration inside the transmitter.
Arguments for extracting in the host: the transmitter stays linear, so it calibrates against a pressure standard with no curve in the way and an as-found record reads in inH2O; the 4–20 mA on the wire stays linear in DP, so low-end process noise is not amplified before it reaches the card; and the cutoff lives in configuration a control engineer can see. Yokogawa's published FAQ takes that side and is short about it — the transmitter can do the calculation or the DCS can, best practice is the DCS, and make sure it is well documented. Arguments for extracting in the transmitter: the local display reads in flow units, a HART flow variable and totalizer become available, and a host with no math block on the analog input needs the transmitter to do it. Emerson takes that side for the Rosemount 3051 and recommends application-specific configuration for DP flow applications.
Know how the device you have actually behaves, because the same transmitter offers two different mechanisms. Setting the 3051 transfer function to Square Root roots the analog output and brings a fixed low-flow cutoff with it. The application-specific flow configuration works differently: assign flow rate to the primary variable and the transfer function is set to Linear and cannot be changed to Square Root, with the flow rate variable automatically carrying the square-root relationship to pressure instead. Same device, two menus, one root either way. Put which one you used on the loop sheet, not in someone's memory.
How do I tell if the square root is being taken twice?
Apply exactly 50% of DP span and read the host indication — 70.71% is correct, 50.00% means nobody extracted, and 84.09% means two devices did.
Double extraction reads high everywhere except 0% and 100%, where the two curves meet, so it survives a two-point check untouched. The displayed value is the fourth root of %DP, and the worst error sits at 25% of true flow, where the indication reads 50% — a full 25 percentage points high. At 1% of DP span, true flow is 10% and a double-rooted display shows 31.6%. The field tell is an indication that will not come down: the valve is nearly shut, the line is barely moving, and flow hangs in the 25 to 35% region.
- Apply 50% of DP span — 50 inH2O on a 0–100 inH2O range — with the transmitter isolated from process and the low side vented. Correct: 70.71%. No extraction anywhere: 50.00%. Double extraction: 84.09%.
- Read the loop current at that same point. 12.00 mA means the transmitter is linear in DP. 15.31 mA means the transmitter is extracting.
- Read the HART PV and check what it is. If the primary variable is pressure in pressure units, the transfer function is what roots the analog output, and PV against loop mA tells you what that output is really doing. If flow rate has been assigned to the primary variable, the PV is already flow, the root is inside the device, and the transfer function reads Linear — a different setting in a different menu, not evidence that nobody extracted.
- Check both configurations, not one. Transmitter: transfer function, and whether a flow variable is configured. Host: the square-root or extract flag on the analog input block, or on Foundation Fieldbus, AI block L_TYPE set to Indirect Square Root rather than Indirect.
The mirror-image fault reads low: nobody extracts, 12 mA gets scaled straight to 250 GPM on a 500 GPM range, and the real flow is 353.6 GPM. Same test point, same three numbers, opposite direction.
Why does a DP flow signal need a low-flow cutoff, and where should it be set?
Because the slope of the square-root curve runs to infinity as differential pressure approaches zero, so noise and zero drift get multiplied into a flow reading that never settles, and the cutoff forces the output to zero below a set differential — commonly a fraction of a percent up to about 1% of DP span.
The gain of the extraction — how far %flow moves for a change in %DP — is 1 ÷ (2√f), where f is DP as a fraction of span. That is 1.0 at 25% DP, 2.0 at 6.25%, 5.0 at 1%, and 10.0 at 0.25%. Put a number on it: 0.1 inH2O of noise or zero shift on a 0–100 inH2O range is 0.1% of DP span, and the extractor turns that into 3.16% of flow. Without a cutoff, a totalizer accumulates all shift on a dead line, a flow controller integrates against a PV that will not reach zero, and low-flow alarms chatter.
Set the cutoff in DP terms, then check what it costs in flow: 0.25% of DP span cuts everything below 5% of flow, 0.5% of DP span cuts below 7.07%, and 1% of DP span cuts below 10%. Emerson's worked example for the Rosemount 3051 is a water line at 20,000 US gallons per hour full scale on a 100 inH2O range, with the pressure cut-off and cut-in values both set to 0.5 inH2O — 0.5% of DP span, which is 7.07% of flow. Set the 3051 transfer function to Square Root instead and the cutoff is fixed: a 4% cut-off with a 5% cut-in on the square-root analog output range, which in DP terms is 0.16% and 0.25% of span. The gap between the two numbers is deliberate deadband so the output does not chatter across the threshold. On Foundation Fieldbus the same job is the AI block LOW_CUT parameter, in percent of scale. Do not set the cutoff above the lowest flow you have to control, and zero the transmitter with the manifold equalized before blaming the cutoff for an indication that will not go to zero.
Why is DP flow turndown only about 3:1 or 4:1?
Because differential pressure goes as flow squared, a 10:1 flow turndown asks the DP cell to work across a 100:1 differential turndown, and a transmitter specified in percent of span becomes a large percent of rate at the bottom of that.
Below, a DP transmitter at 0.04% of span reference accuracy carried down the flow range. That is the Rosemount 3051C figure for ranges 2 through 4, which covers most DP flow spans; range 5 is 0.065% and ranges 0 and 1 are 0.10%. Reference accuracy is the best case — it does not include ambient temperature or static pressure effects. The square root does one thing in your favor: a relative error in DP becomes half as large a relative error in flow.
| % of flow range | DP, % of span | Transmitter error, % of rate |
|---|---|---|
| 100 | 100 | 0.02 |
| 50 (2:1) | 25.0 | 0.08 |
| 33 (3:1) | 11.1 | 0.18 |
| 25 (4:1) | 6.25 | 0.32 |
| 20 (5:1) | 4.00 | 0.50 |
| 10 (10:1) | 1.00 | 2.00 |
The primary element usually quits before the arithmetic does. ISO 5167-2 does not cover pipe Reynolds numbers below 5,000. For corner or D and D/2 tappings it also requires ReD ≥ 16,000 β² once β exceeds 0.56; for flange tappings the limits are ReD ≥ 5,000 and ReD ≥ 170 β² D, with D in millimeters. It adds 0.5% to the discharge coefficient uncertainty when β > 0.5 and ReD < 10,000. The plate's own C uncertainty is 0.5% for 0.2 ≤ β ≤ 0.6 and is roughly constant as a percent of rate, so at high flow the plate dominates the error and at low flow the transmitter does. 3:1 to 4:1 is the commonly cited working range for one plate and one cell; past that you need a higher-accuracy or multivariable transmitter, two transmitters split across the range, or a meter that is linear to begin with.
How do I scale a square-root flow signal in a PLC without faulting the block?
Normalize the analog input to a 0.000 to 1.000 fraction of DP span, clamp anything below zero, apply the low-flow cutoff, then take the square root and multiply by full-scale flow.
Order matters. Root a normalized fraction — not raw counts, not engineering units, because √(counts) means nothing. Clamp before the root: a downscale burnout at 3.6 mA gives (3.6 − 4) ÷ 16 = −0.025, and a negative operand into a square-root instruction returns NaN or sets the math overflow bit depending on the platform, after which the bad value propagates into the totalizer and the PID. A live 4 mA is 0% flow, not a fault, and not the same thing as 3.6 mA.
Apply the cutoff to the DP fraction ahead of the root, with a separate cut-in value above it so the transition has deadband. Then flow = full-scale flow × √fraction. Both ranges have to be zero-based — zero differential is zero flow, and a DP flow measurement has no elevated or suppressed zero the way a level measurement does. If someone hands you a range of 50 to 500 GPM, that is a display limit or a control range, not a transmitter range, and it does not belong in this arithmetic.
When should you not use square-root extraction?
Any time the sensor is not a head-type flow element — every linear flowmeter, every DP level measurement, and every differential pressure that is a pressure drop rather than a flow.
Applying the root to a signal that is already linear in flow produces exactly the double-rooting error described above: high everywhere except the two endpoints, worst at 25%, where it reads 50%.
- Linear flowmeters. Magnetic, Coriolis, vortex, turbine, transit-time ultrasonic, positive displacement, thermal mass, variable area. The output is already proportional to flow.
- DP level. Head is linear with level, so 50% of DP span is 50% level, not 70.71%. Wet legs, dry legs, and remote seals change the LRV and URV, never the transfer function.
- Differential pressure that is a pressure. Filter, strainer, and bed dP; fan, damper, and duct dP; furnace draft. It is a pressure measurement that happens to be differential.
- Laminar flow elements. Their pressure drop is viscous and linear with flow by design. That is the point of them.
- A DP flow transmitter you are trending for plugging or plate damage. Keep that indication linear in DP — the root compresses small changes at the top of the range and exaggerates them at the bottom.
- Any loop where the other end already does it. One device, documented.
Head-type elements do get the root: orifice, venturi, flow nozzle, wedge, V-cone, averaging pitot or annubar, and target meter. If you cannot name the primary element in the line, do not set the transfer function. Find out what is installed first.
Still not reading right?
If the numbers here do not match what the loop is doing, the problem is usually the installation, the ranging, or the process itself rather than the device. Describe the symptom and a specialist answers by email, at no charge.