Cv flow calculator
A valve with a Cv of 10 and a 4 psi drop passes exactly 20 US gallons per minute of water. Enter the catalog Cv, the pressure drop and the specific gravity to get the liquid flow for other fluids too. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Cv
- 10
- Pressure drop
- 4
- Specific gravity
- 1
- Flow rate
- 20 gpm
The valve Cv flow calculator turns a published liquid flow coefficient, a strictly positive pressure drop in pounds per square inch, and the fluid specific gravity into volumetric flow in US gallons per minute. The engine applies the incompressible catalog identity Q equals Cv times the square root of ΔP over G — the same relation that defines Cv as the water flow, in gallons per minute at sixty degrees Fahrenheit, that produces a one-psi drop through the valve. Water has G equal to one, so a Cv of ten with a four-psi drop yields twenty gallons per minute exactly; denser brines reduce Q and lighter hydrocarbons increase it for the same drop.
Catalog Cv and the incompressible liquid flow identity
The valve flow coefficient Cv is defined in US customary units as the number of US gallons per minute of water at sixty degrees Fahrenheit that will pass through a valve with a pressure drop of one pound per square inch.
Manufacturers publish that rating for each body size, trim, and opening, and the incompressible liquid identity then scales it to other drops and other fluids: volumetric flow Q in gallons per minute equals Cv times the square root of ΔP over G, where ΔP is the pressure drop across the valve in psi and G is the fluid specific gravity relative to water at sixty degrees Fahrenheit.
For water, G equals one, so Q collapses to Cv times the square root of ΔP; a globe valve rated Cv equals ten with a four-psi drop therefore delivers twenty gallons per minute. A heavier liquid such as concentrated brine with G greater than one reduces Q for the same drop, because more mass must be driven through the vena contracta; a lighter hydrocarbon with G less than one increases Q.
This calculator evaluates that textbook catalog formula with no piping-geometry factor Fp, no Reynolds-number factor FR, and no liquid-pressure-recovery or choked-flow limit from ISA-75 or IEC 60534. Those installed-condition corrections belong in a full control-valve sizing package once the adjacent fittings, vapor pressure, and recovery factor FL are known. Use this page when you already have a Cv from a catalog and need the corresponding unchoked liquid GPM, and treat flashing, cavitating, or two-phase service as out of scope for this identity.
Where liquid Cv flow is used in design, labs, and software
Process and mechanical engineers use the liquid Cv identity to convert a catalog coefficient into an expected gallons-per-minute throughput at a known station drop before they open a full ISA-75 worksheet. A first-pass estimate of Q from Cv, ΔP, and G sizes a globe, ball, or butterfly valve for water, glycol, or light oil service, and it is honest about omitting choked-flow and piping-geometry corrections until those data exist.
Teaching labs ask students to recover GPM from a published Cv and a manometer drop and to discuss why a real installed valve may pass less than the catalog identity when the adjacent reducers add resistance; a deterministic oracle lets instructors generate keys for arbitrary Cv, ΔP, and G without a commercial sizing suite. Software tests for control-valve modules need a frozen expected GPM for water and for a non-unity specific gravity so that a refactor of a hydraulics library cannot silently change the square-root formula.
Field technicians checking a control valve during a water-balance or hydrostatic test can turn a measured upstream and downstream pressure into a volume per time when the trim Cv is known and the liquid is subcooled.
What you can do with it
Catalog valve throughput checks
Convert a published Cv and a station pressure drop into expected liquid GPM for water, glycol, or light oil before opening a full ISA-75 worksheet.
Hydraulics homework and lab keys
Generate deterministic gallons-per-minute answers for arbitrary Cv, ΔP, and specific gravity so students can check the square-root identity against manometer data.
FAQ
What formula does the Cv flow calculator use?
The incompressible liquid catalog identity Q = Cv · √(ΔP / G), with Q in US gallons per minute, ΔP in psi, and G the fluid specific gravity relative to water at 60 °F. Piping-geometry, Reynolds, and choked-flow factors are not applied.
Why must pressure drop be positive?
The catalog liquid formula is defined for a driving drop in the forward direction.
Which units should I use for Cv, ΔP, G, and Q?
Cv is the US customary coefficient (GPM of water at 1 psi). Pressure drop is in psi.
Does this include choked flow or piping geometry factors?
No. It evaluates the unchoked catalog identity only. ISA-75 / IEC 60534 factors Fp, FR, FL, and flashing or cavitating service belong in a full control-valve sizing package.
How does a heavier or lighter liquid change the flow?
A liquid denser than water, such as a concentrated brine, gives less flow for the same pressure drop, because more mass must be driven through the valve. A lighter hydrocarbon gives more. Water has a specific gravity of 1.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/phys/cv-flow \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"cv":10,"pressure_drop":4,"specific_gravity":1}'const res = await fetch("https://api.kit.forhosting.com/phys/cv-flow", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"cv": 10,
"pressure_drop": 4,
"specific_gravity": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/cv-flow",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"cv": 10,
"pressure_drop": 4,
"specific_gravity": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/cv-flow", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"cv":10,"pressure_drop":4,"specific_gravity":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"cv":10,"pressure_drop":4,"specific_gravity":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/cv-flow", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"cv": 10,
"pressure_drop": 4,
"specific_gravity": 1
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.cv_flow",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Limits
max_abs_cv | 1000000000000 |
max_abs_pressure_drop | 1000000000000 |
max_abs_specific_gravity | 1000000000000 |
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Pressure drop that is zero or negative is rejected as invalid_input and is not billed. Successful API calls cost $0.002.
Inputs, units, response fields, and invalid values
Specific gravity must be strictly positive because G sits under the square root; a non-positive G would make Q undefined or imaginary. Cv must be a finite non-negative number; a negative rating is non-physical, while a closed valve with Cv equal to zero yields zero flow. Magnitudes above one trillion are rejected as outside the supported range. Failed validation is not billed. POST a JSON body with three required finite numbers: cv, the published valve flow coefficient; pressure_drop, the upstream-minus-downstream pressure drop in psi; and specific_gravity, the fluid specific gravity G relative to water at sixty degrees Fahrenheit. Preferred names are those canonical fields; aliases Cv, flow_coefficient, valve_cv, and cv_value are accepted for the coefficient, aliases delta_p, dp, dP, pressure_diff, delta_p_psi, and dp_psi for the drop, and aliases sg, G, gf, fluid_sg, and specific_g for specific gravity, so spreadsheets and typed forms can reuse the same contract. Each value may arrive as a JSON number or as a decimal numeric string, including scientific notation; booleans, objects, arrays, empty strings, NaN, and infinities are rejected. Pressure drop must be strictly positive: zero and negative ΔP fail with invalid_input because the catalog liquid formula is defined for a driving drop in the forward direction and this tool does not model reverse flow. On success the body echoes the three inputs rounded to twelve decimal places, plus flow_rate in US gallons per minute, unit gpm, a formula string, and method isa_liquid_cv.
Where liquid Cv flow is used in design, labs, and software
Keep requests small, pin the rounded flow_rate in tests, and you get reproducible valve liquid flow rates for homework, LMS plugins, and edge workers without standing up a valve-sizing solver of your own.
Integration use cases
Control-valve software fixtures
Pin expected unchoked liquid Q in unit tests for water (G = 1) and for non-unity specific gravity without embedding a commercial valve-sizing library.
Technical questions
What does the Cv flow calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.