メインコンテンツへスキップ
熱物性の計算は温度依存性(アレニウスフィット)と熱容量の取り扱いをカバーします。基礎となる物理は、熱計算 (英語ガイド) を参照してください。

利用可能な計算

スキーマ用途
iws.calculations.ArrheniusLogLinear(data=..., reference_temperature=...)(T,k)(T, k) の測定表から (kref,Ea)(k_{\text{ref}}, E_a) をフィット
iws.calculations.SpecificHeatCapacity()セルの集中熱容量 [J/K] と比熱 [J/(kg·K)] をセル質量で換算
iws.calculations.LumpedHeatCapacityAndDensity()各成分の比熱と密度をセルレベルの集中値に設定

アレニウスパラメータのフィッティング

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)
include_func=True を指定すると、測定温度に限らず任意の温度で評価できる補間関数も返されます。

比熱

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})
結果として "Cell specific heat capacity [J.kg-1.K-1]" がパラメータセットに追加されます。

集中熱モデル

単一温度のセルモデル向けには、LumpedHeatCapacityAndDensity がセルレベルの比熱と密度を各成分に伝播します。集中熱解析を行うパイプラインでは、SpecificHeatCapacity の後に置きます。
pipeline = iws.Pipeline({
    "known": known,
    "cp": iws.calculations.SpecificHeatCapacity(),
    "lumped": iws.calculations.LumpedHeatCapacityAndDensity(),
})

熱計算 (理論)

アレニウス理論、発熱、集中 vs 分布モデル (英語ガイド)。

パイプライン概要

熱計算がパイプラインでどう連結されるか。