Thermal

class ionworkspipeline.calculations.SpecificHeatCapacity

Calculate specific heat capacity from lumped heat capacity and cell mass.

The specific heat capacity determines how much temperature rises for a given heat input:

\[c_p = \frac{C}{m}\]

where \(C\) is the cell heat capacity [J/K] and \(m\) is the cell mass [kg].

Typical cell-level values: 800-1200 J/(kg K).

Examples

>>> import ionworkspipeline as iwp
>>> calc = iwp.calculations.SpecificHeatCapacity()
>>> params = iwp.ParameterValues({
...     "Cell heat capacity [J.K-1]": 50,
...     "Cell mass [kg]": 0.05,
... })
>>> result = calc.run(params)
>>> result["Cell specific heat capacity [J.kg-1.K-1]"]
1000.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.

class ionworkspipeline.calculations.LumpedHeatCapacityAndDensity

Apply lumped thermal properties to all cell components.

For simplified (lumped) thermal models, the same properties can be applied to all components in the cell. This calculation sets the specific heat capacity and density for each layer (negative current collector, negative electrode, separator, positive electrode, positive current collector) to the cell-level values.

Notes

For initial modeling, lumped thermal properties are usually sufficient. Move to distributed models only when you observe significant temperature gradients or are studying thermal management in detail.

Examples

>>> import ionworkspipeline as iwp
>>> calc = iwp.calculations.LumpedHeatCapacityAndDensity()
>>> params = iwp.ParameterValues({
...     "Cell specific heat capacity [J.kg-1.K-1]": 1000,
...     "Cell density [kg.m-3]": 2500,
... })
>>> result = calc.run(params)
>>> "Negative electrode density [kg.m-3]" in result
True

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.