Pirika logo
JAVA,HTML5と化学のサイト

Pirika トップ・ページ

Pirikaで化学
 物性化学
 高分子化学
 化学工学
 分子軌道
 情報化学

 その他の化学
 アカデミア
 MOOC講義資料
 プログラミング

ハンセン溶解度パラメータ(HSP):
 HSP基礎
 HSP応用
 ポリマー
 バイオ・化粧品
 環境
 物性推算
 分析
 化粧品の処方設計
 その他
 自分でやってみよう

雑記帳

Ad Space for you

 

Ad Space for you

 

 

 

Last Update

25-May-2017

化学工学:Antoine定数の算出プログラムの使い方

2011.4.20

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

 

プログラムにはHTML5版とJAVA版があります。

HTML5版、iPad/Mac/PCで、Safari (Mobile Safari), Chrome, FireFox4をお使いの場合にはJavaScriptを有効にしてお使いください。(IEはサポート外です。)

JAVA版、Mac/PCでJRE(Java Runtime Environment)の最新の物をインストールの上、JAVAを有効にしてお使いください。

まず最初に蒸気圧のデータを準備します。

No P(mmHg) T(℃)
1 15.1 17.4
2 32.8 30
3 59.0 40
4 59.0 40
5 95.5 50
6 152.8 60.1
7 277.2 74.9
8 404.3 75.2
9 670.6 100

圧力単位は、mmHgかKPa、温度は°CかKで表計算ソフトなどを使いテーブルを作ってください。

次にソフトウエアーを立ち上げます。環境によって見栄えは異なりますが、下のようなスタート画面が現れます。(画面はHTML5のバージョン)

ここで、左上のテキストエリアに先ほど準備した蒸気圧データの中身だけペーストします。(データの区切りはTabになります。最大データ数は250です。)そして、2列のうち、どちらが温度の列なのかを指定します。そして、温度と圧力の単位を指定します。次に沸点の値とその単位を入れます。このプログラムは、Antoine BとCパラメータの初期値に沸点を使いますので、沸点は必須です。沸点のデータ(760mmHg)を蒸気圧データに含める場合にはAppend to T-VP dataにチェックを入れてください。蒸気圧データにすでに含まれる場合にはチェックをはずしてください。そして、RUNボタンを押します。すぐに結果とグラフが現れます。赤丸が実験のデータ。青丸がフィッティングしたAntoine式で計算したデータです。

結果をコピーして元の表計算に貼り付けます。そして蒸気圧を計算して実験値との差を見ます。下のテーブルはプログラムのオプションとしてAE(PirikaMethod)を選択したものです。

No.8のデータで大きな誤差があります。実はこのデータはデータベースの誤りか、実験ミスかで正しくないことは下の図をみれば明らかです。チャートを描く手間を惜しんでデータ集を作るとこうなるので気をつけましょう。

求まったAntoine定数から蒸気圧を計算したのが、P_Calcです。これも一緒にプロットしてみましょう。縦横の軸を入れ替えてPressureはlogプロットしてありますが、Antoine定数は非常に綺麗に実験値を再現していることがわかります。

それに対して、最小二乗法を使って計算を行ってみましょう。(画面はJAVAバージョンです。グラフは出てきません。)

得られたAntoine定数を使って先程と同様、テーブルに埋め込みます。

2012.1.10

JAVAのコピー&ペーストができないという問題が指摘された。これはjava.policyを書き換えればいいそうだ。Windowsを使っているなら、こちらの記事を参照してください。

Macでは、ライブラリー/JAVA/HOMEに行き、そこのsecurityのフォルダーのオーナーに自分を入れて、その中のjava.policyを書き換える。詳しくはこちらの記事を参照(英語)

grant {
permission java.awt.AWTPermission "accessClipboard";
};

自分は全部書き換えてしまった。 もとのファイルに付け加えれば良い。(自己責任でやってください!)

2013.2.9 MacでもJava PolicyToolが使えるそうだ。自分のホームディレクトリーに.java.policyを書き込めばシステムのSeculityをいじらなくても変更できる。SafariはローカルのJava Appletを走らせる事ができなくなった。MacのWeb共有を立ち上げて、ライブラリー/WebServer/Documents/にプログラムを置き、http://localhost/から呼び出せば良い。localhostではなくhttp://10.0.1.2/などと入れてしまいお気に入りに登録してしまうと、立ち上げ直した時などに番号が変わる事があり呼び出せなくなる。

P(mmHg) T(℃) AntA(LS) AntB(LS) AntC(LS) P_Calc(LS) Δ Δ*Δ
15.1 17.4 6.7028832 1243.946 219.557 28.4 13.3 176.7408655
32.8 30 6.7028832 1243.946 219.557 52.3 19.5 379.1380981
59.0 40 6.7028832 1243.946 219.557 81.3 22.3 499.1273913
59.0 40 6.7028832 1243.946 219.557 81.3 22.3 499.1273913
95.5 50 6.7028832 1243.946 219.557 122.5 27.0 728.6271162
152.8 60.1 6.7028832 1243.946 219.557 179.8 27.0 728.4173895
277.2 74.9 6.7028832 1243.946 219.557 300.8 23.6 559.010094
404.3 75.2 6.7028832 1243.946 219.557 303.8 -100.5 10092.48218
670.6 100 6.7028832 1243.946 219.557 645.9 -24.7 610.2817263
SUM= 14272.95225

この場合は、先程のNo.8のデータの誤差は、-123.9から-100.5に減っています。ところが、他のデータポイントの誤差はかえって大きくなっていることがわかります。そして、誤差の2乗和をとると14272.95となります。先程の誤差の絶対値オプションを使った場合は、-123.9、2乗すると、15351.21になります。つまり、前提として実験値にエラーはない、誤差は無い場合には、最小二乗法はいいのですが、このようなエラーがある場合にも、-123.9のエラーをなるべく減らそうと動作します。-123.9から-100.5へと23.4減っただけで2乗和は、14272.95から10092.48と4181も減少します。そのため、他のデータポイントが10や20誤差が大きくなっても、8ポイント*20*20で3200、すなわち、4181も減少したのでお釣りが来ることになります。

そこで、これをプロットすると上図のように誤差の大きいプロットになります。市販のプロセス・シミュレータはほとんどが最小二乗法を採用しているはずです。どうしてもそうしたものを使うなら、データはよく吟味して異常値は削除してからフィッティングを行わなければなりません。さもなければ、こうした、ちゃんと工夫されたソフトウエアーを使わなくてはなりません。フィッティングがおかしいと感じたら思い出してください。

このAntoine定数の算出の理論的考察はこちらのページを参照してください。そこでも触れましたが、この方法でAntoine定数を決定すると、分子の構造と定数の間に明確な相関が得られます。それは何を意味するのかというと、構造からAntoineのBとCのパラメータを予測することができるということです。蒸気圧のデータが1点(例えば、沸点-760mmHg)があればAntoineのAも求まり温度全域で蒸気圧が計算できます。それを行うのがこちらのページです。

化学工学のトップ・ページへ戻る

 

メールの書き方講座