GasFlowMeter/User/NG/FlowCal.h

91 lines
3.0 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef FLOWCAL_H
#define FLOWCAL_H
#include "NGCal.h"
/* <20><>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ */
typedef struct FlowParSTRUCT {
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
int dCbtj; //<2F><><EFBFBD><EFBFBD><EFBFBD>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>
double dPb_M; //<2F><><EFBFBD><EFBFBD><EFBFBD>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>
double dTb_M; //<2F><><EFBFBD><EFBFBD><EFBFBD>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double dPb_E; //ȼ<>ղα<D5B2><CEB1><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>
double dTb_E; //ȼ<>ղα<D5B2><CEB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double dPatm; //<2F><><EFBFBD>ش<EFBFBD><D8B4><EFBFBD>ѹ Pa
double dNG_Compents[21]; //<2F><>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD>
int dMeterType; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int dCoreType; //<2F><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int dPtmode; //ȡѹ<C8A1><D1B9>ʽ
int dPipeType; // <20>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>
double dPipeD; //<2F>ܵ<EFBFBD><DCB5>ھ<EFBFBD> mm
int dPipeMaterial; //<2F>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>
double dOrificeD; //<2F>װ<EFBFBD>׾<EFBFBD>mm
int dOrificeMaterial; //<2F>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
double dPf; //<2F><><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9> Pa
int dPfType; //ѹ<><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double dTf; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> K
double dDp; //<2F><><EFBFBD><EFBFBD><EFBFBD>ѹ Pa
double dMeterFactor; //<2F>DZ<EFBFBD>ϵ<EFBFBD><CFB5>
double dPulseNum; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double dE; //'<27>󽥽<EFBFBD><F3BDA5BD>ٶ<EFBFBD>ϵ<EFBFBD><CFB5> E
double dFG; //'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>ϵ<EFBFBD><CFB5> FG
double dFT; //'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5> 'FT
double dDViscosity; //'<27><><EFBFBD><EFBFBD>ճ<EFBFBD><D5B3> dlnd
double dDExpCoefficient; //'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
double dRnPipe; //'<27>ܵ<EFBFBD><DCB5><EFBFBD>ŵ<EFBFBD><C5B5>
double dBk; //'<27>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>Bk
double dRoughNessPipe; //'<27>ܵ<EFBFBD><DCB5>ֲڶ<D6B2>ϵ<EFBFBD><CFB5> Gme
double dCd; //'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
double dCdCorrect; //'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
double dCdNozell; //'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
double dVFlowb; //'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Nm3/s
double dVFlowf; //'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> m3/s
double dMFlowb; //'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> t/s
double dEFlowb; //'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MJ/s
double dVelocityFlow; //'<27>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double dPressLost; //'ѹ<><D1B9><EFBFBD><EFBFBD>ʧ
double dBeta; //'ֱ<><D6B1><EFBFBD><EFBFBD>
double dKappa; //'<27><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
double dFpv; //<2F><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
} 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