メインコンテンツへスキップ
直接エントリは、計算もフィッティングも行わずにパラメータ値を供給する要素です。2 つの形態があります。
  • iws.direct_entries.DirectEntry — 自分で指定したフラットな値の dict。
  • iws.direct_entries.* 関数スキーマのサブクラス(例: LandesfeindElectrolyte)— 文献由来のパラメータセット。
電解液パラメータ化の物理的背景と選択基準は、電解液直接エントリ (英語ガイド) および 電解液輸送 (英語ガイド) を参照してください。

カスタム DirectEntry

parameters には float、配列、および pybamm でシリアライズ可能なシンボルを指定できます。

pybamm.ParameterValues を介した callable パラメータ

濃度や温度に依存する補間関数など、callable をパラメータとして渡したい場合は、pybamm.ParameterValues でラップしてから渡してください。pybamm.ParameterValues 独自のシリアライズによって、各 callable がサーバ側で再構築できる記号形式に変換されます。callable を含む素の dict自動シリアライズされません。明示的にラップする必要があります。
補間 lambda のシグネチャは厳密に (c_e, T)(または対応する pybamm 入力変数)としてください。ルックアップ配列や名前などの追加入力は、デフォルト引数ではなくクロージャで取り込みます。デフォルト引数はシリアライズ時に関数入力として推論されてしまい、再構築に失敗します。

電解液の直接エントリ

system"EC:DMC (1:1)""EC:EMC (3:7)""EMC:FEC (19:1)" のいずれかを指定します。

マテリアルデータセットから電解液輸送を構築

測定済みの電解液輸送物性(導電率、拡散係数、輸率、熱力学因子)の濃度依存データを マテリアル物性データセット として保有している場合、client.electrolyte.transport_from_dataset() を使うとそのデータセットを濃度依存関数の pybamm.ParameterValues に変換でき、そのまま DirectEntry に投入できます。 各物性は、パラメータごとに次の 2 通りのいずれかで表現できます。
  • "interpolant"(デフォルト) — 測定点をテーブル化した pybamm.Interpolant(線形外挿)。
  • "landesfeind" — その物性に対する等温の Landesfeind & Gasteiger (2019) 関数形を測定点にフィットしたもの。テーブル補間と異なり、フィットされた導電率および拡散係数の関数形は最小測定濃度を下回っても正かつ有限に保たれるため、電極近傍で電解液が枯渇する高レート DFN 解析でも数値安定性が維持されます。

引数

"landesfeind" 形式は Electrolyte conductivity [S.m-1]Electrolyte diffusivity [m2.s-1]Cation transference numberThermodynamic factor で利用可能です。データセットは等温として扱われ、フィットされた各関数形は濃度のみに依存します。

区分的補間直接エントリ

SOC または温度に依存するパラメータには、iws.direct_entries.PiecewiseInterpolation1D / PiecewiseInterpolation2D を使用します。計算 → 区分的補間 を参照してください。

直接エントリの係数をフィッティング

LandesfeindElectrolyte 内部の輸送物性係数は、フィット未知数として上書きできるよう名前付きパラメータとして公開されています。直接エントリをパイプラインに置き、後段の DataFit で同じパラメータ名を参照してください — 公表値がベースとなり、上書きされた係数を最適化器が探索します。

電解液直接エントリ (理論)

4 つの輸送物性の物理 (英語ガイド)。

パイプライン概要

直接エントリがパイプライン全体でどう位置付くか。