The problem
A single cell entering thermal runaway can heat its neighbours past their own onset temperature, turning one failure into a pack fire. Regulations increasingly require that a pack give occupants warning time after a single-cell event, so designers must understand how fast propagation happens and which barriers slow it. Physical abuse tests are expensive and dangerous; a validated simulation narrows the design space first.
Objectives
- Implement a lumped cell thermal-abuse model with the main exothermic decomposition reactions.
- Reproduce an accelerating-rate-calorimetry-style self-heating curve for one cell.
- Build a module model with conductive and radiative coupling between cells.
- Quantify propagation time and whether propagation stops for different barriers and spacings.
- Study sensitivity to kinetic parameters and their uncertainty.
What you need
Tools and toolboxes
- MATLAB — Reaction kinetics, ode15s for stiff single-cell studies, parameter sweeps and uncertainty analysis.
- Simulink — Module-level model with one reaction subsystem per cell, trigger events and logging.
- Simscape — Thermal Mass, Conductive Heat Transfer and Radiative Heat Transfer blocks for cell-to-cell coupling and barriers.
Software
- MATLAB R2023b or later
- Simulink
- Simscape
Extra parts and data
- Published kinetic parameters and calorimetry data for a cell chemistry — Frequency factors, activation energies and reaction heats must come from peer-reviewed abuse-modelling literature for the chosen chemistry, and a published self-heating curve is needed to check the single-cell model.
Key concepts
- Arrhenius kinetics
- Each decomposition reaction proceeds at rate k = A·exp(−Ea/(R·T)) times a function of remaining reactant. The exponential dependence on temperature is what makes runaway self-accelerating.
- Decomposition reactions
- Literature models usually include SEI decomposition, anode–electrolyte reaction, cathode decomposition and electrolyte decomposition, each with its own onset temperature and heat release.
- Onset and runaway temperatures
- Onset is where self-heating becomes measurable; runaway is where the heating rate becomes very fast. A neighbour that reaches its onset region may still be saved if it can lose heat faster than it generates it.
- Propagation barrier
- An insulating layer such as mica or aerogel between cells that slows heat transfer, buying time or stopping propagation.
Step-by-step guide
- 1
Select chemistry and literature model
Choose one chemistry, for example an NMC cylindrical cell, and a published lumped abuse model that gives reaction kinetics and heats. Record each reaction's frequency factor, activation energy, heat of reaction and reactant mass in a parameter script with its source. Also note the published self-heating curve you will use for checking. Write down the safety scope: this is a simulation study only and no abuse testing is to be done.
Checkpoint: A parameter table for four reactions, each traced to a source, and a stated validation target.
- 2
Implement the single-cell model
Write the energy balance m·cp·dT/dt = Σ Q_i − h·A·(T − T_amb), with each Q_i = H_i·m_i·dc_i/dt and the reactant fraction c_i decaying by Arrhenius kinetics. Implement it first as a MATLAB function solved with ode15s, because the equations become extremely stiff during runaway. Use event detection to record the time when the heating rate passes chosen thresholds. Set tight tolerances, for example RelTol of 1e-6.
Checkpoint: The solver completes a simulated heat-wait-seek test without failure and reactant fractions stay between zero and one.
- 3
Check against the self-heating curve
Simulate an adiabatic calorimetry test by setting h to zero and stepping the temperature until self-heating is detected, then letting it run. Plot heating rate against temperature on a log scale and compare onset temperature, peak temperature and the shape of the curve with the published data. Small adjustments within the literature range are acceptable if documented. Record any parameter adjustment and its justification in the parameter table.
Checkpoint: Simulated onset and maximum temperatures within a stated tolerance of the published curve, with the log heating-rate plot overlaid.
- 4
Build the module model
Move to Simulink and create one cell subsystem containing the reaction kinetics and a Thermal Mass. Arrange a small module, for example a row of five cylindrical cells or a 2×3 group, connected by Conductive Heat Transfer through holders and contact, Radiative Heat Transfer between neighbouring surfaces at high temperature, and convection to ambient. Use a stiff solver such as ode15s with tight tolerances.
Checkpoint: With no trigger, all cells stay at ambient and the model runs without solver warnings.
- 5
Trigger and observe propagation
Trigger runaway in the first cell with a heater input, for example a fixed heat flow until it reaches its onset temperature, mimicking a nail or heater test. Record the time for each neighbour to reach runaway, the peak temperatures and the total heat released. Plot cell temperatures on a common time axis to show the propagation front. Stop the heater once the trigger cell reaches onset so the result reflects propagation alone.
Checkpoint: In the no-barrier baseline, propagation proceeds cell by cell with recorded delays between cells.
- 6
Add barriers, spacing and cooling
Add an interstitial barrier as an extra thermal resistance and capacity between cells, with example properties for mica and aerogel sheets. Vary cell spacing and add a cooling case with a higher convection coefficient. Script runs with sim() and record whether propagation stops, and if not, the delay per cell. Keep the trigger method identical across cases, and record the total simulated time so slow propagation is not mistaken for a stop.
Checkpoint: A table showing propagation stopped or delayed for each barrier, spacing and cooling case.
- 7
Uncertainty analysis
Kinetic parameters carry large uncertainty. Run a Monte Carlo study sampling activation energies, frequency factors and heats within literature ranges, for example a few hundred runs with parsim if Parallel Computing Toolbox is available or a plain loop otherwise. Report the distribution of propagation time and the probability that a given barrier stops propagation. Use the same random seed across barrier designs so they are compared on identical parameter samples.
Checkpoint: Histograms of propagation delay and a probability of stop for each barrier with the number of samples stated.
- 8
Identify the critical parameters
Compute sensitivity of propagation delay to each input, for example with standardised regression coefficients from the Monte Carlo samples. Identify which reactions and which coupling paths dominate. Explain physically why, for example whether conduction through the holder or radiation across the gap carries most heat to the neighbour. Check the ranking with a one-at-a-time sweep of the top parameters to confirm the regression-based result is not an artefact.
Checkpoint: A ranked sensitivity list with a physical explanation for the top three parameters.
- 9
Report
Present the model, single-cell check, module results, barrier comparison and uncertainty analysis. State the limitations: lumped cells ignore internal gradients, gas venting and ejecta are not modelled, and kinetic parameters are chemistry- and cell-specific. Make clear that results support design comparison, not certification, which needs physical testing. Include parameter sources, solver settings and the Monte Carlo seed so another researcher can reproduce every figure, and separate verified results from assumptions clearly.
Checkpoint: A report with quantified barrier comparisons, uncertainty bands and an explicit statement of scope.
Testing & validation
- Single-cell adiabatic self-heating curve against published calorimetry data.
- No-trigger module remains at ambient.
- Propagation delays and stop or continue outcome for each design case.
- Monte Carlo distribution of propagation time.
- Sensitivity ranking of kinetic and coupling parameters.
Expected results
A single-cell abuse model checked against published calorimetry and a module propagation model that compares barriers, spacing and cooling with quantified uncertainty.
Research angle for your M.Tech thesis
Research questions: which coupling path dominates propagation in a given module layout, and what barrier thickness or spacing stops propagation with a stated probability once kinetic uncertainty is included? Metrics: propagation delay per cell, probability of stop, peak neighbour temperature and warning time. Baselines: no barrier and a nominal-parameter deterministic run. Validation: single-cell curve against published calorimetry; module results compared with published propagation tests where available. A study that propagates kinetic uncertainty through to design decisions, rather than reporting one deterministic run, is suitable for a journal or conference paper on battery safety.
Take it further
- Add a venting model that removes mass and heat when internal pressure would open the vent.
- Model a prismatic or pouch module with surface contact rather than line contact.
- Couple to a BMS detection model to estimate warning time from cell voltage and temperature signals.
- Use a 3-D finite-element model for one cell and compare with the lumped model.
Viva and review questions
Why does thermal runaway accelerate?
Reaction rates rise exponentially with temperature through the Arrhenius term, so heat release raises temperature, which raises the rate, until reactants are consumed.
Why did you use ode15s?
The kinetics become extremely stiff during runaway, with time scales from hours to milliseconds, and ode15s is designed for stiff systems where explicit solvers would fail or take tiny steps.
Can a neighbour reach its onset temperature and still not run away?
Yes, if it loses heat to its surroundings faster than its reactions generate it, so a barrier or cooling that keeps the heat balance negative can stop propagation.
Why include uncertainty analysis?
Published kinetic parameters vary widely between cells and papers, so a single deterministic run can give a misleading answer about whether a barrier works.
Learn it at DIYguru
These DIYguru courses and programmes teach what this project needs.
