{
  "node": {
    "id": "block:thermal-rate",
    "type": "Block",
    "label": "Thermal balance",
    "properties": {
      "id": "thermal-rate",
      "kind": "studio",
      "name": "Thermal balance",
      "summary": "Lumped heat balance with ambient loss.",
      "behavior": "Lumped heat balance with ambient loss.",
      "documentationSlug": "signal-block-thermal-rate",
      "referenceOnly": true,
      "ports": [
        {
          "name": "Generated heat",
          "direction": "input",
          "unit": "W",
          "description": "Heat flow; Scalar; real. Received from a connected producer."
        },
        {
          "name": "Temperature",
          "direction": "input",
          "unit": "K",
          "description": "Temperature; Scalar; real. Received from a connected producer."
        },
        {
          "name": "Ambient",
          "direction": "input",
          "unit": "K",
          "description": "Temperature; Scalar; real. Received from a connected producer."
        },
        {
          "name": "Output",
          "direction": "output",
          "unit": "K/s",
          "description": "Temperature rate; Scalar; real. Produced for connected consumers."
        }
      ],
      "parameters": [
        {
          "key": "heatCapacityJPerK",
          "label": "Heat capacity",
          "unit": "J/K",
          "default": "900",
          "description": "Declared authoring field: Heat capacity."
        },
        {
          "key": "conductanceWPerK",
          "label": "Ambient conductance",
          "unit": "W/K",
          "default": "1",
          "description": "Declared authoring field: Ambient conductance."
        }
      ],
      "equations": [],
      "example": {
        "title": "Use this authoring component",
        "text": "Choose this component in the Studio library and configure its declared interface. This reference describes the authoring contract; it does not claim a standalone numerical validation or a measured result.",
        "url": "https://design.lemonergy.com/cosim",
        "label": "Open Studio"
      },
      "limits": [
        "The symbolic diagram describes the component and its declared interface. It is not a solved circuit or simulated output.",
        "Configured parameters and model connections determine the result. Check the complete model before interpreting its outputs."
      ],
      "evidence": [
        "docs/glossary/studio-help-catalog.json"
      ],
      "caseIds": [],
      "sourceRepository": "battery-design",
      "sourceRevision": "e248d21a9902225f1075624f23e7628b54cdb7cc",
      "reviewed": "2026-10-30",
      "type": "thermal-rate",
      "implementationId": "thermal-rate",
      "url": "https://lemonergy.com/learn/glossary/blocks/signal-block-thermal-rate/",
      "documentationUrl": "https://lemonergy.com/learn/glossary/blocks/signal-block-thermal-rate/",
      "sourceFile": "studio-help-catalog.json",
      "studioHelp": {
        "type": "thermal-rate",
        "namespace": "signal",
        "slug": "signal-block-thermal-rate",
        "canonicalSlug": "signal-block-thermal-rate",
        "existing": false,
        "dynamic": false,
        "scene": {
          "title": "Thermal balance",
          "label": "Thermal balance",
          "summary": "Lumped heat balance with ambient loss.",
          "details": [
            "Block type: thermal-rate.",
            "3 declared inputs and 1 declared output in this model.",
            "Arrows show the direction of signal data. They are not conserving electrical, thermal or mechanical connections."
          ],
          "operation": {
            "kind": "thermal",
            "symbol": "(Q − UA·ΔT) / C",
            "label": "Lumped heat balance",
            "caption": "Lumped heat balance with ambient loss."
          },
          "inputs": [
            {
              "id": "in0",
              "label": "Generated heat",
              "quantity": "heat",
              "unit": "W",
              "unitDeclared": true,
              "fields": [],
              "quantityLabel": "Heat flow",
              "shapeLabel": "Scalar",
              "elementLabel": "real"
            },
            {
              "id": "in1",
              "label": "Temperature",
              "quantity": "temperature",
              "unit": "K",
              "unitDeclared": true,
              "fields": [],
              "quantityLabel": "Temperature",
              "shapeLabel": "Scalar",
              "elementLabel": "real"
            },
            {
              "id": "in2",
              "label": "Ambient",
              "quantity": "temperature",
              "unit": "K",
              "unitDeclared": true,
              "fields": [],
              "quantityLabel": "Temperature",
              "shapeLabel": "Scalar",
              "elementLabel": "real"
            }
          ],
          "outputs": [
            {
              "id": "out0",
              "label": "Output",
              "quantity": "temperature-rate",
              "unit": "K/s",
              "unitDeclared": true,
              "fields": [],
              "quantityLabel": "Temperature rate",
              "shapeLabel": "Scalar",
              "elementLabel": "real"
            }
          ],
          "parameters": [
            {
              "id": "heatCapacityJPerK",
              "label": "Heat capacity",
              "unit": "J/K",
              "value": "900"
            },
            {
              "id": "conductanceWPerK",
              "label": "Ambient conductance",
              "unit": "W/K",
              "value": "1"
            }
          ],
          "url": "https://lemonergy.com/learn/glossary/blocks/signal-block-thermal-rate/",
          "related": [
            {
              "label": "Integrator",
              "url": "https://lemonergy.com/learn/glossary/blocks/signal-block-integrator/"
            }
          ],
          "selected": null,
          "connections": []
        }
      }
    }
  },
  "incoming": [
    {
      "id": "edge:usesBlock/term:heat-generation/block:thermal-rate",
      "type": "usesBlock",
      "source": "term:heat-generation",
      "target": "block:thermal-rate",
      "properties": {
        "sourceFile": "studio-help-catalog.json",
        "scope": "Declared interface quantity or semantic operation; not a numerical validation claim"
      }
    },
    {
      "id": "edge:usesBlock/term:operating-temperature/block:thermal-rate",
      "type": "usesBlock",
      "source": "term:operating-temperature",
      "target": "block:thermal-rate",
      "properties": {
        "sourceFile": "studio-help-catalog.json",
        "scope": "Declared interface quantity or semantic operation; not a numerical validation claim"
      }
    }
  ],
  "outgoing": [],
  "neighbors": [
    {
      "id": "term:heat-generation",
      "type": "Term",
      "label": "Heat generation",
      "properties": {
        "id": "heat-generation",
        "name": "Heat generation",
        "aka": [
          "Bernardi equation"
        ],
        "section": "topic-thermal",
        "definition": "The heat a cell produces in operation: an irreversible part equal to current times overpotential, and a reversible part from the entropy change, I·T·dE/dT. The Bernardi equation sums them and feeds every thermal model.",
        "formula": "q = I(V − E_OCV) + I·T·(dE/dT)",
        "unit": "W",
        "related": [
          "entropy-coefficient",
          "internal-resistance",
          "thermal-model",
          "thermal-management",
          "exothermic"
        ],
        "example": {
          "title": "Keep reversible and irreversible heat separate",
          "text": "With charging current +5 A and terminal voltage 0.10 V above OCV, the irreversible term is 0.50 W. At 300 K with dE/dT = +0.1 mV/K, the reversible contribution is +0.15 W, giving 0.65 W under this sign convention."
        },
        "url": "https://lemonergy.com/learn/glossary/heat-generation/",
        "mentions": [
          "overpotential"
        ]
      }
    },
    {
      "id": "term:operating-temperature",
      "type": "Term",
      "label": "Operating temperature",
      "properties": {
        "id": "operating-temperature",
        "name": "Operating temperature",
        "section": "topic-ratings",
        "definition": "The temperature range a cell may be charged and discharged in, typically 0–45 °C for charging and −20–60 °C for discharging. Charging below 0 °C risks lithium plating; above the range the cell ages fast and may vent.",
        "unit": "°C",
        "related": [
          "lithium-plating",
          "arrhenius",
          "thermal-management",
          "datasheet"
        ],
        "lesson": "fundamentals/battery-aging/#temperature",
        "url": "https://lemonergy.com/learn/glossary/operating-temperature/",
        "mentions": []
      }
    }
  ]
}
