Home Developers Capabilities Drowned sluice

CVP verified calculation capability

Drowned sluice Calculation Capability

Swamee 1992 drowned undershot sluice: Q=C_d a b √(2g y1) with C_d from y1, a, and y2. Not free-flow sluice, not Villemonte H1+H2, not tank orifice, not Manning n, not Q=Av.

Physics · Fluid Capability ID physics.fluid.drowned_sluice version 1.0.0 CVP VERIFIED CURRENT Engineering

Model

Discharge

Modes: flow · opening

Inputs / Outputs

Canonical symbols for this capability. Agent schemas remain the contract.

SymbolQuantityUnitRole
aGate opening in m—input / output
bGate width in m—input / output
y1Upstream depth in m—input / output
y2Downstream depth in m—input / output
QVolume flow in m³/s—input / output
Cd——output
theta——output
g——output
model——output

Assumptions / Validity

Declared scope for this capability. Do not use it outside this domain.

Assumptions

Not supported

Example

One numerical check. The calculator page holds worked steps and FAQ.

a=0.2 b=1 y1=1 y2=0.8 → Q≈0.13961

Open this example in the calculator

Trust

CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance · Swamee 1992 drowned undershot sluice Q=C_d a b √(2g y1) with θ from y1,y2,a, + O3 mpmath tabulated Q.. Computational verification is defined by CVP. Supplemental domain review (internal) and named expert review are defined by the Review policy and do not by themselves determine CVP conformance.

CVP
CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance · Swamee 1992 drowned undershot sluice Q=C_d a b √(2g y1) with θ from y1,y2,a, + O3 mpmath tabulated Q.· View Manifest · CVP overview · Specification
Verified scope
Swamee 1992 drowned undershot sluice Q=C_d a b √(2g y1) with θ from y1,y2,a, + O3 mpmath tabulated Q.
Assurance
Engineering
Declared partition coverage
PASS · 5/5 declared partitions (flow, alias, awkward, deep, invalid-domain)
Deferred
Not free-flow sluice without y2, not Villemonte H1/H2, not orifice Cd/A, not Manning, not Q=Av.
Calculation version
1.0.0
Verification
6/6 calculation tests · 1/1 legacy golden · 0/0 legacy boundary · 5/5 legacy property
Production surface contract
6/6
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 23e051cc2209
Reference
O1 model · O3 expected_values · O3 numerical_behavior · O2 expected_values · O2 numerical_behavior
Numerical scope
O2: Swamee drowned undershot sluice vs a separate-module identity (≤2 ULP). Not free-flow sluice without y2, not Villemonte H1/H2, not orifice Cd/A, not Manning, and not Q=Av. ≤2 ULP vs O3 applies only to the published tabulated drowned-sluice vectors. Not free-flow without y2, not Villemonte H1/H2, not orifice, not Manning, and not Q=Av.
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.
CVP suite
4/4 golden · 1/1 CVP boundary · 3/3 invalid · 1/1 property · 1/1 metamorphic · 8/8 O3 · 2/2 cross-interface · 6/6 CVP contract
Supplemental domain review
Not performed
Named expert review
Not performed
Version lock
Supported (409 VERSION_MISMATCH)
Artifact consistency
Build verified · 1.0.0 (workspace artifacts agree)
Review-policy tier
Engine tested — catalog token engine_tested; supplemental; not CVP status
This calculator CURRENT · Public schema 1.0.0 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓

Call this capability

Human page, REST, and MCP share the same engine and calculation_version. Build verified hashes workspace artifacts only. After deploy, attest:production GETs canonical URLs twice — the public/cached view an Agent actually hits, and origin — including every /capabilities/{id} HTML page. Public Capability HTML version must match catalog before production attestation passes. Live Trust rows above fetch /.well-known/calculatorx-production-attestation.json and the output schema const. Build hashes: release integrity. That proves currently published page / engine / schema / evidence / MCP agree — not that a historical version is independently immutable. Reference Calculation Standard — Production surface contract 6/6.

curl -sS -X POST 'https://www.calculatorx.com/api/v1/calc/drowned-sluice' \
  -H 'Content-Type: application/json' \
  -d '{"inputs":{"a":0.2,"b":1,"y1":1,"y2":0.8},"calculation_version":"1.0.0"}'

POST /api/v1/calc/drowned-sluice. This is a POST calculate endpoint — do not GET it.

Full REST contract: REST API docs.

Tool id
drowned-sluice
Engine
drowned-sluice
REST
POST /api/v1/calc/drowned-sluice
MCP
execute_calculation with capability_id: "physics.fluid.drowned_sluice"
Agent input schema
Canonical (MCP / Agent)
Output schema
JSON Schema (latest)
Versioned input schema
Immutable pin (1.0.0)
Versioned output schema
Immutable pin (1.0.0)

References

Human-readable sources plus CVP reference evidence classes.

Sources

Reference evidence classes: O1 model · O3 expected_values · O3 numerical_behavior · O2 expected_values · O2 numerical_behavior

Try with an agent

Inspect, then execute. Same engine as REST and the human calculator.

curl -sS -X POST 'https://www.calculatorx.com/mcp' \
  -H 'Content-Type: application/json' \
  -H 'MCP-Protocol-Version: 2026-07-28' \
  -H 'Mcp-Method: tools/call' \
  -H 'Mcp-Name: inspect_capability' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"inspect_capability","arguments":{"capability_id":"physics.fluid.drowned_sluice"},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientInfo":{"name":"calculatorx-docs-example","version":"1.0.0"},"io.modelcontextprotocol/clientCapabilities":{}}}}'

Pin calculation_version (1.0.0) when the result must stay reproducible.

Inspect the trust tier and required assurance level before execution. Full protocol notes: MCP docs.