Geometric Calculations

class ionworkspipeline.calculations.AreaToSquareWidthHeight

Calculate electrode height and width from area assuming square geometry.

Computes electrode dimensions as sqrt(area) for both height and width, useful when only total electrode area is known.

Examples

>>> calc = iwp.calculations.AreaToSquareWidthHeight()
>>> params = iwp.ParameterValues({"Electrode area [m2]": 0.01})
>>> result = calc.run(params)
>>> result["Electrode height [m]"]
0.1
>>> result["Electrode width [m]"]
0.1

Extends: ionworkspipeline.calculations.calculation.Calculation

run(parameter_values: ParameterValues) ParameterValues

Calculate square dimensions from area.

Parameters

parameter_valuesiwp.ParameterValues

Input parameters containing electrode area.

Returns

iwp.ParameterValues

Electrode height and width.

class ionworkspipeline.calculations.DiameterToSquareWidthHeight

Sets the electrode height and width to be the square root of the electrode cross-sectional area, calculated from the diameter (for a coin cell).

Examples

>>> calc = iwp.calculations.DiameterToSquareWidthHeight()
>>> params = iwp.ParameterValues({"Electrode diameter [m]": 0.020})
>>> result = calc.run(params)
>>> f"{result['Electrode height [m]']:.4f}"
'0.0177'

Extends: ionworkspipeline.calculations.calculation.Calculation

run(parameter_values: ParameterValues) ParameterValues

Execute the calculation to derive new parameters from inputs.

Parameters

parameter_valuesiwp.ParameterValues

Input parameters providing the values needed for this calculation.

Returns

iwp.ParameterValues

Newly calculated parameters to add to the pipeline.

class ionworkspipeline.calculations.JellyRollThermalDimensions

Calculate thermal properties of cylindrical jelly roll cell.

Computes volume and surface area from jelly roll radius and height, assuming cylindrical geometry for thermal modeling.

Examples

>>> calc = iwp.calculations.JellyRollThermalDimensions()
>>> params = iwp.ParameterValues({
...     "Jelly roll height [m]": 0.065,
...     "Jelly roll radius [m]": 0.009,
... })
>>> result = calc.run(params)
>>> f"{result['Cell volume [m3]']:.2e}"
'1.65e-05'

Extends: ionworkspipeline.calculations.calculation.Calculation

run(parameter_values: ParameterValues) ParameterValues

Execute the calculation to derive new parameters from inputs.

Parameters

parameter_valuesiwp.ParameterValues

Input parameters providing the values needed for this calculation.

Returns

iwp.ParameterValues

Newly calculated parameters to add to the pipeline.

class ionworkspipeline.calculations.PouchCellThermalDimensions

Calculate thermal properties of rectangular pouch cell.

Computes volume and surface area from pouch dimensions, assuming rectangular prism geometry for thermal modeling.

Examples

>>> calc = iwp.calculations.PouchCellThermalDimensions()
>>> params = iwp.ParameterValues({
...     "Pouch height [m]": 0.1,
...     "Pouch width [m]": 0.08,
...     "Pouch thickness [m]": 0.006,
... })
>>> result = calc.run(params)
>>> result["Cell cooling surface area [m2]"]
0.01816

Extends: ionworkspipeline.calculations.calculation.Calculation

run(parameter_values: ParameterValues) ParameterValues

Execute the calculation to derive new parameters from inputs.

Parameters

parameter_valuesiwp.ParameterValues

Input parameters providing the values needed for this calculation.

Returns

iwp.ParameterValues

Newly calculated parameters to add to the pipeline.

class ionworkspipeline.calculations.DensityFromVolumeAndMass

Calculate the density from the mass and volume.

Examples

>>> calc = iwp.calculations.DensityFromVolumeAndMass()
>>> params = iwp.ParameterValues({
...     "Cell volume [m3]": 0.0001,
...     "Cell mass [kg]": 0.5,
... })
>>> result = calc.run(params)
>>> result["Cell density [kg.m-3]"]
5000.0

Extends: ionworkspipeline.calculations.calculation.Calculation

run(parameter_values: ParameterValues) ParameterValues

Execute the calculation to derive new parameters from inputs.

Parameters

parameter_valuesiwp.ParameterValues

Input parameters providing the values needed for this calculation.

Returns

iwp.ParameterValues

Newly calculated parameters to add to the pipeline.