diff --git a/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp b/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp index 9541d311b3..5450991ae6 100644 --- a/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp +++ b/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp @@ -86,9 +86,9 @@ static const size_t cellMappingECLRi[8] = { 0, 1, 3, 2, 4, 5, 7, 6 }; // Static functions //************************************************************************************************** -bool transferGridCellData(RigMainGrid* mainGrid, RigActiveCellInfo* activeCellInfo, RigGridBase* localGrid, const ecl_grid_type* localEclGrid, size_t matrixActiveStartIndex, size_t fractureActiveStartIndex) +bool transferGridCellData(RigMainGrid* mainGrid, RigActiveCellInfo* activeCellInfo, RigActiveCellInfo* fractureActiveCellInfo, RigGridBase* localGrid, const ecl_grid_type* localEclGrid, size_t matrixActiveStartIndex, size_t fractureActiveStartIndex) { - CVF_ASSERT(activeCellInfo); + CVF_ASSERT(activeCellInfo && fractureActiveCellInfo); int cellCount = ecl_grid_get_global_size(localEclGrid); size_t cellStartIndex = mainGrid->cells().size(); @@ -126,7 +126,7 @@ bool transferGridCellData(RigMainGrid* mainGrid, RigActiveCellInfo* activeCellIn int fractureActiveIndex = ecl_grid_get_active_fracture_index1(localEclGrid, localCellIdx); if (fractureActiveIndex != -1) { - activeCellInfo->setActiveIndexInFractureModel(cellStartIndex + localCellIdx, fractureActiveStartIndex + fractureActiveIndex); + fractureActiveCellInfo->setActiveIndexInMatrixModel(cellStartIndex + localCellIdx, fractureActiveStartIndex + fractureActiveIndex); } // Parent cell index @@ -241,8 +241,10 @@ bool RifReaderEclipseOutput::transferGeometry(const ecl_grid_type* mainEclGrid, return false; } - RigActiveCellInfo* activeCellInfo = eclipseCase->activeCellInfo(); - CVF_ASSERT(activeCellInfo); + RigActiveCellInfo* activeCellInfo = eclipseCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS); + RigActiveCellInfo* fractureActiveCellInfo = eclipseCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS); + + CVF_ASSERT(activeCellInfo && fractureActiveCellInfo); RigMainGrid* mainGrid = eclipseCase->mainGrid(); { @@ -280,6 +282,7 @@ bool RifReaderEclipseOutput::transferGeometry(const ecl_grid_type* mainEclGrid, } activeCellInfo->setGlobalCellCount(totalCellCount); + fractureActiveCellInfo->setGlobalCellCount(totalCellCount); // Reserve room for the cells and nodes and fill them with data @@ -290,7 +293,7 @@ bool RifReaderEclipseOutput::transferGeometry(const ecl_grid_type* mainEclGrid, progInfo.setProgressDescription("Main Grid"); progInfo.setNextProgressIncrement(3); - transferGridCellData(mainGrid, activeCellInfo, mainGrid, mainEclGrid, 0, 0); + transferGridCellData(mainGrid, activeCellInfo, fractureActiveCellInfo, mainGrid, mainEclGrid, 0, 0); progInfo.setProgress(3); @@ -298,10 +301,12 @@ bool RifReaderEclipseOutput::transferGeometry(const ecl_grid_type* mainEclGrid, size_t globalFractureActiveSize = ecl_grid_get_nactive_fracture(mainEclGrid); activeCellInfo->setGridCount(1 + numLGRs); - activeCellInfo->setGridActiveCellCounts(0, globalMatrixActiveSize, globalFractureActiveSize); + fractureActiveCellInfo->setGridCount(1 + numLGRs); - mainGrid->setMatrixModelActiveCellCount(globalMatrixActiveSize); - mainGrid->setFractureModelActiveCellCount(globalFractureActiveSize); + activeCellInfo->setGridActiveCellCounts(0, globalMatrixActiveSize); + fractureActiveCellInfo->setGridActiveCellCounts(0, globalFractureActiveSize); + + for (lgrIdx = 0; lgrIdx < numLGRs; ++lgrIdx) { @@ -310,22 +315,21 @@ bool RifReaderEclipseOutput::transferGeometry(const ecl_grid_type* mainEclGrid, ecl_grid_type* localEclGrid = ecl_grid_iget_lgr(mainEclGrid, lgrIdx); RigLocalGrid* localGrid = static_cast(mainGrid->gridByIndex(lgrIdx+1)); - transferGridCellData(mainGrid, activeCellInfo, localGrid, localEclGrid, globalMatrixActiveSize, globalFractureActiveSize); + transferGridCellData(mainGrid, activeCellInfo, fractureActiveCellInfo, localGrid, localEclGrid, globalMatrixActiveSize, globalFractureActiveSize); int matrixActiveCellCount = ecl_grid_get_nactive(localEclGrid); - localGrid->setMatrixModelActiveCellCount(matrixActiveCellCount); globalMatrixActiveSize += matrixActiveCellCount; int fractureActiveCellCount = ecl_grid_get_nactive_fracture(localEclGrid); - localGrid->setFractureModelActiveCellCount(fractureActiveCellCount); globalFractureActiveSize += fractureActiveCellCount; - activeCellInfo->setGridActiveCellCounts(lgrIdx + 1, matrixActiveCellCount, fractureActiveCellCount); - + activeCellInfo->setGridActiveCellCounts(lgrIdx + 1, matrixActiveCellCount); + fractureActiveCellInfo->setGridActiveCellCounts(lgrIdx + 1, fractureActiveCellCount); progInfo.setProgress(3 + lgrIdx); } activeCellInfo->computeDerivedData(); + fractureActiveCellInfo->computeDerivedData(); return true; } @@ -470,10 +474,13 @@ bool RifReaderEclipseOutput::readActiveCellInfo() return false; } - RigActiveCellInfo* activeCellInfo = m_eclipseCase->activeCellInfo(); + RigActiveCellInfo* activeCellInfo = m_eclipseCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS); + RigActiveCellInfo* fractureActiveCellInfo = m_eclipseCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS); activeCellInfo->setGlobalCellCount(globalCellCount); + fractureActiveCellInfo->setGlobalCellCount(globalCellCount); activeCellInfo->setGridCount(actnumKeywordCount); + fractureActiveCellInfo->setGridCount(actnumKeywordCount); size_t cellIdx = 0; size_t globalActiveMatrixIndex = 0; @@ -495,17 +502,19 @@ bool RifReaderEclipseOutput::readActiveCellInfo() if (actnumValues[i] == 2 || actnumValues[i] == 3) { - activeCellInfo->setActiveIndexInFractureModel(cellIdx, globalActiveFractureIndex++); + fractureActiveCellInfo->setActiveIndexInMatrixModel(cellIdx, globalActiveFractureIndex++); activeFractureIndex++; } cellIdx++; } - activeCellInfo->setGridActiveCellCounts(gridIdx, activeMatrixIndex, activeFractureIndex); + activeCellInfo->setGridActiveCellCounts(gridIdx, activeMatrixIndex); + fractureActiveCellInfo->setGridActiveCellCounts(gridIdx, activeFractureIndex); } activeCellInfo->computeDerivedData(); + fractureActiveCellInfo->computeDerivedData(); } ecl_file_close(ecl_file); @@ -554,7 +563,10 @@ bool RifReaderEclipseOutput::buildMetaData() m_dynamicResultsAccess->resultNames(&resultNames, &resultNamesDataItemCounts); { - QStringList matrixResultNames = validKeywordsForPorosityModel(resultNames, resultNamesDataItemCounts, m_eclipseCase->activeCellInfo(), RifReaderInterface::MATRIX_RESULTS, m_dynamicResultsAccess->timeStepCount()); + QStringList matrixResultNames = validKeywordsForPorosityModel(resultNames, resultNamesDataItemCounts, + m_eclipseCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS), + m_eclipseCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS), + RifReaderInterface::MATRIX_RESULTS, m_dynamicResultsAccess->timeStepCount()); for (int i = 0; i < matrixResultNames.size(); ++i) { @@ -564,7 +576,10 @@ bool RifReaderEclipseOutput::buildMetaData() } { - QStringList fractureResultNames = validKeywordsForPorosityModel(resultNames, resultNamesDataItemCounts, m_eclipseCase->activeCellInfo(), RifReaderInterface::FRACTURE_RESULTS, m_dynamicResultsAccess->timeStepCount()); + QStringList fractureResultNames = validKeywordsForPorosityModel(resultNames, resultNamesDataItemCounts, + m_eclipseCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS), + m_eclipseCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS), + RifReaderInterface::FRACTURE_RESULTS, m_dynamicResultsAccess->timeStepCount()); for (int i = 0; i < fractureResultNames.size(); ++i) { @@ -588,7 +603,10 @@ bool RifReaderEclipseOutput::buildMetaData() RifEclipseOutputFileTools::findKeywordsAndDataItemCounts(m_ecl_init_file, &resultNames, &resultNamesDataItemCounts); { - QStringList matrixResultNames = validKeywordsForPorosityModel(resultNames, resultNamesDataItemCounts, m_eclipseCase->activeCellInfo(), RifReaderInterface::MATRIX_RESULTS, 1); + QStringList matrixResultNames = validKeywordsForPorosityModel(resultNames, resultNamesDataItemCounts, + m_eclipseCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS), + m_eclipseCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS), + RifReaderInterface::MATRIX_RESULTS, 1); QList staticDate; if (m_timeSteps.size() > 0) @@ -604,7 +622,10 @@ bool RifReaderEclipseOutput::buildMetaData() } { - QStringList fractureResultNames = validKeywordsForPorosityModel(resultNames, resultNamesDataItemCounts, m_eclipseCase->activeCellInfo(), RifReaderInterface::FRACTURE_RESULTS, 1); + QStringList fractureResultNames = validKeywordsForPorosityModel(resultNames, resultNamesDataItemCounts, + m_eclipseCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS), + m_eclipseCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS), + RifReaderInterface::FRACTURE_RESULTS, 1); QList staticDate; if (m_timeSteps.size() > 0) @@ -891,7 +912,9 @@ void RifReaderEclipseOutput::readWellCells() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -QStringList RifReaderEclipseOutput::validKeywordsForPorosityModel(const QStringList& keywords, const std::vector& keywordDataItemCounts, const RigActiveCellInfo* activeCellInfo, PorosityModelResultType matrixOrFracture, size_t timeStepCount) const +QStringList RifReaderEclipseOutput::validKeywordsForPorosityModel(const QStringList& keywords, const std::vector& keywordDataItemCounts, + const RigActiveCellInfo* activeCellInfo, const RigActiveCellInfo* fractureActiveCellInfo, + PorosityModelResultType matrixOrFracture, size_t timeStepCount) const { CVF_ASSERT(activeCellInfo); @@ -902,7 +925,7 @@ QStringList RifReaderEclipseOutput::validKeywordsForPorosityModel(const QStringL if (matrixOrFracture == RifReaderInterface::FRACTURE_RESULTS) { - if (activeCellInfo->globalFractureModelActiveCellCount() == 0) + if (fractureActiveCellInfo->globalMatrixModelActiveCellCount() == 0) { return QStringList(); } @@ -920,8 +943,8 @@ QStringList RifReaderEclipseOutput::validKeywordsForPorosityModel(const QStringL size_t timeStepsMatrix = keywordDataItemCounts[i] / activeCellInfo->globalMatrixModelActiveCellCount(); size_t timeStepsMatrixRest = keywordDataItemCounts[i] % activeCellInfo->globalMatrixModelActiveCellCount(); - size_t timeStepsMatrixAndFracture = keywordDataItemCounts[i] / (activeCellInfo->globalMatrixModelActiveCellCount() + activeCellInfo->globalFractureModelActiveCellCount()); - size_t timeStepsMatrixAndFractureRest = keywordDataItemCounts[i] % (activeCellInfo->globalMatrixModelActiveCellCount() + activeCellInfo->globalFractureModelActiveCellCount()); + size_t timeStepsMatrixAndFracture = keywordDataItemCounts[i] / (activeCellInfo->globalMatrixModelActiveCellCount() + fractureActiveCellInfo->globalMatrixModelActiveCellCount()); + size_t timeStepsMatrixAndFractureRest = keywordDataItemCounts[i] % (activeCellInfo->globalMatrixModelActiveCellCount() + fractureActiveCellInfo->globalMatrixModelActiveCellCount()); if (matrixOrFracture == RifReaderInterface::MATRIX_RESULTS) { @@ -956,33 +979,17 @@ QStringList RifReaderEclipseOutput::validKeywordsForPorosityModel(const QStringL //-------------------------------------------------------------------------------------------------- void RifReaderEclipseOutput::extractResultValuesBasedOnPorosityModel(PorosityModelResultType matrixOrFracture, std::vector* destinationResultValues, const std::vector& sourceResultValues) { - RigActiveCellInfo* actCellInfo = m_eclipseCase->activeCellInfo(); + RigActiveCellInfo* fracActCellInfo = m_eclipseCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS); - if (matrixOrFracture == RifReaderInterface::MATRIX_RESULTS) + + if (matrixOrFracture == RifReaderInterface::MATRIX_RESULTS && fracActCellInfo->globalMatrixModelActiveCellCount() == 0) { - if (actCellInfo->globalFractureModelActiveCellCount() == 0) - { - destinationResultValues->insert(destinationResultValues->end(), sourceResultValues.begin(), sourceResultValues.end()); - } - else - { - size_t dataItemCount = 0; - size_t sourceStartPosition = 0; - - for (size_t i = 0; i < m_eclipseCase->mainGrid()->gridCount(); i++) - { - size_t matrixActiveCellCount = 0; - size_t fractureActiveCellCount = 0; - actCellInfo->gridActiveCellCounts(i, matrixActiveCellCount, fractureActiveCellCount); - - destinationResultValues->insert(destinationResultValues->end(), sourceResultValues.begin() + sourceStartPosition, sourceResultValues.begin() + sourceStartPosition + matrixActiveCellCount); - - sourceStartPosition += (matrixActiveCellCount + fractureActiveCellCount); - } - } + destinationResultValues->insert(destinationResultValues->end(), sourceResultValues.begin(), sourceResultValues.end()); } else { + RigActiveCellInfo* actCellInfo = m_eclipseCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS); + size_t dataItemCount = 0; size_t sourceStartPosition = 0; @@ -990,9 +997,22 @@ void RifReaderEclipseOutput::extractResultValuesBasedOnPorosityModel(PorosityMod { size_t matrixActiveCellCount = 0; size_t fractureActiveCellCount = 0; - actCellInfo->gridActiveCellCounts(i, matrixActiveCellCount, fractureActiveCellCount); + + actCellInfo->gridActiveCellCounts(i, matrixActiveCellCount); + fracActCellInfo->gridActiveCellCounts(i, fractureActiveCellCount); - destinationResultValues->insert(destinationResultValues->end(), sourceResultValues.begin() + sourceStartPosition + matrixActiveCellCount, sourceResultValues.begin() + sourceStartPosition + matrixActiveCellCount + fractureActiveCellCount); + if (matrixOrFracture == RifReaderInterface::MATRIX_RESULTS) + { + destinationResultValues->insert(destinationResultValues->end(), + sourceResultValues.begin() + sourceStartPosition, + sourceResultValues.begin() + sourceStartPosition + matrixActiveCellCount); + } + else + { + destinationResultValues->insert(destinationResultValues->end(), + sourceResultValues.begin() + sourceStartPosition + matrixActiveCellCount, + sourceResultValues.begin() + sourceStartPosition + matrixActiveCellCount + fractureActiveCellCount); + } sourceStartPosition += (matrixActiveCellCount + fractureActiveCellCount); } diff --git a/ApplicationCode/FileInterface/RifReaderEclipseOutput.h b/ApplicationCode/FileInterface/RifReaderEclipseOutput.h index 832eaa5376..43c6fd91d0 100644 --- a/ApplicationCode/FileInterface/RifReaderEclipseOutput.h +++ b/ApplicationCode/FileInterface/RifReaderEclipseOutput.h @@ -64,7 +64,7 @@ private: static RifEclipseRestartDataAccess* createDynamicResultsAccess(const QStringList& fileSet); - QStringList validKeywordsForPorosityModel(const QStringList& keywords, const std::vector& keywordDataItemCounts, const RigActiveCellInfo* activeCellInfo, PorosityModelResultType matrixOrFracture, size_t timeStepCount) const; + QStringList validKeywordsForPorosityModel(const QStringList& keywords, const std::vector& keywordDataItemCounts, const RigActiveCellInfo* activeCellInfo, const RigActiveCellInfo* fractureActiveCellInfo, PorosityModelResultType matrixOrFracture, size_t timeStepCount) const; virtual QList timeSteps(); private: diff --git a/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.cpp b/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.cpp index 78ed1122b7..301ef347cf 100644 --- a/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.cpp +++ b/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.cpp @@ -247,7 +247,7 @@ void RivReservoirViewPartMgr::createGeometry(ReservoirGeometryCacheType geometry void RivReservoirViewPartMgr::computeVisibility(cvf::UByteArray* cellVisibility, ReservoirGeometryCacheType geometryType, RigGridBase* grid, size_t gridIdx) { RigEclipseCase* eclipseCase = m_reservoirView->eclipseCase()->reservoirData(); - RigActiveCellInfo* activeCellInfo = eclipseCase->activeCellInfo(); + RigActiveCellInfo* activeCellInfo = m_reservoirView->currentActiveCellInfo(); switch (geometryType) { diff --git a/ApplicationCode/ProjectDataModel/Rim3dOverlayInfoConfig.cpp b/ApplicationCode/ProjectDataModel/Rim3dOverlayInfoConfig.cpp index 0865c45cb8..e0ab0982b7 100644 --- a/ApplicationCode/ProjectDataModel/Rim3dOverlayInfoConfig.cpp +++ b/ApplicationCode/ProjectDataModel/Rim3dOverlayInfoConfig.cpp @@ -80,7 +80,8 @@ void Rim3dOverlayInfoConfig::update3DInfo() { QString caseName; QString totCellCount; - QString activeCellCount; + QString activeCellCountText; + QString fractureActiveCellCount; QString iSize, jSize, kSize; QString propName; QString cellEdgeName; @@ -89,7 +90,12 @@ void Rim3dOverlayInfoConfig::update3DInfo() { caseName = m_reservoirView->eclipseCase()->caseName(); totCellCount = QString::number(m_reservoirView->eclipseCase()->reservoirData()->mainGrid()->cells().size()); - activeCellCount = QString::number(m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo()->globalMatrixModelActiveCellCount()); + size_t mxActCellCount = m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(RifReaderInterface::MATRIX_RESULTS)->globalMatrixModelActiveCellCount(); + size_t frActCellCount = m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->globalMatrixModelActiveCellCount(); + if (frActCellCount > 0) activeCellCountText += "Matrix : "; + activeCellCountText += QString::number(mxActCellCount); + if (frActCellCount > 0) activeCellCountText += " Fracture : " + QString::number(frActCellCount); + iSize = QString::number(m_reservoirView->eclipseCase()->reservoirData()->mainGrid()->cellCountI()); jSize = QString::number(m_reservoirView->eclipseCase()->reservoirData()->mainGrid()->cellCountJ()); kSize = QString::number(m_reservoirView->eclipseCase()->reservoirData()->mainGrid()->cellCountK()); @@ -100,7 +106,7 @@ void Rim3dOverlayInfoConfig::update3DInfo() QString infoText = QString( "

-- %1 --

" "Cell count. Total: %2 Active: %3
" - "Main Grid I,J,K: %4, %5, %6
").arg(caseName, totCellCount, activeCellCount, iSize, jSize, kSize); + "Main Grid I,J,K: %4, %5, %6
").arg(caseName, totCellCount, activeCellCountText, iSize, jSize, kSize); if (m_reservoirView->animationMode() && m_reservoirView->cellResult()->hasResult()) { @@ -110,9 +116,9 @@ void Rim3dOverlayInfoConfig::update3DInfo() double p10, p90; double mean; size_t scalarIndex = m_reservoirView->cellResult()->gridScalarIndex(); - m_reservoirView->gridCellResults()->minMaxCellScalarValues(scalarIndex, min, max); - m_reservoirView->gridCellResults()->p10p90CellScalarValues(scalarIndex, p10, p90); - m_reservoirView->gridCellResults()->meanCellScalarValues(scalarIndex, mean); + m_reservoirView->currentGridCellResults()->minMaxCellScalarValues(scalarIndex, min, max); + m_reservoirView->currentGridCellResults()->p10p90CellScalarValues(scalarIndex, p10, p90); + m_reservoirView->currentGridCellResults()->meanCellScalarValues(scalarIndex, mean); //infoText += QString("

Min: %1 P10: %2 Mean: %3 P90: %4 Max: %5
").arg(min).arg(p10).arg(mean).arg(p90).arg(max); //infoText += QString("
Min: %1   P10: %2   Mean: %3 \n  P90: %4   Max: %5 
").arg(min).arg(p10).arg(mean).arg(p90).arg(max); @@ -134,7 +140,7 @@ void Rim3dOverlayInfoConfig::update3DInfo() || m_reservoirView->wellCollection()->hasVisibleWellPipes()) { int currentTimeStep = m_reservoirView->currentTimeStep(); - QDateTime date = m_reservoirView->gridCellResults()->timeStepDate(0, currentTimeStep); + QDateTime date = m_reservoirView->currentGridCellResults()->timeStepDate(0, currentTimeStep); infoText += QString("Time Step: %1 Time: %2").arg(currentTimeStep).arg(date.toString("dd.MMM yyyy")); } @@ -150,12 +156,12 @@ void Rim3dOverlayInfoConfig::update3DInfo() double mean; size_t scalarIndex = m_reservoirView->cellResult()->gridScalarIndex(); - m_reservoirView->gridCellResults()->minMaxCellScalarValues(scalarIndex, min, max); - m_reservoirView->gridCellResults()->p10p90CellScalarValues(scalarIndex, p10, p90); - m_reservoirView->gridCellResults()->meanCellScalarValues(scalarIndex, mean); + m_reservoirView->currentGridCellResults()->minMaxCellScalarValues(scalarIndex, min, max); + m_reservoirView->currentGridCellResults()->p10p90CellScalarValues(scalarIndex, p10, p90); + m_reservoirView->currentGridCellResults()->meanCellScalarValues(scalarIndex, mean); m_reservoirView->viewer()->showHistogram(true); - m_reservoirView->viewer()->setHistogram(min, max, m_reservoirView->gridCellResults()->cellScalarValuesHistogram(scalarIndex)); + m_reservoirView->viewer()->setHistogram(min, max, m_reservoirView->currentGridCellResults()->cellScalarValuesHistogram(scalarIndex)); m_reservoirView->viewer()->setHistogramPercentiles(p10, p90, mean); } } diff --git a/ApplicationCode/ProjectDataModel/RimCellEdgeResultSlot.cpp b/ApplicationCode/ProjectDataModel/RimCellEdgeResultSlot.cpp index fc7e1987da..26721a0bf9 100644 --- a/ApplicationCode/ProjectDataModel/RimCellEdgeResultSlot.cpp +++ b/ApplicationCode/ProjectDataModel/RimCellEdgeResultSlot.cpp @@ -71,7 +71,7 @@ void RimCellEdgeResultSlot::setReservoirView(RimReservoirView* ownerReservoirVie //-------------------------------------------------------------------------------------------------- void RimCellEdgeResultSlot::loadResult() { - CVF_ASSERT(m_reservoirView && m_reservoirView->gridCellResults()); + CVF_ASSERT(m_reservoirView && m_reservoirView->currentGridCellResults()); resetResultIndices(); QStringList vars = findResultVariableNames(); @@ -80,7 +80,7 @@ void RimCellEdgeResultSlot::loadResult() int i; for (i = 0; i < vars.size(); ++i) { - size_t resultindex = m_reservoirView->gridCellResults()->findOrLoadScalarResult(RimDefines::STATIC_NATIVE, vars[i]); + size_t resultindex = m_reservoirView->currentGridCellResults()->findOrLoadScalarResult(RimDefines::STATIC_NATIVE, vars[i]); int cubeFaceIdx; for (cubeFaceIdx = 0; cubeFaceIdx < 6; ++cubeFaceIdx) { @@ -130,10 +130,10 @@ QList RimCellEdgeResultSlot::calculateValueOptions(const { if (fieldNeedingOptions == &resultVariable) { - if (m_reservoirView && m_reservoirView->gridCellResults()) + if (m_reservoirView && m_reservoirView->currentGridCellResults()) { QStringList varList; - varList = m_reservoirView->gridCellResults()->resultNames(RimDefines::STATIC_NATIVE); + varList = m_reservoirView->currentGridCellResults()->resultNames(RimDefines::STATIC_NATIVE); //TODO: Must also handle input properties //varList += m_reservoirView->gridCellResults()->resultNames(RimDefines::INPUT_PROPERTY); @@ -205,10 +205,10 @@ QStringList RimCellEdgeResultSlot::findResultVariableNames() { QStringList varNames; - if (m_reservoirView && m_reservoirView->gridCellResults() && !resultVariable().isEmpty()) + if (m_reservoirView && m_reservoirView->currentGridCellResults() && !resultVariable().isEmpty()) { QStringList varList; - varList = m_reservoirView->gridCellResults()->resultNames(RimDefines::STATIC_NATIVE); + varList = m_reservoirView->currentGridCellResults()->resultNames(RimDefines::STATIC_NATIVE); //TODO: Must handle Input properties int i; @@ -313,7 +313,7 @@ void RimCellEdgeResultSlot::minMaxCellEdgeValues(double& min, double& max) { double cMin, cMax; - m_reservoirView->gridCellResults()->minMaxCellScalarValues(resultIndices[idx], cMin, cMax); + m_reservoirView->currentGridCellResults()->minMaxCellScalarValues(resultIndices[idx], cMin, cMax); globalMin = CVF_MIN(globalMin, cMin); globalMax = CVF_MAX(globalMax, cMax); diff --git a/ApplicationCode/ProjectDataModel/RimCellPropertyFilter.cpp b/ApplicationCode/ProjectDataModel/RimCellPropertyFilter.cpp index d4c887a866..542d6c23f9 100644 --- a/ApplicationCode/ProjectDataModel/RimCellPropertyFilter.cpp +++ b/ApplicationCode/ProjectDataModel/RimCellPropertyFilter.cpp @@ -143,7 +143,7 @@ void RimCellPropertyFilter::setDefaultValues() size_t scalarIndex = resultDefinition->gridScalarIndex(); if (scalarIndex != cvf::UNDEFINED_SIZE_T) { - RigReservoirCellResults* results = m_parentContainer->reservoirView()->gridCellResults(); + RigReservoirCellResults* results = m_parentContainer->reservoirView()->currentGridCellResults(); if (results) { results->minMaxCellScalarValues(scalarIndex, min, max); diff --git a/ApplicationCode/ProjectDataModel/RimCellRangeFilterCollection.cpp b/ApplicationCode/ProjectDataModel/RimCellRangeFilterCollection.cpp index 4301aabd26..7118b05f70 100644 --- a/ApplicationCode/ProjectDataModel/RimCellRangeFilterCollection.cpp +++ b/ApplicationCode/ProjectDataModel/RimCellRangeFilterCollection.cpp @@ -136,13 +136,9 @@ RigMainGrid* RimCellRangeFilterCollection::mainGrid() const //-------------------------------------------------------------------------------------------------- RigActiveCellInfo* RimCellRangeFilterCollection::activeCellInfo() const { - if (m_reservoirView && - m_reservoirView->eclipseCase() && - m_reservoirView->eclipseCase()->reservoirData() && - m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo()) + if (m_reservoirView ) { - - return m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(); + return m_reservoirView->currentActiveCellInfo(); } return NULL; diff --git a/ApplicationCode/ProjectDataModel/RimInputReservoir.cpp b/ApplicationCode/ProjectDataModel/RimInputReservoir.cpp index 27c50d2e63..a86b85f396 100644 --- a/ApplicationCode/ProjectDataModel/RimInputReservoir.cpp +++ b/ApplicationCode/ProjectDataModel/RimInputReservoir.cpp @@ -75,7 +75,8 @@ void RimInputReservoir::openDataFileSet(const QStringList& filenames) m_rigEclipseCase->results(RifReaderInterface::MATRIX_RESULTS)->setReaderInterface(readerInterface.p()); m_rigEclipseCase->results(RifReaderInterface::FRACTURE_RESULTS)->setReaderInterface(readerInterface.p()); - m_rigEclipseCase->activeCellInfo()->computeDerivedData(); + m_rigEclipseCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS)->computeDerivedData(); + m_rigEclipseCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->computeDerivedData(); return; } diff --git a/ApplicationCode/ProjectDataModel/RimReservoirView.cpp b/ApplicationCode/ProjectDataModel/RimReservoirView.cpp index f8c4a7eb78..be44b948a3 100644 --- a/ApplicationCode/ProjectDataModel/RimReservoirView.cpp +++ b/ApplicationCode/ProjectDataModel/RimReservoirView.cpp @@ -272,11 +272,11 @@ void RimReservoirView::updateViewerWidgetWindowTitle() void RimReservoirView::clampCurrentTimestep() { // Clamp the current timestep to actual possibilities - if (this->gridCellResults()) + if (this->currentGridCellResults()) { - if (m_currentTimeStep() >= static_cast(this->gridCellResults()->maxTimeStepCount())) + if (m_currentTimeStep() >= static_cast(this->currentGridCellResults()->maxTimeStepCount())) { - m_currentTimeStep = static_cast(this->gridCellResults()->maxTimeStepCount()) -1; + m_currentTimeStep = static_cast(this->currentGridCellResults()->maxTimeStepCount()) -1; } } @@ -460,10 +460,10 @@ void RimReservoirView::createDisplayModel() || this->propertyFilterCollection()->hasActiveDynamicFilters() || this->wellCollection->hasVisibleWellPipes()) { - CVF_ASSERT(gridCellResults()); + CVF_ASSERT(currentGridCellResults()); size_t i; - for (i = 0; i < gridCellResults()->maxTimeStepCount(); i++) + for (i = 0; i < currentGridCellResults()->maxTimeStepCount(); i++) { timeStepIndices.push_back(i); } @@ -711,7 +711,7 @@ void RimReservoirView::loadDataAndUpdate() RIApplication* app = RIApplication::instance(); if (app->preferences()->autocomputeSOIL) { - RigReservoirCellResults* results = gridCellResults(); + RigReservoirCellResults* results = currentGridCellResults(); CVF_ASSERT(results); results->loadOrComputeSOIL(); } @@ -721,7 +721,7 @@ void RimReservoirView::loadDataAndUpdate() CVF_ASSERT(this->cellResult() != NULL); this->cellResult()->loadResult(); - if (m_reservoir->reservoirData()->activeCellInfo()->globalFractureModelActiveCellCount() == 0) + if (m_reservoir->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->globalMatrixModelActiveCellCount() == 0) { this->cellResult->porosityModel.setUiHidden(true); } @@ -882,7 +882,6 @@ void RimReservoirView::appendCellResultInfo(size_t gridIndex, size_t cellIndex, { RigEclipseCase* eclipseCase = m_reservoir->reservoirData(); RigGridBase* grid = eclipseCase->grid(gridIndex); - RigActiveCellInfo* activeCellInfo = eclipseCase->activeCellInfo(); if (this->cellResult()->hasResult()) { @@ -971,7 +970,7 @@ void RimReservoirView::setupBeforeSave() //-------------------------------------------------------------------------------------------------- /// Convenience for quick access to results //-------------------------------------------------------------------------------------------------- -RigReservoirCellResults* RimReservoirView::gridCellResults() +RigReservoirCellResults* RimReservoirView::currentGridCellResults() { if (m_reservoir && m_reservoir->reservoirData() && @@ -986,6 +985,23 @@ RigReservoirCellResults* RimReservoirView::gridCellResults() return NULL; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RigActiveCellInfo* RimReservoirView::currentActiveCellInfo() +{ + if (m_reservoir && + m_reservoir->reservoirData() + ) + { + RifReaderInterface::PorosityModelResultType porosityModel = RigReservoirCellResults::convertFromProjectModelPorosityModel(cellResult->porosityModel()); + + return m_reservoir->reservoirData()->activeCellInfo(porosityModel); + } + + return NULL; +} + //-------------------------------------------------------------------------------------------------- /// @@ -1185,11 +1201,8 @@ void RimReservoirView::calculateVisibleWellCellsIncFence(cvf::UByteArray* visibl // If all wells are forced off, return if (this->wellCollection()->wellCellVisibility() == RimWellCollection::FORCE_ALL_OFF) return; - RigActiveCellInfo* activeCellInfo = NULL; - if (eclipseCase() && eclipseCase()->reservoirData()) - { - activeCellInfo = eclipseCase()->reservoirData()->activeCellInfo(); - } + RigActiveCellInfo* activeCellInfo = this->currentActiveCellInfo(); + CVF_ASSERT(activeCellInfo); // Loop over the wells and find their contribution diff --git a/ApplicationCode/ProjectDataModel/RimReservoirView.h b/ApplicationCode/ProjectDataModel/RimReservoirView.h index 7eb628e114..af46ea2515 100644 --- a/ApplicationCode/ProjectDataModel/RimReservoirView.h +++ b/ApplicationCode/ProjectDataModel/RimReservoirView.h @@ -118,7 +118,8 @@ public: caf::PdmField animationMode; // Access internal objects - RigReservoirCellResults* gridCellResults(); + RigReservoirCellResults* currentGridCellResults(); + RigActiveCellInfo* currentActiveCellInfo(); void setEclipseCase(RimReservoir* reservoir); RimReservoir* eclipseCase(); diff --git a/ApplicationCode/ProjectDataModel/RimResultDefinition.cpp b/ApplicationCode/ProjectDataModel/RimResultDefinition.cpp index 0c2a122621..a255d57408 100644 --- a/ApplicationCode/ProjectDataModel/RimResultDefinition.cpp +++ b/ApplicationCode/ProjectDataModel/RimResultDefinition.cpp @@ -63,9 +63,9 @@ void RimResultDefinition::setReservoirView(RimReservoirView* ownerReservoirView) // TODO: This code is executed before reservoir is read, and then porosity model is never set to zero if (m_reservoirView->eclipseCase() && m_reservoirView->eclipseCase()->reservoirData() && - m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo() ) + m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS) ) { - if (m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo()->globalFractureModelActiveCellCount() == 0) + if (m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->globalMatrixModelActiveCellCount() == 0) { porosityModel.setUiHidden(true); } @@ -92,9 +92,9 @@ QList RimResultDefinition::calculateValueOptions(const c { if (fieldNeedingOptions == &resultVariable) { - if (m_reservoirView && m_reservoirView->gridCellResults()) + if (m_reservoirView && m_reservoirView->currentGridCellResults()) { - QStringList varList = m_reservoirView->gridCellResults()->resultNames(resultType()); + QStringList varList = m_reservoirView->currentGridCellResults()->resultNames(resultType()); QList optionList; int i; for (i = 0; i < varList.size(); ++i) @@ -119,7 +119,7 @@ size_t RimResultDefinition::gridScalarIndex() const { if (m_gridScalarResultIndex == cvf::UNDEFINED_SIZE_T) { - const RigReservoirCellResults* gridCellResults = m_reservoirView->gridCellResults(); + const RigReservoirCellResults* gridCellResults = m_reservoirView->currentGridCellResults(); if (gridCellResults) m_gridScalarResultIndex = gridCellResults->findScalarResultIndex(resultType(), resultVariable()); } return m_gridScalarResultIndex; @@ -130,7 +130,7 @@ size_t RimResultDefinition::gridScalarIndex() const //-------------------------------------------------------------------------------------------------- void RimResultDefinition::loadResult() { - RigReservoirCellResults* gridCellResults = m_reservoirView->gridCellResults(); + RigReservoirCellResults* gridCellResults = m_reservoirView->currentGridCellResults(); if (gridCellResults) { m_gridScalarResultIndex = gridCellResults->findOrLoadScalarResult(resultType(), resultVariable); @@ -148,7 +148,7 @@ void RimResultDefinition::loadResult() //-------------------------------------------------------------------------------------------------- bool RimResultDefinition::hasStaticResult() const { - const RigReservoirCellResults* gridCellResults = m_reservoirView->gridCellResults(); + const RigReservoirCellResults* gridCellResults = m_reservoirView->currentGridCellResults(); if (hasResult() && gridCellResults->timeStepCount(m_gridScalarResultIndex) == 1 ) { return true; @@ -166,7 +166,7 @@ bool RimResultDefinition::hasResult() const { if (m_gridScalarResultIndex != cvf::UNDEFINED_SIZE_T) return true; - const RigReservoirCellResults* gridCellResults = m_reservoirView->gridCellResults(); + const RigReservoirCellResults* gridCellResults = m_reservoirView->currentGridCellResults(); if (gridCellResults) { m_gridScalarResultIndex = gridCellResults->findScalarResultIndex(resultType(), resultVariable()); @@ -182,7 +182,7 @@ bool RimResultDefinition::hasResult() const //-------------------------------------------------------------------------------------------------- bool RimResultDefinition::hasDynamicResult() const { - const RigReservoirCellResults* gridCellResults = m_reservoirView->gridCellResults(); + const RigReservoirCellResults* gridCellResults = m_reservoirView->currentGridCellResults(); if (hasResult() && gridCellResults->timeStepCount(m_gridScalarResultIndex) > 1 ) return true; else diff --git a/ApplicationCode/ReservoirDataModel/ReservoirDataModel_UnitTests/RigActiveCellInfo-Test.cpp b/ApplicationCode/ReservoirDataModel/ReservoirDataModel_UnitTests/RigActiveCellInfo-Test.cpp index 3004cd6e45..a5349f3b95 100644 --- a/ApplicationCode/ReservoirDataModel/ReservoirDataModel_UnitTests/RigActiveCellInfo-Test.cpp +++ b/ApplicationCode/ReservoirDataModel/ReservoirDataModel_UnitTests/RigActiveCellInfo-Test.cpp @@ -35,16 +35,10 @@ TEST(RigActiveCellInfo, BasicTest) { EXPECT_TRUE(rigActiveCellInfo.activeIndexInMatrixModel(i) == cvf::UNDEFINED_SIZE_T); EXPECT_FALSE(rigActiveCellInfo.isActiveInMatrixModel(i)); - - EXPECT_TRUE(rigActiveCellInfo.activeIndexInFractureModel(i) == cvf::UNDEFINED_SIZE_T); - EXPECT_FALSE(rigActiveCellInfo.isActiveInFractureModel(i)); } rigActiveCellInfo.setActiveIndexInMatrixModel(3, 1); EXPECT_TRUE(rigActiveCellInfo.activeIndexInMatrixModel(3) == 1); - - rigActiveCellInfo.setActiveIndexInFractureModel(9, 3); - EXPECT_TRUE(rigActiveCellInfo.activeIndexInFractureModel(9) == 3); } //-------------------------------------------------------------------------------------------------- @@ -55,27 +49,23 @@ TEST(RigActiveCellInfo, GridCellCounts) { RigActiveCellInfo rigActiveCellInfo; rigActiveCellInfo.setGridCount(3); - rigActiveCellInfo.setGridActiveCellCounts(0, 0, 0); - rigActiveCellInfo.setGridActiveCellCounts(1, 1, 0); - rigActiveCellInfo.setGridActiveCellCounts(2, 2, 0); + rigActiveCellInfo.setGridActiveCellCounts(0, 0); + rigActiveCellInfo.setGridActiveCellCounts(1, 1); + rigActiveCellInfo.setGridActiveCellCounts(2, 2); rigActiveCellInfo.computeDerivedData(); EXPECT_TRUE(rigActiveCellInfo.globalMatrixModelActiveCellCount() == 3); - EXPECT_TRUE(rigActiveCellInfo.globalFractureModelActiveCellCount() == 0); } { RigActiveCellInfo rigActiveCellInfo; rigActiveCellInfo.setGridCount(3); - rigActiveCellInfo.setGridActiveCellCounts(0, 0, 3); - rigActiveCellInfo.setGridActiveCellCounts(1, 1, 4); - rigActiveCellInfo.setGridActiveCellCounts(2, 2, 5); + rigActiveCellInfo.setGridActiveCellCounts(0, 3 ); + rigActiveCellInfo.setGridActiveCellCounts(1, 4 ); + rigActiveCellInfo.setGridActiveCellCounts(2, 5 ); rigActiveCellInfo.computeDerivedData(); - EXPECT_TRUE(rigActiveCellInfo.globalMatrixModelActiveCellCount() == 3); - EXPECT_TRUE(rigActiveCellInfo.globalFractureModelActiveCellCount() == 12); + EXPECT_TRUE(rigActiveCellInfo.globalMatrixModelActiveCellCount() == 12); } - - } diff --git a/ApplicationCode/ReservoirDataModel/RigActiveCellInfo.cpp b/ApplicationCode/ReservoirDataModel/RigActiveCellInfo.cpp index 8c4f7c3970..deb2e561ea 100644 --- a/ApplicationCode/ReservoirDataModel/RigActiveCellInfo.cpp +++ b/ApplicationCode/ReservoirDataModel/RigActiveCellInfo.cpp @@ -24,7 +24,7 @@ //-------------------------------------------------------------------------------------------------- RigActiveCellInfo::RigActiveCellInfo() : m_globalMatrixModelActiveCellCount(0), - m_globalFractureModelActiveCellCount(0), + // m_globalFractureModelActiveCellCount(0), m_activeCellPositionMin(cvf::Vec3d::ZERO), m_activeCellPositionMax(cvf::Vec3d::ZERO) { @@ -37,7 +37,7 @@ RigActiveCellInfo::RigActiveCellInfo() void RigActiveCellInfo::setGlobalCellCount(size_t globalCellCount) { m_activeInMatrixModel.resize(globalCellCount, cvf::UNDEFINED_SIZE_T); - m_activeInFractureModel.resize(globalCellCount, cvf::UNDEFINED_SIZE_T); + // m_activeInFractureModel.resize(globalCellCount, cvf::UNDEFINED_SIZE_T); } //-------------------------------------------------------------------------------------------------- @@ -79,7 +79,7 @@ void RigActiveCellInfo::setActiveIndexInMatrixModel(size_t globalCellIndex, size m_activeInMatrixModel[globalCellIndex] = globalActiveCellIndex; } - +/* //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -119,7 +119,7 @@ void RigActiveCellInfo::setActiveIndexInFractureModel(size_t globalCellIndex, si m_activeInFractureModel[globalCellIndex] = globalActiveCellIndex; } - +*/ //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -127,7 +127,7 @@ void RigActiveCellInfo::setGridCount(size_t gridCount) { m_perGridActiveCellInfo.resize(gridCount); } - +/* //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -136,7 +136,19 @@ void RigActiveCellInfo::setGridActiveCellCounts(size_t gridIndex, size_t matrixA CVF_ASSERT(gridIndex < m_perGridActiveCellInfo.size()); m_perGridActiveCellInfo[gridIndex].setMatrixModelActiveCellCount(matrixActiveCellCount); - m_perGridActiveCellInfo[gridIndex].setFractureModelActiveCellCount(fractureActiveCellCount); + //m_perGridActiveCellInfo[gridIndex].setFractureModelActiveCellCount(fractureActiveCellCount); +} +*/ + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigActiveCellInfo::setGridActiveCellCounts(size_t gridIndex, size_t matrixActiveCellCount) +{ + CVF_ASSERT(gridIndex < m_perGridActiveCellInfo.size()); + + m_perGridActiveCellInfo[gridIndex].setMatrixModelActiveCellCount(matrixActiveCellCount); + //m_perGridActiveCellInfo[gridIndex].setFractureModelActiveCellCount(fractureActiveCellCount); } //-------------------------------------------------------------------------------------------------- @@ -145,12 +157,12 @@ void RigActiveCellInfo::setGridActiveCellCounts(size_t gridIndex, size_t matrixA void RigActiveCellInfo::computeDerivedData() { m_globalMatrixModelActiveCellCount = 0; - m_globalFractureModelActiveCellCount = 0; + //m_globalFractureModelActiveCellCount = 0; for (size_t i = 0; i < m_perGridActiveCellInfo.size(); i++) { m_globalMatrixModelActiveCellCount += m_perGridActiveCellInfo[i].matrixModelActiveCellCount(); - m_globalFractureModelActiveCellCount += m_perGridActiveCellInfo[i].fractureModelActiveCellCount(); + // m_globalFractureModelActiveCellCount += m_perGridActiveCellInfo[i].fractureModelActiveCellCount(); } } @@ -161,7 +173,7 @@ size_t RigActiveCellInfo::globalMatrixModelActiveCellCount() const { return m_globalMatrixModelActiveCellCount; } - +/* //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -169,7 +181,7 @@ size_t RigActiveCellInfo::globalFractureModelActiveCellCount() const { return m_globalFractureModelActiveCellCount; } - +*/ //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -187,7 +199,7 @@ void RigActiveCellInfo::matrixModelActiveCellsBoundingBox(cvf::Vec3st& min, cvf: min = m_activeCellPositionMin; max = m_activeCellPositionMax; } - +/* //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -214,7 +226,16 @@ void RigActiveCellInfo::gridActiveCellCounts(size_t gridIndex, size_t& matrixAct matrixActiveCellCount = m_perGridActiveCellInfo[gridIndex].matrixModelActiveCellCount(); fractureActiveCellCount = m_perGridActiveCellInfo[gridIndex].fractureModelActiveCellCount(); } +*/ +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigActiveCellInfo::gridActiveCellCounts(size_t gridIndex, size_t& matrixActiveCellCount) +{ + matrixActiveCellCount = m_perGridActiveCellInfo[gridIndex].matrixModelActiveCellCount(); + //fractureActiveCellCount = m_perGridActiveCellInfo[gridIndex].fractureModelActiveCellCount(); +} //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -246,7 +267,7 @@ void RigActiveCellInfo::GridActiveCellCounts::setMatrixModelActiveCellCount(size { m_matrixModelActiveCellCount = activeMatrixModelCellCount; } - +/* //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -262,3 +283,4 @@ void RigActiveCellInfo::GridActiveCellCounts::setFractureModelActiveCellCount(si { m_fractureModelActiveCellCount = activeFractureModelCellCount; } +*/ \ No newline at end of file diff --git a/ApplicationCode/ReservoirDataModel/RigActiveCellInfo.h b/ApplicationCode/ReservoirDataModel/RigActiveCellInfo.h index 7d5955ac2d..f38f95ec86 100644 --- a/ApplicationCode/ReservoirDataModel/RigActiveCellInfo.h +++ b/ApplicationCode/ReservoirDataModel/RigActiveCellInfo.h @@ -38,22 +38,24 @@ public: size_t activeIndexInMatrixModel(size_t globalCellIndex) const; void setActiveIndexInMatrixModel(size_t globalCellIndex, size_t globalActiveCellIndex); - bool isActiveInFractureModel(size_t globalCellIndex) const; - size_t activeIndexInFractureModel(size_t globalCellIndex) const; - void setActiveIndexInFractureModel(size_t globalCellIndex, size_t globalActiveCellIndex); + //bool isActiveInFractureModel(size_t globalCellIndex) const; + //size_t activeIndexInFractureModel(size_t globalCellIndex) const; + //void setActiveIndexInFractureModel(size_t globalCellIndex, size_t globalActiveCellIndex); void setGridCount(size_t gridCount); - void setGridActiveCellCounts(size_t gridIndex, size_t matrixActiveCellCount, size_t fractureActiveCellCount); - void gridActiveCellCounts(size_t gridIndex, size_t& matrixActiveCellCount, size_t& fractureActiveCellCount); + //void setGridActiveCellCounts(size_t gridIndex, size_t matrixActiveCellCount, size_t fractureActiveCellCount); + void setGridActiveCellCounts(size_t gridIndex, size_t matrixActiveCellCount); + //void gridActiveCellCounts(size_t gridIndex, size_t& matrixActiveCellCount, size_t& fractureActiveCellCount); + void gridActiveCellCounts(size_t gridIndex, size_t& matrixActiveCellCount); void computeDerivedData(); size_t globalMatrixModelActiveCellCount() const; - size_t globalFractureModelActiveCellCount() const; + //size_t globalFractureModelActiveCellCount() const; void setMatrixModelActiveCellsBoundingBox(const cvf::Vec3st& min, const cvf::Vec3st& max); void matrixModelActiveCellsBoundingBox(cvf::Vec3st& min, cvf::Vec3st& max) const; - void setFractureModelActiveCellsBoundingBox(const cvf::Vec3st& min, const cvf::Vec3st& max); - void fractureModelActiveCellsBoundingBox(cvf::Vec3st& min, cvf::Vec3st& max) const; + //void setFractureModelActiveCellsBoundingBox(const cvf::Vec3st& min, const cvf::Vec3st& max); + //void fractureModelActiveCellsBoundingBox(cvf::Vec3st& min, cvf::Vec3st& max) const; cvf::BoundingBox matrixActiveCellsGeometryBoundingBox() const; void setMatrixActiveCellsGeometryBoundingBox(cvf::BoundingBox bb); @@ -65,12 +67,12 @@ private: public: size_t matrixModelActiveCellCount() const; void setMatrixModelActiveCellCount(size_t activeMatrixModelCellCount); - size_t fractureModelActiveCellCount() const; - void setFractureModelActiveCellCount(size_t activeFractureModelCellCount); + //size_t fractureModelActiveCellCount() const; + //void setFractureModelActiveCellCount(size_t activeFractureModelCellCount); private: size_t m_matrixModelActiveCellCount; - size_t m_fractureModelActiveCellCount; + //size_t m_fractureModelActiveCellCount; }; @@ -78,15 +80,15 @@ private: std::vector m_perGridActiveCellInfo; std::vector m_activeInMatrixModel; - std::vector m_activeInFractureModel; + //std::vector m_activeInFractureModel; size_t m_globalMatrixModelActiveCellCount; - size_t m_globalFractureModelActiveCellCount; + //size_t m_globalFractureModelActiveCellCount; cvf::Vec3st m_activeCellPositionMin; cvf::Vec3st m_activeCellPositionMax; - cvf::Vec3st m_fractureModelActiveCellPositionMin; - cvf::Vec3st m_fractureModelActiveCellPositionMax; + //cvf::Vec3st m_fractureModelActiveCellPositionMin; + //cvf::Vec3st m_fractureModelActiveCellPositionMax; cvf::BoundingBox m_matrixActiveCellsBoundingBox; }; diff --git a/ApplicationCode/ReservoirDataModel/RigEclipseCase.cpp b/ApplicationCode/ReservoirDataModel/RigEclipseCase.cpp index 542081f701..d557e6845b 100644 --- a/ApplicationCode/ReservoirDataModel/RigEclipseCase.cpp +++ b/ApplicationCode/ReservoirDataModel/RigEclipseCase.cpp @@ -287,14 +287,14 @@ void RigEclipseCase::computeActiveCellData() matrixModelActiveBB.add(i, j, k); } - if (m_activeCellInfo.isActiveInFractureModel(idx)) + if (m_fractureActiveCellInfo.isActiveInMatrixModel(idx)) { fractureModelActiveBB.add(i, j, k); } } m_activeCellInfo.setMatrixModelActiveCellsBoundingBox(matrixModelActiveBB.m_min, matrixModelActiveBB.m_max); - m_activeCellInfo.setFractureModelActiveCellsBoundingBox(fractureModelActiveBB.m_min, fractureModelActiveBB.m_max); + m_fractureActiveCellInfo.setMatrixModelActiveCellsBoundingBox(fractureModelActiveBB.m_min, fractureModelActiveBB.m_max); } //-------------------------------------------------------------------------------------------------- @@ -309,17 +309,27 @@ void RigEclipseCase::computeCachedData() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RigActiveCellInfo* RigEclipseCase::activeCellInfo() +RigActiveCellInfo* RigEclipseCase::activeCellInfo(RifReaderInterface::PorosityModelResultType porosityModel) { - return &m_activeCellInfo; + if (porosityModel == RifReaderInterface::MATRIX_RESULTS) + { + return &m_activeCellInfo; + } + + return &m_fractureActiveCellInfo; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -const RigActiveCellInfo* RigEclipseCase::activeCellInfo() const +const RigActiveCellInfo* RigEclipseCase::activeCellInfo(RifReaderInterface::PorosityModelResultType porosityModel) const { - return &m_activeCellInfo; + if (porosityModel == RifReaderInterface::MATRIX_RESULTS) + { + return &m_activeCellInfo; + } + + return &m_fractureActiveCellInfo; } //-------------------------------------------------------------------------------------------------- @@ -331,33 +341,42 @@ void RigEclipseCase::computeActiveCellsGeometryBoundingBox() { cvf::BoundingBox bb; m_activeCellInfo.setMatrixActiveCellsGeometryBoundingBox(bb); + m_fractureActiveCellInfo.setMatrixActiveCellsGeometryBoundingBox(bb); return; } - cvf::BoundingBox bb; - if (m_mainGrid->nodes().size() == 0) - { - bb.add(cvf::Vec3d::ZERO); - } - else - { - for (size_t i = 0; i < m_mainGrid->cellCount(); i++) - { - if (m_activeCellInfo.isActiveInMatrixModel(i)) - { - const RigCell& c = m_mainGrid->cells()[i]; - const caf::SizeTArray8& indices = c.cornerIndices(); + RigActiveCellInfo* activeInfos[2]; + activeInfos[0] = &m_fractureActiveCellInfo; + activeInfos[1] = &m_activeCellInfo; // Last, to make this bb.min become display offset - size_t idx; - for (idx = 0; idx < 8; idx++) + cvf::BoundingBox bb; + for (int acIdx = 0; acIdx < 2; ++acIdx) + { + bb.reset(); + if (m_mainGrid->nodes().size() == 0) + { + bb.add(cvf::Vec3d::ZERO); + } + else + { + for (size_t i = 0; i < m_mainGrid->cellCount(); i++) + { + if (activeInfos[acIdx]->isActiveInMatrixModel(i)) { - bb.add(m_mainGrid->nodes()[indices[idx]]); + const RigCell& c = m_mainGrid->cells()[i]; + const caf::SizeTArray8& indices = c.cornerIndices(); + + size_t idx; + for (idx = 0; idx < 8; idx++) + { + bb.add(m_mainGrid->nodes()[indices[idx]]); + } } } } - } - m_activeCellInfo.setMatrixActiveCellsGeometryBoundingBox(bb); + activeInfos[acIdx]->setMatrixActiveCellsGeometryBoundingBox(bb); + } m_mainGrid->setDisplayModelOffset(bb.min()); } diff --git a/ApplicationCode/ReservoirDataModel/RigEclipseCase.h b/ApplicationCode/ReservoirDataModel/RigEclipseCase.h index c188179e68..f16ba77562 100644 --- a/ApplicationCode/ReservoirDataModel/RigEclipseCase.h +++ b/ApplicationCode/ReservoirDataModel/RigEclipseCase.h @@ -36,55 +36,54 @@ public: RigEclipseCase(); ~RigEclipseCase(); - RigMainGrid* mainGrid() { return m_mainGrid.p(); } - const RigMainGrid* mainGrid() const { return m_mainGrid.p(); } - void setMainGrid(RigMainGrid* mainGrid); + RigMainGrid* mainGrid() { return m_mainGrid.p(); } + const RigMainGrid* mainGrid() const { return m_mainGrid.p(); } + void setMainGrid(RigMainGrid* mainGrid); - void allGrids(std::vector* grids); // To be removed - void allGrids(std::vector* grids) const;// To be removed - const RigGridBase* grid(size_t index) const; - RigGridBase* grid(size_t index); - size_t gridCount() const; + void allGrids(std::vector* grids); // To be removed + void allGrids(std::vector* grids) const;// To be removed + const RigGridBase* grid(size_t index) const; + RigGridBase* grid(size_t index); + size_t gridCount() const; - RigReservoirCellResults* results(RifReaderInterface::PorosityModelResultType porosityModel); - const RigReservoirCellResults* results(RifReaderInterface::PorosityModelResultType porosityModel) const; + RigReservoirCellResults* results(RifReaderInterface::PorosityModelResultType porosityModel); + const RigReservoirCellResults* results(RifReaderInterface::PorosityModelResultType porosityModel) const; + + RigActiveCellInfo* activeCellInfo(RifReaderInterface::PorosityModelResultType porosityModel); + const RigActiveCellInfo* activeCellInfo(RifReaderInterface::PorosityModelResultType porosityModel) const; - void closeReaderInterface(); - cvf::ref dataAccessObject(const RigGridBase* grid, + cvf::ref dataAccessObject(const RigGridBase* grid, RifReaderInterface::PorosityModelResultType porosityModel, size_t timeStepIndex, size_t scalarSetIndex); - void computeCachedData(); - - void setWellResults(const cvf::Collection& data); - const cvf::Collection& wellResults() { return m_wellResults; } + void setWellResults(const cvf::Collection& data); + const cvf::Collection& wellResults() { return m_wellResults; } - cvf::UByteArray* wellCellsInGrid(size_t gridIndex); + cvf::UByteArray* wellCellsInGrid(size_t gridIndex); - RigCell& cellFromWellResultCell(const RigWellResultCell& wellResultCell); - bool findSharedSourceFace(cvf::StructGridInterface::FaceType& sharedSourceFace, const RigWellResultCell& sourceWellCellResult, const RigWellResultCell& otherWellCellResult) const; - - RigActiveCellInfo* activeCellInfo(); - const RigActiveCellInfo* activeCellInfo() const; + RigCell& cellFromWellResultCell(const RigWellResultCell& wellResultCell); + bool findSharedSourceFace(cvf::StructGridInterface::FaceType& sharedSourceFace, const RigWellResultCell& sourceWellCellResult, const RigWellResultCell& otherWellCellResult) const; + void computeCachedData(); + void closeReaderInterface(); private: - void computeActiveCellData(); - void computeWellCellsPrGrid(); - void computeActiveCellsGeometryBoundingBox(); + void computeActiveCellData(); + void computeWellCellsPrGrid(); + void computeActiveCellsGeometryBoundingBox(); private: - RigActiveCellInfo m_activeCellInfo; + cvf::ref m_mainGrid; - cvf::ref m_mainGrid; + RigActiveCellInfo m_activeCellInfo; + RigActiveCellInfo m_fractureActiveCellInfo; - cvf::ref m_matrixModelResults; - cvf::ref m_fractureModelResults; + cvf::ref m_matrixModelResults; + cvf::ref m_fractureModelResults; - - cvf::Collection m_wellResults; - cvf::Collection m_wellCellsInGrid; + cvf::Collection m_wellResults; + cvf::Collection m_wellCellsInGrid; //< A bool array pr grid with one bool pr cell telling wether the cell is a well cell or not }; diff --git a/ApplicationCode/ReservoirDataModel/RigGridBase.cpp b/ApplicationCode/ReservoirDataModel/RigGridBase.cpp index c4073bcd2c..69b62a8856 100644 --- a/ApplicationCode/ReservoirDataModel/RigGridBase.cpp +++ b/ApplicationCode/ReservoirDataModel/RigGridBase.cpp @@ -28,9 +28,7 @@ RigGridBase::RigGridBase(RigMainGrid* mainGrid): m_gridPointDimensions(0,0,0), m_mainGrid(mainGrid), - m_indexToStartOfCells(0), - m_matrixModelActiveCellCount(cvf::UNDEFINED_SIZE_T), - m_fractureModelActiveCellCount(cvf::UNDEFINED_SIZE_T) + m_indexToStartOfCells(0) { if (mainGrid == NULL) { @@ -451,38 +449,6 @@ double RigGridBase::characteristicIJCellSize() return characteristicCellSize; } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -size_t RigGridBase::matrixModelActiveCellCount() const -{ - return m_matrixModelActiveCellCount; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -size_t RigGridBase::fractureModelActiveCellCount() const -{ - return m_fractureModelActiveCellCount; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RigGridBase::setFractureModelActiveCellCount(size_t activeFractureModelCellCount) -{ - m_fractureModelActiveCellCount = activeFractureModelCellCount; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RigGridBase::setMatrixModelActiveCellCount(size_t activeMatrixModelCellCount) -{ - m_matrixModelActiveCellCount = activeMatrixModelCellCount; -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ReservoirDataModel/RigGridBase.h b/ApplicationCode/ReservoirDataModel/RigGridBase.h index 59a492450d..364de6ae10 100644 --- a/ApplicationCode/ReservoirDataModel/RigGridBase.h +++ b/ApplicationCode/ReservoirDataModel/RigGridBase.h @@ -63,12 +63,7 @@ public: void computeFaults(); bool isMainGrid() const; RigMainGrid* mainGrid() const { return m_mainGrid; } - - size_t matrixModelActiveCellCount() const; - void setMatrixModelActiveCellCount(size_t activeMatrixModelCellCount); - size_t fractureModelActiveCellCount() const ; - void setFractureModelActiveCellCount(size_t activeFractureModelCellCount); - + protected: friend class RigMainGrid;//::initAllSubGridsParentGridPointer(); void initSubGridParentPointer(); @@ -106,9 +101,6 @@ private: size_t m_gridIndex; ///< The LGR index of this grid. Starts with 1. Main grid has index 0. RigMainGrid* m_mainGrid; - size_t m_matrixModelActiveCellCount; - size_t m_fractureModelActiveCellCount; - }; diff --git a/ApplicationCode/ReservoirDataModel/RigGridScalarDataAccess.cpp b/ApplicationCode/ReservoirDataModel/RigGridScalarDataAccess.cpp index d4d3aeba05..c7c7f5e25e 100644 --- a/ApplicationCode/ReservoirDataModel/RigGridScalarDataAccess.cpp +++ b/ApplicationCode/ReservoirDataModel/RigGridScalarDataAccess.cpp @@ -130,7 +130,7 @@ private: - +/* //-------------------------------------------------------------------------------------------------- /// @@ -179,7 +179,7 @@ private: - +*/ //-------------------------------------------------------------------------------------------------- /// @@ -194,11 +194,11 @@ cvf::ref RigGridScalarDataAccessFactory::create CVF_ASSERT(gridIndex < eclipseCase->gridCount()); CVF_ASSERT(eclipseCase); CVF_ASSERT(eclipseCase->results(porosityModel)); - CVF_ASSERT(eclipseCase->activeCellInfo()); + CVF_ASSERT(eclipseCase->activeCellInfo(porosityModel)); RigGridBase *grid = eclipseCase->grid(gridIndex); - if ( !eclipseCase || !eclipseCase->results(porosityModel) || !eclipseCase->activeCellInfo()) + if ( !eclipseCase || !eclipseCase->results(porosityModel) || !eclipseCase->activeCellInfo(porosityModel)) { return NULL; } @@ -215,16 +215,8 @@ cvf::ref RigGridScalarDataAccessFactory::create bool useGlobalActiveIndex = eclipseCase->results(porosityModel)->isUsingGlobalActiveIndex(scalarSetIndex); if (useGlobalActiveIndex) { - if (porosityModel == RifReaderInterface::MATRIX_RESULTS) - { - cvf::ref object = new RigGridMatrixActiveCellsScalarDataAccess(grid, resultValues, eclipseCase->activeCellInfo()); - return object; - } - else - { - cvf::ref object = new RigGridFractureActiveCellsScalarDataAccess(grid, resultValues, eclipseCase->activeCellInfo()); - return object; - } + cvf::ref object = new RigGridMatrixActiveCellsScalarDataAccess(grid, resultValues, eclipseCase->activeCellInfo(porosityModel)); + return object; } else { diff --git a/ApplicationCode/ReservoirDataModel/RigReservoirBuilderMock.cpp b/ApplicationCode/ReservoirDataModel/RigReservoirBuilderMock.cpp index 00efac4260..6b8145a4aa 100644 --- a/ApplicationCode/ReservoirDataModel/RigReservoirBuilderMock.cpp +++ b/ApplicationCode/ReservoirDataModel/RigReservoirBuilderMock.cpp @@ -247,7 +247,7 @@ void RigReservoirBuilderMock::populateReservoir(RigEclipseCase* eclipseCase) addWellData(eclipseCase, eclipseCase->mainGrid()); // Set all cells active - RigActiveCellInfo* activeCellInfo = eclipseCase->activeCellInfo(); + RigActiveCellInfo* activeCellInfo = eclipseCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS); activeCellInfo->setGlobalCellCount(eclipseCase->mainGrid()->cells().size()); for (size_t i = 0; i < eclipseCase->mainGrid()->cells().size(); i++) { diff --git a/ApplicationCode/ReservoirDataModel/RigStatistics.cpp b/ApplicationCode/ReservoirDataModel/RigStatistics.cpp index b78e8f9b9f..b9b1f0bbfc 100644 --- a/ApplicationCode/ReservoirDataModel/RigStatistics.cpp +++ b/ApplicationCode/ReservoirDataModel/RigStatistics.cpp @@ -59,8 +59,10 @@ void RigStatistics::computeActiveCellUnion() RigMainGrid* mainGrid = m_sourceCases[0]->mainGrid(); CVF_ASSERT(mainGrid); - m_destinationCase->activeCellInfo()->setGlobalCellCount(mainGrid->cells().size()); - m_destinationCase->activeCellInfo()->setGridCount(mainGrid->gridCount()); + m_destinationCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS)->setGlobalCellCount(mainGrid->cells().size()); + m_destinationCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->setGlobalCellCount(mainGrid->cells().size()); + m_destinationCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS)->setGridCount(mainGrid->gridCount()); + m_destinationCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->setGridCount(mainGrid->gridCount()); size_t globalActiveMatrixIndex = 0; size_t globalActiveFractureIndex = 0; @@ -80,7 +82,7 @@ void RigStatistics::computeActiveCellUnion() if (activeM[localGridCellIdx] == 0) { - if (m_sourceCases[caseIdx]->activeCellInfo()->isActiveInMatrixModel(globalCellIdx)) + if (m_sourceCases[caseIdx]->activeCellInfo(RifReaderInterface::MATRIX_RESULTS)->isActiveInMatrixModel(globalCellIdx)) { activeM[localGridCellIdx] = 1; } @@ -88,7 +90,7 @@ void RigStatistics::computeActiveCellUnion() if (activeF[localGridCellIdx] == 0) { - if (m_sourceCases[caseIdx]->activeCellInfo()->isActiveInFractureModel(globalCellIdx)) + if (m_sourceCases[caseIdx]->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->isActiveInMatrixModel(globalCellIdx)) { activeF[localGridCellIdx] = 1; } @@ -105,21 +107,24 @@ void RigStatistics::computeActiveCellUnion() if (activeM[localGridCellIdx] != 0) { - m_destinationCase->activeCellInfo()->setActiveIndexInMatrixModel(globalCellIdx, globalActiveMatrixIndex++); + m_destinationCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS)->setActiveIndexInMatrixModel(globalCellIdx, globalActiveMatrixIndex++); activeMatrixIndex++; } if (activeF[localGridCellIdx] != 0) { - m_destinationCase->activeCellInfo()->setActiveIndexInFractureModel(globalCellIdx, globalActiveFractureIndex++); + m_destinationCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->setActiveIndexInMatrixModel(globalCellIdx, globalActiveFractureIndex++); activeFractureIndex++; } } - m_destinationCase->activeCellInfo()->setGridActiveCellCounts(gridIdx, activeMatrixIndex, activeFractureIndex); + m_destinationCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS)->setGridActiveCellCounts(gridIdx, activeMatrixIndex); + m_destinationCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->setGridActiveCellCounts(gridIdx, activeFractureIndex); } - m_destinationCase->activeCellInfo()->computeDerivedData(); + m_destinationCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS)->computeDerivedData(); + m_destinationCase->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->computeDerivedData(); + m_destinationCase->computeCachedData(); } @@ -164,7 +169,7 @@ void RigStatistics::evaluateStatistics(const QListactiveCellInfo()->globalMatrixModelActiveCellCount(); + size_t activeMatrixCellCount = m_destinationCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS)->globalMatrixModelActiveCellCount(); RigReservoirCellResults* matrixResults = m_destinationCase->results(RifReaderInterface::MATRIX_RESULTS); for (int i = 0; i < resultSpecification.size(); i++) @@ -190,9 +195,9 @@ void RigStatistics::evaluateStatistics(const QList values(dataAccesObjectList.size(), HUGE_VAL); size_t globalGridCellIdx = grid->globalGridCellIndex(cellIdx); - if (m_destinationCase->activeCellInfo()->isActiveInMatrixModel(globalGridCellIdx)) + if (m_destinationCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS)->isActiveInMatrixModel(globalGridCellIdx)) { bool foundAnyValidValues = false; for (size_t caseIdx = 0; caseIdx < dataAccesObjectList.size(); caseIdx++) diff --git a/ApplicationCode/SocketInterface/RiaSocketServer.cpp b/ApplicationCode/SocketInterface/RiaSocketServer.cpp index 80308f3e8e..8afa8aece5 100644 --- a/ApplicationCode/SocketInterface/RiaSocketServer.cpp +++ b/ApplicationCode/SocketInterface/RiaSocketServer.cpp @@ -446,7 +446,7 @@ void RiaSocketServer::readPropertyDataFromOctave() size_t cellCountFromOctave = m_bytesPerTimeStepToRead / sizeof(double); - size_t gridActiveCellCount = m_currentReservoir->reservoirData()->activeCellInfo()->globalMatrixModelActiveCellCount(); + size_t gridActiveCellCount = m_currentReservoir->reservoirData()->activeCellInfo(RifReaderInterface::MATRIX_RESULTS)->globalMatrixModelActiveCellCount(); size_t gridTotalCellCount = m_currentReservoir->reservoirData()->mainGrid()->cellCount(); if (cellCountFromOctave != gridActiveCellCount && cellCountFromOctave != gridTotalCellCount) @@ -634,7 +634,7 @@ void RiaSocketServer::calculateMatrixModelActiveCellInfo(std::vector& gr return; } - RigActiveCellInfo* actCellInfo = m_currentReservoir->reservoirData()->activeCellInfo(); + RigActiveCellInfo* actCellInfo = m_currentReservoir->reservoirData()->activeCellInfo(RifReaderInterface::MATRIX_RESULTS); size_t numMatrixModelActiveCells = actCellInfo->globalMatrixModelActiveCellCount(); gridNumber.reserve(numMatrixModelActiveCells); diff --git a/ApplicationCode/UserInterface/RIMainWindow.cpp b/ApplicationCode/UserInterface/RIMainWindow.cpp index 5ac2d342d6..48b8438e36 100644 --- a/ApplicationCode/UserInterface/RIMainWindow.cpp +++ b/ApplicationCode/UserInterface/RIMainWindow.cpp @@ -540,13 +540,13 @@ void RIMainWindow::refreshAnimationActions() { enableAnimControls = true; - if (app->activeReservoirView()->gridCellResults()) + if (app->activeReservoirView()->currentGridCellResults()) { if (app->activeReservoirView()->cellResult()->hasDynamicResult() || app->activeReservoirView()->propertyFilterCollection()->hasActiveDynamicFilters() || app->activeReservoirView()->wellCollection()->hasVisibleWellPipes()) { - QList timeStepDates = app->activeReservoirView()->gridCellResults()->timeStepDates(0); + QList timeStepDates = app->activeReservoirView()->currentGridCellResults()->timeStepDates(0); bool showHoursAndMinutes = false; for (int i = 0; i < timeStepDates.size(); i++) {