{
  "node": {
    "id": "term:thermal-management",
    "type": "Term",
    "label": "Thermal management",
    "properties": {
      "id": "thermal-management",
      "name": "Thermal management",
      "abbr": "TMS",
      "aka": [
        "battery thermal management system",
        "BTMS"
      ],
      "section": "topic-thermal",
      "definition": "Keeping cells in their comfortable range, roughly 15–35 °C, and within a few degrees of each other: liquid cooling plates, refrigerant plates or immersion for heat removal, and heaters or waste heat for warming before fast charging in the cold.",
      "related": [
        "cooling-plate",
        "thermal-interface-material",
        "operating-temperature",
        "heat-generation",
        "preconditioning",
        "temperature-sensor"
      ],
      "url": "https://lemonergy.com/learn/glossary/thermal-management/",
      "mentions": [
        "fast-charging"
      ]
    }
  },
  "edges": [
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-battery-coolant-controller",
      "source": "term:thermal-management",
      "target": "workflow:native-battery-coolant-controller",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-battery-heater-controller",
      "source": "term:thermal-management",
      "target": "workflow:native-battery-heater-controller",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-battery-thermal-state-space",
      "source": "term:thermal-management",
      "target": "workflow:native-battery-thermal-state-space",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-edge-cooling-plate",
      "source": "term:thermal-management",
      "target": "workflow:native-edge-cooling-plate",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-parallel-cooling-plate",
      "source": "term:thermal-management",
      "target": "workflow:native-parallel-cooling-plate",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-u-cooling-plate",
      "source": "term:thermal-management",
      "target": "workflow:native-u-cooling-plate",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-electrothermal-resistor",
      "source": "term:thermal-management",
      "target": "workflow:native-electrothermal-resistor",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-thermal-conductor",
      "source": "term:thermal-management",
      "target": "workflow:native-thermal-conductor",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-thermal-convection",
      "source": "term:thermal-management",
      "target": "workflow:native-thermal-convection",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-thermal-mass",
      "source": "term:thermal-management",
      "target": "workflow:native-thermal-mass",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-thermal-reference",
      "source": "term:thermal-management",
      "target": "workflow:native-thermal-reference",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-thermal-resistance",
      "source": "term:thermal-management",
      "target": "workflow:native-thermal-resistance",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-thermal-radiation",
      "source": "term:thermal-management",
      "target": "workflow:native-thermal-radiation",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-thermal-variable-resistance",
      "source": "term:thermal-management",
      "target": "workflow:native-thermal-variable-resistance",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-thermal-insulator",
      "source": "term:thermal-management",
      "target": "workflow:native-thermal-insulator",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-thermal-flow-sensor",
      "source": "term:thermal-management",
      "target": "workflow:native-thermal-flow-sensor",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-thermal-temperature-sensor",
      "source": "term:thermal-management",
      "target": "workflow:native-thermal-temperature-sensor",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-thermal-controlled-heat-source",
      "source": "term:thermal-management",
      "target": "workflow:native-thermal-controlled-heat-source",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-thermal-controlled-temperature-source",
      "source": "term:thermal-management",
      "target": "workflow:native-thermal-controlled-temperature-source",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-thermal-heat-source",
      "source": "term:thermal-management",
      "target": "workflow:native-thermal-heat-source",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-thermal-temperature-source",
      "source": "term:thermal-management",
      "target": "workflow:native-thermal-temperature-source",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-phase-change-mass",
      "source": "term:thermal-management",
      "target": "workflow:native-phase-change-mass",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:thermal-management/workflow:native-initial-temperature-constraint",
      "source": "term:thermal-management",
      "target": "workflow:native-initial-temperature-constraint",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:belongsTo/term:thermal-management/topic:topic-thermal",
      "source": "term:thermal-management",
      "target": "topic:topic-thermal",
      "type": "belongsTo",
      "properties": {
        "sourceFile": "terms.json"
      }
    },
    {
      "id": "edge:relatedTo/term:thermal-management/term:cooling-plate",
      "source": "term:thermal-management",
      "target": "term:cooling-plate",
      "type": "relatedTo",
      "properties": {
        "sourceFile": "terms.json",
        "meaning": "Related context; not a causal claim"
      }
    },
    {
      "id": "edge:relatedTo/term:thermal-management/term:thermal-interface-material",
      "source": "term:thermal-management",
      "target": "term:thermal-interface-material",
      "type": "relatedTo",
      "properties": {
        "sourceFile": "terms.json",
        "meaning": "Related context; not a causal claim"
      }
    },
    {
      "id": "edge:relatedTo/term:thermal-management/term:operating-temperature",
      "source": "term:thermal-management",
      "target": "term:operating-temperature",
      "type": "relatedTo",
      "properties": {
        "sourceFile": "terms.json",
        "meaning": "Related context; not a causal claim"
      }
    },
    {
      "id": "edge:relatedTo/term:thermal-management/term:heat-generation",
      "source": "term:thermal-management",
      "target": "term:heat-generation",
      "type": "relatedTo",
      "properties": {
        "sourceFile": "terms.json",
        "meaning": "Related context; not a causal claim"
      }
    },
    {
      "id": "edge:relatedTo/term:thermal-management/term:preconditioning",
      "source": "term:thermal-management",
      "target": "term:preconditioning",
      "type": "relatedTo",
      "properties": {
        "sourceFile": "terms.json",
        "meaning": "Related context; not a causal claim"
      }
    },
    {
      "id": "edge:relatedTo/term:thermal-management/term:temperature-sensor",
      "source": "term:thermal-management",
      "target": "term:temperature-sensor",
      "type": "relatedTo",
      "properties": {
        "sourceFile": "terms.json",
        "meaning": "Related context; not a causal claim"
      }
    },
    {
      "id": "edge:mentions/thermal-management/fast-charging",
      "source": "term:thermal-management",
      "target": "term:fast-charging",
      "type": "mentions",
      "properties": {
        "sourceFile": "terms.json",
        "method": "build_glossary.mention_index + mentions",
        "field": "definition",
        "meaning": "Text mention; not a causal claim"
      }
    },
    {
      "id": "edge:illustratedBy/term:thermal-management/visual:thermal",
      "source": "term:thermal-management",
      "target": "visual:thermal",
      "type": "illustratedBy",
      "properties": {
        "sourceFile": "visual-pages.json"
      }
    }
  ],
  "neighbors": [
    {
      "id": "workflow:native-battery-coolant-controller",
      "type": "Workflow",
      "label": "Coolant flow controller worked example",
      "properties": {
        "id": "native-battery-coolant-controller",
        "title": "Coolant flow controller worked example",
        "kind": "studio",
        "summary": "Controls the hottest cooling channel or coldest heating channel with hysteresis.",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "Use the defaults below with Cell temperatures = [300, 315, 310] K, Enable = 1 true / false. At 0 s, Coolant flow request is 0.1 kg/s. Additional checks are listed below.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "The controller emits a request. Fluid transport and heater heat delivery require connected plant models. The example verifies numerical behavior for synthetic parameters. Cell characterization and validation for an intended use are separate tasks.",
        "url": "https://design.lemonergy.com/cosim.html?example=block-battery-coolant-controller",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-battery-heater-controller",
      "type": "Workflow",
      "label": "Battery heater controller worked example",
      "properties": {
        "id": "native-battery-heater-controller",
        "title": "Battery heater controller worked example",
        "kind": "studio",
        "summary": "Controls the hottest cooling channel or coldest heating channel with hysteresis.",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "Use the defaults below with Cell temperatures = [275, 282, 283] K, Enable = 1 true / false. At 0 s, Heater power request is 10 W. Additional checks are listed below.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "The controller emits a request. Fluid transport and heater heat delivery require connected plant models. The example verifies numerical behavior for synthetic parameters. Cell characterization and validation for an intended use are separate tasks.",
        "url": "https://design.lemonergy.com/cosim.html?example=block-battery-heater-controller",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-battery-thermal-state-space",
      "type": "Workflow",
      "label": "Thermal state-space model worked example",
      "properties": {
        "id": "native-battery-thermal-state-space",
        "title": "Thermal state-space model worked example",
        "kind": "studio",
        "summary": "Linear thermal rise model with a positive diagonal heat-capacity descriptor. User supplies validated matrices.",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "Use the defaults below with Heat inputs = [10, 0] W. At 0 s, Temperature outputs is [298.15, 298.15] K. Additional checks are listed below.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "Supports a positive diagonal descriptor, not an arbitrary descriptor matrix. No finite-element import or conserving thermal adapter; supplied matrices determine heat conservation and stability. The example verifies numerical behavior for synthetic parameters. Cell characterization and validation for an intended use are separate tasks.",
        "url": "https://design.lemonergy.com/cosim.html?example=block-battery-thermal-state-space",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-edge-cooling-plate",
      "type": "Workflow",
      "label": "Edge-cooled plate worked example",
      "properties": {
        "id": "native-edge-cooling-plate",
        "title": "Edge-cooled plate worked example",
        "kind": "studio",
        "summary": "A plate with four thermal contacts and a defined coolant path. Explore which body connects to each contact and how pressure drives coolant through the plate.",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "The bundled model connects four thermal masses initially at 320 K to a 310 K plate, with 300 K coolant reservoirs at 200 kPa and 100 kPa. With channel resistance 10^6 Pa s/kg, the total flow is 0.1 kg/s and hydraulic dissipation is 10 W. After 0.2 s all four loads cool below their initial temperature. The loads cool from stored sensible heat; no continuous heater is attached.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "Fixed 2 × 2 metal mesh and the stated coolant path. Constant properties and single-phase incompressible coolant. No arbitrary liquid junction solver, configurable grid, resolved channel geometry or phase change.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-cooling-edge",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-parallel-cooling-plate",
      "type": "Workflow",
      "label": "Parallel-channel plate worked example",
      "properties": {
        "id": "native-parallel-cooling-plate",
        "title": "Parallel-channel plate worked example",
        "kind": "studio",
        "summary": "A plate with four thermal contacts and a defined coolant path. Explore which body connects to each contact and how pressure drives coolant through the plate.",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "The bundled model connects four thermal masses initially at 320 K to a 310 K plate, with 300 K coolant reservoirs at 200 kPa and 100 kPa. With channel resistance 10^6 Pa s/kg, the total flow is 0.2 kg/s and hydraulic dissipation is 20 W. After 0.2 s all four loads cool below their initial temperature. The loads cool from stored sensible heat; no continuous heater is attached.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "Fixed 2 × 2 metal mesh and the stated coolant path. Constant properties and single-phase incompressible coolant. No arbitrary liquid junction solver, configurable grid, resolved channel geometry or phase change.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-cooling-parallel",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-u-cooling-plate",
      "type": "Workflow",
      "label": "U-channel plate worked example",
      "properties": {
        "id": "native-u-cooling-plate",
        "title": "U-channel plate worked example",
        "kind": "studio",
        "summary": "A plate with four thermal contacts and a defined coolant path. Explore which body connects to each contact and how pressure drives coolant through the plate.",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "The bundled model connects four thermal masses initially at 320 K to a 310 K plate, with 300 K coolant reservoirs at 200 kPa and 100 kPa. With channel resistance 10^6 Pa s/kg, the total flow is 0.1 kg/s and hydraulic dissipation is 10 W. After 0.2 s all four loads cool below their initial temperature. The loads cool from stored sensible heat; no continuous heater is attached.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "Fixed 2 × 2 metal mesh and the stated coolant path. Constant properties and single-phase incompressible coolant. No arbitrary liquid junction solver, configurable grid, resolved channel geometry or phase change.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-cooling-u",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-electrothermal-resistor",
      "type": "Workflow",
      "label": "Electrothermal resistor worked example",
      "properties": {
        "id": "native-electrothermal-resistor",
        "title": "Electrothermal resistor worked example",
        "kind": "studio",
        "summary": "Linear temperature coefficient with positive floor; all electrical dissipation enters the thermal port",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. supply: voltageV=12; hot-boundary: differenceK=350; cold-boundary: differenceK=300. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Linear temperature coefficient with positive floor; all electrical dissipation enters the thermal port Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-electrothermal-resistor",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-thermal-conductor",
      "type": "Workflow",
      "label": "Thermal conductor worked example",
      "properties": {
        "id": "native-thermal-conductor",
        "title": "Thermal conductor worked example",
        "kind": "studio",
        "summary": "One-dimensional lumped Fourier conductance",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. hot-boundary: differenceK=320; cold-boundary: differenceK=300. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "One-dimensional lumped Fourier conductance Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-thermal-conductor",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-thermal-convection",
      "type": "Workflow",
      "label": "Thermal convection worked example",
      "properties": {
        "id": "native-thermal-convection",
        "title": "Thermal convection worked example",
        "kind": "studio",
        "summary": "Prescribed lumped film coefficient; no resolved fluid dynamics",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. hot-boundary: differenceK=320; cold-boundary: differenceK=300. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Prescribed lumped film coefficient; no resolved fluid dynamics Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-thermal-convection",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-thermal-mass",
      "type": "Workflow",
      "label": "Thermal mass worked example",
      "properties": {
        "id": "native-thermal-mass",
        "title": "Thermal mass worked example",
        "kind": "studio",
        "summary": "Constant heat capacity with conserved sensible energy",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. heater: heatFlowW=100. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Constant heat capacity with conserved sensible energy Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-thermal-mass",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-thermal-reference",
      "type": "Workflow",
      "label": "Thermal reference worked example",
      "properties": {
        "id": "native-thermal-reference",
        "title": "Thermal reference worked example",
        "kind": "studio",
        "summary": "Absolute-zero temperature datum; not an ambient-temperature boundary",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. heater: heatFlowW=100. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Absolute-zero temperature datum; not an ambient-temperature boundary Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-thermal-reference",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-thermal-resistance",
      "type": "Workflow",
      "label": "Thermal resistance worked example",
      "properties": {
        "id": "native-thermal-resistance",
        "title": "Thermal resistance worked example",
        "kind": "studio",
        "summary": "Finite linear two-port thermal resistance",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. hot-boundary: differenceK=320; cold-boundary: differenceK=300. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Finite linear two-port thermal resistance Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-thermal-resistance",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-thermal-radiation",
      "type": "Workflow",
      "label": "Thermal radiation worked example",
      "properties": {
        "id": "native-thermal-radiation",
        "title": "Thermal radiation worked example",
        "kind": "studio",
        "summary": "Effective two-body Stefan-Boltzmann exchange at absolute temperatures",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. hot-boundary: differenceK=320; cold-boundary: differenceK=300. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Effective two-body Stefan-Boltzmann exchange at absolute temperatures Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-thermal-radiation",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-thermal-variable-resistance",
      "type": "Workflow",
      "label": "Controlled thermal resistance worked example",
      "properties": {
        "id": "native-thermal-variable-resistance",
        "title": "Controlled thermal resistance worked example",
        "kind": "studio",
        "summary": "Live thermal resistance with declared positive floor and limited-command diagnostic",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. hot-boundary: differenceK=320; cold-boundary: differenceK=300. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Live thermal resistance with declared positive floor and limited-command diagnostic Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-thermal-variable-resistance",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-thermal-insulator",
      "type": "Workflow",
      "label": "Insulated thermal port worked example",
      "properties": {
        "id": "native-thermal-insulator",
        "title": "Insulated thermal port worked example",
        "kind": "studio",
        "summary": "Zero heat-flow termination with unconstrained temperature",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. heater: heatFlowW=100. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Zero heat-flow termination with unconstrained temperature Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-thermal-insulator",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-thermal-flow-sensor",
      "type": "Workflow",
      "label": "Heat flow sensor worked example",
      "properties": {
        "id": "native-thermal-flow-sensor",
        "title": "Heat flow sensor worked example",
        "kind": "studio",
        "summary": "Ideal inline sensor with zero temperature drop; positive flow a to b",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. hot-boundary: differenceK=320; cold-boundary: differenceK=300. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Ideal inline sensor with zero temperature drop; positive flow a to b Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-thermal-flow-sensor",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-thermal-temperature-sensor",
      "type": "Workflow",
      "label": "Temperature sensor worked example",
      "properties": {
        "id": "native-thermal-temperature-sensor",
        "title": "Temperature sensor worked example",
        "kind": "studio",
        "summary": "Nonloading absolute temperature at a and temperature difference a minus b",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. hot-boundary: differenceK=320; cold-boundary: differenceK=300. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Nonloading absolute temperature at a and temperature difference a minus b Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-thermal-temperature-sensor",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-thermal-controlled-heat-source",
      "type": "Workflow",
      "label": "Controlled heat flow source worked example",
      "properties": {
        "id": "native-thermal-controlled-heat-source",
        "title": "Controlled heat flow source worked example",
        "kind": "studio",
        "summary": "Ideal commanded heat transfer from a to b",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. heater: heatFlowW=100; command: before=100; command: after=200; command: atS=0.5. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Ideal commanded heat transfer from a to b Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-thermal-controlled-heat-source",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-thermal-controlled-temperature-source",
      "type": "Workflow",
      "label": "Controlled temperature difference source worked example",
      "properties": {
        "id": "native-thermal-controlled-temperature-source",
        "title": "Controlled temperature difference source worked example",
        "kind": "studio",
        "summary": "Ideal commanded Tb-Ta with solved reaction heat flow",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. target: differenceK=320; cold-boundary: differenceK=300. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Ideal commanded Tb-Ta with solved reaction heat flow Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-thermal-controlled-temperature-source",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-thermal-heat-source",
      "type": "Workflow",
      "label": "Heat flow source worked example",
      "properties": {
        "id": "native-thermal-heat-source",
        "title": "Heat flow source worked example",
        "kind": "studio",
        "summary": "Ideal configured heat transfer from a to b",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. heater: heatFlowW=100. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Ideal configured heat transfer from a to b Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-thermal-heat-source",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-thermal-temperature-source",
      "type": "Workflow",
      "label": "Temperature difference source worked example",
      "properties": {
        "id": "native-thermal-temperature-source",
        "title": "Temperature difference source worked example",
        "kind": "studio",
        "summary": "Ideal constraint Tb-Ta; reaction heat flow is solved, not prescribed",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. target: differenceK=320; cold-boundary: differenceK=300. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Ideal constraint Tb-Ta; reaction heat flow is solved, not prescribed Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-thermal-temperature-source",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-phase-change-mass",
      "type": "Workflow",
      "label": "Phase-change thermal mass worked example",
      "properties": {
        "id": "native-phase-change-mass",
        "title": "Phase-change thermal mass worked example",
        "kind": "studio",
        "summary": "Enthalpy storage with a finite linear melting interval; constant sensible heat capacity, no supercooling or hysteresis",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. mass: specificHeatJkgK=2; mass: latentHeatJkg=100; mass: solidusK=310; mass: liquidusK=320; mass: initialTemperatureK=310; heater: heatFlowW=12. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Enthalpy storage with a finite linear melting interval; constant sensible heat capacity, no supercooling or hysteresis Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-phase-change-mass",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-initial-temperature-constraint",
      "type": "Workflow",
      "label": "Insulated branch with initial temperature target worked example",
      "properties": {
        "id": "native-initial-temperature-constraint",
        "title": "Insulated branch with initial temperature target worked example",
        "kind": "studio",
        "summary": "Zero heat transfer; initializes directly attached unspecified thermal storage temperatures and verifies the consistent initial difference",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. constraint: initialDifferenceK=20. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Zero heat transfer; initializes directly attached unspecified thermal storage temperatures and verifies the consistent initial difference Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-initial-temperature-constraint",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "topic:topic-thermal",
      "type": "Topic",
      "label": "Thermal management and heat transfer",
      "properties": {
        "id": "topic-thermal",
        "name": "Thermal management and heat transfer",
        "lede": "How heat is made, moved and removed in cells and packs, and the hardware that keeps a battery at the right temperature.",
        "context": "Select spatial detail for the question.",
        "example": "Equal total heat in different layouts can produce different gradients. Average temperature can miss a hot spot.",
        "lesson_url": "https://lemonergy.com/learn/fundamentals/battery-aging/",
        "lesson_label": "Open temperature and aging"
      }
    },
    {
      "id": "term:cooling-plate",
      "type": "Term",
      "label": "Cooling plate",
      "properties": {
        "id": "cooling-plate",
        "name": "Cooling plate",
        "aka": [
          "cold plate"
        ],
        "section": "topic-thermal",
        "definition": "A flat aluminium channel assembly under or between the cells through which coolant, usually a water–glycol mix, is pumped. Heat crosses from cell to plate through a thermal interface material; the plate also sets the pack’s temperature uniformity.",
        "related": [
          "thermal-management",
          "thermal-interface-material",
          "immersion-cooling"
        ],
        "url": "https://lemonergy.com/learn/glossary/cooling-plate/",
        "mentions": [
          "thermal-gradient",
          "coolant"
        ]
      }
    },
    {
      "id": "term:thermal-interface-material",
      "type": "Term",
      "label": "Thermal interface material",
      "properties": {
        "id": "thermal-interface-material",
        "name": "Thermal interface material",
        "abbr": "TIM",
        "aka": [
          "gap filler"
        ],
        "section": "topic-thermal",
        "definition": "A soft, thermally conductive paste or pad that fills the gap between cells and the cooling plate so heat does not have to cross air. It is dispensed by the kilogram in a pack and is a surprising share of its cost.",
        "related": [
          "cooling-plate",
          "thermal-management"
        ],
        "url": "https://lemonergy.com/learn/glossary/thermal-interface-material/",
        "mentions": []
      }
    },
    {
      "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": []
      }
    },
    {
      "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:preconditioning",
      "type": "Term",
      "label": "Preconditioning",
      "properties": {
        "id": "preconditioning",
        "name": "Preconditioning",
        "section": "topic-thermal",
        "definition": "Warming or cooling the battery to its preferred temperature before a fast charge or a hard drive, using the vehicle’s own heaters and pumps. Navigating to a charger triggers it in many cars, because a cold pack cannot accept high current safely.",
        "related": [
          "thermal-management",
          "fast-charging",
          "lithium-plating",
          "operating-temperature"
        ],
        "url": "https://lemonergy.com/learn/glossary/preconditioning/",
        "mentions": [
          "charger"
        ]
      }
    },
    {
      "id": "term:temperature-sensor",
      "type": "Term",
      "label": "Temperature sensor",
      "properties": {
        "id": "temperature-sensor",
        "name": "Temperature sensor",
        "abbr": "NTC",
        "aka": [
          "thermistor"
        ],
        "section": "topic-thermal",
        "definition": "Usually a negative-temperature-coefficient thermistor glued to a busbar or cell surface, with a few per module. Because sensors read the surface, the hottest point inside a cell can run several degrees higher than the BMS sees.",
        "unit": "°C",
        "related": [
          "bms",
          "thermal-management",
          "operating-temperature",
          "derating",
          "thermocouples-rtds",
          "virtual-temperature-sensor"
        ],
        "url": "https://lemonergy.com/learn/glossary/temperature-sensor/",
        "mentions": [
          "busbar"
        ]
      }
    },
    {
      "id": "term:fast-charging",
      "type": "Term",
      "label": "Fast charging",
      "properties": {
        "id": "fast-charging",
        "name": "Fast charging",
        "section": "topic-charging",
        "definition": "Charging intended to replenish a specified amount of energy or state of charge in a short time. There is no universal C-rate threshold: performance depends on cell chemistry, temperature, starting state and power limits. High current can increase heating and lithium-plating risk, requiring appropriate limits.",
        "related": [
          "lithium-plating",
          "c-rate",
          "cc-cv-charging",
          "dc-fast-charging",
          "thermal-management",
          "mscc"
        ],
        "url": "https://lemonergy.com/learn/glossary/fast-charging/",
        "mentions": [
          "state-of-charge"
        ]
      }
    },
    {
      "id": "visual:thermal",
      "type": "Visual",
      "label": "Heat approaches an equilibrium",
      "properties": {
        "title": "Heat approaches an equilibrium",
        "summary": "Thermal resistance sets the steady temperature rise; thermal mass sets the response time.",
        "readout": "Steady rise: 10 K. Time constant: 8.333 min.",
        "formula": "ΔT = P R_th [1 − exp(−t / (C_th R_th))]",
        "note": "C_th = 500 J/K, fixed ambient and heat input, uniform temperature.",
        "software": {
          "status": "reference",
          "label": "Reference concept",
          "body": "Analysis → Charge session supports optional lumped thermal behavior. This independent explanation uses a 500 J/K thermal mass and constant heat input; it is not an application simulation result.",
          "href": "https://design.lemonergy.com/"
        },
        "html": "<figure class=\"visual-figure\"><figcaption>Temperature above ambient</figcaption><svg class=\"visual-chart\" viewBox=\"0 0 360 330\" role=\"img\" aria-labelledby=\"static-thermal-0-title static-thermal-0-desc\"><title id=\"static-thermal-0-title\">Temperature above ambient</title><desc id=\"static-thermal-0-desc\">Time (min) versus Temperature rise (K). Lumped response. Interpretation follows the graphs.</desc><path d=\"M74,238h268\" stroke=\"currentColor\" opacity=\".13\"/><text x=\"64\" y=\"242\" text-anchor=\"end\" font-size=\"13\" fill=\"currentColor\">0</text><text x=\"74\" y=\"265\" text-anchor=\"middle\" font-size=\"13\" fill=\"currentColor\">0</text><path d=\"M74,188.5h268\" stroke=\"currentColor\" opacity=\".13\"/><text x=\"64\" y=\"192.5\" text-anchor=\"end\" font-size=\"13\" fill=\"currentColor\">15</text><text x=\"141\" y=\"265\" text-anchor=\"middle\" font-size=\"13\" fill=\"currentColor\">15</text><path d=\"M74,139h268\" stroke=\"currentColor\" opacity=\".13\"/><text x=\"64\" y=\"143\" text-anchor=\"end\" font-size=\"13\" fill=\"currentColor\">30</text><text x=\"208\" y=\"265\" text-anchor=\"middle\" font-size=\"13\" fill=\"currentColor\">30</text><path d=\"M74,89.5h268\" stroke=\"currentColor\" opacity=\".13\"/><text x=\"64\" y=\"93.5\" text-anchor=\"end\" font-size=\"13\" fill=\"currentColor\">45</text><text x=\"275\" y=\"265\" text-anchor=\"middle\" font-size=\"13\" fill=\"currentColor\">45</text><path d=\"M74,40h268\" stroke=\"currentColor\" opacity=\".13\"/><text x=\"64\" y=\"44\" text-anchor=\"end\" font-size=\"13\" fill=\"currentColor\">60</text><text x=\"342\" y=\"265\" text-anchor=\"middle\" font-size=\"13\" fill=\"currentColor\">60</text><path d=\"M74,40v198h268\" fill=\"none\" stroke=\"currentColor\" opacity=\".3\"/><polyline fill=\"none\" stroke=\"#a45b2b\" stroke-width=\"2.8\" points=\"74.00,238.00 76.23,236.08 78.47,234.27 80.70,232.56 82.93,230.96 85.17,229.45 87.40,228.02 89.63,226.68 91.87,225.42 94.10,224.23 96.33,223.11 98.57,222.06 100.80,221.06 103.03,220.13 105.27,219.25 107.50,218.42 109.73,217.64 111.97,216.90 114.20,216.21 116.43,215.55 118.67,214.94 120.90,214.36 123.13,213.82 125.37,213.30 127.60,212.82 129.83,212.36 132.07,211.93 134.30,211.53 136.53,211.15 138.77,210.79 141.00,210.45 143.23,210.14 145.47,209.84 147.70,209.56 149.93,209.29 152.17,209.04 154.40,208.81 156.63,208.58 158.87,208.38 161.10,208.18 163.33,207.99 165.57,207.82 167.80,207.66 170.03,207.50 172.27,207.35 174.50,207.22 176.73,207.09 178.97,206.97 181.20,206.85 183.43,206.74 185.67,206.64 187.90,206.55 190.13,206.46 192.37,206.37 194.60,206.29 196.83,206.22 199.07,206.15 201.30,206.08 203.53,206.02 205.77,205.96 208.00,205.90 210.23,205.85 212.47,205.80 214.70,205.75 216.93,205.71 219.17,205.67 221.40,205.63 223.63,205.59 225.87,205.56 228.10,205.53 230.33,205.49 232.57,205.47 234.80,205.44 237.03,205.41 239.27,205.39 241.50,205.37 243.73,205.35 245.97,205.33 248.20,205.31 250.43,205.29 252.67,205.27 254.90,205.26 257.13,205.24 259.37,205.23 261.60,205.21 263.83,205.20 266.07,205.19 268.30,205.18 270.53,205.17 272.77,205.16 275.00,205.15 277.23,205.14 279.47,205.13 281.70,205.12 283.93,205.12 286.17,205.11 288.40,205.10 290.63,205.10 292.87,205.09 295.10,205.09 297.33,205.08 299.57,205.08 301.80,205.07 304.03,205.07 306.27,205.06 308.50,205.06 310.73,205.06 312.97,205.05 315.20,205.05 317.43,205.05 319.67,205.04 321.90,205.04 324.13,205.04 326.37,205.04 328.60,205.04 330.83,205.03 333.07,205.03 335.30,205.03 337.53,205.03 339.77,205.03 342.00,205.02\"/><text transform=\"translate(208 303)\" text-anchor=\"middle\" font-size=\"14\" fill=\"currentColor\"><tspan x=\"0\" dy=\"0\">Time (min)</tspan></text><text transform=\"translate(20 139) rotate(-90)\" text-anchor=\"middle\" font-size=\"14\" fill=\"currentColor\"><tspan x=\"0\" dy=\"0\">Temperature rise (K)</tspan></text></svg><div class=\"visual-legend\"><span><i style=\"background:#a45b2b\"></i>Lumped response</span></div></figure>"
      }
    }
  ]
}
