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 waterMiuw : public iAlgPvtBase
|
|
|
|
|
|
{
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
enum PvtAlgMethod
|
|
|
|
|
|
{
|
|
|
|
|
|
PM_VanWingenAndFrick = 0,
|
|
|
|
|
|
PM_MeehanAndRamey,
|
|
|
|
|
|
PM_MeehanRameyAndFrick,
|
|
|
|
|
|
|
|
|
|
|
|
PM_HelmholtzAndFrick
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
waterMiuw();
|
|
|
|
|
|
// 绑定成员变量
|
|
|
|
|
|
virtual void bindMembers();
|
|
|
|
|
|
|
|
|
|
|
|
// 虚函数,计算函数
|
|
|
|
|
|
virtual bool cal(VecDouble vecIns, VecDouble& vecOuts);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
bool VanWingenAndFrick(VecDouble vecP, VecDouble& vecUw);
|
|
|
|
|
|
bool MeehanAndRamey(VecDouble vecP, VecDouble& vecUw);
|
|
|
|
|
|
bool MeehanRameyAndFrick(VecDouble vecP, VecDouble& vecUw);
|
|
|
|
|
|
bool HelmholtzAndFrick(VecDouble vecP, VecDouble& vecUw);
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
double m_dT; //rt,油藏温度,°C
|
|
|
|
|
|
double m_dws; //ws,含盐质量分数,无量纲;ws=矿化度(mg/L)/1000000
|
|
|
|
|
|
double m_dp; //rp,油藏压力,MPa
|
|
|
|
|
|
};
|