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