{
  "node": {
    "id": "block:charge-session",
    "type": "Block",
    "label": "Charge session",
    "properties": {
      "id": "charge-session",
      "name": "Charge session",
      "kind": "tool",
      "summary": "Design-tool simulation of a charger connected to the active cell and pack.",
      "behavior": "At each time step, the session selects the smallest current permitted by charger power, connector current, pack charge acceptance and CV headroom. The tool reports which limit governed charge time, as well as voltage, SOC, current and energy accounting. Its charge current is a positive magnitude.",
      "ports": [],
      "parameters": [
        {
          "key": "cell",
          "label": "Cell",
          "unit": "cell record",
          "description": "Selected library or fitted cell; must be rechargeable with a DCIR value."
        },
        {
          "key": "s",
          "label": "Series count",
          "unit": "count",
          "description": "Positive series count."
        },
        {
          "key": "p",
          "label": "Parallel count",
          "unit": "count",
          "description": "Positive parallel count."
        },
        {
          "key": "sourceKW",
          "label": "Charger input power",
          "unit": "kW",
          "description": "Positive AC-side charger power."
        },
        {
          "key": "efficiency",
          "label": "AC to DC efficiency",
          "unit": "fraction",
          "description": "Flat conversion efficiency when no converter curve is supplied.",
          "default": 0.93
        },
        {
          "key": "maxDcCurrentA",
          "label": "DC current ceiling",
          "unit": "A",
          "description": "Optional connector/cable ceiling."
        },
        {
          "key": "startSoC",
          "label": "Initial SOC",
          "unit": "fraction",
          "description": "Starting state of charge.",
          "default": 0.2
        },
        {
          "key": "targetSoC",
          "label": "Target SOC",
          "unit": "fraction",
          "description": "Must exceed the initial SOC.",
          "default": 1
        },
        {
          "key": "endCRate",
          "label": "End current rate",
          "unit": "1/h",
          "description": "Current cutoff used above SOC 0.9.",
          "default": 0.02
        },
        {
          "key": "dtS",
          "label": "Time step",
          "unit": "s",
          "description": "Fixed integration step.",
          "default": 1
        }
      ],
      "equations": [
        "V_terminal = OCV(SOC) + I_charge * R",
        "I_CV = max(0, (V_max - OCV) / R)",
        "dSOC/dt = I_charge / (3600 * Q_Ah)"
      ],
      "example": {
        "title": "Find the charge-time limit",
        "text": "A 50 kW source at 400 V cannot deliver 50 kW through a 100 A ceiling; that current limit corresponds to 40 kW.",
        "url": "https://design.lemonergy.com/",
        "label": "Open Design → Charge session"
      },
      "limits": [
        "This differs from the Studio network and requires cell resistance data and product access.",
        "This is a Design tool, not the Studio regulated-charger block. It uses a different session interface and its own termination rules."
      ],
      "evidence": [
        "js/charger.js",
        "js/sim1d.js",
        "js/power-electronics.js"
      ],
      "caseIds": [
        "charge-session"
      ],
      "type": "charge-session",
      "implementationId": "charge-session",
      "url": "https://lemonergy.com/learn/glossary/blocks/charge-session/",
      "documentationUrl": "https://lemonergy.com/learn/glossary/blocks/charge-session/",
      "sourceFile": "block-library.json",
      "sourceRepository": "battery-design",
      "sourceRevision": "ef9802329b75bc15bb96885f8ed5d49425106696",
      "reviewed": "2026-10-27"
    }
  },
  "incoming": [
    {
      "id": "edge:usesBlock/charge-session/0",
      "type": "usesBlock",
      "source": "workflow:charge-session",
      "target": "block:charge-session",
      "properties": {
        "sourceFile": "wiki-blocks.json",
        "position": 0,
        "name": "Charge session",
        "type": "charge-session",
        "role": "Runs against the selected cell and pack",
        "settings": [
          "Source power",
          "Connector current",
          "Start / target SOC",
          "End-of-charge C-rate"
        ]
      }
    }
  ],
  "neighbors": [
    {
      "id": "workflow:charge-session",
      "type": "Workflow",
      "label": "Find the charge-time limit",
      "properties": {
        "id": "charge-session",
        "title": "Find the charge-time limit",
        "kind": "protocol",
        "summary": "The separate Charge session compares power, current, acceptance and CV limits.",
        "steps": [
          "Select a rechargeable cell and pack.",
          "Open Analysis → Charge session; increase power."
        ],
        "example": "A 50 kW source at 400 V cannot deliver 50 kW through a 100 A ceiling; that current limit corresponds to 40 kW.",
        "observe": "Read the named limiting reason.",
        "limits": "This differs from the Studio network and requires cell resistance data and product access.",
        "url": "https://design.lemonergy.com/",
        "label": "Open Design → Charge session",
        "evidence": [
          "js/charger.js"
        ]
      }
    }
  ]
}
