From abca5ed85b767bd3888000b0e0190b02e0a69684 Mon Sep 17 00:00:00 2001 From: astridkbjorke Date: Thu, 6 Apr 2017 11:47:50 +0200 Subject: [PATCH] #1400 - pre-proto - Moving contributingEclipseCells and transmissibilities from RigStimPlanceCell to RigFractureStimPlanCellData, since the values will be different depending on placement of fracture. --- .../FileInterface/RifEclipseExportTools.cpp | 14 ++++++++++---- .../ReservoirDataModel/RigFracture.cpp | 19 ++++++++++++++++++- .../ReservoirDataModel/RigFracture.h | 14 ++++++++++---- .../RigFractureTransCalc.cpp | 12 +++++++++--- .../ReservoirDataModel/RigFractureTransCalc.h | 3 ++- .../ReservoirDataModel/RigStimPlanCell.cpp | 12 ++++++------ .../ReservoirDataModel/RigStimPlanCell.h | 8 +++----- 7 files changed, 58 insertions(+), 24 deletions(-) diff --git a/ApplicationCode/FileInterface/RifEclipseExportTools.cpp b/ApplicationCode/FileInterface/RifEclipseExportTools.cpp index 407006f2c9..9c99301480 100644 --- a/ApplicationCode/FileInterface/RifEclipseExportTools.cpp +++ b/ApplicationCode/FileInterface/RifEclipseExportTools.cpp @@ -252,13 +252,19 @@ void RifEclipseExportTools::printStimPlanCellsMatrixTransContributions(const std for (RigStimPlanCell stimPlanCell : stimPlanCells) { - if (stimPlanCell.getConductivtyValue() < 1e-7) continue; + if (stimPlanCell.getConductivtyValue() < 1e-7) + { + //Adding empty fracStimPlanCell to get vectors of same length + } - transmissibilityCalculator.calculateStimPlanCellsMatrixTransmissibility(&stimPlanCell); + RigFractureStimPlanCellData fracStimPlanCellData(stimPlanCell.getI(), stimPlanCell.getJ()); - std::vector stimPlanContributingEclipseCells = stimPlanCell.getContributingEclipseCells(); - std::vector stimPlanContributingEclipseCellTransmisibilities = stimPlanCell.getContributingEclipseCellTransmisibilities(); + transmissibilityCalculator.calculateStimPlanCellsMatrixTransmissibility(&stimPlanCell, &fracStimPlanCellData); + + + std::vector stimPlanContributingEclipseCells = fracStimPlanCellData.getContributingEclipseCells(); + std::vector stimPlanContributingEclipseCellTransmisibilities = fracStimPlanCellData.getContributingEclipseCellTransmisibilities(); for (int i = 0; i < stimPlanContributingEclipseCells.size(); i++) { diff --git a/ApplicationCode/ReservoirDataModel/RigFracture.cpp b/ApplicationCode/ReservoirDataModel/RigFracture.cpp index 4827c77cde..ebfc4e584b 100644 --- a/ApplicationCode/ReservoirDataModel/RigFracture.cpp +++ b/ApplicationCode/ReservoirDataModel/RigFracture.cpp @@ -29,9 +29,19 @@ RigFractureData::RigFractureData() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RigFractureStimPlanCellData::RigFractureStimPlanCellData() +RigFractureStimPlanCellData::RigFractureStimPlanCellData(size_t i, size_t j) { + m_i = i; + m_j = j; +} +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigFractureStimPlanCellData::addContributingEclipseCell(size_t eclipseCell, double transmissibility) +{ + contributingEclipseCells.push_back(eclipseCell); + contributingEclipseCellTransmisibilities.push_back(transmissibility); } //-------------------------------------------------------------------------------------------------- @@ -82,4 +92,11 @@ const std::vector& RigFracture::fractureData() const return m_fractureData; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RigFracture::addStimPlanCellFractureCell(RigFractureStimPlanCellData fracStimPlanCellData) +{ + m_stimPlanCellsFractureData.push_back(fracStimPlanCellData); +} diff --git a/ApplicationCode/ReservoirDataModel/RigFracture.h b/ApplicationCode/ReservoirDataModel/RigFracture.h index fa4ad73072..d5a1eb721d 100644 --- a/ApplicationCode/ReservoirDataModel/RigFracture.h +++ b/ApplicationCode/ReservoirDataModel/RigFracture.h @@ -55,13 +55,18 @@ public: class RigFractureStimPlanCellData { public: - RigFractureStimPlanCellData(); + RigFractureStimPlanCellData(size_t i, size_t j); size_t m_i; size_t m_j; -// std::vector contributingEclipseCells; -// std::vector contributingEclipseCellTransmisibilities; + std::vector getContributingEclipseCells() { return contributingEclipseCells; } + std::vector getContributingEclipseCellTransmisibilities() { return contributingEclipseCellTransmisibilities; } + void addContributingEclipseCell(size_t eclipseCell, double transmissibility); + +private: + std::vector contributingEclipseCells; + std::vector contributingEclipseCellTransmisibilities; }; @@ -84,10 +89,11 @@ public: std::vector m_fractureData; + void addStimPlanCellFractureCell(RigFractureStimPlanCellData fracStimPlanCellData); private: std::vector m_triangleIndices; std::vector m_nodeCoords; - + std::vector m_stimPlanCellsFractureData; }; diff --git a/ApplicationCode/ReservoirDataModel/RigFractureTransCalc.cpp b/ApplicationCode/ReservoirDataModel/RigFractureTransCalc.cpp index 1b82b3440e..0de1a10fac 100644 --- a/ApplicationCode/ReservoirDataModel/RigFractureTransCalc.cpp +++ b/ApplicationCode/ReservoirDataModel/RigFractureTransCalc.cpp @@ -29,6 +29,7 @@ #include "cvfGeometryTools.h" #include "RigCellGeometryTools.h" #include "RigActiveCellInfo.h" +#include "RigFracture.h" #include "RimStimPlanFractureTemplate.h" #include @@ -244,9 +245,12 @@ void RigFractureTransCalc::computeTransmissibility() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RigFractureTransCalc::calculateStimPlanCellsMatrixTransmissibility(RigStimPlanCell* stimPlanCell) +void RigFractureTransCalc::calculateStimPlanCellsMatrixTransmissibility(RigStimPlanCell* stimPlanCell, RigFractureStimPlanCellData* fracStimPlanCellData) { + //Not calculating flow into fracture if stimPlan cell cond value is 0 (assumed to be outside the fracture): + if (stimPlanCell->getConductivtyValue() < 1e-7) return; + RigEclipseCaseData* eclipseCaseData = m_case->eclipseCaseData(); RifReaderInterface::PorosityModelResultType porosityModel = RifReaderInterface::MATRIX_RESULTS; @@ -376,10 +380,12 @@ void RigFractureTransCalc::calculateStimPlanCellsMatrixTransmissibility(RigStimP + transmissibility_Y * transmissibility_Y + transmissibility_Z * transmissibility_Z); - stimPlanCell->addContributingEclipseCell(fracCell, transmissibility); - } + + fracStimPlanCellData->addContributingEclipseCell(fracCell, transmissibility); + } + } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ReservoirDataModel/RigFractureTransCalc.h b/ApplicationCode/ReservoirDataModel/RigFractureTransCalc.h index 8546b259dd..2e240f317d 100644 --- a/ApplicationCode/ReservoirDataModel/RigFractureTransCalc.h +++ b/ApplicationCode/ReservoirDataModel/RigFractureTransCalc.h @@ -36,6 +36,7 @@ class RimFracture; class RimEclipseCase; class RigStimPlanCell; class RimStimPlanFractureTemplate; +class RigFractureStimPlanCellData; //================================================================================================== /// @@ -56,7 +57,7 @@ public: static double arithmeticAverage(std::vector values); - void calculateStimPlanCellsMatrixTransmissibility(RigStimPlanCell* stimPlanCell); + void calculateStimPlanCellsMatrixTransmissibility(RigStimPlanCell* stimPlanCell, RigFractureStimPlanCellData* fracStimPlanCellData); void computeFlowInFracture(); void computeFlowIntoTransverseWell(); diff --git a/ApplicationCode/ReservoirDataModel/RigStimPlanCell.cpp b/ApplicationCode/ReservoirDataModel/RigStimPlanCell.cpp index 8c7d5a85ce..bf41ed15b5 100644 --- a/ApplicationCode/ReservoirDataModel/RigStimPlanCell.cpp +++ b/ApplicationCode/ReservoirDataModel/RigStimPlanCell.cpp @@ -47,10 +47,10 @@ RigStimPlanCell::~RigStimPlanCell() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RigStimPlanCell::addContributingEclipseCell(size_t eclipseCell, double transmissibility) -{ - contributingEclipseCells.push_back(eclipseCell); - contributingEclipseCellTransmisibilities.push_back(transmissibility); - -} +// void RigStimPlanCell::addContributingEclipseCell(size_t eclipseCell, double transmissibility) +// { +// contributingEclipseCells.push_back(eclipseCell); +// contributingEclipseCellTransmisibilities.push_back(transmissibility); +// +// } diff --git a/ApplicationCode/ReservoirDataModel/RigStimPlanCell.h b/ApplicationCode/ReservoirDataModel/RigStimPlanCell.h index f3d8ceb09d..9afeb8325b 100644 --- a/ApplicationCode/ReservoirDataModel/RigStimPlanCell.h +++ b/ApplicationCode/ReservoirDataModel/RigStimPlanCell.h @@ -46,9 +46,7 @@ public: void setConductivityValue(double cond) { m_concutivityValue = cond; } void setDisplayValue(double value) { m_displayValue = value; }; - void addContributingEclipseCell(size_t fracCell, double transmissibility); - std::vector getContributingEclipseCells() { return contributingEclipseCells; } - std::vector getContributingEclipseCellTransmisibilities() { return contributingEclipseCellTransmisibilities; } +// void addContributingEclipseCell(size_t fracCell, double transmissibility); private: std::vector m_polygon; @@ -57,7 +55,7 @@ private: size_t m_i; size_t m_j; - std::vector contributingEclipseCells; - std::vector contributingEclipseCellTransmisibilities; +// std::vector contributingEclipseCells; +// std::vector contributingEclipseCellTransmisibilities; }; \ No newline at end of file