What is Ionworks?
“Ionworks is the battery data and simulation layer. Ionworks Studio has two parts.”
“The battery data and simulation layer for R&D teams, built by the team behind PyBaMM.”
“Ionworks is the battery data and simulation layer. Ionworks Studio has two parts.”
“No. Ionworks operationalizes PyBaMM workflows for teams: the same physics-based models, plus structured data management, parameterized models, and coordination features. Existing PyBaMM scripts do not need to be rewritten.”
“No. Ionworks Studio gives test engineers, lab managers, and analysts a browser interface for planning tests, reviewing live cycler data, and running simulations without writing code. Teams with dedicated modelers still get full programmatic access through the Python SDK and REST API. Both work against the same data and the same parameterized models.”
“Files from Maccor, Neware, Novonix, Arbin, BioLogic, BasyTec, and other major cyclers. Point a sync at the folders where they land and every hardware generation is normalized into a common schema as the data arrives, linked to its cell and protocol, so test engineers and modelers start from the same baseline.”
“You do. Every parameter set, every cell specification, every parameterized model, every design from an optimization study.”
“Yes, routinely. We sign mutual NDAs before any technical conversation involving your data, your cell design, or your test results. Send your standard form to the contact on the demo call and we will return it signed within a few days.”
“Yes. PyBaMM consulting is one of the most common reasons teams reach out.”
“For a standard parameterization: cycling data covering a few C-rates, a slow-rate discharge for the open-circuit voltage, and ideally a pulse resistance test or EIS sweep. For degradation work: long-cycling data over the conditions you care about. We send a short data checklist after the first call so nothing important is missing.”
“Two steps. A discovery call to understand the engineering question: what cell, what data, what decision the model needs to inform. Then a written scope with the deliverable, the timeline, and the data we need from you. No work starts until both sides have signed the scope. Most scoping conversations take a week, sometimes less.”
“A progressive curriculum in physics-based battery modeling using PyBaMM. Participants learn how to set up and run electrochemical simulations, fit models to experimental data, build custom models from scratch, and use PyBaMM in production workflows. The course is organized into three streams so teams can start at the right level for their experience.”
“Most online battery modeling courses are pre-recorded and focus on theory. This is live, hands-on training delivered directly by the maintainers of PyBaMM, the most widely adopted open-source battery modeling library. Sessions include live Q&A, exercises on your own data, and direct access to the developers who build and maintain the underlying software.”
“Sessions are led by PyBaMM core developers from the Ionworks team. The same people who maintain the library, write the documentation, and review pull requests.”
“Each of the three streams runs approximately 6 hours, typically delivered as a single day or split across two half-days. Streams can be booked individually or as a sequence.”
“The ionworksdata Python library processes raw files from Maccor, Neware, BioLogic, Arbin, and Novonix into a common format. The read.time_series function normalizes column names and automatically adds computed fields including step count, charge and discharge capacity, and charge and discharge energy.”
“Yes. Time-series data, step summaries, and cycle metrics are stored as connected layers within each cell measurement record. Ionworks also supports checkpoint measurements such as cell images, thermal camera data, and thickness values alongside cycling data.”
“No. Ionworks serves as the system of record for battery R&D data. Test engineers use Studio for structured upload and review. Analysts pull data through the Python SDK or REST API. Modelers connect lab data to parameterization and simulation workflows. The data management layer stands on its own.”
“Operate is the channel wall for the lab: occupied, stale, and free status across cyclers, plus a test scheduler for the next run. It sits on the same structured measurements as Measure. [Request a seeded Operate demo](/operate).”
“Any scalar parameter in a parameterized model: electrode coating thickness, porosity, loading, particle size, electrode geometry, and protocol parameters like charge current. Objectives can target discharge capacity, charge time, energy density, cycle life, or any metric computable from simulation results. Constraints prevent the optimizer from returning designs that violate engineering limits.”
“Constraints use a penalty mechanism. Solutions that violate thresholds (anode potential below 0V, temperature above a limit) receive a penalty that increases with the severity of the violation. The optimizer steers toward the feasible region rather than exploring infeasible space and filtering afterward.”
“It depends on the model complexity, the number of design parameters, and the number of multistarts. A four-parameter optimization with an SPM model and 4 multistarts completes in minutes. The same optimization with a DFN model and coupled thermal simulation takes longer per evaluation but distributes across workers. Population-based algorithms parallelize well.”
“The Universal Cycler Protocol (UCP) is the native format, a YAML-based language with programmatic control, safety limits, and reusable subroutines. Ionworks also reads native Maccor, Neware, BioLogic, and Arbin cycler formats directly. Uploaded cycler files are auto-detected and translated. The Protocol Builder provides a visual step editor with YAML import and export.”
“If a simulation with identical inputs (same parameterized model, same protocol, same parameters, same conditions) already exists, the platform returns the existing result. A simulation can belong to multiple studies. This prevents duplicate compute and ensures that two engineers referencing the same configuration always see the same output.”
“Yes. Design parameter sweeps override scalar model parameters for the duration of the simulation without changing the underlying parameterized model. Input methods include discrete values, ranges, and statistical distributions. Sampling supports grid, Latin Hypercube, Sobol, and random methods.”
“Nine templates: Constant Current Discharge, Constant Current Charge, GITT, PITT, Pulse Resistance, Pseudo-OCV, EIS, Cyclic Voltammetry, and Cycle Aging. Each template auto-computes relevant metrics for the test type.”
Download this profile and inspect its supporting evidence.