/************************************************************************* * 文件: therm.h * 描述: Therm类的头文件 **************************************************************************/ #ifndef _THERM_H #define _THERM_H #include "NGCal.h" #include "Detail.h" // Therm类 typedef struct Therm { // 成员数据 double dT; // 当前温度,单位开尔文(K) double dP; // 当前压力,单位帕斯卡(Pa) double dD; // 摩尔密度,单位mol/dm3 double dRho; // 质量密度,单位kg/m3 double dPdD; // P对D的偏导数 double dPdT; // P对T的偏导数 double dSi; // 理想气体比熵,单位kJ/kg.K double dTold; // 之前使用的温度 double dMrxold; // 之前使用的混合物摩尔质量 // 方法指针 double (*CpiMolar)(struct Therm*, NGParSTRUCT*); void (*Run)(struct Therm*, NGParSTRUCT*, Detail*); double (*Ho)(struct Therm*, NGParSTRUCT*); double (*So)(struct Therm*, NGParSTRUCT*); void (*CprCvrHS)(struct Therm*, NGParSTRUCT*, Detail*); double (*H)(struct Therm*, NGParSTRUCT*, Detail*); double (*S)(struct Therm*, NGParSTRUCT*, Detail*); void (*HS_Mode)(struct Therm*, NGParSTRUCT*, Detail*, double, double, int); } Therm; // Therm类的构造函数和析构函数 Therm* Therm_construct(void); void Therm_destruct(Therm* obj); // Therm类使用的其他数据 // 使用 extern 声明变量 extern int GK_points; extern double GK_root[5]; extern double GK_weight[5]; extern double ThermConstants[21][11]; // 热化学卡路里到焦耳的转换常数: 1 cal(IT) = 4.1840 J extern double CalTH ; // 系数索引的枚举 enum CoefficientList { coefA = 0, coefB, coefC, coefD, coefE, coefF, coefG, coefH, coefI, coefJ, coefK }; #endif