115 lines
3.7 KiB
C
115 lines
3.7 KiB
C
|
/*************************************************************************
|
|||
|
* <EFBFBD>ļ<EFBFBD>: aga10.h
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: aga10.c<EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD>ͺͶ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* <EFBFBD>汾: ver 1.7 2002.11.17
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: W.B. Peterson
|
|||
|
* <EFBFBD><EFBFBD>:
|
|||
|
* <EFBFBD><EFBFBD>Ȩ (c) 2002 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD>
|
|||
|
**************************************************************************/
|
|||
|
|
|||
|
#ifndef _AGA10_H
|
|||
|
#define _AGA10_H
|
|||
|
|
|||
|
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD> */
|
|||
|
#include <stdio.h>
|
|||
|
#include <stdlib.h>
|
|||
|
|
|||
|
#include <math.h>
|
|||
|
|
|||
|
/* ״̬<D7B4><CCAC> */
|
|||
|
#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
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
#define NUMBEROFCOMPONENTS 21
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD> */
|
|||
|
#define MAX_NUM_OF_ITERATIONS 100
|
|||
|
|
|||
|
/* Ĭ<><C4AC><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
#define P_CHG_TOL 0.001 /* 0.001 Pa */
|
|||
|
#define T_CHG_TOL 0.001 /* 0.001 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<EFBFBD><50>T */
|
|||
|
#define P_MAX 1.379e8 /* <20><><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>(Pa) ~= 20,000 psi */
|
|||
|
#define P_MIN 0.0 /* <20><>Сѹ<D0A1><D1B9> = 0 */
|
|||
|
#define T_MAX 473.15 /* <20><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>(K) ~= 392 F */
|
|||
|
#define T_MIN 143.0 /* <20><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>(K) ~= -200 F */
|
|||
|
|
|||
|
/* ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD>峣<EFBFBD><E5B3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
#define RGASKJ 8.314510e-3 /* <20><>λ: kJ mol^-1 K^-1 */
|
|||
|
#define RGAS 8.314510 /* <20><>λ: J mol^-1 K^-1 */
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ݽṹ */
|
|||
|
typedef struct tagAGA10STRUCT
|
|||
|
{
|
|||
|
long lStatus; /* <20><><EFBFBD><EFBFBD>״̬ */
|
|||
|
int bForceUpdate; /* ִ<><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> */
|
|||
|
double adMixture[NUMBEROFCOMPONENTS]; /* Ħ<><C4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
int dCbtj; /* <20>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD> 0 101.325MPa 20<32>棻1:101325MPa<50><61>15<31>棻2:101325MPa<50><61>0<EFBFBD><30> */
|
|||
|
double dPb; /* <20><>ͬ<EFBFBD><CDAC>ѹ<D7BC><D1B9>(Pa) */
|
|||
|
double dTb; /* <20><>ͬ<EFBFBD><CDAC><EFBFBD>¶<EFBFBD>(K) */
|
|||
|
double dPf; /* <20><><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>(Pa) */
|
|||
|
double dTf; /* <20><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>(K) */
|
|||
|
|
|||
|
/* AGA 8 Detail<69><6C><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
double dMrx; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ħ<EFBFBD><C4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
double dZb; /* <20><>ͬ<EFBFBD><CDAC><EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>ѹ<EFBFBD><D1B9>ϵ<EFBFBD><CFB5> */
|
|||
|
double dZf; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>ѹ<EFBFBD><D1B9>ϵ<EFBFBD><CFB5> */
|
|||
|
double dFpv; /* <20><>ѹ<EFBFBD><D1B9>ϵ<EFBFBD><CFB5> */
|
|||
|
double dDb; /* <20><>ͬ<EFBFBD><CDAC><EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>Ħ<EFBFBD><C4A6><EFBFBD>ܶ<EFBFBD>(moles/dm3) */
|
|||
|
double dDf; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>Ħ<EFBFBD><C4A6><EFBFBD>ܶ<EFBFBD>(moles/dm3) */
|
|||
|
double dRhob; /* <20><>ͬ<EFBFBD><CDAC><EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>(kg/m3) */
|
|||
|
double dRhof; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>(kg/m3) */
|
|||
|
double dRD_Ideal; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD> */
|
|||
|
double dRD_Real; /* <20><>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD> */
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
double dHo; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
double dH; /* <20><>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(J/kg) */
|
|||
|
double dS; /* <20><>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(J/kg-mol.K) */
|
|||
|
double dCpi; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嶨ѹ<E5B6A8><D1B9><EFBFBD><EFBFBD>(J/kg-mol.K) */
|
|||
|
double dCp; /* <20><>ʵ<EFBFBD><CAB5><EFBFBD>嶨ѹ<E5B6A8><D1B9><EFBFBD><EFBFBD>(J/kg-mol.K) */
|
|||
|
double dCv; /* <20><>ʵ<EFBFBD><CAB5><EFBFBD>嶨<EFBFBD><E5B6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(J/kg-mol.K) */
|
|||
|
double dk; /* <20><><EFBFBD>ȱ<EFBFBD> */
|
|||
|
double dKappa; /* <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD>ĸkappa<70><61>ʾ */
|
|||
|
double dSOS; /* <20><><EFBFBD><EFBFBD>(m/s) */
|
|||
|
double dCstar; /* <20>ٽ<EFBFBD><D9BD><EFBFBD>ϵ<EFBFBD><CFB5>C* */
|
|||
|
|
|||
|
/*11062 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
|
|||
|
double dHhvMol; /*<2A><>λĦ<CEBB><C4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
double dLhvMol; /*<2A><>λĦ<CEBB><C4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
|
|||
|
|
|||
|
} AGA10STRUCT;
|
|||
|
|
|||
|
/* <20><><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ö<EFBFBD><C3B6> */
|
|||
|
enum gascomp {
|
|||
|
XiC1=0, XiN2, XiCO2, XiC2, XiC3,
|
|||
|
XiH2O, XiH2S, XiH2, XiCO, XiO2,
|
|||
|
XiIC4, XiNC4, XiIC5, XiNC5, XiNC6,
|
|||
|
XiNC7, XiNC8, XiNC9, XiNC10, XiHe, XiAr
|
|||
|
};
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD> */
|
|||
|
|
|||
|
/* <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD> */
|
|||
|
int AGA10_Init(void); /* <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD> */
|
|||
|
int AGA10_UnInit(void); /* <20><><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD> */
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD>VOS<4F><53><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>ԭ<EFBFBD><D4AD> */
|
|||
|
double SOS(AGA10STRUCT *);
|
|||
|
|
|||
|
/* C*<2A><><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>ԭ<EFBFBD><D4AD> */
|
|||
|
double Crit(AGA10STRUCT *, double);
|
|||
|
|
|||
|
#endif
|