HomeCalculatorsPhysicsFluid MechanicsGradual Contraction Calculator
Physics calculator

Gradual Contraction Calculator

Compute conical-contraction loss h = K v2² / (2g) with K = 0.5 sin(α) (1 − v1/v2). α is the wall half-angle. Runs locally. Not sudden contraction, not gradual expansion, not minor-loss K as an input, and not Q=Av.

Instant result
Result
—

Enter values to calculate.

Inputs—
Mode—
Formula—
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance · h = K v2² / (2g) with K = 0.5 sin(α)(1 − v1/v2), plus pressure, velocity, and angle solves, + O3 mpmath tabulated head.
Input interpretation
Enter values to calculate.
Result
—
Verified scope
h = K v2² / (2g) with K = 0.5 sin(α)(1 − v1/v2), plus pressure, velocity, and angle solves, + O3 mpmath tabulated head.
Assurance
Engineering
Declared partition coverage
PASS · 5/5 declared partitions (head, solve, alias, awkward, invalid-domain) · Matrix
Deferred
Not sudden contraction, not gradual expansion, not minor-loss K given, and not Q=Av.
Numerical scope
O2: conical confuser vs a separate-module identity (≤2 ULP). Not sudden contraction, not gradual expansion, not minor-loss K given, and not Q=Av. ≤2 ULP vs O3 applies only to the published tabulated gradual-contraction vectors. Not sudden contraction, not gradual expansion, not minor-loss K given, and not Q=Av.
Known limitations
  • Core CVP does not include live graph, viewport, or pointer interaction.
Model
Conical-contraction head from v1, v2, and wall half-angle α. Invert v2 or α. Optional Δp from ρ.
Scope
Conical contraction: h = K v2² / (2g); K = 0.5 sin(α) (1 − v1/v2); α wall half-angle; k and K reported, not inputs
Verification
Engine tested · Source checked · v1.0.0 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance · h = K v2² / (2g) with K = 0.5 sin(α)(1 − v1/v2), plus pressure, velocity, and angle solves, + O3 mpmath tabulated head.· View Manifest · CVP overview · Specification
Versions
Calculation 1.0.0 · CVP protocol 1.0.0-proposed · Evidence 2026-09-26.o2-o3
Verification revision
2026-09-26.o2-o3 · 1/1 property · digest 1f02ebf951d3
Legacy regression
17/17 tests · Production surface contract 5/5
Trust layers
Verification VERIFIED · Production CURRENT · Overall CVP state: VERIFIED under CVP 1.0.0-proposed
Reference
O1 model · O3 expected_values · O3 numerical_behavior · O2 expected_values · O2 numerical_behavior
Interfaces
PASS · UI (SSR) / REST / MCP — ui-ssr is query-result HTML, not a live browser session. Error-path engine·REST·MCP 1/1 (status, code, calculation_version). SSR compared on URL-canonical requested calculations; empty query is idle (not an error) and JSON-typed object/array inputs are REST/MCP-only.
Supplemental domain review
Not performed
Named expert review
Not performed
CVP suite
4/4 golden · 9/9 CVP boundary · 10/10 invalid · 1/1 property · 1/1 metamorphic · 8/8 O3 · 2/2 cross-interface · 5/5 CVP contract · Manifest
Sources
  • ISO 80000-4 — Mechanics — Length, speed, pressure, plane angle
  • Idelchik — Handbook of Hydraulic Resistance — Conical contractions
Sources
Evidence
2 legacy golden · 10 legacy boundary · legacy regression suite · 4/4 oracle-backed golden · 10/10 invalid · Artifact integrity PASS
This calculator CURRENT · Public schema 1.0.0 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓
Semantic contract
PASS
Full verification

Manifest identity, reference classes, interfaces, suite, and production records.

Formulas

Core equations used by this calculator.

Head lossh = K v2² / (2g)
Angle factork = 0.5 sin(α)
Loss coefficientK = k (1 − v1/v2)
Pressure dropΔp = ρ K v2² / 2
iSI. α is the wall half-angle, entered in degrees as alpha_deg (or radians as alpha_rad). Require 0 < α < 90°. α=90° is sudden contraction, not this page. g defaults to 9.80665 m/s². Contraction needs v2 > v1.

How to use

1

Enter v₁

Upstream mean speed in m/s. URL field is v1_m_s.

2

Enter v₂

Downstream mean speed in m/s, larger than v₁. Invert on the v₂ tab.

3

Enter α

Wall half-angle in degrees. Invert on the α tab. URL field is alpha_deg.

Example calculations

Common configurations with formula and result.

ϟ

v1=1 m/s, v2=2 m/s, α=7°

Typical reducer half-angle

K = 0.5 sin(7°) (1 − 1/2)
h≈0.006214 m · k≈0.06093 · K≈0.03047 · Δp≈60.93 Pa at ρ=1000
ϟ

Invert v₂

h≈0.006214 m, v1=1 m/s, α=7°

v2 = [v1 + √(v1² + 8 g h / k)] / 2
v2 = 2 m/s

Gradual Contraction calculator specification

Version 1.0.0 · Engine tested

Calculation status

Review policy · Evidence

Definition
Conical contraction: h = K v2² / (2g), K = 0.5 sin(α) (1 − v1/v2). α is the wall half-angle from the axis. k and K are reported, not inputs. Not sudden contraction.
What it calculates
Conical-contraction head from v1, v2, and wall half-angle α. Invert v2 or α. Optional Δp from ρ.
Inputs
  • mode?
  • v1
  • v2|h
  • alpha_deg|alpha_rad
  • rho?
  • g?
Outputs
  • h
  • v1
  • v2
  • k
  • K
  • alpha
  • alpha_deg
  • g
  • rho
  • dP
  • mode
  • model
Formula
h = K v2² / (2g), K = 0.5 sin(α) (1 − v1/v2)
Assumptions
  • Conical contraction: h = K v2² / (2g); K = 0.5 sin(α) (1 − v1/v2); α wall half-angle; k and K reported, not inputs
  • Require 0 < α < 90°; α=90° is sudden contraction; default g=9.80665 m/s²; default ρ=1000 kg/m³; incompressible; v2 > v1
  • Not sudden contraction (C_c), not gradual expansion (v1−v2)², not minor-loss K given, not Darcy f, not orifice C_d, not Q=Av
Units
  • SI; v in m/s; h in m; α in rad (alpha_deg in °); ρ in kg/m³; Δp in Pa; k and K dimensionless
Boundary conditions
  • missing v1, v2, h, or α when required → MISSING_REQUIRED_INPUT
  • v1 ≤ 0, h ≤ 0, or α ≤ 0 → VALUE_MUST_BE_POSITIVE
  • v2 ≤ v1 or α ≥ 90° → VALUE_OUT_OF_RANGE
  • K, k, C_c, f/Re, Q, C_d → MIXED_INPUT_ENCODING
  • sudden, expansion, vena, minor, darcy, or orifice as mode → INVALID_MODE
Example
v1=1 v2=2 alpha_deg=7 → h=K v2²/(2g) K=0.5 sin(7°)(1−1/2)
Validation cases

3 published on this page · 17/17 tests · Production surface contract 5/5 · View evidence

  • v1=1 v2=2 alpha_deg=7 → h=K v2²/(2g) K=0.5 sin(7°)(0.5)
  • mode=pressure v1=1 v2=2 alpha_deg=7 → dP=1000 K v2²/2
  • v1=1 v2=2 alpha_deg=7 K=0.03 → MIXED_INPUT_ENCODING
Sources
  • ISO 80000-4 — Mechanics — Length, speed, pressure, plane angle
    Supports: h is a head; v is a speed; Δp is a pressure; α is a plane angle
  • Idelchik — Handbook of Hydraulic Resistance — Conical contractions
    Supports: ζ = 0.5 sin(α) (1 − A2/A1) for a conical reducer, α wall half-angle from the axis
Calculation version
1.0.0

Background

Interpretation and common distinctions.

Compute conical-reducer gradual-contraction loss from the two mean speeds and the wall half-angle.

Supported and not supported

Supported — h from v1, v2, α · invert v2 · invert α · API physics.fluid.gradual_contraction

Not supported — sudden contraction (C_c, no α), gradual expansion (v1−v2)², catalog minor-loss K, Darcy f, orifice C_d, Q=Av

Agent / API notes

Capability id: physics.fluid.gradual_contraction · tool id: gradual-contraction · pin 1.0.0.

{ "v1": 1, "v2": 2, "alpha_deg": 7 }

Modes: head (default), pressure, velocity, angle. Errors: MISSING_REQUIRED_INPUT, INVALID_NUMBER, VALUE_MUST_BE_POSITIVE, VALUE_OUT_OF_RANGE, MIXED_INPUT_ENCODING, INVALID_MODE.

Calculator URL stays /calc/physics/gradual-contraction. There is no /calc/fluid.

Frequently asked questions

Key distinctions behind the calculation.

Is this sudden contraction?

No. Vena-contracta C_c with no angle is /calc/physics/sudden-contraction. This page needs α and both speeds. Sending C_c is MIXED_INPUT_ENCODING. α ≥ 90° is VALUE_OUT_OF_RANGE.

Is this gradual expansion?

No. Conical diffuser h=k(v1−v2)²/(2g) with k=2.6 sin(α) is /calc/physics/gradual-expansion. This page needs v2 > v1 and uses K on v2²/(2g).

Is this minor-loss K?

No. Catalog fitting K is /calc/physics/minor-loss. Sending K is MIXED_INPUT_ENCODING. This page reports K=0.5 sin(α)(1−v1/v2).

Is α the included cone angle?

No. α is the wall half-angle from the axis. The included angle is 2α. Enter degrees as alpha_deg, or radians as alpha_rad, not both.

Is this Q = A·v?

No. Volumetric flow is /calc/physics/flow-rate. Sending Q or A is MIXED_INPUT_ENCODING.

Where does this run?

Locally in the browser by default. REST and MCP call the same fluid-engine gradualContraction wrapper.