{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/physics.fluid.wave_celerity/1.0.0/input.json",
  "title": "Wave celerity — input",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "celerity",
        "bulk",
        "youngs"
      ],
      "description": "celerity (default), bulk, or youngs. Not Joukowsky, Darcy, minor-loss, or Q=Av."
    },
    "K": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Fluid bulk modulus in Pa. Required except bulk invert. Alternative: K_bulk."
    },
    "K_bulk": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Fluid bulk modulus in Pa (alias of K)."
    },
    "D": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Inner diameter in m. Alternative: D_m."
    },
    "e": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Wall thickness in m. REST may send e; the query layer uses e_m."
    },
    "e_m": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Wall thickness in m (query/UI). REST may send e."
    },
    "E": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Wall Young’s modulus in Pa. Required except youngs invert."
    },
    "c": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Wave celerity in m/s. Required for bulk and youngs invert. Alternative: c_m_s."
    },
    "c_m_s": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Wave celerity in m/s (query/UI). REST may send c."
    },
    "rho": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Density in kg/m³. Default 1000."
    }
  },
  "description": "Korteweg–Hall c=√[(K/ρ)/(1+(K D)/(E e))]. Not Joukowsky Δp, not Darcy f, not minor-loss K, not Q=Av. (calculation_version 1.0.0)"
}
