{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/physics.fluid.venturi.input.json",
  "title": "Venturi meter — input",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "flow",
        "pressure",
        "throat",
        "Cd"
      ],
      "description": "flow (default), pressure, throat, or Cd. Not orifice, Q=Av, Darcy, or Cv/Kv."
    },
    "D1": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Inlet diameter in m. Alias D_inlet. Not orifice pipe D."
    },
    "D2": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Throat diameter in m. Required except throat invert. Alias D_throat. Not orifice d."
    },
    "dP": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Inlet-to-throat Δp in Pa. Alternative: same-fluid dH. Do not send both."
    },
    "dH": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Same-fluid manometer head in m. Alternative: dP. Do not send both. Not tank H."
    },
    "Q": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Volumetric flow in m³/s. Required for pressure, throat, and Cd invert. Do not send with flow."
    },
    "rho": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Density in kg/m³. Required for Δp encoding and pressure invert. Optional when only dH is given for flow."
    },
    "Cd": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 1,
      "description": "Discharge coefficient. Default 0.98. Do not send with Cd invert."
    },
    "g": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Gravity in m/s². Default 9.80665."
    }
  },
  "required": [
    "D1"
  ],
  "description": "Incompressible venturi Q=C_d A2 √(2Δp/(ρ(1−β⁴))), β=D2/D1. Default C_d=0.98. Optional same-fluid Δh. Not an orifice wrap, not Q=Av, not Darcy, not Cv/Kv. (calculation_version 1.0.0)"
}
