mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-24 22:27:55 -05:00
#14345 Grid Calculation: Fix additional ensemble selection
This commit is contained in:
1 parent
0ba20f0b65
commit
99ce6daf58
3 files changed
+31
-5
No files matched your search
@@ -43,7 +43,6 @@
|
||||
#include "RimDataFilterCollection.h"
|
||||
#include "RimEclipseCase.h"
|
||||
#include "RimEclipseCaseCollection.h"
|
||||
#include "RimEclipseCaseEnsemble.h"
|
||||
#include "RimEclipseCaseTools.h"
|
||||
#include "RimEclipseCellColors.h"
|
||||
#include "RimEclipseResultAddress.h"
|
||||
@@ -596,9 +595,9 @@ QList<caf::PdmOptionItemInfo> RimGridCalculation::calculateValueOptions( const c
|
||||
if ( proj->activeOilField() && proj->activeOilField()->analysisModels() )
|
||||
{
|
||||
auto analysisModels = proj->activeOilField()->analysisModels();
|
||||
for ( RimEclipseCaseEnsemble* e : analysisModels->caseEnsembles() )
|
||||
for ( auto* ensemble : analysisModels->reservoirGridEnsembles.childrenByType() )
|
||||
{
|
||||
options.push_back( caf::PdmOptionItemInfo( e->name(), e, false, e->uiIconProvider() ) );
|
||||
options.push_back( caf::PdmOptionItemInfo( ensemble->name(), ensemble, false, ensemble->uiIconProvider() ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "RiaPorosityModel.h"
|
||||
#include "RimEclipseCaseEnsemble.h"
|
||||
#include "RimGridCalculationVariable.h"
|
||||
#include "RimUserDefinedCalculation.h"
|
||||
|
||||
@@ -163,7 +162,7 @@ private:
|
||||
|
||||
caf::PdmField<caf::AppEnum<AdditionalCasesType>> m_additionalCasesType;
|
||||
caf::PdmPtrField<RimIdenticalGridCaseGroup*> m_additionalCaseGroup;
|
||||
caf::PdmPtrField<RimEclipseCaseEnsemble*> m_additionalEnsemble;
|
||||
caf::PdmPtrField<RimReservoirGridEnsemble*> m_additionalEnsemble;
|
||||
|
||||
caf::PdmField<std::vector<int>> m_selectedTimeSteps;
|
||||
|
||||
|
||||
@@ -88,3 +88,31 @@ TEST( RimGridCalculationTest, DestinationEnsembleCasesAreOutputs )
|
||||
EXPECT_EQ( firstCase, outputCases[0] );
|
||||
EXPECT_EQ( secondCase, outputCases[1] );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
TEST( RimGridCalculationTest, AdditionalEnsembleCasesAreOutputs )
|
||||
{
|
||||
RimReservoirGridEnsemble ensemble;
|
||||
auto* firstCase = new RimEclipseResultCase;
|
||||
auto* secondCase = new RimEclipseResultCase;
|
||||
ensemble.addCase( firstCase );
|
||||
ensemble.addCase( secondCase );
|
||||
|
||||
RimGridCalculation calculation;
|
||||
auto* additionalCasesTypeField = dynamic_cast<caf::PdmField<caf::AppEnum<RimGridCalculation::AdditionalCasesType>>*>(
|
||||
calculation.findField( "AdditionalCasesType" ) );
|
||||
auto* additionalEnsembleField =
|
||||
dynamic_cast<caf::PdmPtrField<RimReservoirGridEnsemble*>*>( calculation.findField( "AdditionalEnsemble" ) );
|
||||
ASSERT_TRUE( additionalCasesTypeField != nullptr );
|
||||
ASSERT_TRUE( additionalEnsembleField != nullptr );
|
||||
|
||||
additionalCasesTypeField->setValue( RimGridCalculation::AdditionalCasesType::ENSEMBLE );
|
||||
additionalEnsembleField->setValue( &ensemble );
|
||||
|
||||
const auto outputCases = calculation.outputEclipseCases();
|
||||
ASSERT_EQ( 2u, outputCases.size() );
|
||||
EXPECT_EQ( firstCase, outputCases[0] );
|
||||
EXPECT_EQ( secondCase, outputCases[1] );
|
||||
}
|
||||
Reference in new issue
Block a user