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.
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "iAlgPvtBase.h"
|
|
|
|
|
|
|
|
|
|
|
|
// 水压缩系数
|
|
|
|
|
|
class M_PVT_EXPORT waterCw : public iAlgPvtBase
|
|
|
|
|
|
{
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
enum PvtAlgMethod
|
|
|
|
|
|
{
|
|
|
|
|
|
PM_DodsonAndStanding = 0,
|
|
|
|
|
|
PM_HelmholtzAndFrick
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
waterCw();
|
|
|
|
|
|
|
|
|
|
|
|
// 绑定成员变量
|
|
|
|
|
|
virtual void bindMembers();
|
|
|
|
|
|
|
|
|
|
|
|
// 虚函数,计算函数
|
|
|
|
|
|
virtual bool cal(VecDouble vecIns, VecDouble& vecOuts);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
bool dodsonAndStanding(VecDouble vecP, VecDouble& vecCw);
|
|
|
|
|
|
bool helmholtzAndFrick(VecDouble vecP, VecDouble& vecCw);
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
double m_dRsw; //Rsw, 气水比,m3/m3
|
|
|
|
|
|
double m_dT; //rt, 油藏温度,°C
|
|
|
|
|
|
};
|