電気化学のシミュレーション:Python を使ってみる2020/02/07(金)
前回のエントリ、「電気化学のシミュレーション」の続きです。Excel シートを使ったシミュレーションは、初心者にも理解しやすい利点がありますが、柔軟性に欠けます。このシートで十分に電気化学シミュレーションの原理を理解した上で、もう少し本格的なシミュレーションに進むのがよいでしょう。
こういう計算をするためには、何か1つプログラム言語を学んでおきたいところです。今回は、Python を使ってみることにしました。近年、機械学習やら何やらで、Python はずいぶんと持て囃されております。試してみて損はないでしょう。得になるかどうかは知りませんが…
Python の公式ウェブサイトは、www.python.org です。ここから Downloads に進みます。Windows なり Mac OS X なり、必要なものを選んでください。
下のような画面になります。自分の環境 (64 bit or 32 bit) に合ったインストーラをダウンロードします。Windows では "executable installer" がよいでしょう。
インストールしたあと、もう一手間が必要です。Python には、世界中のユーザーが作った多くの「ライブラリ」があって、目的に合わせた機能を簡単に実現してくれます。今回は、NumPy と matplotlib というライブラリを使います。NumPy は科学技術向けの数値計算を行うライブラリ、matplotlib はグラフを描画するライブラリです。この2つがあれば、「数値計算でシミュレーションを行って、その結果をグラフにする」という最低限の目的は達成できます。
ライブラリをインストールするには、下のコマンドを使います。Windows では「コマンドプロンプト」か「PowerShell」、Mac OS X では「ターミナル」を開いて、文字列を打ち込んでください。なお、matplotlib をインストールすると、NumPy も同時にインストールされます。
python3 -mpip install matplotlib # Windows では python3 の代わりに py
前回の Excel シートの "EC2" タブと全く同じ結果になるように、シミュレーションのプログラムを書いてみました。
上下左右が反転しているのは、「酸化電位が右、酸化電流が正で上」という表示にしたためです。電気化学の軸の表示方法には、この流儀と、前回の Excel シートのように「還元電位が右、還元電流が正で上」という流儀がありますが、うちの研究室は前者の流儀です。
プログラムはこちらです。これを echem.py
という名前で保存して、下のコマンドで実行してください。
python3 echem.py # Windows では py echem.py
ここではプログラムの解説はしません。Excel シートと見比べて、何をしているのかを読み解いてみてください。