#pragma once #include "iAlgPvtBase.h" // 定义计算气油比方法名称 enum egasOilRs { StandingRS = 0, LasterRS, VasquezAndBeggsRS, GlasoVolatileRS, GlasoNoVolatileRS }; // 计算气油比方法 class M_PVT_EXPORT gasOilRatio : public iAlgPvtBase { public: gasOilRatio(); // 绑定成员变量 virtual void bindMembers(); // 虚函数,计算函数 virtual bool cal(VecDouble vecIns, VecDouble& vecOuts); public: bool laster(VecDouble vecIns, VecDouble& vecOuts); bool standing(VecDouble vecP, VecDouble& vecRs); bool vasquezAndBeggs(VecDouble vecP, VecDouble& vecRs); bool glasoVolatile(VecDouble vecP, VecDouble& vecRs); bool glasoNoVolatile(VecDouble vecP, VecDouble& vecRs); private: double m_dRo; //ro,油相比重,该油相的密度与4℃时纯水的密度之比,无量纲,具体情况具体分析,0.8-0.9 double m_dRg; //rg, 气体比重,该气体的密度与空气密度之比,无量纲,具体情况具体分析,0.55-0.8 double m_dyg; //yg, 混合物中气体摩尔分数,无量纲,没有默认值,甲烷0.85 其他比较小 //double m_dMo; // 油的视分子量,无量纲,100-150 double m_dT; //rt,油藏温度,°C double m_dPsep; //Psep,分离器压力,MPa,0.79111 double m_dTsep; //tsep,分离器温度,F,60F };