Documentation Index
Fetch the complete documentation index at: https://docs.ionworks.com/llms.txt
Use this file to discover all available pages before exploring further.
Role-based permissions for projects
Studio now supports granular role-based permissions at the project level. Contributors and viewers see only the actions they are allowed to perform, with UI elements hidden or disabled based on their role. Admins can manage project membership directly from organization settings.Optimizer selection in optimization creation
When creating an optimization, you can now choose from multiple optimizer algorithms — XNES, CMAES, SNES, PSO, Differential Evolution, and Nelder-Mead — and configure hyper-parameters like step size and population size directly in the UI.Find out more →Arbin protocol support
The protocol simulator now supports Arbin cycler protocols. Drive cycle data is stored in a dedicated table, and users can configure variable callback rules for fine-grained control over protocol simulations.Find out more →In-project protocol simulation
Protocol simulations can now be run directly within a project context, using a parameterized model from that project instead of a generic one. A new Protocol Simulator page is available in the project navigation.Find out more →Studio
Studio
Improvements
- Distributed evaluation worker planning now scales from population size with polling-based readiness checks and retry with exponential backoff.
- Extended job timeout to 14 days with automatic failure cascading to child jobs.
- The “View” button in the simulation list is now in its own column for quicker access.
- Fixed plot loading requiring two loads — plots now initialize correctly on first view.
- Added search functionality to simulation plot dropdowns.
- Fixed composite plating simulation bugs with SOC calculation error handling and missing variable detection.
- Fixed voltage components plot reliability with proper loading states and data availability checks.
- Fixed pipeline element list showing elements from other pipelines.
- Fixed pending job status menu not displaying for optimization and data fit jobs.
- Fixed linked parameters in pipeline baseline construction.
- Fixed organization member list appearing empty on the admin settings page.
- Fixed users being redirected to project list with an error after creating a new project.
- Fixed permission guard to wait for project data before checking permissions.
Pipeline
Pipeline
Improvements
- Added
GaussianLogLikelihoodcost function for Gaussian negative log-likelihood optimization. DeprecatedMLEin favor ofSSE. - Reverse parsing now supports solver roundtrip serialization (ScipySolver, CasadiSolver, IDAKLUSolver, CompositeSolver).
clean_parametersnow correctly handles nested expressions and dependent parameters, includingFunctionParametertypes.- Flat prior format is now supported alongside the nested format for simpler configuration.
- Added missing API documentation for Arrhenius, piecewise conversion, and piecewise interpolation classes.
Python API
Python API
Improvements
- Standardized error parsing for the new backend error format while remaining backward-compatible. Pipeline failures are now surfaced via
raise_on_failure.
Protocol Simulator
Protocol Simulator
Improvements
- Added cycle aging experiment template for long-duration degradation studies.
- Additional Arbin protocol file formats can now be parsed and simulated.
- Simulation results are now saved to disk during solve for improved reliability with long-running protocols.
- Fixed amp-hour tracking in step charge protocols.
- Fixed Arbin protocol parsing regression from a previous change.
Simulation solutions in cloud storage
Simulation solution data is now stored in cloud storage (Parquet format) instead of the database, significantly improving performance for large simulations and enabling more efficient data retrieval.Signed URL downloads
Data downloads now use signed URLs, bypassing the backend proxy for faster and more reliable file transfers. This improvement is available in both Studio and the Python API.Measurement data validation
The Python API now validates measurement time series data before upload, catching issues like incorrect current sign conventions, non-monotonic cumulative values, and insufficient data points per step — preventing invalid data from entering the system.Find out more →Studio
Studio
Improvements
- Measurements table now supports server-side filtering for improved performance with large datasets.
- Studies now load more efficiently with optimized data fetching.
- Backend now caches API keys to reduce authentication latency.
- Protocol documentation is now shown in experiment templates.
- Added links to Python library documentation throughout Studio.
- File existence checks now use signed URLs, improving upload time by ~20%.
- Fixed voltage components display and data loading.
- Fixed simulation creation and retrieval via the API for cloud-stored solutions.
- Fixed steps limit in experiment configuration.
- Fixed various data display bugs including non-numeric column handling.
Pipeline
Pipeline
Improvements
- Priors are now properly parsed with support for distribution configuration.
Python API
Python API
Improvements
- Added customizable retry and timeout configuration for the API client, with correlation ID logging on errors.
- Added step count and time validators for uploaded data.
- Added infinity sanitizer for DataFrames.
- Optional strict validation mode. Fixes
- Fixed pipeline list pagination.
Data Processing
Data Processing
Improvements
- Added support for Maccor files with 4-digit suffixes.
- Added data caching in the data loader for significantly faster repeated loads.
- Added additional column mappings with dunders.
- Added validation and capacity calculation options.
- Updated README and examples.
Protocol Simulator
Protocol Simulator
Improvements
- Input expressions (e.g.
10 / input["C-rate"]) are now supported in resolution fields for time, voltage, and current — previously only numeric values were accepted.
API documentation
Studio now includes a full API Reference tab powered by a custom OpenAPI schema. Browse available endpoints, see request/response schemas, and try out calls directly from the documentation.Simulation study management
A new simulation study feature lets you organize related simulation runs into studies, making it easier to compare parameter sweeps, model variants, and protocol configurations side by side.Find out more →Input expressions in protocol simulations
The protocol simulator now supports input expressions in resolution fields, such as10 / input["C-rate"]. This lets you define resolution relative to operating conditions, so protocols automatically adapt when C-rate or other inputs change.Find out more →Studio
Studio
Improvements
- Fraction and C-rate inputs are now accepted, with better failure messages and links to the relevant cell and model.
- Pinned actions column and updated single simulation plot style.
- Updated data management documentation.
- Fixed voltage components plot displaying both split and unsplit data incorrectly.
- Fixed Enter key not advancing from email to password on the login page.
Pipeline
Pipeline
Improvements
- Batteries 101 guide added to technical documentation.
- Consolidated optimization documentation for easier navigation.
- Calculation docs now link to corresponding Python API methods.
- Technical guide figures are now included in the documentation.
- Migrated documentation to GitHub Pages with a custom domain.
- Replaced hardcoded polish default with a configurable option.
- Fixed equations scrollbar overflow in documentation pages.
Python API
Python API
Improvements
- Added Sphinx documentation site for the Python API.
Pipeline management with filtering and export
The pipeline list now supports server-side filtering, pagination, and CSV download, making it much easier to find and export pipeline results across large projects.Advanced cycle aging metrics
The pipeline now supports composed metrics for cycle aging analysis, including a CycleSlicer for splitting data by cycle and RelativeTime for time-since-start calculations. These building blocks make it straightforward to track capacity fade, resistance growth, and other degradation indicators over hundreds of cycles.WebSocket support
Studio now supports WebSocket connections for real-time updates, laying the groundwork for live status updates on running simulations and optimizations.Studio
Studio
Improvements
- Wider application layout for better use of screen space.
- Cell and model selections in the simulation form are now persisted across sessions.
- Project member management at the organization level with admin pages for roles and permissions.
- Fixed data filters — resolved infinite loading after zoom, added a clear button, and corrected reset-zoom behavior.
- Fixed extra variables appearing in simulation outputs.
- Fixed data display for non-numeric columns.
- Fixed organization admin permissions and table client-side pagination.
- Fixed cell spec handling in projects — project ID is now required and chemistry validation is more lenient.
Pipeline
Pipeline
Improvements
- Added pipeline description field and unified reverse parsing via ReverseParserMixin.
- Updated data loader integration.
- Updated to ionworksdata 0.3.6.
- Updated to PyBaMM v25.12.2.
- Fixed
add_inputsparameter onLumpedSPMR.set_initial_state.
Python API
Python API
Improvements
- List operations now accept a
limitparameter for controlling result size.
Protocol Simulator
Protocol Simulator
Improvements
- Compound end conditions are now supported, allowing expressions like “Voltage < 2.5 and VAR1 < 1” to combine multiple termination criteria.
Custom model uploads
You can now upload custom PyBaMM models to Studio as serialized JSON. This lets you use your own model definitions in simulations and optimizations without being limited to the built-in model library.Find out more →Improved data visualization
The data UI has been redesigned with improved downsampling for faster initial rendering, automatic upsampling when you zoom in for full-resolution detail, and a larger plot layout for better readability.Find out more →Project member management
Projects now support member management with dedicated roles and permissions. Organization admins can add and remove project members and assign roles through new CRUD operations.Studio
Studio
Improvements
- Added the LumpedSPMeR model with electrolyte dynamics.
- Added an auth continuation page to prevent email security scanners from consuming login tokens.
- Updated optimization documentation.
- Fixed lumped thermal models with the correct temperature variable and improved error messages.
- Fixed user list to only show organization members, even for superadmins.
- Fixed migration ordering issue.
Pipeline
Pipeline
Improvements
- Initial conditions are now wrapped in
pybamm.Scalarfor consistency. - Extended default
max_evaluationslimit for longer optimization runs. - Pipeline elements now use
ParameterValuesexplicitly for clearer parameter handling. - Added
db:processing mode for the data loader. - Added lumped SPMeR model with electrolyte dynamics.
Python API
Python API
Improvements
- Added CI for running example notebooks.
- Proof-of-concept support for fetching pipelines from the API.
- Improved error handling for
project_idduring pipeline creation.
Protocol Simulator
Protocol Simulator
Improvements
- Input parameters can now be read from the ParameterValues dictionary.
- Added Hermite interpolation for smoother solution evaluation.
Faster data uploads
Data uploads now use signed URLs instead of JSON request bodies, eliminating timeouts when uploading large datasets. This is especially noticeable for files that previously failed to upload due to size limits.Find out more →OCP data interpolation with MSMR extrapolation
OCP fitting now blends measured data with MSMR physics-based fits, providing smooth interpolation within the data range and physically-grounded extrapolation outside it. A new custom export class for piecewise functions supports this workflow.Performance improvements
Pipeline loading is significantly faster thanks to reduced unnecessary fetching and elimination of duplicate element requests. Database queries have also been optimized with new indexes and a more efficient authentication check.Studio
Studio
Improvements
- Default model constants are now available for parameterized models.
- API responses include a correlation ID for easier troubleshooting.
- Route guards added for projects and cyclers to prevent unauthorized access.
- Fixed infinite recursion when switching organizations.
- Fixed variable names in the optimization creation form.
Pipeline
Pipeline
Improvements
- Composite MSMR support for multi-particle electrode models.
- Added optimizer to the reverse parser mixin for round-trip serialization.
- Pchip interpolation errors are now wrapped as NumericalErrors to prevent unexpected pipeline failures.
Protocol Simulator
Protocol Simulator
Improvements
- IDAKLU solver options can now be passed through as keyword arguments for finer control over solver behavior.
- Fixed solver warnings during protocol simulation.
Cell metadata support
Cells now support rich metadata with a structured spec format, letting you attach and query detailed cell specifications alongside measurement data.Find out more →Gzip compression for faster uploads
JSON file uploads to storage now use gzip compression, significantly reducing upload times for large parameter files and simulation results.Enhanced AI project chat
The AI chat assistant has been updated with improved simulation awareness, providing more relevant answers to questions about your project data and pipeline results.Studio
Studio
Improvements
- Automatic JSON schema generation for frontend form validation.
- Removed old parameterization UI in favor of the new pipeline-based workflow.
- Fixed missing .gz extension for child job parameter and metadata files.
- Fixed pipeline list page sending unnecessary API requests.
- Improved stale job and pipeline detection reliability.
Pipeline
Pipeline
Improvements
- Metric weight renamed to action weight for clearer optimization configuration.
- Added variable support to the design optimization schema.
Protocol Simulator
Protocol Simulator
Fixes
- Fixed current termination sign handling for charge and discharge steps.
December 29, 2025
AI project assistant, simplified experiment configuration, and initial SOC from UCP
AI assistant for projects
Studio now includes an AI-powered chat assistant within each project. Ask questions about your project data, get guidance on setting up simulations and optimizations, and explore results — all from a conversational interface.Simplified experiment and model configuration
Experiment parameters and model configuration have been streamlined with a simpler API. Additional simulation variables are now accessible through the API, making it easier to inspect and customize simulation outputs.Studio
Studio
Improvements
- DataFit job timeout extended to 24 hours.
- Fixed parameterized model variable name lookup for list-type domains.
Pipeline
Pipeline
Improvements
- Design optimization now reads initial SOC directly from UCP files.
- Metric values are saved before action execution for better progress tracking.
Protocol Simulator
Protocol Simulator
Improvements
- Added missing operators to step termination conditions for broader protocol support.
- Updated compatibility with latest Studio API changes.
- Fixed NumPy compatibility issue.
Live progress updates during pipeline runs
Pipeline runs now stream live progress updates to the UI, so you can monitor optimization and data fitting progress in real time. Metadata updates are deferred during execution to keep things fast, and pipeline job timeout has been extended to 24 hours.Modernized PSO optimizer
The Particle Swarm Optimization implementation has been modernized with configurable boundary handling options, inertia weighting, constriction coefficients, and velocity clamping — giving you finer control over optimizer behavior.Lumped models and voltage component plots
Studio now supports lumped battery models alongside the existing physics-based models, and voltage component plots are available for visualizing individual voltage contributions during simulation.Studio
Studio
Improvements
- New API endpoints for retrieving optimization variable names.
- Design optimization schema integrated with the DataFit framework.
- Validation results moved to metadata storage for improved reliability.
- Fixed experiment UCP format string that could crash the app.
- Fixed charge optimization regression with new pipeline; prevented accidental baseline data overwrite.
- Fixed memory issue in pipeline updates.
Pipeline
Pipeline
Improvements
- Added UCP YAML string support for experiments in design optimization.
- Added regularizer parsing for optimization constraints.
- Bokeh-based validation reports for visual inspection of fit quality.
- Improved interpolant slope formulation for smoother parameter interpolation.
- Reinstated reformulate Xj option for electrode models.
- Updated LGM50 demo notebooks.
- Fixed circular reference memory bugs during multistart optimization.
Protocol Simulator
Protocol Simulator
Improvements
- Support for custom models with Voltage and Power operating modes, plus improved EIS simulation.
- Added UCP to PyBaMM experiment converter for translating protocols into PyBaMM experiments.
- Improved input reference handling in UCP to PyBaMM conversion.
Redesigned design optimization API
Design optimization has been restructured with a cleaner API for configuring models, parameters, experiments, and objectives. A new strict schema enforces valid configurations and enables automatic frontend form generation, making it easier to set up and validate optimization runs.Find out more →Voltage components plot
A new voltage components plot lets you visualize the individual contributions to cell voltage — such as open-circuit voltage, ohmic losses, and reaction overpotentials — for deeper insight into cell behavior during simulations.Studio
Studio
Fixes
- Fixed cells from other projects appearing in cell selection lists.
- Empty simulation data now correctly shows a failed status instead of a blank result.
Pipeline
Pipeline
Fixes
- Fixed reaction overpotential (eta_r) calculation bug.