{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/physics.fluid.water_hammer.input.json",
  "title": "Water hammer — input",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "pressure",
        "velocity",
        "celerity"
      ],
      "description": "pressure (default), velocity, or celerity. Not Darcy, minor-loss, Manning, or Q=Av."
    },
    "c": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Wave celerity in m/s. Required except celerity invert. Alternative: c_m_s."
    },
    "c_m_s": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Wave celerity in m/s (query/UI). REST may send c."
    },
    "dV": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Sudden speed change in m/s. Required except velocity invert. Alternative: dv_m_s."
    },
    "dv_m_s": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Sudden speed change in m/s (query/UI). REST may send dV."
    },
    "dP": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Surge pressure in Pa. Required for velocity and celerity invert. Do not send with pressure mode."
    },
    "rho": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Density in kg/m³. Default 1000."
    },
    "g": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Gravity in m/s². Default 9.80665."
    }
  },
  "description": "Joukowsky Δp=ρcΔv. Not Darcy f, not minor-loss K, not Moens–Korteweg, not Q=Av. (calculation_version 1.0.0)"
}
