逆Butler-Volmer関数

(1) 逆関数プログラムの作成

Part (2) に進む   Workbench に戻る
<Butler-Volmer 関数>

電気化学シミュレーションでButler-Volmer 関数が頻出します。 単純な電気化学反応であれば、 電極の平衡電位がE0、交換電流密度が i0 電極電位が E の時に電流密度がどのような値となるかを知ることができます。 この関数を具体的に書くと


です。他のパラメータについては説明を省きます。x は無次元量ですが y は電流密度の次元を持ちます。y/i0 を改めて y とくと無次元量の間の関係式
が導かれます。これを規格化Butler-Volmer関数と呼ぶことにします。
<逆Butler-Volmer 関数>

電池では電流密度を指定して出力電圧を求めることが必要になります。これは y を指定して x を求めることなので 逆関数 y=f-1(x) を考えることと同じになります。 α=0.5 であれば f(x)=2 sinh x と簡単な式になるので α≠0.5 として話を進めます。 y=f(x) の大きさに応じて次のように処理して x を求めました。

  1. |y|<0.2 では級数展開を使う。
  2. 0.2<|y|<20 ではNewton法で求める。
  3. |y|>20 では f(x)が単項式として処理する。
こうして関数プログラム finvNVB(x) を作成しました。このプログラムの定義域は対数関数 log(x) の定義域と同じです。
finvNVB(x)の信頼性>

プログラムの信頼性を f-1f(x)=x が成り立つかで検証しました。


理想的なプログラムであればすべての x についてε=0 となります。そこで x=0.01〜100 の範囲で 0.01 刻みでxをスキャンしてたところ領域2と領域3の境目となるx=6あたりで ε=8x10-4 となりましたが、 その他の領域ではεがずっと小さくなりました。よってこのプログラムは十分実用に耐えると思われます。

<Butler-Volmer関数と逆Butler-Volmer関数のグラフ>

α=0.45, β=0.55 の場合の y=f(x) と y=f-1(x) のグラフを右に示します。 どちらも原点を通りますが漸近形は fが指数関数、f-1が対数関数です。

9-29-2022, S. Hayashi