#1400 - pre-proto - Moving contributingEclipseCells and transmissibilities from RigStimPlanceCell to RigFractureStimPlanCellData, since the values will be different depending on placement of fracture.

This commit is contained in:
astridkbjorke 2017-04-06 11:47:50 +02:00
parent b73e2bb63b
commit abca5ed85b
7 changed files with 58 additions and 24 deletions

View File

@ -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<size_t> stimPlanContributingEclipseCells = stimPlanCell.getContributingEclipseCells();
std::vector<double> stimPlanContributingEclipseCellTransmisibilities = stimPlanCell.getContributingEclipseCellTransmisibilities();
transmissibilityCalculator.calculateStimPlanCellsMatrixTransmissibility(&stimPlanCell, &fracStimPlanCellData);
std::vector<size_t> stimPlanContributingEclipseCells = fracStimPlanCellData.getContributingEclipseCells();
std::vector<double> stimPlanContributingEclipseCellTransmisibilities = fracStimPlanCellData.getContributingEclipseCellTransmisibilities();
for (int i = 0; i < stimPlanContributingEclipseCells.size(); i++)
{

View File

@ -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<RigFractureData>& RigFracture::fractureData() const
return m_fractureData;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RigFracture::addStimPlanCellFractureCell(RigFractureStimPlanCellData fracStimPlanCellData)
{
m_stimPlanCellsFractureData.push_back(fracStimPlanCellData);
}

View File

@ -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<size_t> contributingEclipseCells;
// std::vector<double> contributingEclipseCellTransmisibilities;
std::vector<size_t> getContributingEclipseCells() { return contributingEclipseCells; }
std::vector<double> getContributingEclipseCellTransmisibilities() { return contributingEclipseCellTransmisibilities; }
void addContributingEclipseCell(size_t eclipseCell, double transmissibility);
private:
std::vector<size_t> contributingEclipseCells;
std::vector<double> contributingEclipseCellTransmisibilities;
};
@ -84,10 +89,11 @@ public:
std::vector<RigFractureData> m_fractureData;
void addStimPlanCellFractureCell(RigFractureStimPlanCellData fracStimPlanCellData);
private:
std::vector<cvf::uint> m_triangleIndices;
std::vector<cvf::Vec3f> m_nodeCoords;
std::vector<RigFractureStimPlanCellData> m_stimPlanCellsFractureData;
};

View File

@ -29,6 +29,7 @@
#include "cvfGeometryTools.h"
#include "RigCellGeometryTools.h"
#include "RigActiveCellInfo.h"
#include "RigFracture.h"
#include "RimStimPlanFractureTemplate.h"
#include <QString>
@ -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);
}
}
//--------------------------------------------------------------------------------------------------

View File

@ -36,6 +36,7 @@ class RimFracture;
class RimEclipseCase;
class RigStimPlanCell;
class RimStimPlanFractureTemplate;
class RigFractureStimPlanCellData;
//==================================================================================================
///
@ -56,7 +57,7 @@ public:
static double arithmeticAverage(std::vector<double> values);
void calculateStimPlanCellsMatrixTransmissibility(RigStimPlanCell* stimPlanCell);
void calculateStimPlanCellsMatrixTransmissibility(RigStimPlanCell* stimPlanCell, RigFractureStimPlanCellData* fracStimPlanCellData);
void computeFlowInFracture();
void computeFlowIntoTransverseWell();

View File

@ -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);
//
// }

View File

@ -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<size_t> getContributingEclipseCells() { return contributingEclipseCells; }
std::vector<double> getContributingEclipseCellTransmisibilities() { return contributingEclipseCellTransmisibilities; }
// void addContributingEclipseCell(size_t fracCell, double transmissibility);
private:
std::vector<cvf::Vec3d> m_polygon;
@ -57,7 +55,7 @@ private:
size_t m_i;
size_t m_j;
std::vector<size_t> contributingEclipseCells;
std::vector<double> contributingEclipseCellTransmisibilities;
// std::vector<size_t> contributingEclipseCells;
// std::vector<double> contributingEclipseCellTransmisibilities;
};