//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- bool RifReaderMockModel::open(const QString& fileName, RigCaseData* eclipseCase) { m_reservoirBuilder.populateReservoir(eclipseCase); m_reservoir = eclipseCase; RigCaseCellResultsData* cellResults = eclipseCase->results(RifReaderInterface::MATRIX_RESULTS); std::vector<QDateTime> dates; for (int i = 0; i < static_cast<int>(m_reservoirBuilder.timeStepCount()); i++) { dates.push_back(QDateTime(QDate(2012+i, 6, 1))); } for (size_t i = 0; i < m_reservoirBuilder.resultCount(); i++) { size_t resIdx = cellResults->addEmptyScalarResult(RimDefines::DYNAMIC_NATIVE, QString("Dynamic_Result_%1").arg(i), false); cellResults->setTimeStepDates(resIdx, dates); } if (m_reservoirBuilder.timeStepCount() == 0) return true; std::vector<QDateTime> staticDates; staticDates.push_back(dates[0]); for (int i = 0; i < static_cast<int>(m_reservoirBuilder.resultCount()); i++) { QString varEnd; if (i == 0) varEnd = "X"; if (i == 1) varEnd = "Y"; int resIndex = 0; if (i > 1) resIndex = i; size_t resIdx = cellResults->addEmptyScalarResult(RimDefines::STATIC_NATIVE, QString("Static_Result_%1%2").arg(resIndex).arg(varEnd), false); cellResults->setTimeStepDates(resIdx, staticDates); } #define ADD_INPUT_PROPERTY(Name) \ { \ size_t resIdx; \ QString resultName(Name); \ resIdx = cellResults->addEmptyScalarResult(RimDefines::INPUT_PROPERTY, resultName, false); \ cellResults->setTimeStepDates(resIdx, staticDates); \ cellResults->cellScalarResults(resIdx).resize(1); \ std::vector<double>& values = cellResults->cellScalarResults(resIdx)[0]; \ this->inputProperty(resultName, &values); \ } ADD_INPUT_PROPERTY("PORO"); ADD_INPUT_PROPERTY("PERM"); ADD_INPUT_PROPERTY("MULTX"); return true; }