メインコンテンツへスキップ
パイプラインは、要素(DirectEntryCalculationDataFitValidation)を順に並べてパラメータ化されたセルモデルを生成するものです。ionworks-schema でパイプラインを組み立て、ionworks-api で送信します。 各要素の概念と役割については、パイプラインガイド (英語) を参照してください。
ガイド(理論ページ)は現時点では英語のみで提供されています。本ページ群からのクロスリンクが /guide/... を指している箇所はそのため意図的なものです。

最小構成のパイプライン

import ionworks_schema as iws
from ionworks import Ionworks

# データシートや文献からの既知パラメータ
known = iws.direct_entries.DirectEntry(
    parameters={"Ambient temperature [K]": 298.15},
    source="datasheet",
)

# 単純な容量計算
capacity_pos = iws.calculations.ElectrodeCapacity(electrode="positive")
capacity_neg = iws.calculations.ElectrodeCapacity(electrode="negative")

# 組み立てと送信
pipeline = iws.Pipeline(
    {"known": known, "Q_pos": capacity_pos, "Q_neg": capacity_neg},
    name="Capacity pipeline",
)

client = Ionworks()
submission = client.pipeline.create(pipeline)
print(submission.id)
client.pipeline.create()iws.Pipeline インスタンスでも pipeline.to_config() が返す dict でも受け取れます(送信前にペイロードを確認したい場合は後者が便利です)。

要素の種類

スキーマelement_type用途
iws.direct_entries.DirectEntryentry既知のパラメータ値(文献、データシート、手動入力)を投入
iws.direct_entries.DirectEntryFunctionSchema サブクラスentry既製のパラメータセット(電解液、OCP、デフォルト等)— 直接エントリ
iws.calculations.*calculation他のパラメータから派生量を計算 — 計算
iws.DataFit / iws.ArrayDataFitdata_fit未知パラメータを測定データにフィット — データフィッティング
iws.Validationvalidationフィット済みパラメータを保留データで検証
要素名(dict のキー)はパイプラインレポートに表示されます。並び順は重要です。各要素は前段の要素が生成したパラメータを受け取ります。

送信と結果取得

完全なリファレンスは Python API を参照。一般的なフロー:
submission = client.pipeline.create(pipeline)
client.pipeline.wait_for_completion(submission.id)
result = client.pipeline.result(submission.id)
print(result.element_results)

パイプライン (理論)

パイプライン要素の概念モデルと構成方法 (英語ガイド)。

Python API

client.pipeline.create / get / list / result / wait_for_completion