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/nmNum/nmData/nmDataMixedResults.h

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