Psycal.dllについて
電子空気線図(PsyJ)の主要な計算部分は、共通ライブラリ(Psycal.dll)に書きました。
このライブラリは、MFC DLLで作成しましたので、リンクする際は以下ご注意ください。
Psycal.DLL を使う場合、開発するプログラムのEXEホルダに、Psycal.DLLをコピーし、新たにPsycalのホルダーを作成し、各ヘッダーファイルとライブラリを 置き、ライブラリーファイルは、開発プログラムにリンクしてお使いください。 MFCの共通ライブラリーも必要になります。
DLLのダウンロード はこのリンクをクリックしてください。
Psycal.zip を解凍すると、以下のファイルが現れます。
| DLL本体 | ライブラリーファイル | ヘッダーファイル | |
|---|---|---|---|
| 1 | Psycal.DLL | Psycal.lib | PsycalApp.h |
| PsycalFunction.h | |||
| DataManager.h | |||
| PsyData.h | |||
| Calc.h |
主な計算機能は以下の通りです。
PsycalApp.h
| 1 | 任意の2点より各データの算出 | PSYCAL cal_HX(double hi, double xi, double po) const; |
| PSYCAL cal_DPH(double dp, double hi, double po) const; | ||
| PSYCAL cal_RHX(double rh, double xi, double po) const; | ||
| PSYCAL cal_RHH(double rh, double hi, double po) const; | ||
| PSYCAL cal_RHDP(double rh, double dp, double po) const; | ||
| PSYCAL cal_WBX(double wb, double xi, double po) const; | ||
| PSYCAL cal_WBDP(double wb, double dp, double po) const; | ||
| PSYCAL cal_WBRH(double wb, double rh, double po) const; | ||
| PSYCAL cal_DBX(double db, double xi, double po) const; | ||
| PSYCAL cal_DBH(double db, double hi, double po) const; | ||
| PSYCAL cal_DBDP(double db, double dp, double po) const; | ||
| PSYCAL cal_DBRH(double db, double rh, double po) const; | ||
| 2 | 熱量とエンタルピ差で風量算出 | double cal_AIR_KcalDh(double kcal, double dh) const; |
| 3 | 風量とエンタルピ差で熱量算出 | double cal_TH_GDh(double g, double dh) const; |
| 4 | その他 |
PsycalFunction.h
| 1 | 乾球温度より飽和蒸気圧を算出 | double Vpre(double db) const; |
| 2 | 任意の2点より空気状態の計算 | double Vpre(double db) const; |
| 3 | 蒸気圧から絶対湿度を算出 | double Abs_p(double pr, double po) const; |
| 4 | 絶対湿度から蒸気圧を算出 | double Vp_xi(double xi, double po) const; |
| 5 | 乾球温度と蒸気圧より相対湿度を算出 | double Hum_db(double db, double pr) const; |
| 6 | 乾球温度と相対湿度より蒸気圧を算出 | double Vp_dbrh(double db, double rh) const; |
| 7 | 蒸気圧より露点温度を算出 | double Dew_t(double pr) const; |
| 8 | 蒸気圧と相対湿度より乾球温度を算出 | double Dew_prh(double pr, double rh) const; |
| 9 | 乾球温度と湿球温度より絶対湿度を算出 | double Ab_dww(double db, double wb, double po) const |
| 10 | 乾球温度と湿球温度より絶対湿度を算出 | double Ab_dwi(double db, double wb, double po) const; |
| 11 | 絶対湿度と湿球温度より乾球温度を算出 | double Db_xiwbw(double xi, double wb, double po) const; |
| 12 | 乾球温度と絶対湿度より湿球温度を算出 | double Wb_dbxi(double db, double xi, double po) const; |
| 13 | 湿球温度と絶対湿度より比容積を算出 | double Svol(double db, double xi, double po) const; |
| 14 | 比容積絶と相対湿度より乾球温度を算出 | double Db_vxi(double vl, double xi, double po) const; |
| 15 | 比容積と乾球温度より絶対湿度を算出 | double Ab_vdb(double vl, double db, double po) const; |
| 16 | 乾き蒸気のエンタルピ算出 | double Steam_Entalpy(double db) const; |
| 17 | 乾球温度と絶対湿度よりエンタルピを算出 | double Entalpy(double db, double xi) const; |
| 18 | エンタルピと乾球温度より絶対湿度を算出 | double Ab_hidb(double hi, double db) const; |
| 19 | エンタルピと絶対湿度より乾球温度を算出 | double Db_hixi(double hi, double xi) const; |
| 20 | 乾球温度よりドライ空気の比重を算出 | double DryAir_Spedn(double db, double po) const; |
| 21 | 乾球温度より比重を算出 | double Spedn(double db, double xi, double po) cons |
PSYCALは、状態点を表示する構造体で下の様なものです。
ypedef struct _PSYCAL{
double db; dry bulb
double db1; dry bubl 1
double db2; dry bulb 2
double wb; wet bulb
double rh; relative humidity
double dp; dew point
double hi; enthalpy
double xi; abs humidity
double xi1; abs humidity 1
double xi2; abs humidity 2
double px; vopor pressure
double dn; dennsity
double mt; minimun temp
}PSYCAL, *pPSYCAL;
詳細は、解凍された各ヘッダーファイルを参照して下さい。
重要な飽和蒸気圧を算出する関数を変更しました。 Dated 2016.01
今まで、飽和蒸気圧算出関数は、機械学会の式とGoff Goff - Gratch の補間式を使用していましたが、
現在最も信頼されている補間式は、J1S Z8806でも使用されている、 Wexler の式ですので、変更しました。
以下に、各補間式での計算比較をあげます。
| 乾球温度より飽和蒸気圧を算出 | |||||
| 空衛学会 | Wexler | 機会学会の式 | J1S Z8806 | ||
| DB | (mmHg) | (hPa) | (hPa) | (hPa) | |
| 60.0 | 199.4376 | 199.2019 | 199.48 | ||
| 50.0 | 123.4985 | 123.3527 | 123.53 | ||
| 40.0 | 73.8346 | 73.7501 | 73.853 | ||
| 30.0 | 42.4603 | 42.4149 | 42.47 | ||
| 21.0 | 18.641 | 24.8767 | 24.8525 | 24.882 | |
| 20.0 | 17.525 | 23.3880 | 23.3656 | 23.392 | |
| 15.0 | 12.78 | 17.0545 | 17.0393 | 17.057 | |
| 10.0 | 9.2033 | 12.2800 | 12.2699 | 12.281 | |
| 9.0 | 8.6045 | 11.4811 | 11.4718 | 11.482 | |
| 8.0 | 8.0404 | 10.7284 | 10.7199 | 10.729 | |
| 7.0 | 7.5093 | 10.0196 | 10.0118 | 10.02 | |
| 6.0 | 7.01 | 9.3525 | 9.3453 | 9.3531 | |
| 5.0 | 6.539 | 8.7249 | 8.7184 | 8.7254 | |
| 4.0 | 6.097 | 8.1348 | 8.1288 | 8.1352 | |
| 3.0 | 5.681 | 7.5803 | 7.5749 | 7.5806 | |
| 2.0 | 5.292 | 7.0595 | 7.0546 | 7.0597 | |
| 1.0 | 4.925 | 6.5707 | 6.5662 | 6.5708 | |
| 0.0 | 4.581 | 6.1115 | 6.1080 | 6.112 | |
| -1.0 | 5.6267 | 5.6234 | |||
| -2.0 | 5.1772 | 5.1741 | |||
| -3.0 | 4.7606 | 4.7577 | |||
| -5.0 | 4.0176 | 4.0152 | |||
| -7.0 | 3.3819 | 3.3798 | |||
| -8.0 | 3.0998 | 3.0978 | |||
| -10.0 | 2.5990 | 2.5973 | |||
| -12.0 | 2.1732 | 2.1718 | |||
| -15.0 | 1.6530 | 1.6518 | |||
| -18.0 | 1.2492 | 1.2483 | |||
| -20.0 | 1.0326 | 1.0318 | |||
| -25.0 | 0.6329 | 0.6324 | |||
| -30.0 | 0.3802 | 0.3798 | |||
| Goff - Gratch の式 | |||||
このDLLは、MFCで作成されたものですが、C#で作成したものもダウンロード出来るようにいたします。
ページ先頭に戻る
最終更新日:2020/02/04