熱水溶液の性質(解説)
このページでは,熱水溶液の性質を計算するプログラムや計算式を解説します。
(平成30年8月8日更新,前回の更新 平成29年1月19日)
《熱水溶液の性質を計算するプログラム》
私は電脳組が販売するソフトBASIC/98 (ver. 5)をWindows 7上で使用しています。ここでは,私が作成したプログラムをテキスト形式で保存したものをダウンロードできるようにしました。BASIC/98でテキスト形式で保存したファイルを開き,save"***.bas"の形式(アスタリスクはプログラム名)で保存すれば,BASIC/98のプログラムとして使用できます。倍精度書式制御文字の「#」がプログラムリストから脱落することがしばしば起こりますが,コンピュータ内部では倍精度の値として計算されています。これは,「PRINT !」のコマンドを用いて確認できますので,気になる場合はこのコマンドで確認して下さい。
熱力学的性質を計算するプログラム
純水に関するHaar-Gallagher-Kellの式(HGK式)(テキスト形式)
Haar-Gallagher-Kellの式を用いた純水の熱力学的性質に関する計算プログラム(PDF)
(平成30年8月8日PDF更新)
表2中のSの値を訂正しました(計算プログラムの修正はありません)。
(平成29年 1月19日更新)
配列変数MGの名前をHGKGに改めました。値が1である変数FTをかけあわせることしか行っていないので,FTを削除しました。これと関係してline
29100とline 29250を削除しました。変数DPDT1はDPDTと同じなのでDPDTに統一しました。
(平成29年 1月19日PDF更新)
プログラムの修正に対応させてプログラム中の変数とprogram listを修正しました。変数DPDXの意味について加筆しました。表2中の計算結果の中でCVの値が正しく記入されていなかったことと表6中の計算結果の中で液相のDP/DTの値と気相の圧力が正しく記入されていなかったので訂正しました。これらの訂正は計算結果を表にする時の誤記入を正すものです。その他に,文字の位置調整,表罫線の一部削除,脱字の修正を行いました。
(平成28年 3月 1日更新)
line 29850中で読み込む定数UREFとSREFの値を修正しました。これによって,三重点における液相の内部エネルギーとエントロピーの値が0に近い値になりました。以下に記す変更内容は計算結果に大きな影響を及ぼしません。温度と圧力から密度を計算するための収束条件を厳しくするためにline
17200からline 17300を修正しました。気液平衡条件を満足しているのかどうかをチェックするline 27350での判定条件を厳しくしました。line
24000中の(D/DDZ)の二乗を求める演算とline 25250中のDPDTの二乗を求める演算をべき乗ではなく掛算で行うように改めました。line
20700とline 27250中のT*GASCONとGASCON*Tをいずれも変数RTに改めました。不要な印字を行っているline 11410と計算上不要なline
12100を削除しました。line 12100の削除に伴ってline12050中のGOTO文を削除しました。line 12000中の不要なIF文を削除しました。変数DDQQは計算に使用していないのでline
23450を削除し,同じ理由で変数ZZQを含むline 22510,変数GBを含むline 20750,変数HBを含むline 20950を削除しました。前回の更新でline
22310からline 22330,line 22360からline 22370,line 22610を加えましたが,これらを削除して以前の命令文(line
22250とline 22600)に戻しました。プログラム全体に渡って,割り算を連続して行う時には括弧で括って計算するようにしました。実際には不要ですがline
23100を計算に組み込みました。
(平成28年 3月 1日PDF更新)
UREFとSREFの値の修正と関連してサブルーチンTHERMDTの説明,温度と圧力から密度を計算する方法およびプログラム中の変数に関する内容を修正しました。サブルーチンQQTDとCORRTPDLDVDELGの説明に加筆しました。その他のプログラムの修正に対応させてプログラム中の変数とprogram
listを修正しました。
(平成26年11月25日更新)
line 16250と16300と19100は不要なので削除しました。19100の削除に伴いline 19150を修正しました。line 18650中のPをPPPに修正しました。これらの修正は計算結果に影響しません。
(平成26年11月25日PDF更新)
サブルーチンBASEDTの説明を訂正しました。プログラム中の変数Q2Aの説明を訂正し,変数SREFとUREFの説明に加筆しています。プログラムの修正に対応させてprogram
listを修正しました。内容の変更ではありませんが,その他にも細かい所を修正しました。
(平成25年11月1日更新)
line 13550とline 14950を修正しました。これらの修正は646.3 Kより高温で臨界点までの気液平衡計算を正しく行うための修正です。この修正以外に次の計算結果に影響しない修正を施しています。line
11160を追加し,line 11200からline 11350とline 11450からline 11500を削除しました。そして,line
11400とline 11550を修正しました。これらの修正は重複する計算を省略するためです。line 12650とline 14050とline
15450中のDQをDPDDに改めました。さらに,計算に使用していない変数WMを削除しました。そして,入出力の形式を変えました。
(平成25年11月1日PDF更新)
サブルーチンにおける計算の説明に加筆し,プログラム中の変数の箇所で用いる数式表記を改めました。
プログラム中の変数QPの説明を訂正しました。ただし,数式の訂正はありません。そして,入出力の形式を変えました。
飽和蒸気圧条件での純水に関するHGK式(テキスト形式)
Haar-Gallagher-Kellの式を用いた飽和蒸気圧における純水の熱力学的性質に関する
計算プログラム(PDF)
(平成29年 1月19日更新)
配列変数MGの名前をHGKGに改めました。値が1である変数FTをかけあわせることしか行っていないので,FTを削除しました。これと関係してline
26300とline 26450を削除しました。変数DPDT1はDPDTと同じなのでDPDTに統一しました。
(平成29年 1月19日PDF更新)
プログラムの修正に対応させてプログラム中の変数とprogram listを修正しました。変数DPDXの意味について加筆しました。その他に,文字の位置調整,脱字の修正を行いました。
(平成28年 3月 1日更新)
line 27050中で読み込む定数であるUREFとSREFの値を修正しました。これによって,三重点における液相の内部エネルギーとエントロピーの値が0に近い値になりました。以下に記す変更内容は計算結果に大きな影響を及ぼしません。温度と圧力から密度を計算するための収束条件を厳しくするためにline
19800からline 19900を修正しました。気液平衡条件を満足しているのかどうかをチェックするline 24550での判定条件を厳しくしました。line
18100中の(D/DDZ)の二乗を求める演算とline 20900中のDPDTの二乗を求める演算をべき乗ではなく掛算で行うように改めました。line
14800とline 24450中のT*GASCONとGASCON*Tをいずれも変数RTに改めました。line 23650中の不要な印字を行う命令を削除しました。変数DDQQは計算に使用していないのでline
17550を削除しました。同じ理由で変数GBを含むline 14850,変数HBを含むline 15050を削除しました。また,変数ZZQは変数QKに置換できるので,line
16400を削除しline 16650中のZZQをQKに置換しました。プログラム全体に渡って,割り算を連続して行う時には括弧で括って計算するようにしました。
(平成28年 3月 1日PDF更新)
UREFとSREFの値の修正と関連してサブルーチンTHERMDTの説明とプログラム中の変数に関する内容を修正しました。サブルーチンQQTDとCORRTPDLDVDELGの説明に加筆しました。その他のプログラムの修正に対応させてプログラム中の変数とprogram
listを修正しました。
(平成26年11月25日更新)
line 18850と18900と24050は不要なので削除しました。24050の削除に伴いline 24100を修正しました。line 23600中のPをPPPに修正しました。これらの修正は計算結果に影響しません。
(平成26年11月25日PDF更新)
サブルーチンBASEDTの説明を訂正しました。プログラム中の変数Q2Aの説明を訂正し,変数SREFとUREFの説明に加筆しています。プログラムの修正に対応させてprogram
listを修正しました。内容の変更ではありませんが,その他にも細かい所を修正しました。
(平成25年11月1日更新)
line 11060とline 12310を追加しました。これらの修正は646.3 Kより高温で臨界点までの気液平衡計算を正しく行うための修正です。この修正以外にline
11550とline 12800中のDQをDPDDに改めました。この修正は計算結果に影響しません。計算に使用していない変数WMを削除しました。そして,入出力の形式を変えました。
(平成25年11月1日PDF更新)
解説文書と同内容の部分を削除し,計算のフローシートを解説文書に移動させました。サブルーチンにおける計算の説明に加筆し,
プログラム中の変数の箇所で用いる数式表記を改めました。プログラム中の変数QPの説明を訂正しました。ただし,数式の訂正はありません。
また,飽和蒸気圧条件での計算に使用しない 変数をプログラム中の変数のリストに 挙げていたので,これらを削除しました。
入出力の形式を変えました。
Program listを見ると,1のProgram listとは サブルーチンの並べ方(行番号)が違っています。並べ方を統一する方 が見栄えが良いのですが,
そのままにしています。
塩化ナトリウム水溶液に関するPitzer-Peiper-Busey式(PPB式)係数補正なし(テキスト形式)
塩化ナトリウム水溶液に関するPitzer-Peiper-Busey式(PPB式)係数補正あり(テキスト形式)
係数補正ありの計算プログラムをいずれ削除します。
塩化ナトリウム水溶液の熱力学的性質を求める計算プログラム(PDF)
(平成29年 1月19日更新)
「係数補正なし」のプログラムを次のように修正しました。配列変数MGの名前をHGKGに改めました。line 12200中に誤字があったので訂正しました。
(平成29年 1月19日PDF更新)
誤解を避けるために「水溶液の浸透係数」を「水溶液中の水の浸透係数」に修正しました。プログラムの修正に対応させてプログラム中の変数とprogram
listを修正しました。変数DPDXの意味について加筆しました。その他に,文字の位置調整,表罫線の一部削除,脱字の修正を行いました。
(平成28年 3月 1日更新)
「係数補正なし」のプログラムを次のように修正しました。まず,HGK式を用いる計算に使用する定数であるUREFとSREFの値を修正しました。これによって,純水の三重点において液体状態の純水の内部エネルギーとエントロピーの値が0に近い値になりました。line
31660を追加してMG(37)からMG(40)の値が0になるようにしました。あわせてline 24560を追加しました。さらに,水1g当りに換算した気体定数に水のモル質量をかける演算を気体定数の値をそのまま使用するようにして,line
37060からline 37300を修正してline 37051からline 37310としました。水1g当りの気体定数値は,気体定数を水のモル質量で割って得られる値を丸めて小数第五位まで求めた値です。丸めているために,1g当りの気体定数値に水のモル質量をかけても気体定数の値と厳密には一致しません。今回の修正は,この点を正したものになります。以上の修正の結果,25℃で1気圧の条件下で標準状態での塩化ナトリウムの部分モルエンタルピーと部分モルエントロピーの値がPitzer達が与えた値とほぼ一致するようになりました。不要な演算であるline
23150,line 23200,line 23350です。サブルーチンDEBYEHUCKEL中での密度の単位変換は不要ですので,line 34900,line
35050,line 35100を削除しました。サブルーチンDEBYEHUCKELとサブルーチンNACLAQ中の変数DDをすべてDに改めました。質量モル濃度の入力値が0以下の時には入力し直す命令文をline
11660として付け加えました。臨界温度以上では飽和蒸気圧の計算を行う必要がないのでline 11950を削除してline 11810を追加しました。計算結果にほとんど影響しませんが,温度と圧力から密度を計算するための収束条件を厳しくするためにline
14850からline 14950を修正しました。さらに,気液平衡条件を満足しているのかどうかをチェックするline 28200での判定条件を厳しくしました。さらに,line
33450から33800で読み込むパラメータの一部を修正しました。この修正でパラメータの有効桁数が8桁から10桁に改まっています。計算結果に影響しませんが,line
18350とline 28100中のT*GASCONとGASCON*Tをいずれも変数RTに改めました。line 12100中のT=<647.126#の不等式はline
11950のIF文があるので不要となります。そこで,この箇所を削除しました。line 12500からline 12600およびline 13200からline
13250およびline 13350中で使用している変数FHあるいはFTを削除しました。これと関連してline 29610からline 29700,line
29950とline 30100,line 32550とline 32600とline 32950とline 33000を削除し,line 10350を修正しました。そして,line
33050中の文字列A4$を削除しました。変数ZZQは変数QKに置換できるので,line 19950を削除しline 20200中のZZQをQKに置換しました。変数DDQQは計算に使用していないのでline
21100を削除しました。同じ理由で変数GBを含むline 18400,変数HBを含むline 18600を削除しました。line 21650中の(D/DDZ)の二乗を求める演算とline
22900中のDPDTの二乗を求める演算をべき乗ではなく掛算で行うように改めました。line 11450と11500中の字句(Pitzer et
al.)を削除し,line 12200中の印字命令文中の誤字を訂正しました。プログラム全体に渡って,割り算を連続して行う時には括弧で括って計算するようにしました。
(平成28年 3月 1日PDF更新)
「係数補正なし」と「係数補正あり」の両方の解説について,UREFとSREFの値の修正と関連してサブルーチンTHERMDTの説明とプログラム中の変数に関する内容を修正しました。サブルーチンQQTDとCORRTPDLDVDELGの説明に加筆しました。サブルーチンUNITについて不要な説明文を削除しサブルーチンBLOCKDATAとPARAMETERSとNACLAQに関して少し加筆しました。入力について加筆しました。その他のプログラムの修正に対応させてプログラム中の変数とprogram
listを修正しました。
(平成26年11月25日更新)
「係数補正なし」のline 12200を訂正し,不要なline 13900と13950を削除し,line16300中のPをPPPに改めました。「係数補正あり」についても全く同じ修正を施しました。
(平成26年11月25日PDF更新)
サブルーチンBASEDTの説明を訂正しました。プログラム中の変数GEXREFとQ2Aの説明を訂正し,変数SREFとUREFの説明に加筆しています。変数ZBとZBASEを使用していないので,これらの説明を削除しました。プログラムの修正に対応させてprogram
listを修正しました。内容の変更ではありませんが,その他にも細かい所を修正しました。
(平成25年11月1日更新)
入力形式と出力形式を改めました。「係数補正なし」および「係数補正あり」のline 23250, 24500, 25450, 25500, 25600,
25650, 25800を訂正し,line 23310を追加しました。 訂正箇所は,定圧熱容量に関するデバイ−ヒュッケルのパラメータに影響を与えます。ただし,その影響は無視できる程度のものです。「係数補正なし」および「係数補正あり」のline
30500を訂正しました。この訂正は計算結果に影響しません。「係数補正なし」のline 32600, line37100からline 37350を訂正し,「係数補正あり」のline
37200からline 37450を訂正しました。これらの訂正も計算結果に影響を及ぼしません。計算に使用していない変数WMを削除しました。
(平成25年11月1日PDF更新)
出力例を示す表2中の説明文を訂正しました。プログラム中の変数DZとDZBとQPの説明を訂正しました。サブルーチンにおける計算の説明に加筆し,
プログラム中の変数の箇所で用いる数式表記を改めました。そして,引用文献を加えました。このプログラムは公開していますので,典拠を示す際には引用文献を利用してください。
(平成24年7月20日PDF更新)
出力値の説明の中で,過剰エンタルピーと記していたものを過剰モルエンタルピーに訂正しました。
(平成23年11月30日更新)
水の分子量を18.01534に改めてPitzer達のパラメータをそのまま使うプログラムもアップロードしました。 これまでのプログラムと計算結果
において大きな違いはありません。
塩化カリウム水溶液に関するPabalan-Pitzer式(PP式)(テキスト形式)
塩化カリウム水溶液の熱力学的性質に関する計算プログラム(PDF)
(平成30年8月8日更新)
line 40150中でTRとしていた1箇所をTTRに訂正しました。この訂正は計算結果にほとんど影響しません。
(平成30年8月8日PDF更新)
プログラムの修正に対応させて修正しました。
(平成29年 1月19日更新)
配列変数MGの名前をHGKGに改めました。
(平成29年 1月19日PDF更新)
誤解を避けるために「水溶液の浸透係数」を「水溶液中の水の浸透係数」に修正しました。プログラムの修正に対応させてプログラム中の変数とprogram
listを修正しました。変数DPDXの意味について加筆しました。その他に,文字の位置調整,表罫線の一部削除,脱字の修正を行いました。
(平成28年 3月 1日更新)
HGK式を用いる計算に使用する定数であるUREFとSREFの値を修正しました。これによって,純水の三重点において液体状態の純水の内部エネルギーとエントロピーの値が0に近い値になりました。計算上は不要なのですが,line
25410を追加しました。さらに,水1g当りに換算した気体定数に水のモル質量をかける演算を気体定数の値をそのまま使用するようにして,line
38060からline 38300を修正してline 38051からline 38060としました。水1g当りの気体定数値は,気体定数を水のモル質量で割って得られる値を丸めて小数第五位まで求めた値です。丸めているために,1g当りの気体定数値に水のモル質量をかけても気体定数の値と厳密には一致しません。今回の修正は,この点を正したものになります。line
11250を削除しました。サブルーチンSECDERIVPで行う演算を減らしました。減らした演算は,line 24000,line 24050,line
24200です。サブルーチンDEBYEHUCKEL中での密度の単位変換は不要ですので,line 36100,line 36250,line 36300を削除しました。サブルーチンDEBYEHUCKELとサブルーチンKCLAQ中の変数DDをすべてDに改めました。入力する質量モル濃度の入力値が0以下の時には入力し直す命令文をline
11410として付け加えline 42200を削除しました。計算結果にほとんど影響しませんが,温度と圧力から密度を計算するための収束条件を厳しくするためにline
15700からline 15800を修正しました。さらに,気液平衡条件を満足しているのかどうかをチェックするline 29050での判定条件を厳しくしました。計算結果に影響しませんが,line
19200とline 28950中のT*GASCONとGASCON*Tをいずれも変数RTに改めました。line 12550中のT=<647.126#の不等式を削除してline
12360を追加しました。line 12950からline 13050およびline 13800からline 13850およびline 14000中で使用している変数FHあるいはFTを削除しました。これと関連してline
30350からline 30550,line 30800とline 30950,line 33400とline 33450とline 33800とline
33850を削除し,line 10300を修正しました。そして,line 33900中の文字列A4$を削除しました。変数ZZQは変数QKに置換できるので,line
20800を削除しline 21050中のZZQをQKに置換しました。変数DDQQは計算に使用していないのでline 21950を削除しました。同じ理由で変数GBを含むline
19250,変数HBを含むline 19450を削除しました。line 22500中の(D/DDZ)の二乗を求める演算とline 23750中のDPDTの二乗を求める演算をべき乗ではなく掛算で行うように改めました。line
12450中のDVAP = 0を削除しました。Remark文であるline 10000を修正しました。変数APHIREF,AHREF,AJREFの値は計算の中で打ちし合って結果に影響しません。そこで,これらの値を計算する箇所と計算値を用いる箇所を削除して整理しました。このために,line
11500からline 12200を削除しました。そして,line 43650,line 43750,line 43800,line 43900,line
43950,line 44050,line 44100,line 44200,line 44450からline 44550,line 44750,line
45000も削除しました。そして,新たに浸透係数などを計算する命令文をline 44960からline 45000として挿入しました。line
14400で印字する計算値が100を超える時があるので,100の位の値を印字するように改めました。プログラム全体に渡って,割り算を連続して行う時には括弧で括って計算するようにしました。
(平成28年 3月 1日PDF更新)
UREFとSREFの値の修正と関連してサブルーチンTHERMDTの説明とプログラム中の変数に関する内容を修正しました。サブルーチンUNITについて不要な説明文を削除しサブルーチンQQTDとCORRTPDLDVDELGの説明に加筆しました。入力について加筆しました。その他のプログラムの修正に対応させてプログラム中の変数とprogram
listを修正しました。
(平成26年11月25日更新)
line 35650中で与えているKClのモル質量を74.555から74.551に訂正しました。この訂正は計算値に影響を与えます。不要なline
12100と14750と14800と17600を削除しました。line 17600の削除と関連してline 17650中のZBをBASEFに修正しました。line
17150中のPをPPPに改めました。
(平成26年11月25日PDF更新)
サブルーチンBASEDTの説明を訂正しました。プログラム中の変数BITGTとDBDP(I)とDBLDTITGとKCLとQ2Aの説明を訂正し,変数B0JとB0JKCL(I)とB0KCL(I)とB0LとB0LKCL(I)とBJとBLとBM0とSREFとUREFの説明に加筆しています。CPKCL(I)の説明を改めました。変数PHIREFを変数PHILREFに訂正しました。使用していない変数AVREFと使用しないようにした変数ZBの説明を削除しました。プログラムの修正に対応させてprogram
listを修正しました。内容の変更ではありませんが,その他にも細かい所を修正しました。
(平成25年11月1日更新)
line 24100, 25350, 26300, 26350, 26450, 26500, 26650を訂正し,line 24160を追加しました。
訂正箇所は,定圧熱容量に関するデバイ−ヒュッケルのパラメータに影響を与えます。ただし,その影響は無視できる程度のものです。line 31350を訂正しました。この訂正は計算結果に影響を及ぼしません。計算に使用していない変数WMとDPDT1を削除しました。変数S0KClを二通りの意味で用いているので,line
40100の命令文をline 40500にまとめて統一しました。line 38100からline 38350を修正しました。この修正も計算結果に影響を及ぼしません。入出力の形式を改めました。
(平成25年11月1日PDF更新)
出力例を示す表2中の説明文を訂正しました。変数MWの説明を訂正し,説明を加えていなかったプログラム中の変数の説明を加えました。
プログラム中の変数の箇所で用いる数式表記を改めました。そして,サブルーチンにおける計算の説明に加筆し,引用文献を変更しました。
このプログラムは公開していますので, 典拠を示す際には引用文献を利用してください。
(平成23年11月30日更新,PDF更新)
標準状態における塩化カリウムのエンタルピーとギブスエネルギーの計算にバグがあったので訂正しています。また,出力形式を変更しました。
塩化マグネシウム水溶液と塩化カルシウム水溶液に関するHolmes達の式(テキスト形式)
塩化マグネシウム水溶液と塩化カルシウム水溶液の熱力学的性質に関する計算プログラム(PDF)
(平成29年 1月19日更新)
配列変数MGの名前をHGKGに改めました。
(平成29年 1月19日PDF更新)
誤解を避けるために「水溶液の浸透係数」を「水溶液中の水の浸透係数」に修正しました。プログラムの修正に対応させてプログラム中の変数とprogram
listを修正しました。変数DPDT1を使用していないので変数の説明から削除しました。変数DPDXの意味について加筆しました。その他に,文字の位置調整,表罫線の一部削除,脱字の修正を行いました。
(平成28年 3月 1日更新)
HGK式を用いる計算に使用する定数であるUREFとSREFの値を修正しました。これによって,純水の三重点において液体状態の純水の内部エネルギーとエントロピーの値が0に近い値になりました。水1g当りに換算した気体定数に水のモル質量をかける演算を気体定数の値をそのまま使用するようにして,line
39210からline 39450を修正してline 39211からline 39220としました。水1g当りの気体定数値は,気体定数を水のモル質量で割って得られる値を丸めて小数第五位まで求めた値です。丸めているために,1g当りの気体定数値に水のモル質量をかけても気体定数の値と厳密には一致しません。今回の修正は,この点を正したものになります。不要な演算であるline
23500,line 23550,line 23700です。サブルーチンDEBYEHUCKEL中での密度の単位変換は不要ですので,line 37400,line
37550,line 37600を削除しました。サブルーチンDEBYEHUCKELとサブルーチンMGCA中の変数DDをすべてDに改めました。質量モル濃度の入力値が0以下の時には入力し直す命令文をline
11510として付け加えました。計算結果にほとんど影響しませんが,温度と圧力から密度を計算するための収束条件を厳しくするためにline 15200からline
15300を修正しました。さらに,気液平衡条件を満足しているのかどうかをチェックするline 28350での判定条件を厳しくしました。計算結果に影響しませんが,line
18700とline 28250中のT*GASCONとGASCON*Tをいずれも変数RTに改めました。line 11850中のT=<647.126#の不等式を削除してline
11660を追加しました。line 12250からline 12350およびline 13200からline 13300およびline 13400中で使用している変数FHあるいはFTを削除しました。これと関連してline
29600からline 29850,line 30100とline 30250,line 32700とline 32750とline 33100とline
33150を削除し,line 10300を修正しました。そして,line 33200中の文字列A4$を削除しました。変数ZZQは変数QKに置換できるので,line
20300を削除しline 20550中のZZQをQKに置換しました。変数DDQQは計算に使用していないのでline 21450を削除しました。同じ理由で変数GBを含むline
18750,変数HBを含むline 18950を削除しました。line 22000中の(D/DDZ)の二乗を求める演算とline 23250中のDPDTの二乗を求める演算をべき乗ではなく掛算で行うように改めました。line
11750中のDLIQ = 0とDVAP = 0を削除し,DV = DVVの命令文を追加しました。適用可能温度は523.15 K以下ですが,多少温度が高くなっても計算できるようにline
11350を削除しました。プログラム全体に渡って,割り算を連続して行う時には括弧で括って計算するようにしました。
(平成28年 3月 1日PDF更新)
UREFとSREFの値の修正と関連してサブルーチンTHERMDTの説明とプログラム中の変数に関する内容を修正しました。サブルーチンUNITについて不要な説明文を削除しサブルーチンQQTDとCORRTPDLDVDELGの説明に加筆しました。入力について加筆しました。その他のプログラムの修正に対応させてプログラム中の変数とprogram
listを修正しました。
(平成26年11月25日更新)
不要なline 14250と14300と17100を削除しました。line 17100の削除と関連してline 17150中のZBをBASEFに修正しました。line
16650中のPをPPPに改めました。
(平成26年11月25日PDF更新)
サブルーチンBASEDTの説明を訂正しました。プログラム中の変数Q2Aの説明を訂正し,変数SREFとUREFの説明に加筆しています。変数ZBを使用していないので,この説明を削除しました。プログラムの修正に対応させてprogram
listを修正しました。内容の変更ではありませんが,その他にも細かい所を修正しました。
(平成25年11月1日更新)
line 23600, 24800, 25700, 25750, 25800, 25850, 25950を訂正し,line 23610を追加しました。
訂正箇所は,定圧熱容量に関するデバイ−ヒュッケルのパラメータに影響を与えます。ただし,その影響は無視できる程度のものです。line 30650を訂正しました。この訂正は計算結果に影響を及ぼしません。line 39250からline 39500を修正しました。この修正も計算結果に影響を及ぼしません。変数WMを削除しました。入出力の形式を改めました。
(平成25年11月1日PDF更新)
プログラムで使用している変数で説明を加えていなかったいくつかの変数に説明を加えました。そして,変数の数式表記を改めました。また,サブルーチンにおける計算の説明に加筆し,引用文献を改めました。
このプログラムは公開していますので, 典拠を示す際には引用文献を利用してください。
(平成24年7月20日PDF更新)
プログラム中の変数に関する説明の中でDB0DPに関する説明式を訂正しました。
(平成24年3月26日更新,PDF更新)
密度の計算式中にバグがあったので訂正しました。計算結果に全く影響しませんが,変数名で0(ゼロ)であるところをO(オー)を用いて
いたものがあったので訂正しました。そして,出力形式を変更しました。
電解質水溶液の飽和水蒸気圧から浸透係数を計算するプログラム(テキスト形式)
飽和水蒸気圧から浸透係数を求める計算プログラム(PDF)
(平成29年 1月19日更新)
配列変数MGの名前をHGKGに改めました。
(平成29年 1月19日PDF更新)
プログラムの修正に対応させてプログラム中の変数とprogram listを修正しました。変数DPDXの意味について加筆しました。
(平成28年 3月 1日更新)
HGK式を用いる計算に使用する定数であるUREFとSREFの値を修正しました。これによって,純水の三重点において液体状態の純水の内部エネルギーとエントロピーの値が0に近い値になりました。以下に記す変更内容は計算結果に大きな影響を及ぼしません。温度と圧力から密度を計算するための収束条件を厳しくするためにline
20300からline 20400を修正しました。気液平衡条件を満足しているのかどうかをチェックするline 25050での判定条件を厳しくしました。line
18600中の(D/DDZ)の二乗を求める演算とline 21400中のDPDTの二乗を求める演算をべき乗ではなく掛算で行うように改めました。入力した質量モル濃度が0以下の時は再入力するようにline
11110を加えました。line 15300とline 24950中のT*GASCONとGASCON*Tをいずれも変数RTに改めました。変数DDQQは計算に使用していないのでline
18050を削除しました。同じ理由で変数GBを含むline 15350,変数HBを含むline 15550を削除しました。また,変数ZZQは変数QKに置換できるので,line
16900を削除しline 17150中のZZQをQKに置換しました。line 24150中の不要な印字を行う命令を削除しました。プログラム全体に渡って,割り算を連続して行う時には括弧で括って計算するようにしました。
(平成28年 3月 1日PDF更新)
UREFとSREFの値の修正と関連してサブルーチンTHERMDTの説明とプログラム中の変数に関する内容を修正しました。サブルーチンQQTDとCORRTPDLDVDELGの説明に加筆しました。入力について加筆しました。その他のプログラムの修正に対応させてプログラム中の変数とprogram
listを修正しました。
(平成26年11月25日更新)
不要なline 19350と19400と24550を削除しました。line 24550の削除と関連してline 24600中のZBをBASEFに修正しました。line
24100中のPをPPPに改めました。
(平成26年11月25日PDF更新)
サブルーチンBASEDTの説明を訂正しました。プログラム中の変数Q2Aの説明を訂正し,変数SREFとUREFの説明に加筆しています。変数ZBを使用しないようにしたので,この説明を削除しました。プログラムの修正に対応させてprogram
listを修正しました。内容の変更ではありませんが,その他にも細かい所を修正しました。
(平成25年11月1日更新)
変数WMを削除して,WMを使用している箇所をFFH(3)で置き換えました。
(平成25年11月1日PDF更新)
表1の説明文中の濃度を質量モル濃度に改めています。数式表記を改めました。そして,サブルーチンにおける計算の説明を加え,引用文献を追加しました。このプログラムは公開していますので,典拠を示す際には引用文献を利用してください。
電解質水溶液の浸透係数から飽和水蒸気圧を計算するプログラム(テキスト形式)
浸透係数から飽和水蒸気圧を求める計算プログラム(PDF)
(平成30年8月8日PDF更新)
表1の表記を少し改めました(修正ではありません)。
(平成29年 1月19日更新)
配列変数MGの名前をHGKGに改めました。
(平成29年 1月19日PDF更新)
プログラムの修正に対応させてプログラム中の変数とprogram listを修正しました。変数DPDXの意味について加筆しました。
(平成28年 3月 1日更新)
HGK式を用いる計算に使用する定数であるUREFとSREFの値を修正しました。これによって,純水の三重点において液体状態の純水の内部エネルギーとエントロピーの値が0に近い値になりました。以下に記す変更内容は計算結果に大きな影響を及ぼしません。温度と圧力から密度を計算するための収束条件を厳しくするためにline
21500からline 21600を修正しました。気液平衡条件を満足しているのかどうかをチェックするline 26250での判定条件を厳しくしました。line
19800中の(D/DDZ)の二乗を求める演算とline 22600中のDPDTの二乗を求める演算をべき乗ではなく掛算で行うように改めました。入力した質量モル濃度が0以下の時は再入力するようにline
11110を加えました。line 16500とline 26150中のT*GASCONとGASCON*Tをいずれも変数RTに改めました。変数DDQQは計算に使用していないのでline
19250を削除しました。同じ理由で変数GBを含むline 16550,変数HBを含むline 16750を削除しました。また,変数ZZQは変数QKに置換できるので,line
18100を削除しline 18350中のZZQをQKに置換しました。line 25350中の不要な印字を行う命令を削除しました。プログラム全体に渡って,割り算を連続して行う時には括弧で括って計算するようにしました。
(平成28年 3月 1日PDF更新)
UREFとSREFの値の修正と関連してサブルーチンTHERMDTの説明とプログラム中の変数に関する内容を修正しました。サブルーチンQQTDとCORRTPDLDVDELGの説明に加筆しました。入力について加筆しました。その他のプログラムの修正に対応させてプログラム中の変数とprogram
listを修正しました。
(平成26年11月25日更新)
不要なline 20550と20600と25750を削除しました。line 25750の削除と関連してline 25800中のZBをBASEFに修正しました。line
25300中のPをPPPに改めました。
(平成26年11月25日PDF更新)
計算方法の箇所に引用文献を加えました。サブルーチンBASEDTの説明を訂正しました。プログラム中の変数Q2Aの説明を訂正し,変数SREFとUREFの説明に加筆しています。変数ZBを使用しないようにしたので,この説明を削除しました。プログラムの修正に対応させてprogram
listを修正しました。内容の変更ではありませんが,その他にも細かい所を修正しました。
(平成25年11月25日更新)
変数WMを削除して,WMを使用している箇所をFFH(3)で置き換えました。
(平成25年11月1日PDF更新)
表1の説明文中の濃度を質量モル濃度に改めています。数式表記を改めました。そして,サブルーチンにおける計算の説明を加え,引用文献を追加しました。このプログラムは公開していますので,典拠を示す際には引用文献を利用してください。
塩化ナトリウム水溶液に関するTanger-Pitzer式(テキスト形式)
TangerとPitzerの式を用いた塩化ナトリウム水溶液の飽和水蒸気圧を求める
計算プログラム(PDF)
(平成29年 1月19日更新)
配列変数Gの名前をHGKGに改めました。
(平成29年 1月19日PDF更新)
プログラムの修正に対応させてプログラム中の変数とprogram listを修正しました。
(平成28年 3月 1日更新)
HGK式を用いる他の計算プログラムで定数UREFとSREFの値を修正しましたので,この計算プログラムでも修正しています。line 17400とline
17600で使用していた変数IZZを変数QKに改めました。line 17910を追加して変数QKとQKMの値を求める様にして,これらの値をline
18150,line 18200,line 18550で使用するようにしました。変数DDQQを使用していないのでline 18100を削除しました。同じ理由で変数GBを含むline 19150を削除しました。line 19100中のT*GASCOMを変数RTGに置き換えました。line 28150中のデータ文の表示を一部改めました。プログラム全体に渡って,割り算を連続して行う時には括弧で括って計算するようにしました。
(平成28年 3月 1日PDF更新)
UREFとSREFの値の修正と関連してプログラム中の変数に関する内容を修正し,変数VCに関する説明文に加筆しました。プログラム使用上の留意点に加筆しました。その他のプログラムの修正に対応させてプログラム中の変数とprogram listを修正しました。
(平成26年11月25日)
計算に使用していない変数DELYに関する命令文をline 11650とline 12400から削除しました。line 19250を削除し,この削除と関連してline
19300中のZBASEをBASEFに修正しました。line 21550で与えているDPDDL,line 21750で与えているDMYUSDDL,line
22050で与えているDMYUWATERDDLの符号を変えました。この符号変更に伴ってline 24650で使用するDPDDLとline24700で使用するDMYUSDDLとline
24750で使用するDMYUWATERDDLに−1をかけるようにしました。line 28200で与えているGASCONの値を0.481518から0.481522に変えました。GASCONの値を変えた結果,計算結果が少し変化します。
(平成26年11月25日PDF更新)
気体定数GASCONの値を変えたので表2として示した出力結果も変えました。ただし,飽和水蒸気圧の値は4桁目まで変わりません。出力結果の説明文とプログラム使用上の留意点に少し加筆しました。使用していない変数DELYとZBASEの説明を削除し,変数DMYUSDDLとDMYUWATERDDLとGASCONの説明をプログラムの修正に沿って修正しました。変数RHOVAPORの説明を訂正し,変数RTとRTGとSREFとUREFの説明に加筆しました。プログラムの修正に対応してprogram
listを修正しました。
(平成25年11月1日更新)
line 12250中のWTLをWLNACLに訂正しました。これによって高濃度領域での計算が少し速くなりました。
line 20100中のDIFMYUNACLをDIFMYUSに改めましたが,この変更は計算結果に影響しません。line 28050を訂正しました。この訂正は計算結果に影響しません。計算に使用していない変数WMを削除しました。
出力形式を改めました。
(平成25年11月1日PDF更新)
プログラムの説明文に加筆しました。
(平成24年7月20日PDF更新)
計算プログラムの説明文を部分的に更新しました。
(平成23年11月30日更新,PDF更新)
水の分子量を18.01534にしました。
これまでのプログラムと計算結果において大きな違いはありません。
塩化カリウム水溶液に関するHovey達の式(テキスト形式)
(Tanger-Pitzer式の塩化カリウム水溶液への適用)
Hovey達の式を用いた塩化カリウム水溶液の飽和水蒸気圧を求める計算プログラム(PDF)
(平成29年 1月19日更新)
配列変数Gの名前をHGKGに改めました。
(平成29年 1月19日PDF更新)
プログラムの修正に対応させてプログラム中の変数とprogram listを修正しました。
(平成28年 3月 1日更新)
HGK式を用いる他の計算プログラムで定数UREFとSREFの値を修正しましたので,この計算プログラムでも修正しています。line 17400とline
17600で使用していた変数IZZを変数QKに改めました。line 17910を追加して変数QKとQKMの値を求める様にして,これらの値をline
18150,line 18200,line 18550で使用するようにしました。変数DDQQを使用していないのでline 18100を削除しました。同じ理由で変数GBを含むline
19150を削除しました。line 19100中のT*GASCOMを変数RTGに置き換えました。line 27950とline 28050中のデータ文の表示を一部改めました。プログラム全体に渡って,割り算を連続して行う時には括弧で括って計算するようにしました。
(平成28年 3月 1日PDF更新)
UREFとSREFの値の修正と関連してプログラム中の変数に関する内容を修正し,変数VCに関する説明文に加筆しました。プログラム使用上の留意点に加筆しました。その他のプログラムの修正に対応させてプログラム中の変数とprogram
listを修正しました。
(平成26年11月25日)
計算に使用していない変数DELYに関する命令文をline 11600とline 12350から削除しました。line 19250を削除し,この削除と関連してline
19300中のZBASEをBASEFに修正しました。line 21550で与えているDPDDL,line 21750で与えているDMYUSDDL,line
22050で与えているDMYUWATERDDLの符号を変えました。この符号変更に伴ってline 24550で使用するDPDDLとline24600で使用するDMYUSDDLとline
24650で使用するDMYUWATERDDLに−1をかけるようにしました。line 28100で与えているGASCONの値を0.481518から0.481522に変えました。GASCONの値を変えた結果,計算結果が少し変化します。
(平成26年11月25日PDF更新)
気体定数GASCONの値を変えたので表2として示した出力結果も変えました。ただし,飽和水蒸気圧の値は4桁目まで変わりません。出力結果の説明文とプログラム使用上の留意点に少し加筆しました。使用していない変数DELYとZBASEの説明を削除し,変数DMYUSDDLとDMYUWATERDDLとGASCONの説明をプログラムの修正に沿って修正しました。変数RHOVAPORの説明を訂正し,変数RTとRTGとSREFとUREFの説明に加筆しました。プログラムの修正に対応してprogram
listを修正しました。
(平成25年11月1日更新)
line 12200中のWTLをWLKCLに訂正しました。これによって高濃度領域での計算が少し速くなりました。
line 20100中のDIFMYUNACLをDIFMYUSに改めましたが,この変更は計算結果に影響しません。line 27950を訂正しました。この訂正は計算結果に影響しません。計算に使用していない変数WMを削除しました。
出力形式を改めました。
(平成25年11月1日PDF更新)
プログラムの説明文に加筆しました。
(平成24年7月20日PDF更新)
計算プログラムの説明文を部分的に更新しました。
(平成23年11月30日更新,PDF更新)
水の分子量を18.01534にしました。
これまでのプログラムと計算結果において大きな違いはありません。
塩化マグネシウム水溶液と塩化カルシウム水溶液に関するPitzer式(テキスト形式)
塩化マグネシウム水溶液と塩化カルシウム水溶液の熱力学的性質に関する計算プログラム(PDF)
(平成29年 1月19日更新)
配列変数GHGKの名前をHGKGに改め,配列変数CHGKの名前をHGKCに改めました。Remark文であるline 33250とline 33600は誤解を生むので削除しました。
(平成29年 1月19日PDF更新)
誤解を避けるために「水溶液の浸透係数」を「水溶液中の水の浸透係数」に修正しました。プログラムの修正に対応させてプログラム中の変数とprogram
listを修正しました。変数DPDXの意味について加筆しました。変数QPXの説明を修正しました。
(平成28年 3月 1日更新)
HGK式を用いる計算に使用する定数であるUREFとSREFの値を修正しました。これによって,純水の三重点において液体状態の純水の内部エネルギーとエントロピーの値が0に近い値になりました。水1g当りに換算した気体定数に水のモル質量をかける演算を気体定数の値をそのまま使用するようにして,line 36660からline 36900を修正してline 36661からline 36670としました。水1g当りの気体定数値は,気体定数を水のモル質量で割って得られる値を丸めて小数第五位まで求めた値です。丸めているために,1g当りの気体定数値に水のモル質量をかけても気体定数の値と厳密には一致しません。今回の修正は,この点を正したものになります。さらに変数SWSPEC,HWSPEC,GWSPEC,CPWSPECを削除するためにline 40950からline 41100での演算を変数S,H,G,CPを用いて行うようにしました。これらの修正は計算結果に大きな影響を与えません。不要な演算であるline 23400,line 23450,line 23600です。サブルーチンDEBYEHUCKEL中での密度の単位変換は不要ですので,line 34850,line 35000,line 35050を削除しました。サブルーチンDEBYEHUCKELとサブルーチンMGCA中の変数DDをすべてDに改めました。質量モル濃度の入力値が0以下の時には入力し直す命令文をline 11410として付け加えました。計算結果にほとんど影響しませんが,温度と圧力から密度を計算するための収束条件を厳しくするためにline 15200からline 15300を修正しました。さらに,気液平衡条件を満足しているのかどうかをチェックするline 28250での判定条件を厳しくしました。計算結果に影響しませんが,line 18650とline 28150中のT*GASCONとGASCON*Tをいずれも変数RTに改めました。line 11750中のT=<647.126#の不等式を削除してline 11560を追加しました。line 12250からline 12350およびline 13150からline 13200およびline 13350中で使用している変数FHあるいはFTを削除しました。これと関連してline 29500からline 29750,line 30000とline 30150,line 32600とline 32650とline 33000とline 33050を削除し,line 10300を修正しました。そして,line 33100中の文字列A4$を削除しました。変数ZZQは変数QKに置換できるので,line 20200を削除しline 20450中のZZQをQKに置換しました。変数DDQQは計算に使用していないのでline 21350を削除しました。同じ理由で変数GBを含むline 18700,変数HBを含むline 18850を削除しました。line 21900中の(D/DDZ)の二乗とline 23150中のDPDTの二乗を求める演算を改めました。line 11650中のDLIQ = 0とDVAP = 0を削除し,DV = DVVの命令文を追加しました。適用可能温度は523.15 K以下ですが,多少温度が高くなっても計算できるようにline 11260を削除しました。プログラム全体に渡って,割り算を連続して行う時には括弧で括って計算するようにしました。
(平成28年 3月 1日PDF更新)
UREFとSREFの値の修正と関連してサブルーチンTHERMDTの説明とプログラム中の変数に関する内容を修正しました。サブルーチンUNITについて不要な説明文を削除しサブルーチンQQTDとCORRTPDLDVDELGの説明に加筆しました。入力について加筆しました。その他のプログラムの修正に対応させてプログラム中の変数とprogram
listを修正しました。
(平成26年11月25日更新)
不要なline 14250と14300と40250を削除しました。line 16650中のPをPPPに改めました。
(平成26年11月25日PDF更新)
サブルーチンBASEDTの説明を訂正しました。プログラム中の変数D2PDT2とD2PRESIDDT2とQ2Aの説明を訂正し,変数SREFとUREFの説明に加筆しています。変数B1Vを使用していないので,この説明を削除しました。プログラムの修正に対応させてprogram
listを修正しました。内容の変更ではありませんが,その他にも細かい所を修正しました。
(平成25年11月25日更新)
変数A(I)をAHGK(I),変数C(I)をCHGK(I),変数MG(I)をGHGK(I)に改めました。変数AAは1であるので削除し,変数INCを定数36に改め,変数DPDT1,RHGK,WMを削除しました。さらに,変数D2PDDDD1,D2PDTDT1,D2PRESIDDDDD1を削除し,これらの変数を使用しているline 23350からline 26300のサブルーチンの該当箇所を修正しました。そして,line
23500, 24700, 25600, 25650, 25700, 25750, 25850を訂正し,line 23525を追加しました。line
23350からline 26300中での訂正箇所は,定圧熱容量に関するデバイ−ヒュッケルのパラメータに影響を与えます。3 mol/kgの水溶液1
g当たりの定圧熱容量に与える影響は0.0001 J/g K あるいはそれ以下で,計算結果に与える影響は無視できます。line 40100を訂正しました。この訂正は過剰部分モル定圧熱容量の計算値を訂正するためのものです。ただし,この訂正は水溶液1g当たりの定圧熱容量の計算値に影響を及ぼしません。
line 30550を訂正しました。この訂正は計算結果に影響を及ぼしません。line 36700からline 36950とline 40550,40650,40750を修正しました。この修正も計算結果に影響を及ぼしません。line
11260を追加しました。そして,入出力の形式を改めました。
(平成25年11月1日PDF更新)
プログラムで使用している変数で説明を加えていなかったいくつかの変数に説明を加えました。そして,変数の数式表記を改めました。入力に関する説明を修正し,出力結果中のAJ/Rの値を訂正しました。また,サブルーチンにおける計算の説明に加筆し,引用文献を改めました。
このプログラムは公開していますので, 典拠を示す際には引用文献を利用してください。
(平成24年4月14日更新,PDF更新)
エントロピーの計算にバグがあったので訂正しました。