{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/physics.fluid.concentric_reducer.input.json",
  "title": "Concentric reducer — input",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "head",
        "pressure",
        "velocity"
      ],
      "description": "head (default), pressure, or velocity. Not C_c, α, catalog K, expansion, or Q=Av."
    },
    "area_ratio": {
      "type": "number",
      "exclusiveMinimum": 0,
      "exclusiveMaximum": 1,
      "description": "A₂/A₁ in (0, 1). Required unless A1+A2 or D1+D2. Alternatives: a_ratio, A2_A1, A2_over_A1. Not cavitation σ, not venturi β."
    },
    "A1": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Upstream area in m². Pair with A2. Do not mix with area_ratio or D1+D2."
    },
    "A2": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Downstream area in m². Pair with A1. A2 < A1."
    },
    "D1": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Upstream diameter in m. Pair with D2. σ=(D2/D1)². Do not mix with area_ratio or A1+A2."
    },
    "D2": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Downstream diameter in m. Pair with D1. D2 < D1."
    },
    "v_m_s": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Downstream speed v₂ in m/s. Required except velocity invert. Alternatives: v2, v2_m_s, speed. Do not send query v (that is calculation_version)."
    },
    "speed": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Downstream speed in m/s (REST alias of v_m_s)."
    },
    "h": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Head loss in m. Required for velocity invert. Alternatives: hm, h_m."
    },
    "h_m": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Head loss in m (query/UI). REST may send h."
    },
    "rho": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Density in kg/m³. Optional; default 1000."
    },
    "g": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Gravity in m/s². Optional; default 9.80665."
    }
  },
  "description": "Area-ratio reducer h=K v₂²/(2g) with K=0.5(1−A₂/A₁) referenced to downstream speed. Not sudden expansion, not gradual contraction α, not C_c, not catalog K, not Q=Av. (calculation_version 1.0.0)"
}
