pirika logo

Home 化学 HSP 情報化学+教育 PirikaClub Misc.
化学トップ 物性化学 高分子 化学工学 その他

ピリカで化学工学

2011.4.15

非常勤講師:山本博志 講義補助資料

ASOG (Analytical Solutions of Groups)法による活量係数推算

pirikaで提供するプログラム

HTML5バージョン(2011.4.19)
JAVA バージョン (JAVAが動作するようにブラウザーを設定してください)1999.2

推算法まとめ

Wilson式、NRTL式は局所モル分率の概念を導入した式であり、2成分系の気液平衡データから決定されるWilsonパラメータ(気液平衡のデータからWilsonパラメータを決定するにはこちらのJAVAアプレットを参照して頂きたい。)のみから多成分系の気液平衡を精度良く推算できるので、非常に便利な活量係数式として利用されている。
しかし、この方法は、1000種類の溶媒があったときに、1000*999ペアのWilsonパラメータが必要になる。こうしたものをすべて入手することは不可能である。
そこで、ASOGやUNIFACというグループ溶液モデルが開発された。

グループ溶液モデルとは、溶媒分子を、その分子を構成するグループ(原子団:CH3, OH, O=C<, COO, COOHなど)に分割し、溶液の物性はそのグループ同士の相互作用の総和で推算できるとするモデルである。
例えばPirikaで開発した物性推算式(沸点、臨界点、密度、蒸気圧、表面張力など)の多くは、このグループ寄与法をベースにしている。

ところが、最近、ASPEN+をはじめとするプロセス・シュミレータや表計算ソフトを使った化工計算が台頭してきて、中身がわからなくても計算ができるようになってしまった。
(Pirikaにもその責任の一端はあるが....)
また、モデル自体も最新のものは、どんどん複雑化して、とてもじゃないけど数学が嫌いで化学を専攻した自分にとっても理解の範囲を越えている。

そこで、もう一度初歩に戻って説明してみようと思う。

まず、活量係数(Wikiの記事)だ。
これは、理想系と実在系の間にある、ずれを修正するために導入された1種の濃度のことだ。
でも、Wikiの記事を読んでも何のことかわからない。(これが判るならこの先を読む必要はない)

もっと簡単に説明しよう。 ある物質AとBがあったとする。XaとXbが気相中のAとBのモル分率だったとする。

そしてPaとPbを蒸気圧とすると次の関係がある。
P(全圧)= Pa + Pb
Pa=XaP
Pb=Xb
P

つまり、Xa(A成分の気相中のモル分率)=1だった場合に(当然、Xb=0になる)Pa=Pになる。
蒸気相にはA成分しかいないので、全圧PはA成分の蒸気圧(Pa)になる。

もしA,Bの組み合わせが理想的であったなら、液相の成分を0-1モル分率で変化させたときに、次のようなグラフになる。

P(全圧)は各成分の蒸気圧の和で表される。この関係をラウール(Raoult)の法則という。
ところが実在の液体の多くはこのように振舞わない。

負にずれたり、

正にずれたりする。

理想的に振舞うペアとしては、ベンゼン-トルエン系などがある。
負にずれるものとしては、アセトン-クロロホルム系、正にずれるものとしては四塩化炭素-メチルアルコール系などがある。

単純に言ってしまえば構造、大きさが非常に似通っていれば理想的に振舞う。
そこで、構造が似通っていないものに”活量係数”を使ってズレを補正してしまおうと、ギルバート・ルイスが考え出した。

P*yi = γi *xi *Ps i

P:全圧、
yi : 蒸気相のi成分のモル分率、
xi : 液相のi成分のモル分率、
Psi : i成分の蒸気圧としたときに、
γi : i成分の活量係数

を入れてずれを補正してしまおうという考え方だ。
γi *xiを実効の濃度とすれば、式は理想溶液の式に戻る。

もともとズレのない理想溶液ではγは1になる。
それでは、負にズレるということはどういうことだろう? 
本来この温度ではこれだけの蒸気圧を持つはずなのに、実際の蒸気圧はそれよりも低いよ、ということなので、ふたつの分子が相互作用をして、信州、信濃の新蕎麦よりも私はあなたのそばが良い、と気相に出て行かない状態だ。

逆に正にズレるのは、こんな不愉快な所にはいられない、家出してやると蒸気圧以上に気相に出て行く状態だ。

それの度合いを活量係数γで吸収している。

その関係をエタノールで説明すると上図の様になる。

ベンゼンやヘキサンなどのようにエタノールに似ていないものは、ある温度での蒸気圧以上にたくさん蒸気相に出てくる。

酢酸などとは強く相互作用して蒸気相に出てこない。

このγは濃度によって変化する。例えば、ヘキサンとアセトンでは下の図のようになる。

極性がずいぶん違うので、あなたのそばには居たくない。周りにどんどん嫌なやつが増えてくると、ますますそばに居たくないので、活量係数は大きくなる。

これを0の所に補外したものが、無限希釈活量係数だ。

前振りが長かったが、このようにAntoineパラメータなどの蒸気圧が計算できて、ある濃度のときの活量係数が推算出来ればこうした気液平衡が推算できる。

それでは、任意の溶媒ペアの活量係数はどうやって推算できるだろうか?

ASOG法を使えば推算できる。

ASOG法

溶液中の成分iの活量係数をγiとした時に、ln(γi)は溶液の成分分子の大きさの違いによる効果を示す ln(γiFH )とグループ間の相互作用の効果を示すln(γiG )の和として表すことができる。

ln(γi) = ln(γiFH ) + ln(γiG )

このうち、分子の大きさを表すln(γiFH) の項は簡単に言ってしまえば、水素を除いた重原子の数の関数になる。
ただ、CH3、CH2、CH、Cで大きさは変わるので、CHでは0.8個分、Cでは0.7個分と係数をつける。

グループ間の相互作用の効果を示すln(γiG)は、原子団の組み合わせごとに、例えばCH3ーO=C<の時にはいくつ、というように値が定められる。

またこの効果は温度の関数であるので、温度の係数も定められている。そこで、原子団-原子団のグループ活量係数と温度係数が、調べたい溶媒中のすべての原子団ペアについて求まっていれば、溶媒同士の全体の活量係数は簡単に計算できる。

例えば、Journal of Chemical Engineering of Japanの論文には、46種類の原子団についてここまで決まっていますというグラフが載っている。

まだ完全に埋め尽くされているわけではないが、汎用の溶媒であれば多くのものが計算可能だろう。

このマトリックスがすべて埋まっている、CH3(CH2,CH,C), OH, O=C<, COO, COOHだけから作れる溶媒のペアの活量係数とアントワン定数から、気液平衡を計算するプログラムを作成してみた。

実際に試してみて、どう動作するのかを理解してみてほしい。

HTML5+CSS+Javascriptバージョン
原子団の数、アントワン定数はマニュアルで入力する。
iPadなどのiOSでも動作するはずだ。使い方はこちらを参照いただきたい

JAVAバージョン:マシンにJRE(Java Runtime Enviroment)をインストールしてあれば動作する。(ただし古いプログラムなので環境によっては動作しないかもしれない)分子はお絵かきプログラムを使って描画する。蒸気圧はpirikaの物性推算式を使って推算する。

2013.5.17 分子の構造のみから気液平衡を推算(Antoine定数もいらない)するプログラム、Y-VLEを開発してみた。

正則溶液理論を拡張したものだ。


Copyright pirika.com since 1999-
Mail: yamahiroXpirika.com (Xを@に置き換えてください) メールの件名は[pirka]で始めてください。