diff --git a/ApplicationCode/Application/RiaDefines.cpp b/ApplicationCode/Application/RiaDefines.cpp index cf0df2f427..c55d067a38 100644 --- a/ApplicationCode/Application/RiaDefines.cpp +++ b/ApplicationCode/Application/RiaDefines.cpp @@ -3,17 +3,17 @@ // Copyright (C) 2011- Statoil ASA // Copyright (C) 2013- Ceetron Solutions AS // Copyright (C) 2011-2012 Ceetron AS -// +// // ResInsight is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. -// +// // ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or // FITNESS FOR A PARTICULAR PURPOSE. -// -// See the GNU General Public License at +// +// See the GNU General Public License at // for more details. // ///////////////////////////////////////////////////////////////////////////////// @@ -22,63 +22,61 @@ #include "cafAppEnum.h" - namespace caf { - template<> - void caf::AppEnum< RiaDefines::ResultCatType >::setUp() - { - addItem(RiaDefines::DYNAMIC_NATIVE, "DYNAMIC_NATIVE", "Dynamic"); - addItem(RiaDefines::STATIC_NATIVE, "STATIC_NATIVE", "Static"); - addItem(RiaDefines::SOURSIMRL, "SOURSIMRL", "SourSimRL"); - addItem(RiaDefines::GENERATED, "GENERATED", "Generated"); - addItem(RiaDefines::INPUT_PROPERTY, "INPUT_PROPERTY", "Input Property"); - addItem(RiaDefines::FORMATION_NAMES, "FORMATION_NAMES", "Formation Names"); - addItem(RiaDefines::FLOW_DIAGNOSTICS, "FLOW_DIAGNOSTICS", "Flow Diagnostics"); - addItem(RiaDefines::INJECTION_FLOODING, "INJECTION_FLOODING", "Injection Flooding"); - setDefault(RiaDefines::DYNAMIC_NATIVE); - } - - template<> - void caf::AppEnum< RiaDefines::DepthUnitType >::setUp() - { - addItem(RiaDefines::UNIT_METER, "UNIT_METER", "Meter"); - addItem(RiaDefines::UNIT_FEET, "UNIT_FEET", "Feet"); - addItem(RiaDefines::UNIT_NONE, "UNIT_NONE", "None"); - - - setDefault(RiaDefines::UNIT_METER); - } - - template<> - void caf::AppEnum< RiaDefines::PlotAxis >::setUp() - { - addItem(RiaDefines::PLOT_AXIS_LEFT, "PLOT_AXIS_LEFT", "Left"); - addItem(RiaDefines::PLOT_AXIS_RIGHT, "PLOT_AXIS_RIGHT", "Right"); - - setDefault(RiaDefines::PLOT_AXIS_LEFT); - } - - template<> - void caf::AppEnum< RiaDefines::WellPathComponentType >::setUp() - { - addItem(RiaDefines::WELL_PATH, "WELL_PATH", "Well Path"); - addItem(RiaDefines::PERFORATION_INTERVAL, "PERFORATION_INTERVAL", "Perforation Interval"); - addItem(RiaDefines::FISHBONES, "FISHBONES", "Fishbones"); - addItem(RiaDefines::FRACTURE, "FRACTURE", "Fracture"); - addItem(RiaDefines::ICD, "ICD", "ICD"); - addItem(RiaDefines::AICD, "AICD", "AICD"); - addItem(RiaDefines::ICV, "ICV", "ICV"); - addItem(RiaDefines::CASING, "CASING", "Casing"); - addItem(RiaDefines::LINER, "LINER", "Liner"); - addItem(RiaDefines::PACKER, "PACKER", "Packer"); - addItem(RiaDefines::UNDEFINED_COMPONENT, "UNDEFINED", "Undefined Component"); - setDefault(RiaDefines::WELL_PATH); - } +template<> +void caf::AppEnum::setUp() +{ + addItem(RiaDefines::DYNAMIC_NATIVE, "DYNAMIC_NATIVE", "Dynamic"); + addItem(RiaDefines::STATIC_NATIVE, "STATIC_NATIVE", "Static"); + addItem(RiaDefines::SOURSIMRL, "SOURSIMRL", "SourSimRL"); + addItem(RiaDefines::GENERATED, "GENERATED", "Generated"); + addItem(RiaDefines::INPUT_PROPERTY, "INPUT_PROPERTY", "Input Property"); + addItem(RiaDefines::FORMATION_NAMES, "FORMATION_NAMES", "Formation Names"); + addItem(RiaDefines::FLOW_DIAGNOSTICS, "FLOW_DIAGNOSTICS", "Flow Diagnostics"); + addItem(RiaDefines::INJECTION_FLOODING, "INJECTION_FLOODING", "Injection Flooding"); + setDefault(RiaDefines::DYNAMIC_NATIVE); } +template<> +void caf::AppEnum::setUp() +{ + addItem(RiaDefines::UNIT_METER, "UNIT_METER", "Meter"); + addItem(RiaDefines::UNIT_FEET, "UNIT_FEET", "Feet"); + addItem(RiaDefines::UNIT_NONE, "UNIT_NONE", "None"); + + setDefault(RiaDefines::UNIT_METER); +} + +template<> +void caf::AppEnum::setUp() +{ + addItem(RiaDefines::PLOT_AXIS_LEFT, "PLOT_AXIS_LEFT", "Left"); + addItem(RiaDefines::PLOT_AXIS_RIGHT, "PLOT_AXIS_RIGHT", "Right"); + + setDefault(RiaDefines::PLOT_AXIS_LEFT); +} + +template<> +void caf::AppEnum::setUp() +{ + addItem(RiaDefines::WELL_PATH, "WELL_PATH", "Well Path"); + addItem(RiaDefines::PERFORATION_INTERVAL, "PERFORATION_INTERVAL", "Perforation Interval"); + addItem(RiaDefines::FISHBONES, "FISHBONES", "Fishbones"); + addItem(RiaDefines::FRACTURE, "FRACTURE", "Fracture"); + addItem(RiaDefines::ICD, "ICD", "ICD"); + addItem(RiaDefines::AICD, "AICD", "AICD"); + addItem(RiaDefines::ICV, "ICV", "ICV"); + addItem(RiaDefines::CASING, "CASING", "Casing"); + addItem(RiaDefines::LINER, "LINER", "Liner"); + addItem(RiaDefines::PACKER, "PACKER", "Packer"); + addItem(RiaDefines::UNDEFINED_COMPONENT, "UNDEFINED", "Undefined Component"); + setDefault(RiaDefines::WELL_PATH); +} +} // namespace caf + //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- bool RiaDefines::isPerCellFaceResult(const QString& resultName) { @@ -127,7 +125,7 @@ bool RiaDefines::isPerCellFaceResult(const QString& resultName) } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- bool RiaDefines::isNativeCategoryResult(const QString& resultName) { @@ -135,7 +133,7 @@ bool RiaDefines::isNativeCategoryResult(const QString& resultName) } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::undefinedResultName() { @@ -143,7 +141,7 @@ QString RiaDefines::undefinedResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::undefinedGridFaultName() { @@ -151,7 +149,7 @@ QString RiaDefines::undefinedGridFaultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::undefinedGridFaultWithInactiveName() { @@ -159,7 +157,7 @@ QString RiaDefines::undefinedGridFaultWithInactiveName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::combinedTransmissibilityResultName() { @@ -167,7 +165,7 @@ QString RiaDefines::combinedTransmissibilityResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::combinedWaterFluxResultName() { @@ -175,7 +173,7 @@ QString RiaDefines::combinedWaterFluxResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::combinedOilFluxResultName() { @@ -183,7 +181,7 @@ QString RiaDefines::combinedOilFluxResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::combinedGasFluxResultName() { @@ -191,7 +189,7 @@ QString RiaDefines::combinedGasFluxResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::ternarySaturationResultName() { @@ -199,7 +197,7 @@ QString RiaDefines::ternarySaturationResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::combinedMultResultName() { @@ -207,7 +205,15 @@ QString RiaDefines::combinedMultResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// +//-------------------------------------------------------------------------------------------------- +QString RiaDefines::eqlnumResultName() +{ + return "EQLNUM"; +} + +//-------------------------------------------------------------------------------------------------- +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::riTranXResultName() { @@ -215,7 +221,7 @@ QString RiaDefines::riTranXResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::riTranYResultName() { @@ -223,7 +229,7 @@ QString RiaDefines::riTranYResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::riTranZResultName() { @@ -231,7 +237,7 @@ QString RiaDefines::riTranZResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::combinedRiTranResultName() { @@ -239,7 +245,7 @@ QString RiaDefines::combinedRiTranResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::riMultXResultName() { @@ -247,7 +253,7 @@ QString RiaDefines::riMultXResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::riMultYResultName() { @@ -255,7 +261,7 @@ QString RiaDefines::riMultYResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::riMultZResultName() { @@ -263,7 +269,7 @@ QString RiaDefines::riMultZResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::combinedRiMultResultName() { @@ -271,7 +277,7 @@ QString RiaDefines::combinedRiMultResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::riAreaNormTranXResultName() { @@ -279,7 +285,7 @@ QString RiaDefines::riAreaNormTranXResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::riAreaNormTranYResultName() { @@ -287,7 +293,7 @@ QString RiaDefines::riAreaNormTranYResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::riAreaNormTranZResultName() { @@ -295,7 +301,7 @@ QString RiaDefines::riAreaNormTranZResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::combinedRiAreaNormTranResultName() { @@ -319,7 +325,7 @@ QString RiaDefines::riOilVolumeResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::mobilePoreVolumeName() { @@ -327,7 +333,7 @@ QString RiaDefines::mobilePoreVolumeName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::completionTypeResultName() { @@ -335,7 +341,7 @@ QString RiaDefines::completionTypeResultName() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::mockModelBasic() { @@ -343,7 +349,7 @@ QString RiaDefines::mockModelBasic() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::mockModelBasicWithResults() { @@ -351,7 +357,7 @@ QString RiaDefines::mockModelBasicWithResults() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::mockModelLargeWithResults() { @@ -359,7 +365,7 @@ QString RiaDefines::mockModelLargeWithResults() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::mockModelCustomized() { @@ -367,7 +373,7 @@ QString RiaDefines::mockModelCustomized() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::mockModelBasicInputCase() { @@ -375,7 +381,7 @@ QString RiaDefines::mockModelBasicInputCase() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QString RiaDefines::activeFormationNamesResultName() { @@ -443,7 +449,7 @@ QString RiaDefines::wellPathSFGResultName() //-------------------------------------------------------------------------------------------------- std::vector RiaDefines::wellPathAngleResultNames() { - return { RiaDefines::wellPathAzimuthResultName(), RiaDefines::wellPathInclinationResultName() }; + return {RiaDefines::wellPathAzimuthResultName(), RiaDefines::wellPathInclinationResultName()}; } //-------------------------------------------------------------------------------------------------- @@ -451,13 +457,15 @@ std::vector RiaDefines::wellPathAngleResultNames() //-------------------------------------------------------------------------------------------------- std::vector RiaDefines::wellPathStabilityResultNames() { - return { RiaDefines::wellPathFGResultName(), RiaDefines::wellPathOBGResultName(), - RiaDefines::wellPathPPResultName(), RiaDefines::wellPathSFGResultName(), - RiaDefines::wellPathSHResultName() }; + return {RiaDefines::wellPathFGResultName(), + RiaDefines::wellPathOBGResultName(), + RiaDefines::wellPathPPResultName(), + RiaDefines::wellPathSFGResultName(), + RiaDefines::wellPathSHResultName()}; } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- double RiaDefines::minimumDefaultValuePlot() { @@ -473,7 +481,7 @@ double RiaDefines::minimumDefaultLogValuePlot() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- double RiaDefines::maximumDefaultValuePlot() { diff --git a/ApplicationCode/Application/RiaDefines.h b/ApplicationCode/Application/RiaDefines.h index c73406ba22..96f3fd5bda 100644 --- a/ApplicationCode/Application/RiaDefines.h +++ b/ApplicationCode/Application/RiaDefines.h @@ -73,6 +73,8 @@ namespace RiaDefines QString ternarySaturationResultName(); QString combinedMultResultName(); + QString eqlnumResultName(); + QString riTranXResultName(); QString riTranYResultName(); QString riTranZResultName(); diff --git a/ApplicationCode/Commands/ExportCommands/RicExportEclipseInputGridUi.cpp b/ApplicationCode/Commands/ExportCommands/RicExportEclipseInputGridUi.cpp index 50fd5597e8..bbe833ad12 100644 --- a/ApplicationCode/Commands/ExportCommands/RicExportEclipseInputGridUi.cpp +++ b/ApplicationCode/Commands/ExportCommands/RicExportEclipseInputGridUi.cpp @@ -297,7 +297,7 @@ QList //-------------------------------------------------------------------------------------------------- std::set RicExportEclipseInputGridUi::mainKeywords() { - return { "EQLNUM", "FIPNUM", "NTG", "PERMX", "PERMY", "PERMZ", "PORO", "PVTNUM", "SATNUM", "SWATINIT" }; + return { RiaDefines::eqlnumResultName(), "FIPNUM", "NTG", "PERMX", "PERMY", "PERMZ", "PORO", "PVTNUM", "SATNUM", "SWATINIT" }; } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/GridCrossPlots/RimSaturationPressurePlot.cpp b/ApplicationCode/ProjectDataModel/GridCrossPlots/RimSaturationPressurePlot.cpp index ccef5d07ba..151f88f22f 100644 --- a/ApplicationCode/ProjectDataModel/GridCrossPlots/RimSaturationPressurePlot.cpp +++ b/ApplicationCode/ProjectDataModel/GridCrossPlots/RimSaturationPressurePlot.cpp @@ -125,7 +125,7 @@ void RimSaturationPressurePlot::assignCaseAndEquilibriumRegion(RiaDefines::Poros RimEclipseResultDefinition* resultDefinition = new RimEclipseResultDefinition(); resultDefinition->setEclipseCase(eclipseResultCase); resultDefinition->setResultType(RiaDefines::STATIC_NATIVE); - resultDefinition->setResultVariable("EQLNUM"); + resultDefinition->setResultVariable(RiaDefines::eqlnumResultName()); cellFilter->setResultDefinition(resultDefinition); } @@ -205,7 +205,7 @@ RimPlotCellPropertyFilter* RimEclipseResultDefinition* resultDefinition = new RimEclipseResultDefinition(); resultDefinition->setEclipseCase(eclipseResultCase); resultDefinition->setResultType(RiaDefines::STATIC_NATIVE); - resultDefinition->setResultVariable("EQLNUM"); + resultDefinition->setResultVariable(RiaDefines::eqlnumResultName()); cellFilter->setResultDefinition(resultDefinition); diff --git a/ApplicationCode/ProjectDataModel/GridCrossPlots/RimSaturationPressurePlotCollection.cpp b/ApplicationCode/ProjectDataModel/GridCrossPlots/RimSaturationPressurePlotCollection.cpp index 0d96917a5a..bcf4ac5648 100644 --- a/ApplicationCode/ProjectDataModel/GridCrossPlots/RimSaturationPressurePlotCollection.cpp +++ b/ApplicationCode/ProjectDataModel/GridCrossPlots/RimSaturationPressurePlotCollection.cpp @@ -18,7 +18,9 @@ #include "RimSaturationPressurePlotCollection.h" +#include "RigCaseCellResultsData.h" #include "RigEclipseCaseData.h" +#include "RigEclipseResultAddress.h" #include "RigEquil.h" #include "RimEclipseResultCase.h" @@ -55,21 +57,39 @@ std::vector RigEclipseCaseData* eclipseCaseData = eclipseResultCase->eclipseCaseData(); if (!eclipseCaseData) return generatedPlots; + auto results = eclipseCaseData->results(RiaDefines::MATRIX_MODEL); + + std::set eqlnumRegionIdsFound; + { + RigEclipseResultAddress resAdr(RiaDefines::STATIC_NATIVE, RiaDefines::eqlnumResultName()); + if (results->hasResultEntry(resAdr)) + { + auto vals = results->uniqueCellScalarValues(resAdr); + for (auto v : vals) + { + eqlnumRegionIdsFound.insert(v); + } + } + } + std::vector equilData = eclipseCaseData->equilData(); for (size_t i = 0; i < equilData.size(); i++) { - RimSaturationPressurePlot* plot = new RimSaturationPressurePlot(); - plot->setAsPlotMdiWindow(); + int zeroBasedEquilibriumRegion = static_cast(i); - int equilibriumRegion = static_cast(i); + if (eqlnumRegionIdsFound.find(zeroBasedEquilibriumRegion + 1) != eqlnumRegionIdsFound.end()) + { + RimSaturationPressurePlot* plot = new RimSaturationPressurePlot(); + plot->setAsPlotMdiWindow(); - // As discussed with Liv Merete, it is not any use for creation of different plots for matrix/fracture. For now, use - // hardcoded value for MATRIX - plot->assignCaseAndEquilibriumRegion(RiaDefines::MATRIX_MODEL, eclipseResultCase, equilibriumRegion); + // As discussed with Liv Merete, it is not any use for creation of different plots for matrix/fracture. For now, use + // hardcoded value for MATRIX + plot->assignCaseAndEquilibriumRegion(RiaDefines::MATRIX_MODEL, eclipseResultCase, zeroBasedEquilibriumRegion); - m_saturationPressurePlots.push_back(plot); + m_saturationPressurePlots.push_back(plot); - generatedPlots.push_back(plot); + generatedPlots.push_back(plot); + } } return generatedPlots;