In Ionworks, a Model is a mathematical representation of a cell’s electrochemical behavior. Models are the engines that power simulations, allowing you to predict how a cell will perform under various conditions.

What is a Model in Ionworks?

In Ionworks, a Model is a complete representation of a cell’s electrochemical behavior. It is the combination of:
  1. A specific set of Equations (e.g., SPM).
  2. A complete and validated set of Parameters for those equations.
The Ionworks Studio definition of a model is different from the PyBaMM definition of a model. In PyBaMM, a model is only a set of governing equations. In Ionworks, a model is a complete representation of a cell’s electrochemical behavior (i.e. PyBaMM model + parameters).
This entire package is then linked to a specific Cell Specification, as the parameters are tuned to that cell’s unique chemistry and design. Think of an Ionworks Studio Model as a fully-parameterized, ready-to-run simulation engine for a particular cell.
Models are ImmutableOnce a model is created and used in a simulation, it cannot be edited. This is a key feature that ensures the reproducibility of your results, as a simulation is permanently linked to the exact model version that generated it.To make changes to an existing model, you must clone it. This creates a new version that you can modify, preserving the history and integrity of your previous work.

Creating a New Model

You can create a model by providing the equations and a set of parameters. There are three ways to get started with parameters:
  • From Library: Start with a pre-defined parameter set from a public or internal library, such as those from published academic papers. This is often the best starting point.
  • Clone an existing model: If you have an existing model in Ionworks Studio that you want to iterate on, you can clone it. This is the perfect workflow for studying the effect of changing one or two parameters.
  • From a BPX File: Upload a JSON file formatted according to the Battery Parameter eXchange (BPX) standard. This allows you to import parameter sets from other tools or collaborators.

Configuring Parameters

After selecting your starting point, you can review and edit the parameters.

Parameter Types

Parameters in Ionworks Studio are not just simple numbers. They can be defined in several ways to capture complex physical behavior:
  • Value: A single numerical value (e.g., Electrode height [m] = 0.05).
  • Function: A mathematical expression, often dependent on other variables like temperature T (e.g., exp(-2500 / (T - 229))).
  • Interpolant: A lookup table defined by a set of data points (e.g., for Open Circuit Potential vs. Stoichiometry).
The parameter editor organizes parameters into logical groups (e.g., “Cell”, “Anode”, “Cathode”) to make them easier to navigate.

Parameter Validation

Before you can create a model, Ionworks Studio runs an automatic Parameter Validation check. This service helps ensure that your parameter set is physically realistic and self-consistent. The validator checks for:
  • Deviations from known reference values.
  • Inconsistencies between related parameters.
Each check has a status:
  • Success: The parameter value is within the expected range.
  • Warning: The parameter value is plausible but deviates significantly from the reference.
  • Error: The parameter value is likely to be physically unrealistic or cause the simulation to fail.
For some warnings and errors, the validator provides an autofix option. This allows you to automatically apply a suggested correction to the parameter, helping you quickly resolve issues and ensure your model is ready for simulation.