徒然なる科学日記

日常で気になった現象を科学的な視点で解説します

phreeplotの使い方

はじめに

今回は無料で利用できる平衡熱力学計算ソフトであるphreeqcの拡張アプリであるphreeplotの使い方について解説しようと思います。

phreeplotでできること

電位-pH図(pourbaix-diagram)の作成
化学ポテンシャル図の作成
等高線図の作成
溶液種濃度のpH依存性

などが計算できます。

インストール方法

phreeplotはphreeqcの計算機能を用いてグラフを作成するソフトなのでまずはphreeqcをインストールしてください。phreeqcの公式ホームページはこちらになります。
https://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc/


phreeqcが正常にインストール出来たらphreeplotの公式ホームページのトップページに行きます。
www.phreeplot.org

トップページにdownloadという項目がありますので図の赤丸の部分のリンクからphreeplot本体をダウンロードします。OSはwindowsのみでOSのバージョンによって32bit版か64bit版を選択してください。
f:id:sci_report:20190306211226p:plain

ダウンロードが完了したら指示に従ってインストールしてください。ここでインストールフォルダがデフォルトで

ユーザー名/appdata/roaming/phreeplot

のようになっていると思いますが私の場合はこのままインストール作業を進めました。インストールフォルダを変更した場合に正常に動作するかどうかは未検証です。

ここまででphreeplot自体は使用できるようになります。しかし、phreeplotが出力したデータファイルを表示するためのソフトが必要となります。phreeplotの場合、計算結果はpsファイルとして出力されるのでpsファイルを表示するためのソフトが必要となります。psファイルはAdobeIllustratorなどで開くことができますがphreeplotの公式サイトではGSviewによる方法を推奨しています。GSviewはGhostscriptというインタプリタ言語上で動作するのでGhostscriptのインストールも必要です。

GSviewとGhostscriptは図の赤丸の部分のリンクからダウンロード可能です。
f:id:sci_report:20190306213529p:plain

リンクを開くと次のようなページが表示されると思います。矢印の部分がGSviewのダウンロードページになります。
f:id:sci_report:20190306213848p:plain

またこちらがGhostscriptのダウンロードページになります。
f:id:sci_report:20190306213958p:plain

GSviewとGhostscriptをダウンロードしたらそれぞれインストールします。以上でphreeplotを使用するための準備は終了です。

使ってみる

では実際にphreeplotを使ってみましょう。インストールしたPhreePlotフォルダの直下にdemoというフォルダがあると思います。その中にはphreeplotのサンプルがたくさん入っていますので参考になるかと思います。ここでは電位-pH図の作成方法を説明します。

まず適当なサンプルからppiファイルをコピーしてきて内容を編集します。ppiファイルはテキストデータなので右クリックしてテキストエディタなどで開けば編集できます。私の場合、ヨウ化物イオン共存下での銅の電位-pH図が欲しいので以下のように記述しました。

SPECIATION
calculationType "ht1"
calculationMethod 1
mainSpecies Cu
xmin 2
xmax 12
ymin -90
ymax 0
resolution 250

PLOT

xtitle pH
yscale Eh
pymin -1
pymax 1.25
#pymajor 0.5
#extraText extratextCuI.dat

CHEMISTRY

include 'ht1.inc' # for a predominance diagram

#PHASES

SOLUTION 1
temp 60
pH 0.8 # lower than min pH
units mol/kgw
Cu 1e-4 # total Cu
K 5e0 # background electrolyte
I 5e0
SAVE solution 1
END

# loop here
USE solution 1
EQUILIBRIUM_PHASES 1
Fix_H+ - KOH
-force_equality true
O2(g)

CuMetal 0 0
Tenorite 0 0
Cuprite 0 0
Cu(OH)2 0 0
CuI 0 0
END

ppiファイルの中身は大きく分けて5つのパートに分かれています。最初がSPECIATIONです、ここではどのような計算をするか指定します。電位-pH図や化学ポテンシャル図を作成する場合には calculationTypeに"ht1"を指定しましょう。また、mainSpeciesには注目する元素を指定します。ここに二つ以上の元素を指定する場合はCu Agなどのようにスペースを空けて記入します。二つ以上の元素を指定した場合はそれぞれの元素に対応した2枚の電位-pH図が出力されます。

xmax,xmin,ymax,yminは図のx軸とy軸の範囲を指定するパラメータです。電位-pH図を計算する場合、phreeplotの内部では電位ではなく酸素分圧で計算をしているのでyの値は電位ではなく酸素分圧で記入しています。

次にPLOTについてです。ここでは出力されるグラフに関する数値を指定します。yscaleに何も指定しないと縦軸が酸素分圧になりますがここにEhを指定することで縦軸が標準水素電極になります。しばしば現れる#(シャープ)はコメントアウトの意味なのでその行の#以降の文字は無視されます。

CHEMISTRYの部分ではデータベースの情報などを記述しますが、今回は特に何も書きません。

SOLUTION 1では計算に用いる溶液のデータを指定します。tempは温度、unitsは濃度の単位を指定します。pHは計算させる範囲よりも低い値を指定することになっています。そして溶液中に存在する元素の濃度を記述します。今回は銅が10^-4 [mol/kg]の濃度で存在することになります。

最後はEQUILIBRIUM_PHASES 1の条件を指定します。ここでは水素イオン濃度をx軸に指定したいのでFix_H+ - KOHと記述しています。このの部分を他の箇所(例えばSOLUTION 1の元素濃度の位置)などに持っていけばx軸を他のパラメーターに変更できます。また、縦軸は酸素分圧を指定するのでO2(g) としています。縦軸は酸素分圧で計算されますが最終的には yscaleをEhに指定しているので標準水素電極基準の電位として出力されます。

また、デフォルトの設定では溶液種のみが出力されるので固相も含めた電位-pH図が欲しい場合は計算に含める固相の名前を書き足す必要があります。元素単体の場合はCuMetalのように元素名+Metalとなります。また、化学式では認識されず鉱物名を入力すると認識される場合が多いです。データベースに計算したい物質が含まれているか調べたい場合はphreeplotのデータベースを見ると良いでしょう。

これらの計算条件を指定した後にppiファイルをクリックで実行すると黒いウィンドウが開きなにやら計算を始めます。計算が終わるとppiファイルと同じフォルダに様々なファイルが生成されますが、そのうちpsファイルが計算結果のグラフになります。GSviewとGhostscriptが正しくインストールされていればpsファイルをクリックするだけで目的のグラフが表示されます。
f:id:sci_report:20190306222058p:plain

今回はここまでとさせていただきます。皆様の参考になれば幸いです。