〔情報基盤研究開発センター〕 〔研究用計算機システム〕 〔ソフトウェア一覧〕
最終更新日: 2013年 5月 1日
PROPATH は関数型の汎用熱物性値プログラムパッケージです.
利用者が自身のプログラム単位において物質名を指定すれば,その物質に対する各種の熱物性値を指数関数や三角関数のような簡便さで求めることができます.
最新のバージョンは2008年に公開された第13.1版です.
PROPATHは流体の熱物性値を三角関数や指数関数のように手軽に計算するプログラム・パッケージで,1984年の第1.1版公開依頼,版次を重ねながらバージョンアップを行ってまいりました.
この度,7年ぶりにバージョンアップを行い,第13.1版を公開することになりました.
基本的な機能は第12.1版と同じですが,第13.1版では物質の追加や倍精度入出力に対応するなどの改良を行っています.
従来のPROPATH関数は入出力とも単精度であったため,収斂の精度を上げると桁が足りなくなる場合がありました.
新ライブラリでは従来の単精度関数に加えて倍精度関数を用意し,多倍長計算に対応できるようにしています.
倍精度関数の名前は単に従来関数の頭にDを付加しただけであり
(例えばPSTの倍精度関数名はDPST),命名法の単純さは失われていません.
また,倍精度関数のプロトタイプ宣言をまとめたヘッダファイルも併せて提供します.
このヘッダファイルを冒頭でincludeすれば関数宣言は不要です.
従来版のライブラリは主にFORTRAN 77で記述されていたため,
開発者側および利用者側の双方に種々の制約がありました.
例えば,77ではグローバル変数や関数の隠蔽ができないため,
PROPATH内部のコードと利用者定義のコードの間で名前の競合が起こる可能性があったのですが,Fortran 90で書かれた新ライブラリは内部コードが完全に隠蔽されており,名前の競合は一切発生しません.
なお,90は77の完全上位互換規格ですので,利用者定義のコードが77で書かれていても何ら問題はありません.
ユーザ定義のコードとのリンク方法も従来版と同じです.
新ライブラリでは,飽和蒸気圧の初期値精度に依存しないアルゴリズム (詳細はJournal of Thermal Science & Technologyに投稿中の論文にまとめています)によってこの問題が回避されており,すべてのライブラリにおいて臨界点まで正常に収束します.
従来版のライブラリはLIBとしての利用を前提として作成されており,
DLLとして使った場合の不安定さが指摘されていました.
詳細な原因は不明ですが,大きなCOMMONブロックや
GOTO文の多用により安定性が低下するようです.
E-PROPATHによるExcelでの利用者が増えているので,
新ライブラリはDLLとしての利用を前提とした開発を行っています.
当然,LIBとして使った場合の安定性は確保されております.
従来版のDLL作成には HP (Compaq) Visual Fortran (HVF) ver. 6.0
を採用していましたが,新ライブラリでは近年評価の高い
Intel Visual Fortran (IVF) を採用しています.
条件にもよりますが,IVFで作成したDLLの計算時間は,
HVFで作成したDLLのそれに比べて1/2程度まで高速化されています.