Skip to main content
Thermal calculations cover temperature dependence (Arrhenius fits) and heat-capacity bookkeeping. For the underlying physics, see the Thermal Calculations Guide.

Available calculations

SchemaPurpose
iws.calculations.ArrheniusLogLinear(data=..., reference_temperature=...)Fits (kref,Ea)(k_{\text{ref}}, E_a) from a table of (T,k)(T, k) measurements
iws.calculations.SpecificHeatCapacity()Converts between lumped cell heat capacity [J/K] and specific heat [J/(kg·K)] given the cell mass
iws.calculations.LumpedHeatCapacityAndDensity()Sets per-component specific heat and density to the cell-level lumped values

Fitting Arrhenius parameters

import ionworks_schema as iws
from ionworks import Ionworks

arrhenius = iws.calculations.ArrheniusLogLinear(
    data={
        "Temperature [K]": [273, 298, 323, 348],
        "Negative particle diffusivity [m2.s-1]": [1e-14, 3e-14, 8e-14, 2e-13],
    },
    reference_temperature=298.15,
)

pipeline = iws.Pipeline({"D_neg arrhenius": arrhenius})

client = Ionworks()
submission = client.pipeline.create(pipeline)
client.pipeline.wait_for_completion(submission.id)
result = client.pipeline.result(submission.id)
Set include_func=True to additionally return an interpolant so the quantity can be evaluated at any temperature, not just the measured ones.

Specific heat capacity

import ionworks_schema as iws

known = iws.direct_entries.DirectEntry(
    parameters={
        "Cell heat capacity [J.K-1]": 50.0,
        "Cell mass [kg]": 0.05,
    },
)

cp = iws.calculations.SpecificHeatCapacity()

pipeline = iws.Pipeline({"known": known, "cp": cp})
The result adds "Cell specific heat capacity [J.kg-1.K-1]" to the parameter set.

Lumped thermal model

For a single-temperature cell model, LumpedHeatCapacityAndDensity propagates the cell-level specific heat and density to each component. Use it after SpecificHeatCapacity in pipelines that target a lumped thermal solve:
pipeline = iws.Pipeline({
    "known": known,
    "cp": iws.calculations.SpecificHeatCapacity(),
    "lumped": iws.calculations.LumpedHeatCapacityAndDensity(),
})

Thermal Calculations (theory)

Arrhenius theory, heat generation, lumped vs. distributed models.

Pipelines overview

How thermal calcs chain with direct entries and data fits.