freesteam

GPL
C/C++
跨平台
2010-01-25
小编辑

Freesteam是一个库,让您使用业界标准IAPWS - IF97计算水和水蒸汽性质蒸汽表。这是C + +类库,可到您的代码中。插件允许 freesteam能与电子表格和其他应用的集成正在开发中。所包含的单元测试确保与出版属性值的情况。 IAPWS - 95(科学使用)的相关性也包括在内,并作为此验证的一部分使用。

示例代码:

#include <freesteam/steam_ps.h>
#include <freesteam/steam_pT.h>
#include <freesteam/region4.h>
#include <stdio.h>

int main(void){

fprintf(stderr,"\nThis example demonstrates use of a few of the basic"
" capabilities of freesteam. It calculates the rise in temperature"
" seen in isentropic compression of a sample of steam initially at"
" 1 bar, 400 K, to a final pressure of 10 bar. It also calculates"
" the saturation temperature for steam at that final pressure.\n\n"
);

double T = 400.; /* in Kelvin! */
double p = 1e5; /* = 1 bar */

fprintf(stderr,"Initial temperature = %f K, pressure = %f bar\n", T, p/1e5);

/* set a steam state of 1 bar, 400 K */
SteamState S = freesteam_set_pT(1e5, 400);

double s = freesteam_s(S);
fprintf(stderr,"Entropy at initial state is %f kJ/kgK\n",s/1e3);

/* calculate a steam state with entropy from above and 10 bar pressure */
SteamState S2 = freesteam_set_ps(10e5, s);

double T2 = freesteam_T(S2);
double p2 = freesteam_p(S2);

/* output the new temperature */
fprintf(stderr,"New temperature is %f K at %f bar\n", T2, p2/1e5);

fprintf(stderr,"Check: final entropy is %f kJ/kgK\n", freesteam_s(S2)/1e3);

/* saturation temperature at final pressure */
double Tsat = freesteam_region4_Tsat_p(p2);
fprintf(stderr,"Saturation temperature at %f bar is %f K.\n\n",p2/1e5, Tsat);

return 0;
}
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

暂无博客

返回顶部
顶部