{
  "node": {
    "id": "block:charge-session-thermal",
    "type": "Block",
    "label": "Charge session thermal node",
    "properties": {
      "id": "charge-session-thermal",
      "name": "Charge session thermal node",
      "kind": "tool",
      "summary": "The optional lumped temperature calculation inside the Charge session tool.",
      "behavior": "The session accumulates I-squared-R heat and ambient heat transfer through a substepped lumped thermal node. It uses the selected cell charge-temperature floor and heater setting. The reported temperature belongs to this lumped pack model.",
      "ports": [],
      "parameters": [
        {
          "key": "ambientC",
          "label": "Ambient temperature",
          "unit": "deg C",
          "description": "Ambient temperature for the session.",
          "default": 25
        },
        {
          "key": "uaWK",
          "label": "Thermal conductance",
          "unit": "W/K",
          "description": "Optional pack-to-ambient thermal conductance."
        },
        {
          "key": "thermalMassJK",
          "label": "Thermal capacitance",
          "unit": "J/K",
          "description": "Optional lumped thermal capacitance."
        },
        {
          "key": "hasHeater",
          "label": "Heater available",
          "unit": "boolean",
          "description": "Whether the session can heat below the charge floor.",
          "default": false
        }
      ],
      "equations": [
        "C_th * dT/dt = I_charge^2 * R - UA * (T - T_ambient)"
      ],
      "example": {
        "title": "Inspect pack temperature",
        "text": "100 kJ/K thermal mass and 100 W/K conductance give a 1000 s no-source temperature-difference time constant.",
        "url": "https://design.lemonergy.com/",
        "label": "Open Design → Charge session"
      },
      "limits": [
        "One node does not resolve gradients, coolant geometry or runaway. Studio’s native charger instead uses external temperature.",
        "A tool-internal temperature node, not a connected Studio thermal block. It does not resolve cell-to-cell or spatial temperature gradients."
      ],
      "evidence": [
        "js/charger.js"
      ],
      "caseIds": [
        "charge-thermal"
      ],
      "type": "charge-session-thermal",
      "implementationId": "charge-session-thermal",
      "url": "https://lemonergy.com/learn/glossary/blocks/charge-session-thermal/",
      "documentationUrl": "https://lemonergy.com/learn/glossary/blocks/charge-session-thermal/",
      "sourceFile": "block-library.json",
      "sourceRepository": "battery-design",
      "sourceRevision": "ef9802329b75bc15bb96885f8ed5d49425106696",
      "reviewed": "2026-10-27"
    }
  },
  "incoming": [
    {
      "id": "edge:usesBlock/charge-thermal/0",
      "type": "usesBlock",
      "source": "workflow:charge-thermal",
      "target": "block:charge-session-thermal",
      "properties": {
        "sourceFile": "wiki-blocks.json",
        "position": 0,
        "name": "Charge session thermal node",
        "type": "charge-session-thermal",
        "role": "Balances heat and exchange",
        "settings": [
          "Ambient temperature",
          "Thermal mass (J/K)",
          "Conductance (W/K)",
          "Heater availability"
        ]
      }
    }
  ],
  "neighbors": [
    {
      "id": "workflow:charge-thermal",
      "type": "Workflow",
      "label": "Inspect pack temperature",
      "properties": {
        "id": "charge-thermal",
        "title": "Inspect pack temperature",
        "kind": "protocol",
        "summary": "The separate Charge session can include a lumped thermal node.",
        "steps": [
          "Provide thermal mass and conductance.",
          "Compare two ambient temperatures."
        ],
        "example": "100 kJ/K thermal mass and 100 W/K conductance give a 1000 s no-source temperature-difference time constant.",
        "observe": "Temperature limits can pause charge; heater and mass are separate.",
        "limits": "One node does not resolve gradients, coolant geometry or runaway. Studio’s native charger instead uses external temperature.",
        "url": "https://design.lemonergy.com/",
        "label": "Open Design → Charge session",
        "evidence": [
          "js/charger.js"
        ]
      }
    }
  ]
}
