Cell Mass Calculation

class ionworkspipeline.calculations.CellMass(model_options: BatteryModelOptions = None)

Calculate the total cell mass from component densities and dimensions.

Calculates mass by summing contributions from:

  • Positive and negative electrodes (active material, binder, porosity with electrolyte)

  • Separator

  • Current collectors (aluminum and copper foils)

The electrode mass density accounts for the multi-phase composition:

\[\rho_{electrode} = \varepsilon_{AM} \cdot \rho_{AM} + \varepsilon \cdot \rho_{elyte} + (1 - \varepsilon_{AM} - \varepsilon) \cdot \rho_{CB}\]

where:

  • \(\varepsilon_{AM}\) is the active material volume fraction

  • \(\varepsilon\) is the porosity

  • \(\rho_{AM}\), \(\rho_{elyte}\), \(\rho_{CB}\) are densities of active material, electrolyte, and carbon-binder

Parameters

model_optionsdict, optional

PyBaMM model options to determine if the model has composite electrodes.

Notes

Typical mass breakdown for lithium-ion cells:

  • Positive electrode: 30-40% (usually the largest contributor)

  • Negative electrode: 15-25% (lower due to graphite’s low density)

  • Electrolyte: 10-15% (fills all porous regions)

  • Current collectors: 5-10% (aluminum and copper foils)

  • Separator: 3-5% (thin polymer films)

Warnings

Mass values should be consistent with other parameters. For example, the electrode mass should be consistent with the density, volume fraction, and thickness you specify.

Examples

Requires electrode thicknesses, densities, porosity, etc. Short example:

>>> import ionworkspipeline as iwp
>>> calc = iwp.calculations.CellMass()
>>> # result = calc.run(params)  # params: thicknesses, densities, area

Extends: ionworkspipeline.calculations.calculation.Calculation

run(parameter_values: ParameterValues) ParameterValues

Add Cell mass [kg] to the parameter_values dictionary.