/************************************************************************* * 文件: aga10.h * 描述: aga10.c的函数原型和定义 * 版本: ver 1.7 2002.11.17 * 作者: W.B. Peterson * 修订: * 版权 (c) 2002 美国天然气协会 **************************************************************************/ #ifndef _AGA10_H #define _AGA10_H /* 其他包含文件 */ #include #include #include /* 状态码 */ #define NORMAL 9000 #define AGA10_INITIALIZED 9001 #define MEMORY_ALLOCATION_ERROR 9002 #define GENERAL_CALCULATION_FAILURE 9003 #define MAX_NUM_OF_ITERATIONS_EXCEEDED 9004 #define NEGATIVE_DENSITY_DERIVATIVE 9005 #define MAX_DENSITY_IN_BRAKET_EXCEEDED 9006 /* 组分数 */ #define NUMBEROFCOMPONENTS 21 /* 搜索例程中的最大尝试次数 */ #define MAX_NUM_OF_ITERATIONS 100 /* 默认容差限制 */ #define P_CHG_TOL 0.001 /* 0.001 Pa */ #define T_CHG_TOL 0.001 /* 0.001 开尔文 */ /* 最大允许P和T */ #define P_MAX 1.379e8 /* 最大压力(Pa) ~= 20,000 psi */ #define P_MIN 0.0 /* 最小压力 = 0 */ #define T_MAX 473.15 /* 最高温度(K) ~= 392 F */ #define T_MIN 143.0 /* 最低温度(K) ~= -200 F */ /* 通用气体常数,两种配置 */ #define RGASKJ 8.314510e-3 /* 单位: kJ mol^-1 K^-1 */ #define RGAS 8.314510 /* 单位: J mol^-1 K^-1 */ /* 本库使用的主要数据结构 */ typedef struct tagAGA10STRUCT { long lStatus; /* 计算状态 */ int bForceUpdate; /* 执行完整计算的信号 */ double adMixture[NUMBEROFCOMPONENTS]; /* 摩尔分数组成 */ int dCbtj; /* 参比条件 0 101.325MPa 20℃;1:101325MPa,15℃;2:101325MPa,0℃ */ double dPb; /* 合同基准压力(Pa) */ double dTb; /* 合同基准温度(K) */ double dPf; /* 绝对压力(Pa) */ double dTf; /* 流动温度(K) */ /* AGA 8 Detail方法的基本输出 */ double dMrx; /* 混合物摩尔质量 */ double dZb; /* 合同基准条件下的压缩系数 */ double dZf; /* 流动条件下的压缩系数 */ double dFpv; /* 超压缩系数 */ double dDb; /* 合同基准条件下的摩尔密度(moles/dm3) */ double dDf; /* 流动条件下的摩尔密度(moles/dm3) */ double dRhob; /* 合同基准条件下的质量密度(kg/m3) */ double dRhof; /* 流动条件下的质量密度(kg/m3) */ double dRD_Ideal; /* 理想气体相对密度 */ double dRD_Real; /* 真实气体相对密度 */ /* 附加输出 */ double dHo; /* 理想气体比焓 */ double dH; /* 真实气体比焓(J/kg) */ double dS; /* 真实气体比熵(J/kg-mol.K) */ double dCpi; /* 理想气体定压热容(J/kg-mol.K) */ double dCp; /* 真实气体定压热容(J/kg-mol.K) */ double dCv; /* 真实气体定容热容(J/kg-mol.K) */ double dk; /* 比热比 */ double dKappa; /* 等熵指数,用希腊字母kappa表示 */ double dSOS; /* 声速(m/s) */ double dCstar; /* 临界流系数C* */ /*11062 计算高位发热量和低位发热量*/ double dHhvMol; /*高位摩尔发热量*/ double dLhvMol; /*低位摩尔发热量*/ } AGA10STRUCT; /* 用于跟踪气体组分的枚举 */ enum gascomp { XiC1=0, XiN2, XiCO2, XiC2, XiC3, XiH2O, XiH2S, XiH2, XiCO, XiO2, XiIC4, XiNC4, XiIC5, XiNC5, XiNC6, XiNC7, XiNC8, XiNC9, XiNC10, XiHe, XiAr }; /* 函数原型 */ /* 初始化函数原型 */ int AGA10_Init(void); /* 初始化库 */ int AGA10_UnInit(void); /* 反初始化库 */ /* 基本VOS计算的函数原型 */ double SOS(AGA10STRUCT *); /* C*计算的函数原型 */ double Crit(AGA10STRUCT *, double); #endif