ionworks-api Python パッケージを使うと、シミュレーションを実行してパラメータ化パイプラインをプログラムから送信できます。インストールと認証については、Python API クライアントページを参照してください。
シミュレーションの実行
client.simulation を使ってシミュレーションを実行します。シミュレーションにはパラメータ化モデルと UCP 形式のプロトコルが必要です。
単一シミュレーション
design_parameters は protocol() における単一シミュレーション用の便宜的なフィールドです。パラメータのオーバーライドをフラットな dict[str, float] で渡すと、クライアントが内部で 1 行の離散 DOE に変換してから送信します。完全な DOE スキーマを書かずに、単一の実行で 1 つ以上の設計パラメータを変えたい場合に使用してください。
protocol() では design_parameters と design_parameters_doe は排他的であり、DOE を渡す場合はちょうど 1 つのシミュレーションに展開される必要があります。両方を同時に渡したり、複数のシミュレーションに展開される DOE を渡したりすると ValueError が発生します。複数シミュレーションのスイープには、代わりに protocol_batch を使用してください。結果を待機する
wait_for_completion を使ってシミュレーションの完了までポーリングします。このメソッドは、タイムアウトを待たずに失敗・キャンセルされたジョブを即座に検出します。
raise_on_failure=False を設定します:
実験計画法 (DOE) によるバッチシミュレーション
protocol_batch を使ってパラメータスイープにわたる複数のシミュレーションを実行します:
サンプリング戦略:
grid(すべての組み合わせ)、random、latin_hypercube。
シミュレーションデータの取得
get_result は、3 つのフィールドを持つ型付きの SimulationResult データクラスを返します。
time_series と steps はデフォルトで polars DataFrame として返されます。pandas DataFrame を受け取りたい場合は、セッション開始時に set_dataframe_backend("pandas") を一度呼び出してください。
time_series の Discharge capacity [A.h] と Charge capacity [A.h] は、ステップ境界ごとに 0 にリセットされます。time_series と steps を結合する場合は "Step count" を使用してください。連続した累積容量のトレースが必要な場合は、ステップごとの最終値を累積してください。パイプラインの実行
パイプラインは専用のページに移動しました。パイプラインおよびシンプルパイプラインの送信、 ポーリング、結果の取得、送信の管理については Pipelines API ガイド を参照してください。スタディの管理
client.study を使ってスタディを作成、一覧、更新、削除します。スタディはプロジェクトにスコープされます。
すべての client.study.* メソッドは project_id を任意のキーワード引数として受け入れます。省略すると、クライアントに設定されたデフォルトプロジェクト(または IONWORKS_PROJECT_ID から解決されたもの)を使用します。呼び出しごとにオーバーライドするには、project_id= を明示的に渡してください。
スタディの一覧
name、name_exact、order_by、order。
スタディの取得
スタディの作成
スタディの更新
シミュレーションと測定の割り当て
スタディの削除
プロトコルの管理
UCP プロトコルを検証するにはclient.protocol を使用します。
プロトコルの検証
入力参照の検索
プロトコル文字列内のinput[...] プレースホルダーを検索します。実験パラメータフォームの構築に便利です。
UCP からベンダープロトコルファイルへの変換
client.protocol.convert を使って、UCP YAML プロトコルを商用サイクラーで使用されるネイティブファイル形式に変換します。これは商用プロトコルのアップロードフローの逆です。Ionworks で設計されたプロトコルから始め、ハードウェアで実行できるファイルを生成します。
サポートされるターゲット: maccor、arbin、neware、biologic_bttest、novonix。
ConvertResult は以下を公開します:
primary_bytes— プライマリプロトコルファイルの生のバイト。text(encoding="utf-8")—primary_bytesを文字列にデコードします。save(dir)— すべての出力ファイル(プライマリと任意のサイドカー)をdirに書き込み、書き込んだパスのリストを返します。
ドライブサイクルステップを含む Maccor プロトコルは、プライマリの
.000
ファイルに加えて 1 つ以上の .MWF 波形ファイルを生成します。すべてのサイドカーがプライマリプロトコルの隣に配置されるよう、result.save(dir)
を使用してください。primary_bytes のみを処理すると波形ファイルが失われ、プロトコルはサイクラー上で実行できなくなります。一部の UCP 機能はすべての形式間で明確にマッピングされますが、各ベンダーには独自の構文と制限があります(商用プロトコル間の違いを参照)。UCP 構造がターゲット形式で表現できない場合、変換はサポートされていないステップを記述するエラーを返します。実際のサイクラーで実行する前に、商用プロトコルフローで再アップロードして出力を検証してください。
次のステップ
シミュレーション
Ionworks Studio でのシミュレーションの実行について学びます。
プロトコルリファレンス
Universal Cycler Protocol 形式の完全なリファレンスです。
データのアップロード
Python API でセルデータをアップロード・管理します。
Build API
モデルとパラメータ化モデルを一覧・取得します。