#1707 Removing check on wheter fracture cell is in contained area or not when calculating flow in fracture and into well. This will allow flow in the fracture and into the well also in eclipse layers excluded by the fracture containment feature, and in areas without any eclipse cells (gaps in grid).

This commit is contained in:
astridkbjorke 2017-08-03 11:10:07 +02:00
parent 313752bb7c
commit f2c20db534

View File

@ -163,7 +163,6 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
// Calculate Matrix To Fracture Trans
const std::vector<RigFractureCell>& fractureCells = fractureGrid->fractureCells();
std::set<size_t> blockedFractureCellIndices;
for (const RigFractureCell fractureCell : fractureCells)
{
@ -203,10 +202,6 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
}
}
if (!hasAnyContribEclCellWithinContainment)
{
blockedFractureCellIndices.insert(stimPlanCellIndex);
}
}
//////
@ -220,8 +215,6 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
{
size_t fractureCellIndex = fractureGrid->getGlobalIndexFromIJ(i, j);
if (blockedFractureCellIndices.count(fractureCellIndex)) continue;
const RigFractureCell& fractureCell = fractureGrid->cellFromIndex(fractureCellIndex);
if (!fractureCell.hasNonZeroConductivity()) continue;
@ -229,9 +222,6 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
if ( i < fractureGrid->iCellCount() - 1 )
{
size_t fractureCellNeighbourXIndex = fractureGrid->getGlobalIndexFromIJ(i + 1, j);
if ( !blockedFractureCellIndices.count(fractureCellNeighbourXIndex) )
{
const RigFractureCell& fractureCellNeighbourX = fractureGrid->cellFromIndex(fractureCellNeighbourXIndex);
double horizontalTransToXneigbour =
@ -247,13 +237,10 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
{ false, RigTransmissibilityCondenser::CellAddress::STIMPLAN, fractureCellNeighbourXIndex },
horizontalTransToXneigbour);
}
}
if ( j < fractureGrid->jCellCount() - 1 )
{
size_t fractureCellNeighbourZIndex = fractureGrid->getGlobalIndexFromIJ(i, j + 1);
if ( !blockedFractureCellIndices.count(fractureCellNeighbourZIndex) )
{
const RigFractureCell& fractureCellNeighbourZ = fractureGrid->cellFromIndex(fractureCellNeighbourZIndex);
double verticalTransToZneigbour =
@ -272,7 +259,6 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
}
}
}
}
/////
// Calculate transmissibility into the well
@ -289,8 +275,6 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
std::pair<size_t, size_t> wellCellIJ = fracGrid->fractureCellAtWellCenter();
size_t wellCellIndex = fracGrid->getGlobalIndexFromIJ(wellCellIJ.first, wellCellIJ.second);
if(!blockedFractureCellIndices.count(wellCellIndex))
{
const RigFractureCell& wellCell = fractureGrid->cellFromIndex(wellCellIndex);
double radialTrans = RigFractureTransmissibilityEquations::fractureCellToWellRadialTrans(wellCell.getConductivtyValue(),
@ -304,12 +288,6 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
{ false, RigTransmissibilityCondenser::CellAddress::STIMPLAN, wellCellIndex },
radialTrans);
}
else
{
RiaLogging::warning(QString("Fracture well cell is not located within the settings provided by Fracture Containment.")
+ "\n Fracture named: " + fracture->name());
}
}
else if (fracture->fractureTemplate()->orientationType() == RimFractureTemplate::ALONG_WELL_PATH)
{
@ -323,8 +301,6 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
{
size_t fracWellCellIdx = fracCellIdxIsectDataPair.first;
if (!blockedFractureCellIndices.count(fracWellCellIdx))
{
RigWellPathStimplanIntersector::WellCellIntersection intersection = fracCellIdxIsectDataPair.second;
const RigFractureCell& fractureWellCell = fractureGrid->cellFromIndex(fracWellCellIdx);
@ -346,12 +322,6 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
{ false, RigTransmissibilityCondenser::CellAddress::STIMPLAN, fracWellCellIdx },
linearTrans);
}
else
{
RiaLogging::warning(QString("Fracture well cell is not located within the settings provided by Fracture Containment.")
+ "\n Fracture named: " + fracture->name());
}
}
}
}