> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ionworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# パラメータ補間子

> 線形、3 次、または pchip 補間で CSV データを使用してモデルパラメータをルックアップテーブルとして定義します

## 補間子とは

**補間子 (interpolant)** は、単一の値や数式ではなく、ルックアップテーブルとして定義されるパラメータです。補間子は、単純な数学的公式を持たない実験データや複雑な関係を表すのに理想的です。

パラメータを補間子として定義するとき、離散的なデータ点を提供し、Ionworks Studio はシミュレーション中にそれらの間を自動的に補間します。

## 補間子を使う場面

補間子は特に次のような場合に有用です:

* **開回路電位 (OCP) カーブ**: 実験測定からの化学量論の関数としての電圧
* **拡散係数データ**: 濃度や温度とともに非線形に変化する拡散係数
* **温度依存特性**: 離散的な温度点で測定された物理特性
* **複雑な多変数関係**: 複数の入力に依存するパラメータ（例: 濃度と温度の両方の関数としての導電率）

<Tip>
  数学関数として表現するのが難しい実験データがある場合や、ルックアップテーブルがフィットされた方程式よりも高い精度を提供する場合に、補間子を使用してください。
</Tip>

## 補間子の作成

### ステップ 1: 互換性のあるパラメータを特定する

すべてのパラメータを補間子に変換できるわけではありません。関数入力を受け入れるパラメータのみが補間子になります。

パラメータが補間子になれるかどうかを確認するには:

1. モデルの作成またはクローン時に **Model Editor** に移動します
2. 変更したいパラメータを探します
3. パラメータ値の隣の **変更サークルアイコン** (⟳) をクリックします
4. メニューに「Interpolant」が表示されれば、パラメータは補間子をサポートします

<Note>
  スカラー値のみを受け入れるパラメータ（幾何寸法など）は補間子に変換できません。
</Note>

### ステップ 2: パラメータタイプを変換する

パラメータを補間子に変換するには:

1. パラメータ値の隣の **変更サークルアイコン** (⟳) をクリックします
2. ドロップダウンメニューから **Interpolant** を選択します
3. 補間子エディタが開きます

### ステップ 3: データを入力する

補間子データの入力には 2 つのオプションがあります:

#### オプション A: CSV ファイルをアップロードする

補間子を定義する最も速い方法は CSV ファイルをアップロードすることです:

1. 補間子エディタで **Upload File** ボタンをクリックするか、CSV ファイルをドラッグ＆ドロップします
2. CSV ファイルを次の列で整形します:
   * 最初の列: 入力変数（例: 化学量論、温度）
   * 最後の列: 出力値（パラメータ値）

**1 次元補間子の CSV 例（例: OCP 対化学量論）:**

```csv theme={null}
0.0, 3.5
0.1, 3.6
0.2, 3.65
0.3, 3.7
0.5, 3.8
0.7, 3.85
0.9, 3.95
1.0, 4.1
```

**2 次元補間子の CSV 例（例: 拡散係数対化学量論と温度）:**

```csv theme={null}
0.0, 298, 1.5e-14
0.0, 323, 2.8e-14
0.5, 298, 1.8e-14
0.5, 323, 3.2e-14
1.0, 298, 1.6e-14
1.0, 323, 3.0e-14
```

#### オプション B: 手動入力

小さなデータセットでは、データ点を手動で入力できます:

1. **Insert Row Above** または **Insert Row Below** をクリックして新しいデータ点を追加します
2. テーブルの任意のセルをクリックして値を編集します
3. データ点を入力します
4. 不要な点を削除するには **Delete Row** を使用します

<Note>
  1 次元補間子では、入力 (x) と出力 (y) の両方の値を編集できます。多次元補間子では、データのアップロード後は出力 (y) の値のみ編集可能で、入力の組み合わせは CSV で定義する必要があります。
</Note>

### ステップ 4: 補間方法を選択する

データに最も合う補間方法を選択します:

* **Linear**: データ点間の直線。粗いデータやオーバーフィッティングを避けたい場合に最適です。
* **Cubic**: 3 次スプラインを使った滑らかなカーブ。滑らかな物理的関係に理想的ですが、急峻な変化の近くでオーバーシュートが発生し、非物理的な値（例: 負の拡散係数）を生じる場合があります。
* **Pchip**: 区分的 3 次エルミート補間多項式。cubic と同様に滑らかなカーブを生成しますが、補間値が隣接するデータ点の間に収まることが保証されているため、単調なデータは単調なまま保たれ、サンプル値をオーバーシュートしません。拡散係数のテーブルや、化学量論に対して急峻に変化する OCP データに推奨されます。

<Tip>
  OCP カーブのようなほとんどの電気化学的特性については、**cubic** または **pchip** 補間が最も滑らかで物理的に現実的な結果を提供します。元のデータが単調である（または単調であるべき）場合や、制約のない cubic 補間が非物理的なオーバーシュートを生じる場合は、**pchip** を優先してください。
</Tip>

### ステップ 5: プレビューと保存

* **1 次元補間子** では、右側にデータがどのように補間されるかを示すプロットプレビューが表示されます
* 補間が物理的に妥当に見えるかプロットを確認します
* **Save** をクリックして補間子をパラメータに適用します

## 多次元補間子の操作

多次元補間子では、複数の変数に同時に依存するパラメータを定義できます（例: 濃度と温度の両方の関数としての導電率）。

### 要件

* パラメータは複数の入力を持つ関数を受け入れる必要があります
* データは、定義したいすべての入力の組み合わせを含む CSV ファイルとして提供する必要があります
* CSV 形式は `input1, input2, ..., output` です

### 例: 拡散係数(化学量論, 温度)

パラメータが `D(sto, T)` のような関数を受け入れる場合、2D 補間子を作成できます:

```csv theme={null}
stoichiometry, temperature, diffusivity
0.0, 298, 1.5e-14
0.0, 323, 2.8e-14
0.2, 298, 1.7e-14
0.2, 323, 3.0e-14
0.5, 298, 1.8e-14
0.5, 323, 3.2e-14
0.8, 298, 1.7e-14
0.8, 323, 3.1e-14
1.0, 298, 1.6e-14
1.0, 323, 3.0e-14
```

シミュレーション中、Ionworks Studio はこれらの点の間を補間して、任意の (化学量論, 温度) 組み合わせでパラメータを評価します。

<Warning>
  多次元補間子には注意深いデータ準備が必要です。シミュレーション中の外挿エラーを避けるため、入力空間が適切にサンプリングされていることを確認してください。
</Warning>

## ベストプラクティス

### データ品質

* **十分なデータ点を使用する**: 1 次元補間子では、10〜20 点で良い精度が得られることが多いです
* **全範囲をカバーする**: シミュレーション中にパラメータが遭遇する全範囲をデータがカバーすることを確認してください
* **外挿を避ける**: データ範囲外のパラメータ値を必要とするシミュレーションは外挿し、非物理的な結果につながる可能性があります
* **ノイズを確認する**: 補間子を作成する前に、ノイズの多い実験データを平滑化またはフィルタリングしてください

### 補間子のテスト

補間子を作成した後:

1. **視覚検査**: 1 次元補間子では、カーブが物理的に妥当に見えるようプロットプレビューを確認してください
2. **テストシミュレーションを実行**: 補間子付きのモデルが期待される結果を生成することを確認してください
3. **元のデータと比較**: 関数から補間子に変換する場合、シミュレーション結果を比較して一貫性を確認してください

### パラメータタイプ間の変換

パラメータは値、関数、補間子の間でいつでも切り替えられます:

1. **変更サークルアイコン** (⟳) をクリックします
2. 新しいタイプを選択します
3. Ionworks Studio は前のパラメータ定義を一時的に保存するため、同じ編集セッション内で戻すと作業が保持されます

<Tip>
  モデルを反復するとき、シンプルな関数から始めて、実験データを集めながら補間子に絞り込んでいくとよいでしょう。モデルのクローンによりこのワークフローはシームレスになります。
</Tip>

## 一般的なユースケース

### 開回路電位 (OCP)

補間子の最も一般的な用途は OCP カーブです:

```csv theme={null}
stoichiometry, voltage
0.01, 0.15
0.10, 0.35
0.20, 0.45
0.50, 0.60
0.80, 0.75
0.90, 0.85
0.99, 0.95
```

パラメータ名: `Positive electrode OCP [V]` または `Negative electrode OCP [V]`

### 温度依存導電率

```csv theme={null}
temperature, conductivity
273, 0.5
298, 1.0
323, 1.8
348, 2.9
```

パラメータ名: `Electrolyte conductivity [S.m-1]`

### 濃度依存拡散係数

```csv theme={null}
concentration, diffusivity
1000, 1.2e-14
5000, 1.5e-14
10000, 1.8e-14
15000, 1.6e-14
20000, 1.4e-14
```

パラメータ名: `Positive electrode diffusivity [m2.s-1]` または `Negative electrode diffusivity [m2.s-1]`

## 技術的詳細

### 補間アルゴリズム

* **Linear**: `kind='linear'` の `scipy.interpolate.interp1d` を使用
* **Cubic**: `kind='cubic'` の `scipy.interpolate.interp1d` を使用
* **Pchip**: `scipy.interpolate.PchipInterpolator`（単調 3 次補間）を使用

シミュレーション中は、PyBaMM の `Interpolant` クラスが補間値の評価を処理します。

## トラブルシューティング

### 「Missing values in the table」

このエラーは、データに NaN や欠落値が含まれている場合に発生します。CSV ファイルで次を確認してください:

* 空のセル
* 数値でないデータ
* フォーマットの問題

### 補間子でシミュレーションが失敗する

補間子を追加した後にシミュレーションが失敗する場合:

1. **データ範囲を確認する**: 補間子がシミュレーション中に遭遇する値の全範囲をカバーしていることを確認してください
2. **異なる補間方法を試す**: cubic から linear や pchip に切り替えてください
3. **データ点を増やす**: パラメータが急速に変化する領域でより多くの点を追加してください
4. **単位を確認する**: 入力と出力の両方でデータが正しい単位を使用していることを確認してください

### パラメータを補間子に変換できない

補間子オプションが表示されない場合:

* パラメータはスカラー値のみを受け入れ、補間子にはなれません
* 代わりに関数パラメータを使用するか、その特定のパラメータのパラメータライブラリドキュメントを確認してください

## 関連トピック

* [モデル](/ja/build/models): モデル作成とパラメータ設定について詳しく学びます
* [シミュレーション](/ja/simulate/simulations): シミュレーション中に補間子がどのように使用されるかを理解します
