You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWTAI-Platform/Include/mAlg/mAlgPvt/gasCritical.h

57 lines
1.3 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#pragma once
#include "iAlgPvtBase.h"
class M_PVT_EXPORT gasCritical : public iAlgPvtBase
{
private:
enum PvtAlgMethod
{
PM_Standing = 0,
PM_Carr,
PM_Sutton,
PM_WichertAziz,
PM_HTHP,
PM_CarKobayshiBurrows
};
public:
gasCritical();
// 绑定成员变量
virtual void bindMembers();
// 虚函数,计算函数
virtual bool cal(double& dIn, double& dOut);
public:
// 各自的实现方法
bool standing(double& dTc, double& dPc);
bool carr(double& dTc, double& dPc);
bool sutton(double& dTc, double& dPc, bool bAdjust = true);
bool wichertAziz(double& dTc, double& dPc);
bool HTHP(double& dTc, double& dPc);
bool carKobayshiBurrows(double& dTc, double& dPc);
protected:
// 内部转换调整的函数
bool adjustByA(double A, double& dTc, double& dPc);
bool convertByWA(double& dTc, double& dPc);
public:
bool adjustPc(double& dPc);
private:
double m_dRg; //rg,气体比重,该气体的密度与空气密度之比,无量纲,具体情况具体分析,0.55-0.8
double m_dCO2; //yCO2,天然气中含二氧化碳CO2的摩尔分数无量纲
double m_dN2; //yN2,天然气中含氮气N2的摩尔分数无量纲
double m_dH2S; //yH2S,天然气中含硫化氢H2S的摩尔分数无量纲
};