{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/chemistry.solution.molarity/1.0.0/input.json",
  "title": "Molarity — input",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "molarity",
        "amount",
        "volume",
        "dilution"
      ],
      "description": "molarity (default), amount, volume, or dilution."
    },
    "amount": {
      "type": "number",
      "minimum": 0,
      "description": "Amount in mol. Required for molarity and volume."
    },
    "volume": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Volume in L. Required for molarity and amount."
    },
    "molarity": {
      "type": "number",
      "minimum": 0,
      "description": "Molarity in mol/L. Required for amount and volume."
    },
    "c1": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Stock concentration. Dilution: omit exactly one of c1, v1, c2, v2."
    },
    "v1": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Stock volume in L."
    },
    "c2": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Dilute concentration."
    },
    "v2": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Dilute volume in L."
    }
  },
  "description": "Molarity c = n/V and dilution C1·V1 = C2·V2. Lab units mol, L, mol/L. Not mole n=m/M and not Henderson–Hasselbalch. (calculation_version 1.0.0)"
}
