04 · Optimize
Find the electrode design your test plan would have missed.
Ionworks gives battery R&D teams physics-based design optimization grounded in validated electrochemical models, so design sweeps explore real tradeoffs against real engineering constraints.

Optimize for
·Energy density·Rate capability·Charge time·Safety·Cost
Built by the team behind PyBaMM, the most widely adopted open-source battery modeling framework.
Why most battery design exploration stops too early
Battery R&D teams know the design space is large. Electrode thickness, porosity, loading, particle size, electrolyte composition, charge protocol parameters. The question is always how to explore it systematically when every physical test takes weeks.
01
Empirical approaches can't cover the design space
A typical electrode design study tests a handful of loading and porosity combinations, builds cells for each, cycles them, and draws conclusions from the results. The test matrix is limited by time and cost. A team testing 5 thicknesses and 5 porosities with 3 replicates each needs 75 cells and weeks of cycling time. Interactions between variables (how optimal porosity changes with thickness, or how the best loading depends on the target C-rate) stay hidden unless the matrix is large enough to resolve them. Most are not.
02
Statistical surrogates miss physics at the boundaries
Data-driven approaches fit response surfaces to experimental results and use the surface to predict untested regions. The problem is that battery performance at the boundaries of the operating envelope depends on physics that a polynomial or Gaussian process has not seen. Lithium plating onset, thermal runaway margins, and SEI growth rates depend on local electrode conditions that change nonlinearly with design parameters. A surrogate trained on data from the middle of the design space makes predictions about the edges that carry hidden uncertainty.
03
Optimization without provenance creates results teams can't trust
An optimization that reports 'optimal thickness = 72 µm' is only useful if the team can trace back to the model that produced it, the parameter set that model used, the experimental data that validated those parameters, and the constraints that bounded the search. Without that chain, the result is a number without context. Teams that cannot verify the provenance of an optimization result default to treating it as a suggestion rather than an engineering input.
What Ionworks provides
Physics-grounded design optimization
Optimization runs against the same validated electrochemical models used in the Predict stage. Because the models are parameterized against real test data, the tradeoffs they surface are grounded in the same physics that governs cell behavior. A Pareto front between energy density and cycle life reflects real electrochemical mechanisms, not interpolated trends.
Constraint-aware search
Define constraints alongside objectives: anode potential above 0V to prevent lithium plating, temperature below a thermal threshold, voltage within safe operating limits. The optimizer uses a penalty mechanism to steer the search toward feasible regions. Results that violate constraints are penalized inside the search itself. The optimizer steers toward feasible regions instead of filtering infeasible runs out at the end.
Six optimization algorithms with multistart
Differential Evolution and PSO for global search. CMA-ES, XNES, and SNES for population-based exploration. Nelder-Mead for local gradient-free refinement. Multistart runs the optimizer from multiple initial points (Latin Hypercube-sampled) to reduce the risk of converging on a local minimum. Population-based evaluations distribute across workers using Ray.
Pre-configured optimization templates
Two system templates ship with every project. The Design template optimizes electrode thicknesses, porosities, and particle sizes to maximize capacity or energy density subject to manufacturing and safety constraints. The Charge template optimizes charging protocol currents to minimize charge time while preventing lithium plating. Teams create custom templates for recurring optimization patterns and copy them between projects.
How it works in Ionworks
01
Define objectives and constraints
Start with a cell specification and a validated parameterized model from the Train stage. Each objective ties a protocol to a goal: maximize discharge capacity, minimize charge time to 80% SOC, maximize cycle life. Metrics support several aggregation modes: max, min, mean, and sum over the simulation, or crossing values at a specific time, SOC, or voltage.
Constraints operate alongside objectives. Set anode potential above 0V to prevent lithium plating. Set cell temperature below a safety threshold. Set voltage within manufacturer limits. The optimizer penalizes solutions that violate constraint thresholds, steering the search toward designs that meet engineering requirements rather than filtering infeasible results after the run completes.
02
Define design parameters and select an algorithm
Choose which parameters to optimize: coating thickness, porosity, loading, particle size, electrode geometry, or any scalar parameter in the model. Set bounds and initial values for each. The parameter space can be large. An optimization over four design parameters with reasonable bounds explores a space that would take thousands of physical experiments to cover.
Select an algorithm based on the problem. Differential Evolution and PSO handle large search spaces with many local minima. CMA-ES, XNES, and SNES adapt their search distributions during the run. Nelder-Mead refines a solution once the region of interest is identified. Set the number of multistarts (default varies by algorithm) to balance thoroughness against compute time.
03
Run and monitor
Optimization runs as a background job with real-time status updates. Population-based optimizers distribute candidate evaluations across workers using Ray with autoscaling. Each multistart gets a coordinator, and workers are allocated dynamically based on available compute. Jobs support cancellation with cascading cancellation to child evaluations.
The convergence history updates as the optimizer runs. Teams can monitor whether the objective is still improving or whether the search has plateaued. Long-running optimizations with expensive model evaluations (DFN at high resolution, coupled thermal models) benefit from distributed compute rather than waiting for sequential evaluations.
04
Review results and iterate
Results show baseline performance versus optimized performance, convergence history across multistarts, and time series comparisons between the baseline and optimal designs. The optimal parameter values are reported alongside the objective and constraint values achieved.
Optimizations can be cloned for iterative refinement: narrow the bounds around a promising region, add a constraint that the first run did not include, switch to a local optimizer for fine-tuning. The full optimization history is preserved. Every result links to the parameterized model, the objectives, the constraints, and the algorithm settings that produced it.
Frequently asked questions
Find the electrode design your test plan would have missed.
Sweep loading, porosity, and thickness against real targets with physics-grounded models.


