From c8a4db65712a3f4290232b99f564ac40127c68a3 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 6 Dec 2013 19:38:42 +0100 Subject: [PATCH] Added faults to mock models --- .../RigReservoirBuilderMock.cpp | 42 +++++++++++++++++++ .../RigReservoirBuilderMock.h | 1 + 2 files changed, 43 insertions(+) diff --git a/ApplicationCode/ReservoirDataModel/RigReservoirBuilderMock.cpp b/ApplicationCode/ReservoirDataModel/RigReservoirBuilderMock.cpp index 1c79a5bc77..0905772400 100644 --- a/ApplicationCode/ReservoirDataModel/RigReservoirBuilderMock.cpp +++ b/ApplicationCode/ReservoirDataModel/RigReservoirBuilderMock.cpp @@ -248,6 +248,8 @@ void RigReservoirBuilderMock::populateReservoir(RigCaseData* eclipseCase) addWellData(eclipseCase, eclipseCase->mainGrid()); + addFaults(eclipseCase); + // Set all cells active RigActiveCellInfo* activeCellInfo = eclipseCase->activeCellInfo(RifReaderInterface::MATRIX_RESULTS); activeCellInfo->setGlobalCellCount(eclipseCase->mainGrid()->cells().size()); @@ -479,3 +481,43 @@ void RigReservoirBuilderMock::addWellData(RigCaseData* eclipseCase, RigGridBase* eclipseCase->setWellResults(wells); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigReservoirBuilderMock::addFaults(RigCaseData* eclipseCase) +{ + if (!eclipseCase) return; + + RigMainGrid* grid = eclipseCase->mainGrid(); + if (!grid) return; + + cvf::Collection faults; + + { + cvf::ref fault = new RigFault; + fault->setName("Fault A"); + + cvf::Vec3st min = cvf::Vec3st::ZERO; + cvf::Vec3st max(0, 0, cellDimension().z() - 2); + + if (cellDimension().x() > 5) + { + min.x() = cellDimension().x() / 2; + max.x() = min.x() + 1; + } + + if (cellDimension().y() > 5) + { + min.y() = cellDimension().y() / 2; + max.y() = cellDimension().y() / 2; + } + + cvf::CellRange cellRange(min, max); + + fault->addCellRangeForFace(cvf::StructGridInterface::POS_I, cellRange); + faults.push_back(fault.p()); + } + + grid->setFaults(faults); +} + diff --git a/ApplicationCode/ReservoirDataModel/RigReservoirBuilderMock.h b/ApplicationCode/ReservoirDataModel/RigReservoirBuilderMock.h index d6c0f0fec4..619fb0069a 100644 --- a/ApplicationCode/ReservoirDataModel/RigReservoirBuilderMock.h +++ b/ApplicationCode/ReservoirDataModel/RigReservoirBuilderMock.h @@ -62,6 +62,7 @@ public: bool dynamicResult(RigCaseData* eclipseCase, const QString& result, size_t stepIndex, std::vector* values ); private: + void addFaults(RigCaseData* eclipseCase); void addWellData(RigCaseData* eclipseCase, RigGridBase* grid); static void appendCells(size_t nodeStartIndex, size_t cellCount, RigGridBase* hostGrid, std::vector& cells);