Battery knowledge · Thermal management and heat transfer

Thermal management

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.

Abbreviation
TMS
Also called
battery thermal management system, BTMS

Example

Heat approaches an equilibrium

Steady rise: 10 K. Time constant: 8.333 min.

C_th = 500 J/K, fixed ambient and heat input, uniform temperature.

Explore the graph

Thermal resistance sets the steady temperature rise; thermal mass sets the response time.

Temperature above ambient
Temperature above ambientTime (min) versus Temperature rise (K). Lumped response. Interpretation follows the graphs.001515303045456060Time (min)Temperature rise (K)
Lumped response

Steady rise: 10 K. Time constant: 8.333 min.

ΔT = P R_th [1 − exp(−t / (C_th R_th))]

Illustrative model. C_th = 500 J/K, fixed ambient and heat input, uniform temperature.

Use in Lemonergy

Lemonergy Studio blocks

Coolant flow controller worked example

Controls the hottest cooling channel or coldest heating channel with hysteresis.

Blocks to use

  1. Coolant flow controller

    Uses the hottest channel for cooling or the coldest channel for heating. Separate on and off thresholds provide hysteresis. Enable gates the commanded coolant mass flow or heater power.

    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 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.

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.

Open Studio example →

Lemonergy Studio blocks

Battery heater controller worked example

Controls the hottest cooling channel or coldest heating channel with hysteresis.

Blocks to use

  1. Battery heater controller

    Uses the hottest channel for cooling or the coldest channel for heating. Separate on and off thresholds provide hysteresis. Enable gates the commanded coolant mass flow or heater power.

    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 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.

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.

Open Studio example →

Lemonergy Studio blocks

Thermal state-space model worked example

Linear thermal rise model with a positive diagonal heat-capacity descriptor. User supplies validated matrices.

Blocks to use

  1. Thermal state-space model

    Solves a linear temperature-rise model with positive diagonal heat capacities. Heat inputs drive the state; output temperatures add the configured ambient temperature to the linear result.

    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 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.

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.

Open Studio example →
All connected Lemonergy block references

References & further reading

Further reading on this topic

These sources provide broader context; they are not presented as citations for every statement in this entry.

  1. A General Energy Balance for Battery Systems

    Dawn Bernardi, Ellen Pawlikowski, John Newman · Journal of The Electrochemical Society · 1985

    Topic background · Battery energy balance and irreversible and reversible heat contributions. Reduced thermal models require explicit assumptions and current-sign conventions.

  2. University Physics Volume 2, §1.6: Mechanisms of Heat Transfer

    OpenStax, Rice University

    Topic background · Conduction, convection, radiation and thermal resistance.