事例
ストリーマー放電の多目的最適化
プラズマ解析ソフトウェア VizGlowの使用例として、ストリーマー放電の動作条件の多目的最適化を行います。
円錐型の電極が2つある。上側が陽極、下側が陰極。電極間隔は 5 mm。その間にストリーマー放電が起こっている。
以下の、3つの目的を満たすような動作条件を求めます。
- 目的1:電極へのN2+イオンの衝突数を最小にする
- 目的2:電極へのO2+イオンの衝突数を最小にする
- 目的3:電流を最大にする
シミュレーションで扱いやすくするため、「イオンの衝突数」と「電流」を、以下の目的変数に読み替えています。
- 目的変数1: 1 ナノ秒時点での、陰極への N2+イオンの到達レート
- 目的変数2: 1 ナノ秒時点での、陰極への O2+イオンの到達レート
- 目的変数3: 1 ナノ秒時点での電流
これらの条件が、互いにトレードオフの関係になっているかどうか判断できるように、可視化します。これによって、どの条件を優先したいときにどのような動作条件に設定したらいいかの判断ができます。
調整する動作条件は、以下の2つの値で表します。
- 説明変数1: 電極間の電位差 (10 kV から 30 kV の間で調整)
- 説明変数2: 気体の組成 (CO2およびH2Oのモル比を等しいとして、その値を 0.0 から 0.2 の間で調整)
ストリーマー放電のシミュレーションは、VizGlow で行います。計算条件は
- ガス種 空気 (CO2およびH2Oのモル比を調整)
- 気体の圧力: 101000 Pa
- 気体初期温度 343 K
- 計算時間 1 ns (目的変数は、この時点で測定)
です。
最適化には、R言語 の GPareto パッケージを用いています。
説明変数のグラフ、目的変数のグラフ、そしてシミュレーション結果を下に動画で示します。
動画
このように探索が進みます(動画)
左:説明変数(モル比、電位差) 右:目的変数(N2+イオンとO2+イオンの入射数、電流)
数字(1から20まで)は、何回目のシミュレーションかを示します。
VizGlowのシミュレーション結果。放電開始から 1 ns 時点。 左から、電位(V)、N2+イオン密度(#/m^3)、O2+イオン密度(#/m^3)、電子密度(#/m^3)。
目的変数のプロットで、右上のはずれにある解は、プラズマの計算が発散したことを示します。
目的変数
目的変数の図
目的変数が3つだったので、それがどのような関係になったかは3次元の図で示すことができます。 目的変数について、上の動画で示した2次元図3つと、3次元図との関係を下図に示します。
2次元の図3つに、今回実行したシミュレーションを数字(1から20)で示します。 そのうち、今回の目的変数の条件を満たす解(条件をよりよく満たす解が無い解。パレート解と呼ばれる)を、 青色~赤色の丸印で示しています。 今回は、ほとんどの解に丸印がついています。つまり、パレート解になっています。(プラズマシミュレーションが発散したものを除く。)
結果
結果
広い説明変数の範囲を探索しましたが、ほとんどの解が、それぞれ目的に適った解(下図の丸印)になっていました。
シミュレーションを行った説明変数の組み合わせ(横軸:電位、縦軸:CO2とH2Oのモル比率)
イオンの到達レートを低く、電流を高くするという目標は、それぞれ片方が成り立てば、片方が成り立たなくなるという関係になっていました。(N2+イオンと電流のプロット、O2+イオンと電流のプロットより)。一方、 N2+イオンの到達レートを少なくすることとと、O2+イオンの到達レートを低くすることとは、矛盾せず、どちらかが下がればもう一方も下がるという関係になっていました。
シミュレーション結果の目的変数の値
このように、
プラズマ解析ソフトウェア VizGlow とR言語を組み合わせて使うことで、 プラズマ装置の、目的に応じた最適な動作条件を決定するための情報が得られます。