#ifndef NMDATAMIXEDRESULTS_H #define NMDATAMIXEDRESULTS_H #include "nmData_global.h" #include "nmDefines.h" #include "nmDataAttribute.h" #include #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