/************************************************************************* * �ļ�: NGCal.h **************************************************************************/ #ifndef _NGCal_H #define _NGCal_H /* ���������ļ� */ #include #include #include /* ״̬�� */ #define NORMAL 9000 #define NGCal_NGCal 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 FLOW_CALC_ERROR 9007 #define FLOW_CALC_DIEDAI_ERROR 9008 /* ����� */ #define NUMBEROFCOMPONENTS 21 #define M_PI 3.14159265897932 /* ���������е�����Դ��� */ #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 tagNGParSTRUCT { long lStatus; /* ����״̬ */ int bForceUpdate; /* ִ������������ź� */ double adMixture[21]; /* Ħ��������� */ 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; /*��λĦ��������*/ } NGParSTRUCT; /* ���ڸ���������ֵ�ö�� */ 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 NGCal_Init(NGParSTRUCT * ptNGPar); /* ��ʼ�� */ int NGCal_UnInit(void); /* ����ʼ�� */ /* ����VOS����ĺ���ԭ�� */ double SOS(NGParSTRUCT *); /* C*����ĺ���ԭ�� */ double Crit(NGParSTRUCT *, double); #endif