MATLAB and Simulink (Beta) export, 3D simulations, model builders, and plottable raw files
Export parameterized models to MATLAB and Simulink
The Download button on a parameterized model’s page is now a menu: the existing model and parameters JSON, MATLAB code, and Simulink block (Beta). The Simulink block has been checked in Octave but not yet run in MATLAB/Simulink. Both exports use the model’s saved simulation settings, so the exported model matches what runs in Studio. Current and ambient temperature are always inputs, and initial SOC is an input for ECM and lithium-ion models. The MATLAB export includes a README and arun_example.m, and
models with algebraic equations (such as ECM and DFN) work in both exports.3D simulations
Models can now start from a 2D (x-z) or 3D (x-y-z) unstructured DFN preset in the model create form, and their results have a new Spatial field plot. It draws the field on the cell’s mesh in the browser, with a time slider, a cutaway along any axis, mesh edges and a fixed colour bar.Build a model’s parameters from any cell spec
A model builder is a recipe, saved on a model, that turns a cell specification into that model’s parameter set. Each parameter comes from the cell spec (with units converted automatically), a fixed value, or a calculation whose inputs can themselves be read from the spec. Test on example runs an unsaved recipe against an example spec, and Build model in a cell spec’s Parameterized models tab saves the result. Builders are also available in the Python API asclient.model_builder.Parameterized models can now keep a calculated parameter as the calculation that
produces it rather than a frozen number, so overriding one of its inputs in a
simulation (e.g. an active material fraction) recomputes it.Raw files you can open, plot and triage
Every file in Data → Raw data now opens its own page. A file that parsed is plotted with the same plot card as a measurement (time series, cycles, dV/dQ, step filters); a file that didn’t shows its findings with Retry and Download. Files waiting for a decision or for their cell to be registered are counted on the Measurements sidebar item and announced on project Home and Measurements, linking to a review view. Files in a format no reader recognizes are marked Unsupported and hidden from the list by default, so they no longer bury the failures that need attention.Studio
Studio
Improvements
- Models belong to a project. A model is visible only in its own project, and each project has its own copy of the built-in models. Model names are unique per project.
- Report a cell or test as failed. A Report failure dialog on a measurement marks either that test or the whole cell as failed, with a reason. A failed cell fails every test on it; a failed test leaves the cell alone.
- List pages remember their view. Filters, search, sort and page size are kept when you leave a list and come back in the same tab, on raw data, measurements, cells, materials, models, parameterized models, pipelines, protocols, optimizations and dashboards.
- Simulation plot boards are saved. Plots you add and the layout you arrange on a simulation’s page are restored the next time anyone opens it.
- Copy a plot to the clipboard from the plot toolbar, ready to paste into a doc or slides. Downloaded and copied PNGs now use the plot’s background colour and have padding on every edge.
- The Voltage components plot is opt-in. It is shown with a Show voltage components button, and only offered when the current keeps one sign.
- Filter pills on status columns show ticks for what the grid shows, with Only to keep a single value and Select all to clear the filter.
- Re-uploading a fuller cycler export no longer fails when the cycler renumbered its cycle counter between exports.
- Auto-fixing a reversed current sign now flips power too, so charge and discharge energy are no longer swapped.
- Fits whose validation produced no score no longer stay “processing” after they finish, and jobs that will never finish are now marked failed instead of showing “pending” indefinitely.
- A design optimization or fit where every simulation fails now fails with an error instead of completing with a penalty cost.
- A cell can no longer be scheduled onto two channels at overlapping times.
- Icons on light buttons in dark mode match their label’s colour instead of white.
- A raw file’s page adds one browser history entry and shows one loading screen.
- Listing a cell’s measurements now returns each measurement’s
channel_id.
Pipeline
Pipeline
Improvements
- New calculations:
ElectrodeBalanceFromFirstCycleEfficiency(stoichiometry limits and initial concentrations from electrode geometry, nominal capacity and first-cycle efficiency) andElectrodeGeometryFromLoading(thickness, active volume fraction and porosity from coating loading and press density). - Requires
pybamm>=26.10.1.1.
- A fit where every evaluation fails now raises an error instead of returning the initial guess.
- A composite-electrode MSMR config with hysteresis on only one phase gives a clear
configuration error instead of a bare
KeyError.
Python API
Python API
Improvements
client.model.create_from_zoo(...)imports a model from the PyBaMM model zoo and creates both a model and a parameterized model in one call.cell_spec_idis optional, and model constructor arguments go inmodel_kwargs.- Cheaper simulation lookup.
client.simulation.listtakesprotocol_id,state(queued/running/completed/failed) andsummary, and parameterized models can be listed without their parameter values. Every simulation record carries itsprotocol_idandprotocol_name.
- Large uploads no longer fail with HTTP 524 on a slow part.
- Dependency floors across the public packages are raised to versions that actually
install and import (e.g.
pandas>=2.2.2,pyarrow>=16.0.0).
Data Processing
Data Processing
Fixes
- Step classification ignores a step’s trailing sample when it carries the next step’s setpoint, so constant-current steps are no longer classified as “Unknown step type”.
Protocol Simulator
Protocol Simulator
Fixes
- BioLogic exports with C-rate steps or end conditions load on the instrument: C-rates are written as absolute currents against the cell’s nominal capacity.
- Nested repeat blocks keep the right cycle counts through an Arbin export and re-import.
- A
step_block:written with aname:field now takes that name, so two such blocks validate andgotocan target them. - A
C-rate < xend condition now fires on models without a C-rate variable, such asiwp.models.ECM.
Skills
Skills
Improvements
manage-projectscovers project-scoped models, importing from the PyBaMM model zoo, and live calculated parameters.run-simulationsandsearchshow how to find and reuse an existing simulation.manage-protocolsnotes that BioLogic exports need the cell’s nominal capacity.