PROPATH FAQ


全般
コンパイル/リンク/実行
E-PROPATH関連


全般

計算できる物性値の種類は
各PROPATHによって異なります. PROPATHのホームページ からダウンロードできるマニュアルを参照して下さい.

計算できる温度や圧力の範囲は
各PROPATHや各物質によって異なります. PROPATHのホームページ からダウンロードできるマニュアルを参照して下さい. マニュアルに記載されている計算可能範囲はPROPATH固有の制限ではなく, 元になっているフォーミュレーションに依存しています.

P-PROPATHのマニュアルで関数表の空欄は何を意味しているのか
P-PROPATHでは100種類以上の関数が用意されていますが,すべての物質ですべての関数が 定義されている(有意な値を返す)わけではありません. どの関数が定義されているかは元になっているフォーミュレーションに依存しています. 関数表の空欄はその物質でその関数が未定義であることを示しています. 未定義の関数を呼び出した場合の戻り値は-1E+30になります.

P-PROPATHで「一定組成の混合物」とあるが,P-PROPATHに含まれる任意(種類および数)の混合物で計算可能か
現時点(ver.11.3)でのP-PROPATHに収録されている「一定組成の混合物」は, 空気,R500,R502 およびR503です.任意組成の混合物の物性値は, P-PROPATHでは計算できません. 二成分混合物の熱力学的性質ならば,F-PROPATH(汎用状態式)で 計算できます.また,I-PROPATH(理想気体および理想気体混合物) ではサポートされている物質の範囲内で,任意成分および任意組成 の気体の物性値が計算できます. サポートされている物質(約40種類)につきましては,マニュアルを参照して下さい.

P-PROPATHでNOやNO2,OH,O,Hなどの燃焼ガス中に含まれるような物質の値は算出 できないか
I-PROPATHが理想気体および理想気体混合物をサポートしています. 比熱を温度の関数としてありますから,半理想気体および半理想気体混合物というほうがわかりやすい かもしれません. これらにより燃焼ガスの物性値を計算することができます. ただし,NOおよびNO2は含まれていますが,OH,O,Hは含まれていません.

M-PROPATHのjawmx2.for(Tiller-Roth and Friend)を使った計算が 正常に終了しない
このライブラリに関しては数値計算上の問題を含んでおり, ver.11.3のマニュアルからその旨が記載されています. 現在,問題点を修正中です.

現行のPROPATHは改訂されたJSMEの蒸気表に対応しているか
改訂されたJSMEの蒸気表(IAPWS Industrial Formulation 1997-ITS 1990)には ver.12.1から対応予定です.

日本語版のマニュアルはないか
ver.9.1までは日本語版/英語版のマニュアルを用意しておりましたが, ver.10.1以降は英語版のみとなっています.

F-PROPATHで任意混合物の計算はできないか
二成分混合物ならPeng-Robinson式(jprmx.for)を使えばできます. その場合,純成分の臨界定数および理想気体状態の定圧比熱の式が必要になります. マニュアルにエタン−プロパン混合物の熱力学的性質を計算する例が記載されていますので,参照して下さい.

バージョンアップする際に追加料金は必要か
ver.x.yのxが変更になったときのバージョンアップには本体価格の15%程度の追加料金が必要になります. yが変更になったときのバージョンアップは無料です. 詳しくは計算力学研究センターにお問合せください.


コンパイル/リンク/実行

16bitのMicrosoft FORTRANでPROPATHを使いたい
PROPATHのソースコードがあれば16bitのFORTRANコンパイラでもPROPATHを使うことは可能です. 計算力学研究センターからバイナリ形式のライブラリを 購入する場合は,16bitのFORTRANコンパイラで使いたい旨を事前に連絡すれば, 16bitのバイナリを購入できるようです. 詳しくは計算力学研究センターにお尋ね下さい.

なお,16bitのバイナリを32bitのコンパイラで使うことはできません.

ライブラリ(LIB)がリンクできない
ライブラリ(LIB)やオブジェクトファイル(OBJ)とユーザー定義のメインプログラムをリンクする 際には,ユーザー定義のメインプログラムもLIBやOBJをコンパイルしたコンパイラと 同じコンパイラでコンパイルする必要があります. 例えば,LIBがVisual Fortran 5.0(VF5.0)でコンパイルしたものであれば, ユーザーが作成したメインプログラムもVF5.0でコンパイルしなければ 基本的には両者をリンクすることはできません.

これは,LIBやOBJのファイル構造がコンパイラのメーカーによって異なるからです. さらに,同一のコンパイラであっても,バージョンが異なっていればLIBやOBJの互換性は 失われているのが普通です. リンクに失敗する場合は計算力学研究センターに LIBを作成したコンパイラとそのバージョンを問合せてみて下さい.

Visual Fortranで作成したOBJやLIBをVisual C/C++で使いたい
同一のコンピュータにVisual Fortran(VF)とVisual C/C++(VC)が両方インストールされている環境で, かつ両方のバージョンが整合していれば(両方ともver.5.0あるいはver.6.0), VFで作成したOBJやLIBをVCのプロジェクトで利用できます. VC側のコードの書き方はここを参照して下さい.

VCのみがインストールされている環境では,VFで作成したLIBをVCで利用することはできません. これは,VFで作成したLIBは,実行モジュールにリンクされる際にVF付属の LIB(dfor.lib,dconsol.lib,dfport.libなど)を 必要とするからです.これらのLIBについてCompaq社は再配布を認めていませんので, VFがインストールされているコンピュータから他のコンピュータにこれらのLIBをコピーすることは ライセンス違反になります.

VCのみの環境ではE-PROPATHが提供するDLLの動的呼び出しのみが可能です. ver.12.1からは静的呼び出しに対応したDLLとそのインポートライブラリおよびヘッダファイルを提供する予定です.

Visual FortranのDeveloper Studioで作成した実行ファイルを 他のコンピュータで実行できない
Visual Fortran 5.0以降のDeveloper Studio上で作成した実行ファイルおよびDLLを実行するためには, ここからダウンロードできる ランタイムライブラリが必要です.

Microsoft Fortran PowerStaion 4.0のDeveloper Studioで作成した実行ファイルには, このような制限はないようです. また,Visual Fortranでもコマンドラインコンパイラ(fl32.exe)を使えば, ランタイムライブラリを必要としない実行ファイルを作成できます. ただし,ランタイムライブラリの機能を実行ファイルに内包するためにファイルのサイズは大きくなります.

E-PROPATHに含まれるDLLはVisual Fortran 5.0のコマンドラインコンパイラで作成されており, DLL単独で利用することができます.

M-PROPATHやF-PROPATHのシングルショットが実行できない
M-PROPATHとF-PROPATHのシングルショットは,実行開始時に設定ファイルを読み込み, 終了時にその設定ファイルにデータを書き込むようになっています. したがって,シングルショットを実行するには, 対応した設定ファイル(prmx-ss.exeならprmx-ss.dat)が同じディレクトリに 存在し,かつ,書き込み可能になっている必要があります.

CD-ROMからハードディスクにコピーした場合,設定ファイルが上書き禁止になっていることがありますので 注意して下さい. また,UNIX系のOS上で実行する場合は,シングルショットが存在するディレクトリに対する 書き込み権限がなければなりません.


E-PROPATH関連

Excelからの呼び出しに失敗するが,どのような原因が考えられるか
一番に考えられるのは,DLLが然るべきディレクトリに存在していない場合です. 利用したい物質のDLLをWindowsのシステムディレクトリにコピーして下さい. 環境変数PATHで指定されたディレクトリでも構いませんが,Windows9Xでは 環境変数の長さに制限が残っていますので,autoexec.bat等でPATHを指定する際には注意して下さい. DOSプロンプトから "PATH" と入力するとPATHが通っているディレクトリの一覧が表示されます.

その他,セルに正常に入力できていない,インポートモジュールのインポートがうまくいっていない, などが考えられます.

E-PROPATHで二種類以上の物質をインポートした場合の不具合
E-PROPATHが最初に追加されたver.11.1では,Excelへのインポートモジュールのファイル名が (物質名)+(.BAS)になっていました. この場合, 例えばメタン(CH4)とエチレン(C2H4)をインポートし, セルに"=CH4.TSP(1)" や "=C2H4.TSP(5)" のように入力すると, 前者の関数は問題なく呼び出せますが, 後者の関数は呼び出しに失敗してしまいます これは,Excelでは "C2H4" のようにアルファベットの次に数字がくると, セル番号として解釈されてしまうからです.

ver.11.2からはモジュール名の頭にライブラリと同様 "J" を付加しましたので, このような不具合は解消されています. この場合は,複数のE-PROPATHライブラリを使う際に "=JC2H4.TSP(1)" のように入力するようになります.

E-PROPATHはWindows2000やExcel2000に対応しているか
現在,動作確認が取れているのは,Windows 95/98/NT/2000上でのExcel 97/2000です. Excel 95 では動作確認を行っておりませんが,E-PROPATHは WindowsやExcel のバージョンに依存した機能を使っておりませんので,おそらく 問題なく動作すると思われます.

E-PROPATHで提供されるDLLをVisual C/C++やBorland C/C++から使えるか
ver.11.3以前のE-PROPATHで提供するDLLはVisual C/C++からの静的呼び出しに対応しておりません. LoadLibraryを使った動的呼び出しは可能です. やり方はここを参照して下さい.

PROPATHのソースコードがあれば静的呼び出しが可能なDLLを作成することができます. 作成方法はここにまとめてあります. ヘッダファイルもダウンロードできます. なお,ver.12.1ではVCの静的呼び出しに対応したDLLとそのインポートライブラリおよびヘッダファイルを提供する予定です.

Borland C/C++では,付属のimplib.exeを使えばver.11.3以前のDLLからでもインポートライブラリを 作成できますので,静的呼び出しが可能です. やり方はここを参照して下さい. ヘッダファイルはここからダウンロードできるVC用がそのまま使えます.

Delphiからは使えるか
使えます. ここを参照して下さい.

独自に作成したExcelのマクロからE-PROPATHの関数を呼び出せるか
E-PROPATHが提供するインポートモジュールはVBA(Visual Basic for Application)で書かれた標準モジュールです. したがって,ユーザーが独自に定義したマクロルーチンの中からもE-PROPATHの関数を呼び出すことが できます.

E-PROPATHのソースコードは公開されないのか
E-PROPATHは元になっているPROPATHのソースコードとDLLからのエクスポートを可能にするための コードから構成されています. 前者は無償で(学術団体のみ.営利団体には有償)公開されていますが,後者は OSやコンパイラに依存したコードを含むため,現時点では公開しておりません.

DLLやインポートモジュールの作成方法はここにまとめてありますので, 参考にして下さい.

FCやCRPなどの文字を引数とする関数はサポートされないのか
ver.11.2以降のE-PROPATHであればサポートされています.


お問い合わせはメールにて: akasaka@klc.ac.jp
戻る
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送