Skip to content

Commit

Permalink
Disable view filtering when using grid calculations as part of grid s…
Browse files Browse the repository at this point in the history
…tatistics

Active cells can be different between cases, and view filter from one specific case is not able to use for other cases.
  • Loading branch information
magnesj committed Nov 10, 2023
1 parent fb89030 commit 1046bcb
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 8 deletions.
15 changes: 14 additions & 1 deletion ApplicationLibCode/ProjectDataModel/RimEclipseStatisticsCase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,11 @@ void RimEclipseStatisticsCase::computeStatistics()

for ( auto calc : dependentCalculations )
{
calc->calculateForCases( sourceCases, timeStepIndices );
// A view filter is depending on active cells for a specific case, and the current implementation does not work for grids with
// different active cells. Disable use of view filter for now.
const bool useViewFilter = false;

calc->calculateForCases( sourceCases, useViewFilter, timeStepIndices );
}
}

Expand Down Expand Up @@ -707,6 +711,15 @@ void RimEclipseStatisticsCase::fieldChangedByUi( const caf::PdmFieldHandle* chan
m_calculateEditCommand = false;
}

if ( &m_dataSourceForStatistics == changedField && m_gridCalculation() == nullptr )
{
auto calculations = RimProject::current()->gridCalculationCollection()->calculations();
if ( !calculations.empty() )
{
m_gridCalculation = dynamic_cast<RimGridCalculation*>( calculations.front() );
}
}

if ( &m_wellDataSourceCase == changedField )
{
loadSimulationWellDataFromSourceCase();
Expand Down
12 changes: 7 additions & 5 deletions ApplicationLibCode/ProjectDataModel/RimGridCalculation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,9 +127,9 @@ bool RimGridCalculation::calculate()
}
}

auto timeSteps = std::nullopt;

return calculateForCases( outputEclipseCases(), timeSteps );
auto timeSteps = std::nullopt;
bool useViewFilter = true;
return calculateForCases( outputEclipseCases(), useViewFilter, timeSteps );
}

//--------------------------------------------------------------------------------------------------
Expand Down Expand Up @@ -536,7 +536,9 @@ void RimGridCalculation::removeDependentObjects()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimGridCalculation::calculateForCases( const std::vector<RimEclipseCase*>& calculationCases, std::optional<std::vector<size_t>> timeSteps )
bool RimGridCalculation::calculateForCases( const std::vector<RimEclipseCase*>& calculationCases,
bool useViewFilter,
std::optional<std::vector<size_t>> timeSteps )
{
if ( calculationCases.empty() ) return true;

Expand Down Expand Up @@ -622,7 +624,7 @@ bool RimGridCalculation::calculateForCases( const std::vector<RimEclipseCase*>&

if ( evaluatedOk )
{
if ( m_cellFilterView() )
if ( useViewFilter && m_cellFilterView() )
{
filterResults( m_cellFilterView(), values, m_defaultValueType(), m_defaultValue(), resultValues, porosityModel, calculationCase );
}
Expand Down
6 changes: 4 additions & 2 deletions ApplicationLibCode/ProjectDataModel/RimGridCalculation.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,10 @@ class RimGridCalculation : public RimUserDefinedCalculation

std::vector<RimEclipseCase*> outputEclipseCases() const;
RigEclipseResultAddress outputAddress() const;
bool calculateForCases( const std::vector<RimEclipseCase*>& calculationCases, std::optional<std::vector<size_t>> timeSteps );
void assignEclipseCaseForNullPointers( RimEclipseCase* eclipseCase );
bool calculateForCases( const std::vector<RimEclipseCase*>& calculationCases,
bool useViewFilter,
std::optional<std::vector<size_t>> timeSteps );
void assignEclipseCaseForNullPointers( RimEclipseCase* eclipseCase );

std::vector<RimEclipseCase*> inputCases() const;

Expand Down

0 comments on commit 1046bcb

Please sign in to comment.