GasFlowMeter/User/NG/FlowCal.h

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