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.
207 lines
7.3 KiB
C++
207 lines
7.3 KiB
C++
#ifndef NMDATAMIXEDRESULTS_H
|
|
#define NMDATAMIXEDRESULTS_H
|
|
|
|
#include "nmData_global.h"
|
|
#include "nmDefines.h"
|
|
#include "nmDataAttribute.h"
|
|
#include <QObject>
|
|
|
|
#include "nmDataBase.h"
|
|
|
|
// 混合结果参数类
|
|
class NM_DATA_EXPORT nmDataMixedResults : public nmDataBase
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
nmDataMixedResults();
|
|
nmDataMixedResults(const nmDataMixedResults& other);
|
|
~nmDataMixedResults();
|
|
nmDataMixedResults& operator=(const nmDataMixedResults& other);
|
|
|
|
// 实现 nmDataBase 的抽象方法:将当前 C++ 对象序列化为 RapidJSON Value
|
|
virtual rapidjson::Value ToJsonValue(rapidjson::Document::AllocatorType& allocator) const override;
|
|
// 实现 nmDataBase 的抽象方法:从 RapidJSON Value 反序列化数据到当前 C++ 对象
|
|
virtual void FromJsonValue(const rapidjson::Value& jsonValue) override;
|
|
|
|
// Warnings---提示
|
|
void setCriticalParameters(const nmDataAttribute& attr);
|
|
nmDataAttribute& getCriticalParameters();
|
|
|
|
// Analysis summary---分析总结
|
|
void setAnalysisName(const nmDataAttribute& attr);
|
|
nmDataAttribute& getAnalysisName();
|
|
|
|
void setReferenceWell(const nmDataAttribute& attr);
|
|
nmDataAttribute& getReferenceWell();
|
|
|
|
void setPVTReferencePhase(const nmDataAttribute& attr);
|
|
nmDataAttribute& getPVTReferencePhase();
|
|
|
|
void setPVTPhases(const nmDataAttribute& attr);
|
|
nmDataAttribute& getPVTPhases();
|
|
|
|
void setActiveProduction(const nmDataAttribute& attr);
|
|
nmDataAttribute& getActiveProduction();
|
|
|
|
void setOilRate(const nmDataAttribute& attr);
|
|
nmDataAttribute& getOilRate();
|
|
|
|
void setActivePressureGauge(const nmDataAttribute& attr);
|
|
nmDataAttribute& getActivePressureGauge();
|
|
|
|
void setAnalysisType(const nmDataAttribute& attr);
|
|
nmDataAttribute& getAnalysisType();
|
|
|
|
void setActiveModel(const nmDataAttribute& attr);
|
|
nmDataAttribute& getActiveModel();
|
|
|
|
// Main Results---主要结果
|
|
void setSource(const nmDataAttribute& attr);
|
|
nmDataAttribute& getSource();
|
|
|
|
void setMobility(const nmDataAttribute& attr);
|
|
nmDataAttribute& getMobility();
|
|
|
|
void setPbar(const nmDataAttribute& attr);
|
|
nmDataAttribute& getPbar();
|
|
|
|
void setProductivityIndex(const nmDataAttribute& attr);
|
|
nmDataAttribute& getProductivityIndex();
|
|
|
|
void setPoreVolume(const nmDataAttribute& attr);
|
|
nmDataAttribute& getPoreVolume();
|
|
|
|
// Diagnostic---诊断分析
|
|
void setDiagnosticWell(const nmDataAttribute& attr);
|
|
nmDataAttribute& getDiagnosticWell();
|
|
|
|
void setBoundary(const nmDataAttribute& attr);
|
|
nmDataAttribute& getBoundary();
|
|
|
|
void setReferenceRate(const nmDataAttribute& attr);
|
|
nmDataAttribute& getReferenceRate();
|
|
|
|
void setExtractionStartTime(const nmDataAttribute& attr);
|
|
nmDataAttribute& getExtractionStartTime();
|
|
|
|
void setPAtDt0(const nmDataAttribute& attr);
|
|
nmDataAttribute& getPAtDt0();
|
|
|
|
void setTimeMatch(const nmDataAttribute& attr);
|
|
nmDataAttribute& getTimeMatch();
|
|
|
|
void setPressureMatch(const nmDataAttribute& attr);
|
|
nmDataAttribute& getPressureMatch();
|
|
|
|
void setKhMu(const nmDataAttribute& attr);
|
|
nmDataAttribute& getKhMu();
|
|
|
|
void setDeltaPSkin(const nmDataAttribute& attr);
|
|
nmDataAttribute& getDeltaPSkin();
|
|
|
|
// Model description---模型表征
|
|
void setOtherWellsIncluded(const nmDataAttribute& attr);
|
|
nmDataAttribute& getOtherWellsIncluded();
|
|
|
|
void setRateDependentSkin(const nmDataAttribute& attr);
|
|
nmDataAttribute& getRateDependentSkin();
|
|
|
|
void setTimeDependentSkin(const nmDataAttribute& attr);
|
|
nmDataAttribute& getTimeDependentSkin();
|
|
|
|
// Model - Contour & faults---模型-边界和断层
|
|
void setTopBoundary(const nmDataAttribute& attr);
|
|
nmDataAttribute& getTopBoundary();
|
|
|
|
void setBottomBoundary(const nmDataAttribute& attr);
|
|
nmDataAttribute& getBottomBoundary();
|
|
|
|
// Model - Results - Field---模型-结果-场
|
|
void setSTOIIP(const nmDataAttribute& attr);
|
|
nmDataAttribute& getSTOIIP();
|
|
|
|
void setSTOIIPFree(const nmDataAttribute& attr);
|
|
nmDataAttribute& getSTOIIPFree();
|
|
|
|
void setSTOIP(const nmDataAttribute& attr);
|
|
nmDataAttribute& getSTOIP();
|
|
|
|
void setQoTmax(const nmDataAttribute& attr);
|
|
nmDataAttribute& getQoTmax();
|
|
|
|
void setTmax(const nmDataAttribute& attr);
|
|
nmDataAttribute& getTmax();
|
|
|
|
void setArea(const nmDataAttribute& attr);
|
|
nmDataAttribute& getArea();
|
|
|
|
void setBulkVolume(const nmDataAttribute& attr);
|
|
nmDataAttribute& getBulkVolume();
|
|
|
|
// Statistics---统计
|
|
void setGoodnessOfFit(const nmDataAttribute& attr);
|
|
nmDataAttribute& getGoodnessOfFit();
|
|
|
|
private:
|
|
|
|
// Warnings---提示
|
|
nmDataAttribute m_criticalParameters; // 关键参数
|
|
|
|
// Analysis summary---分析总结
|
|
nmDataAttribute m_analysisName; // 分析名称
|
|
nmDataAttribute m_referenceWell; // 参考井
|
|
nmDataAttribute m_PVTReferencePhase; // PVT参考相态
|
|
nmDataAttribute m_PVTPhases; // PVT相态
|
|
nmDataAttribute m_activeProduction; // 当前产量
|
|
nmDataAttribute m_oilRate; // 油产量
|
|
nmDataAttribute m_activePressureGauge; // 测压装置
|
|
nmDataAttribute m_analysisType; // 分析类型
|
|
nmDataAttribute m_activeModel; // 当前模型
|
|
|
|
// Main Results---主要结果
|
|
nmDataAttribute m_source; // 来源
|
|
nmDataAttribute m_mobility; // 流度
|
|
nmDataAttribute m_Pbar; // 平均地层压力
|
|
nmDataAttribute m_productivityIndex; // 采油指数
|
|
nmDataAttribute m_poreVolume; // 孔隙体积
|
|
|
|
// Diagnostic---诊断分析
|
|
nmDataAttribute m_diagnosticWell; // 井
|
|
nmDataAttribute m_boundary; // 边界
|
|
nmDataAttribute m_referenceRate; // 参考产量
|
|
nmDataAttribute m_extractionStartTime; // 生产起始时间
|
|
nmDataAttribute m_PAtDt0; // P @ dt=0 原始压力
|
|
nmDataAttribute m_timeMatch; // 时间匹配
|
|
nmDataAttribute m_pressureMatch; // 压力匹配
|
|
nmDataAttribute m_khMu; // kh/μ 流动系数
|
|
nmDataAttribute m_deltaPSkin; // ΔP skin 表皮压差
|
|
|
|
// Model description---模型表征
|
|
nmDataAttribute m_otherWellsIncluded; // Other wells included? 是否包含其他井?
|
|
nmDataAttribute m_rateDependentSkin; // Rate dependent skin? 表皮是否受流速影响?
|
|
nmDataAttribute m_timeDependentSkin; // Time dependent skin? 表皮是否随时间变化?
|
|
|
|
|
|
// Model - Contour & faults---模型-边界和断层
|
|
nmDataAttribute m_topBoundary; // 顶边界
|
|
nmDataAttribute m_bottomBoundary; // 底边界
|
|
|
|
// Model - Results - Field---模型-结果-场
|
|
nmDataAttribute m_STOIIP; // STOIIP 原始地质储量
|
|
nmDataAttribute m_STOIIPFree; // STOIIP (free) 原始地质储量(可动)
|
|
nmDataAttribute m_STOIP; // STOIP 地质储量
|
|
nmDataAttribute m_QoTmax; // Qo(tmax) 最大累产油
|
|
nmDataAttribute m_Tmax; // Tmax 时长
|
|
nmDataAttribute m_area; // Area 面积
|
|
nmDataAttribute m_bulkVolume; // Bulk volume 总体积
|
|
|
|
// Test parameters---测试参数
|
|
|
|
// PVT---PVT
|
|
|
|
// Statistics---统计
|
|
nmDataAttribute m_goodnessOfFit; // 拟合优度
|
|
};
|
|
|
|
#endif // NMDATAMIXEDRESULTS_H
|