mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-10 23:46:00 -06:00
#4251 Saturation Pressure Plots: Create curves only for unique values from EQLNUM
This commit is contained in:
parent
b08271b982
commit
2a534f88df
@ -22,7 +22,6 @@
|
||||
|
||||
#include "cafAppEnum.h"
|
||||
|
||||
|
||||
namespace caf
|
||||
{
|
||||
template<>
|
||||
@ -46,7 +45,6 @@ namespace caf
|
||||
addItem(RiaDefines::UNIT_FEET, "UNIT_FEET", "Feet");
|
||||
addItem(RiaDefines::UNIT_NONE, "UNIT_NONE", "None");
|
||||
|
||||
|
||||
setDefault(RiaDefines::UNIT_METER);
|
||||
}
|
||||
|
||||
@ -75,7 +73,7 @@ namespace caf
|
||||
addItem(RiaDefines::UNDEFINED_COMPONENT, "UNDEFINED", "Undefined Component");
|
||||
setDefault(RiaDefines::WELL_PATH);
|
||||
}
|
||||
}
|
||||
} // namespace caf
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
@ -206,6 +204,14 @@ QString RiaDefines::combinedMultResultName()
|
||||
return "MULTXYZ";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RiaDefines::eqlnumResultName()
|
||||
{
|
||||
return "EQLNUM";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -451,8 +457,10 @@ std::vector<QString> RiaDefines::wellPathAngleResultNames()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<QString> RiaDefines::wellPathStabilityResultNames()
|
||||
{
|
||||
return { RiaDefines::wellPathFGResultName(), RiaDefines::wellPathOBGResultName(),
|
||||
RiaDefines::wellPathPPResultName(), RiaDefines::wellPathSFGResultName(),
|
||||
return {RiaDefines::wellPathFGResultName(),
|
||||
RiaDefines::wellPathOBGResultName(),
|
||||
RiaDefines::wellPathPPResultName(),
|
||||
RiaDefines::wellPathSFGResultName(),
|
||||
RiaDefines::wellPathSHResultName()};
|
||||
}
|
||||
|
||||
|
@ -73,6 +73,8 @@ namespace RiaDefines
|
||||
QString ternarySaturationResultName();
|
||||
QString combinedMultResultName();
|
||||
|
||||
QString eqlnumResultName();
|
||||
|
||||
QString riTranXResultName();
|
||||
QString riTranYResultName();
|
||||
QString riTranZResultName();
|
||||
|
@ -297,7 +297,7 @@ QList<caf::PdmOptionItemInfo>
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::set<QString> 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" };
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -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);
|
||||
|
||||
|
@ -18,7 +18,9 @@
|
||||
|
||||
#include "RimSaturationPressurePlotCollection.h"
|
||||
|
||||
#include "RigCaseCellResultsData.h"
|
||||
#include "RigEclipseCaseData.h"
|
||||
#include "RigEclipseResultAddress.h"
|
||||
#include "RigEquil.h"
|
||||
|
||||
#include "RimEclipseResultCase.h"
|
||||
@ -55,22 +57,40 @@ std::vector<RimSaturationPressurePlot*>
|
||||
RigEclipseCaseData* eclipseCaseData = eclipseResultCase->eclipseCaseData();
|
||||
if (!eclipseCaseData) return generatedPlots;
|
||||
|
||||
auto results = eclipseCaseData->results(RiaDefines::MATRIX_MODEL);
|
||||
|
||||
std::set<int> 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<RigEquil> equilData = eclipseCaseData->equilData();
|
||||
for (size_t i = 0; i < equilData.size(); i++)
|
||||
{
|
||||
int zeroBasedEquilibriumRegion = static_cast<int>(i);
|
||||
|
||||
if (eqlnumRegionIdsFound.find(zeroBasedEquilibriumRegion + 1) != eqlnumRegionIdsFound.end())
|
||||
{
|
||||
RimSaturationPressurePlot* plot = new RimSaturationPressurePlot();
|
||||
plot->setAsPlotMdiWindow();
|
||||
|
||||
int equilibriumRegion = static_cast<int>(i);
|
||||
|
||||
// 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);
|
||||
plot->assignCaseAndEquilibriumRegion(RiaDefines::MATRIX_MODEL, eclipseResultCase, zeroBasedEquilibriumRegion);
|
||||
|
||||
m_saturationPressurePlots.push_back(plot);
|
||||
|
||||
generatedPlots.push_back(plot);
|
||||
}
|
||||
}
|
||||
|
||||
return generatedPlots;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user