Battery knowledge · Charging and discharging

Charge acceptance

How much of the current offered to a battery it can actually absorb at a given state of charge and temperature. It falls as the battery fills and as it cools, which is why regenerative braking and fast charging are limited by the battery rather than the source. [1]

Example

The limit sets the permitted current

Requested current: 8 A. At 50 °C the chosen limit permits 5 A.

Breakpoints are invented teaching values, not operating limits for a particular battery.

Explore the graph

A requested current is clipped wherever an active limit is lower.

Illustrative temperature current limit
Illustrative temperature current limitTemperature (°C) versus Current (A). Limit; Permitted command. Interpretation follows the graphs.0-1037.5625942.51260Temperature (°C)Current (A)
LimitPermitted command (dashed)

Requested current: 8 A. At 50 °C the chosen limit permits 5 A.

I_command = min(I_requested, I_limit)

Illustrative model. Breakpoints are invented teaching values, not operating limits for a particular battery.

Use in Lemonergy

Design protocol or analysis tool

Find the charge-time limit

The separate Charge session compares power, current, acceptance and CV limits.

Equation or tool to use

  1. Charge session

    Runs against the selected cell and pack

    Inputs & settings
    • Source power
    • Connector current
    • Start / target SOC
    • End-of-charge C-rate

This overview identifies the components to use. Follow the example in Lemonergy for their connections and settings.

  1. Select a rechargeable cell and pack.
  2. 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.

This differs from the Studio network and requires cell resistance data and product access.

Open Design → Charge session →

Lemonergy Studio blocks

Charge-current envelope worked example

Selects the most restrictive cell voltage and temperature current limit.

Blocks to use

  1. Charge-current envelope

    Interpolates voltage and temperature limit tables for every channel, then selects the smallest nonnegative magnitude together with the nominal cap. Disabling the block returns zero. The envelope feeds a controller or current actuator.

    Inputs & settings
    • Use the parameter values in the block reference.
    • Bundled example verified on the production release of 28 October 2026.

This overview identifies the components to use. Follow the example in Lemonergy for their connections and settings.

  1. Review the block inputs, units and model limits.
  2. Open the Studio example and run its bundled model.
  3. Compare the output channels with the numerical checks; change one input and run again.

Example. Use the defaults below with Cell voltages = [4, 4.05, 4.02] V, Cell temperatures = [298.15, 318.15, 300] K, Enable = 1 true / false. At 0 s, Allowed current magnitude is 1 A. Additional checks are listed below.

Observe. Inspect the outputs and numerical checks on the block reference page.

The tables are supplied by the model author. Their synthetic defaults do not establish a safe charging or discharging envelope. The example verifies numerical behavior for synthetic parameters. Cell characterization and validation for an intended use are separate tasks.

Open Studio example →

Lemonergy Studio blocks

Discharge-current envelope worked example

Selects the most restrictive cell voltage and temperature current limit.

Blocks to use

  1. Discharge-current envelope

    Interpolates voltage and temperature limit tables for every channel, then selects the smallest nonnegative magnitude together with the nominal cap. Disabling the block returns zero. The envelope feeds a controller or current actuator.

    Inputs & settings
    • Use the parameter values in the block reference.
    • Bundled example verified on the production release of 28 October 2026.

This overview identifies the components to use. Follow the example in Lemonergy for their connections and settings.

  1. Review the block inputs, units and model limits.
  2. Open the Studio example and run its bundled model.
  3. Compare the output channels with the numerical checks; change one input and run again.

Example. Use the defaults below with Cell voltages = [3.2, 3.1, 3.15] V, Cell temperatures = [298.15, 318.15, 300] K, Enable = 1 true / false. At 0 s, Allowed current magnitude is 2 A. Additional checks are listed below.

Observe. Inspect the outputs and numerical checks on the block reference page.

The tables are supplied by the model author. Their synthetic defaults do not establish a safe charging or discharging envelope. The example verifies numerical behavior for synthetic parameters. Cell characterization and validation for an intended use are separate tasks.

Open Studio example →

References & further reading

Technical references

  1. Lithium-ion battery fast charging: A review

    Anna Tomaszewska et al. · eTransportation · 2019

    Technical reference · CC-CV and alternative charging protocols, transport limitations, degradation and thermal implications; results depend on cell and test conditions. Software behavior is documented separately in Lemonergy block references.