mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1630 Update metadata for completions
This commit is contained in:
parent
5bcc226aba
commit
5a466db9af
@ -62,7 +62,7 @@ void RicFishbonesTransmissibilityCalculationFeatureImp::findFishboneLateralsWell
|
|||||||
if (intersection.mainBoreCell && settings.removeLateralsInMainBoreCells()) continue;
|
if (intersection.mainBoreCell && settings.removeLateralsInMainBoreCells()) continue;
|
||||||
|
|
||||||
double diameter = location.fishbonesSubs->holeDiameter(unitSystem);
|
double diameter = location.fishbonesSubs->holeDiameter(unitSystem);
|
||||||
QString completionMetaData = (location.fishbonesSubs->name() + QString(" Sub: %1 Lateral: %2").arg(location.subIndex).arg(lateral.lateralIndex));
|
QString completionMetaData = (location.fishbonesSubs->name() + QString(": Sub: %1 Lateral: %2").arg(location.subIndex).arg(lateral.lateralIndex));
|
||||||
WellBorePartForTransCalc wellBorePart = WellBorePartForTransCalc(intersection.lengthsInCell,
|
WellBorePartForTransCalc wellBorePart = WellBorePartForTransCalc(intersection.lengthsInCell,
|
||||||
diameter / 2,
|
diameter / 2,
|
||||||
location.fishbonesSubs->skinFactor(),
|
location.fishbonesSubs->skinFactor(),
|
||||||
@ -120,13 +120,9 @@ std::vector<RigCompletionData> RicFishbonesTransmissibilityCalculationFeatureImp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: Find main bore direction and use this as direction in which to split cell
|
|
||||||
QString directionToSplitCellVolume = "DX";
|
|
||||||
|
|
||||||
for (WellBorePartForTransCalc wellBorePart : wellBoreParts)
|
for (WellBorePartForTransCalc wellBorePart : wellBoreParts)
|
||||||
{
|
{
|
||||||
RigCompletionData completion(wellPath->completions()->wellNameForExport(), IJKCellIndex(i, j, k));
|
RigCompletionData completion(wellPath->completions()->wellNameForExport(), IJKCellIndex(i, j, k));
|
||||||
completion.addMetadata(wellBorePart.metaData, "");
|
|
||||||
|
|
||||||
double transmissibility = 0.0;
|
double transmissibility = 0.0;
|
||||||
if (wellBorePart.isMainBore)
|
if (wellBorePart.isMainBore)
|
||||||
@ -163,7 +159,7 @@ std::vector<RigCompletionData> RicFishbonesTransmissibilityCalculationFeatureImp
|
|||||||
wellBorePart.wellRadius *2,
|
wellBorePart.wellRadius *2,
|
||||||
direction,
|
direction,
|
||||||
wellBorePart.isMainBore);
|
wellBorePart.isMainBore);
|
||||||
|
completion.addMetadata(wellBorePart.metaData, QString::number(transmissibility));
|
||||||
completionData.push_back(completion);
|
completionData.push_back(completion);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -306,7 +306,12 @@ RigCompletionData RicWellPathExportCompletionDataFeature::combineEclipseCellComp
|
|||||||
RiaLogging::error(QString("Transmissibility calculation has failed for cell [%1, %2, %3]").arg(cellIndexIJK.i).arg(cellIndexIJK.j).arg(cellIndexIJK.k));
|
RiaLogging::error(QString("Transmissibility calculation has failed for cell [%1, %2, %3]").arg(cellIndexIJK.i).arg(cellIndexIJK.j).arg(cellIndexIJK.k));
|
||||||
return resultCompletion; //Returning empty completion, should not be exported
|
return resultCompletion; //Returning empty completion, should not be exported
|
||||||
}
|
}
|
||||||
|
|
||||||
totalTrans = totalTrans + completion.transmissibility();
|
totalTrans = totalTrans + completion.transmissibility();
|
||||||
|
|
||||||
|
resultCompletion.m_metadata.reserve(resultCompletion.m_metadata.size() + completion.m_metadata.size());
|
||||||
|
resultCompletion.m_metadata.insert(resultCompletion.m_metadata.end(), completion.m_metadata.begin(), completion.m_metadata.end());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -519,7 +524,6 @@ std::vector<RigCompletionData> RicWellPathExportCompletionDataFeature::generateP
|
|||||||
size_t i, j, k;
|
size_t i, j, k;
|
||||||
settings.caseToApply->eclipseCaseData()->mainGrid()->ijkFromCellIndex(cell.cellIndex, &i, &j, &k);
|
settings.caseToApply->eclipseCaseData()->mainGrid()->ijkFromCellIndex(cell.cellIndex, &i, &j, &k);
|
||||||
RigCompletionData completion(wellPath->completions()->wellNameForExport(), IJKCellIndex(i, j, k));
|
RigCompletionData completion(wellPath->completions()->wellNameForExport(), IJKCellIndex(i, j, k));
|
||||||
completion.addMetadata("Perforation", QString("StartMD: %1 - EndMD: %2").arg(interval->startMD()).arg(interval->endMD()));
|
|
||||||
CellDirection direction = calculateDirectionInCell(settings.caseToApply, cell.cellIndex, cell.internalCellLengths);
|
CellDirection direction = calculateDirectionInCell(settings.caseToApply, cell.cellIndex, cell.internalCellLengths);
|
||||||
|
|
||||||
double transmissibility = RicWellPathExportCompletionDataFeature::calculateTransmissibility(settings.caseToApply,
|
double transmissibility = RicWellPathExportCompletionDataFeature::calculateTransmissibility(settings.caseToApply,
|
||||||
@ -535,6 +539,7 @@ std::vector<RigCompletionData> RicWellPathExportCompletionDataFeature::generateP
|
|||||||
interval->skinFactor(),
|
interval->skinFactor(),
|
||||||
interval->diameter(unitSystem),
|
interval->diameter(unitSystem),
|
||||||
direction);
|
direction);
|
||||||
|
completion.addMetadata("Perforation", QString("StartMD: %1 - EndMD: %2").arg(interval->startMD()).arg(interval->endMD() + QString(" : ") + QString::number(transmissibility)));
|
||||||
completionData.push_back(completion);
|
completionData.push_back(completion);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -147,9 +147,9 @@ public:
|
|||||||
bool isMainBore() const { return m_isMainBore; }
|
bool isMainBore() const { return m_isMainBore; }
|
||||||
bool readyForExport() const { return m_readyForExport; }
|
bool readyForExport() const { return m_readyForExport; }
|
||||||
|
|
||||||
|
std::vector<RigCompletionMetaData> m_metadata; //TODO: Is this OK?
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::vector<RigCompletionMetaData> m_metadata;
|
|
||||||
QString m_wellName;
|
QString m_wellName;
|
||||||
IJKCellIndex m_cellIndex;
|
IJKCellIndex m_cellIndex;
|
||||||
WellConnectionState m_connectionState;
|
WellConnectionState m_connectionState;
|
||||||
|
Loading…
Reference in New Issue
Block a user