94 lines
2.5 KiB
C
94 lines
2.5 KiB
C
#ifndef _FLOWCAL_H
|
|
#define _FLOWCAL_H
|
|
|
|
#include "NGCal.h"
|
|
#include "Detail.h"
|
|
|
|
/* 天然气物性参数的数据结构 */
|
|
typedef struct FlowParSTRUCT
|
|
{
|
|
//流量计算输入参数信息
|
|
|
|
int dCbtj; //计量参比条件压力
|
|
double dPb_M; //计量参比条件压力
|
|
double dTb_M; //计量参比条件温度
|
|
double dPb_E; //燃烧参比条件压力
|
|
double dTb_E; //燃烧参比条件温度
|
|
double dPatm;//当地大气压 Pa
|
|
double dNG_Compents[21] ;//天然气组分
|
|
|
|
int dMeterType;// 流量计类别
|
|
int dCoreType;//节流装置类型
|
|
int dPtmode; //取压方式
|
|
int dPipeType; // 管道类型
|
|
double dPipeD; //管道内径 mm
|
|
int dPipeMaterial; //管道材料
|
|
|
|
double dOrificeD; //孔板孔径mm
|
|
int dOrificeMaterial; //孔板材料
|
|
|
|
double dPf;//输入压力 Pa
|
|
int dPfType; //压力类型
|
|
double dTf; //输入温度 K
|
|
double dDp; //输入差压 Pa
|
|
|
|
double dMeterFactor;//仪表系数
|
|
double dPulseNum;//脉冲数
|
|
|
|
|
|
//流量计算输出参数
|
|
double dE; //'求渐近速度系数 E
|
|
double dFG; //'求相对密度系数 FG
|
|
double dFT; //'求流动温度系数 'FT
|
|
double dDViscosity; //'求动力粘度 dlnd
|
|
double dDExpCoefficient; //'求可膨胀系数
|
|
double dRnPipe; //'管道雷诺数
|
|
double dBk; //'孔板锐利度系数Bk
|
|
double dRoughNessPipe; //'管道粗糙度系数 Gme
|
|
double dCd; //'修正后的流出系数
|
|
double dCdCorrect; //'修正后的流出系数
|
|
double dCdNozell; //'喷嘴的流出系数
|
|
double dVFlowb;//'标况体积流量 Nm3/s
|
|
double dVFlowf; //'工况体积流量 m3/s
|
|
double dMFlowb;//'标况质量流量 t/s
|
|
double dEFlowb;//'标况能量流量 MJ/s
|
|
double dVelocityFlow;//'管道内天然气流速
|
|
double dPressLost;//'压力损失
|
|
double dBeta;//'直径比
|
|
double dKappa;//'等熵指数
|
|
double dFpv;//超压缩因子
|
|
|
|
|
|
} FlowParSTRUCT;
|
|
|
|
double CaiLiaoPzxs(int tempCaiLiao);
|
|
double calculateK(int dPipeType);
|
|
|
|
double calculateRoughnessFactor(double D_pipe, double K, double C);
|
|
|
|
void thermalExpansionCorrection(double dOrificeMaterial, double dOrificeD,
|
|
double dPipeMaterial, double dPipeD,
|
|
double dTf, double correctedValues[3]);
|
|
|
|
double calculateE(double beta);
|
|
|
|
double calculateFG(double dRD_Real);
|
|
|
|
double calculateFT(double dTb_M, double dTf);
|
|
|
|
double calculateEpsilon(double dPf, double dDp, double beta, double dKappa);
|
|
|
|
double calculateKappa(double dZf);
|
|
|
|
double calculateReD(double Qf, double D, double rho, double mu);
|
|
|
|
double calculateCd(double beta, double ReD, double D_mm, int ptMode);
|
|
|
|
|
|
double Dlndjs(double tempP_jy, double tempT);
|
|
|
|
void OFlowCal(FlowParSTRUCT* ptFlowPar, NGParSTRUCT* ptNGPar);
|
|
|
|
#endif
|
|
|