Open model laboratory · MATLAB/Simulink

MATLAB Simulink Energy Lab.

Run compact battery, thermal, state-estimation, converter, and unified BESS control models whose assumptions stay visible from equation to validation result.

Engineering question

How can battery, thermal, converter, and supervisory-control assumptions become small executable models with deterministic evidence?

Battery, power-electronics, and BESS engineers can use the lab to inspect interfaces and numerical behavior before replacing its illustrative parameters with measured, project-specific evidence.

Laboratory system map

Follow electrical state into thermal, converter, control, and evidence paths.

The released examples remain small enough to inspect independently, while this map makes the interfaces between model families explicit.

Battery and energy-system evidence flow

  1. 01Battery electrical states1RC, 2RC, pulse response, parameter fit, and OCV hysteresis
  2. 02SOC estimationNoisy current and voltage correct a biased two-state EKF
  3. 03Electro-thermal responseLoss, entropic heat, resistance feedback, limits, and cooling sensitivity
  4. 04Module and pouch behaviorCoolant-path nonuniformity and through-thickness gradients
  5. 05Power conversionAverage, switching, closed-loop, controller-comparison, and Simulink references
  6. 06Unified BESS controlFollowing, forming, islanding, synchronization, limits, faults, and recovery
  7. 07Automated evidence26 current-main entry points, source boundaries, traceability, and release artifacts
Pouch-cell finite-volume simulation showing heat input, surface and center temperatures, through-thickness temperature profiles, and boundary heat removal

Validated thermal result

The finite-volume model resolves surface temperatures, an internal hot spot, through-thickness gradients, and asymmetric boundary heat removal.

Multiphysics thermal modeling

Resolve the internal hot spot across a pouch cell.

The one-dimensional finite-volume model represents layered through-thickness conduction with unequal convection at the two broad faces. Its validation case reaches a 43.83 °C peak at 5.60 mm and 1800 s, with a 3.09 °C peak spatial spread.

A symmetric-boundary benchmark agrees with the analytical steady solution within 0.003 °C, while the medium-to-fine grid difference is 0.0024 °C.

Inspect equations, assumptions, and checks

Model catalogue

Move from electrical dynamics to thermal and control evidence.

Battery dynamics

First-order, two-RC, and OCV-hysteresis models expose SOC, terminal voltage, polarization, pulse recovery, and charge/discharge voltage history.

Inspect the hysteresis model

Real-time SOC estimation

A two-state extended Kalman filter corrects a biased SOC prior using noisy current and terminal-voltage measurements.

Inspect the SOC EKF

Battery thermal management

Cell, module, and pouch-cell models expose heat generation, cooling sensitivity, thermal-limit exposure, coolant-path nonuniformity, and spatial gradients.

Inspect the pouch-cell thermal model

Power converters

Average-value, switching, closed-loop, and native Simulink references connect duty cycle and controller choices to voltage, current, ripple, and settling metrics.

Inspect controller comparisons

Unified BESS control

A generated Simulink reference covers grid following, grid forming, island support, synchronization, reconnection, limits, measurement faults, and recovery.

Review the 31-test BESS release

Repository-generated results

Model families retain their own evidence and assumptions.

These figures are copied byte-for-byte from v0.9.0 and delivered as optimized WebP while the source PNG remains downloadable.

Verification path

Run every check from one command.

Browser entry point

Open the repository in MATLAB Online and run addpath('examples'); run_all_checks from the project root.

Deterministic evidence

Each check asserts physical, numerical, dimensional, or cross-model invariants without relying on plot inspection.

Continuous validation

GitHub Actions runs the executable model checks whenever MATLAB or Simulink implementation files change.

Review validation runs

Citable release

Versioned releases, citation metadata, an ORCID-linked author record, and an MIT license keep reuse and attribution explicit.

Review the latest release

Reproduce and inspect

Run current main from one entry point.

git clone https://github.com/mohammadrezwankhan/matlab-simulink-energy-lab.git
cd matlab-simulink-energy-lab
matlab -batch "addpath('examples'); run_all_checks"

Documentation map

Go directly to the release, models, checks, citation, and reuse terms.

Current-main facts were verified on 2026-08-24 at commit ebf2a0caa026. The v0.10.0 link above remains the immutable tagged release.

Engineering boundary

Use transparent baselines before qualified design models.

The examples are educational references, not calibrated design authorities. They omit selected electrochemical, ageing, multidimensional, switching-loss, tolerance, and safety effects by design. Replace illustrative parameters with measured data, select the fidelity required by the decision, and revalidate every extension before applying it to a real battery, converter, vehicle, or grid-storage system.

Direct questions

What should a new user know?

What is the MATLAB Simulink Energy Lab?

An open collection of inspectable battery and power-electronics models with visible assumptions, units, sign conventions, checks, and limits.

Which battery models are included?

First-order and two-RC electrical models, an OCV-hysteresis model, an SOC extended Kalman filter, coupled cell and module thermal models, and a pouch-cell through-thickness finite-volume model.

How is the lab validated?

The latest tagged release is v0.10.0. Current main has 20 Base MATLAB checks, 25 general entry points plus one unified-BESS entry point (26 total), and 31 focused unified-BESS results.

Can the models qualify hardware?

No. They are transparent starting points. Cell-specific calibration, measured validation, safety analysis, tolerances, and project qualification remain necessary.

Run the models, inspect the evidence, and extend only what you can revalidate.Open or star the lab on GitHubLaunch MATLAB Online