#1758 Rename to globalCellIndex

This commit is contained in:
Magne Sjaastad 2018-01-29 15:27:17 +01:00
parent d5c1e1e898
commit 85d9d21bb6
4 changed files with 31 additions and 44 deletions

View File

@ -365,7 +365,7 @@ void RicExportFishbonesWellSegmentsFeature::generateCompsegsTable(RifEclipseData
for (const WellSegmentLateralIntersection& intersection : lateral.intersections) for (const WellSegmentLateralIntersection& intersection : lateral.intersections)
{ {
size_t i, j, k; size_t i, j, k;
grid->ijkFromCellIndex(intersection.cellIndex, &i, &j, &k); grid->ijkFromCellIndex(intersection.globalCellIndex, &i, &j, &k);
formatter.addZeroBasedCellIndex(i).addZeroBasedCellIndex(j).addZeroBasedCellIndex(k); formatter.addZeroBasedCellIndex(i).addZeroBasedCellIndex(j).addZeroBasedCellIndex(k);
formatter.add(lateral.branchNumber); formatter.add(lateral.branchNumber);

View File

@ -63,7 +63,7 @@ void RicFishbonesTransmissibilityCalculationFeatureImp::findFishboneLateralsWell
isMainBore, isMainBore,
completionMetaData); completionMetaData);
wellBorePartsInCells[intersection.cellIndex].push_back(wellBorePart); wellBorePartsInCells[intersection.globalCellIndex].push_back(wellBorePart);
} }
} }

View File

@ -856,7 +856,7 @@ void RicWellPathExportCompletionDataFeature::markWellPathCells(const std::vector
{ {
for (WellSegmentLateralIntersection& intersection : lateral.intersections) for (WellSegmentLateralIntersection& intersection : lateral.intersections)
{ {
if (wellPathCellSet.find(intersection.cellIndex) != wellPathCellSet.end()) if (wellPathCellSet.find(intersection.globalCellIndex) != wellPathCellSet.end())
{ {
intersection.mainBoreCell = true; intersection.mainBoreCell = true;
} }
@ -1034,7 +1034,7 @@ void RicWellPathExportCompletionDataFeature::appendCompletionData(std::map<IJKCe
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
CellDirection RicWellPathExportCompletionDataFeature::calculateDirectionInCell(RimEclipseCase* eclipseCase, size_t cellIndex, const cvf::Vec3d& lengthsInCell) CellDirection RicWellPathExportCompletionDataFeature::calculateDirectionInCell(RimEclipseCase* eclipseCase, size_t globalCellIndex, const cvf::Vec3d& lengthsInCell)
{ {
RigEclipseCaseData* eclipseCaseData = eclipseCase->eclipseCaseData(); RigEclipseCaseData* eclipseCaseData = eclipseCase->eclipseCaseData();
@ -1045,9 +1045,9 @@ CellDirection RicWellPathExportCompletionDataFeature::calculateDirectionInCell(R
eclipseCase->results(RiaDefines::MATRIX_MODEL)->findOrLoadScalarResult(RiaDefines::STATIC_NATIVE, "DZ"); eclipseCase->results(RiaDefines::MATRIX_MODEL)->findOrLoadScalarResult(RiaDefines::STATIC_NATIVE, "DZ");
cvf::ref<RigResultAccessor> dzAccessObject = RigResultAccessorFactory::createFromUiResultName(eclipseCaseData, 0, RiaDefines::MATRIX_MODEL, 0, "DZ"); cvf::ref<RigResultAccessor> dzAccessObject = RigResultAccessorFactory::createFromUiResultName(eclipseCaseData, 0, RiaDefines::MATRIX_MODEL, 0, "DZ");
double xLengthFraction = fabs(lengthsInCell.x() / dxAccessObject->cellScalarGlobIdx(cellIndex)); double xLengthFraction = fabs(lengthsInCell.x() / dxAccessObject->cellScalarGlobIdx(globalCellIndex));
double yLengthFraction = fabs(lengthsInCell.y() / dyAccessObject->cellScalarGlobIdx(cellIndex)); double yLengthFraction = fabs(lengthsInCell.y() / dyAccessObject->cellScalarGlobIdx(globalCellIndex));
double zLengthFraction = fabs(lengthsInCell.z() / dzAccessObject->cellScalarGlobIdx(cellIndex)); double zLengthFraction = fabs(lengthsInCell.z() / dzAccessObject->cellScalarGlobIdx(globalCellIndex));
if (xLengthFraction > yLengthFraction && xLengthFraction > zLengthFraction) if (xLengthFraction > yLengthFraction && xLengthFraction > zLengthFraction)
{ {
@ -1071,7 +1071,7 @@ double RicWellPathExportCompletionDataFeature::calculateTransmissibility(RimEcli
const cvf::Vec3d& internalCellLengths, const cvf::Vec3d& internalCellLengths,
double skinFactor, double skinFactor,
double wellRadius, double wellRadius,
size_t cellIndex, size_t globalCellIndex,
bool useLateralNTG, bool useLateralNTG,
size_t volumeScaleConstant, size_t volumeScaleConstant,
CellDirection directionForVolumeScaling) CellDirection directionForVolumeScaling)
@ -1097,16 +1097,16 @@ double RicWellPathExportCompletionDataFeature::calculateTransmissibility(RimEcli
if (ntgResIdx != cvf::UNDEFINED_SIZE_T) if (ntgResIdx != cvf::UNDEFINED_SIZE_T)
{ {
cvf::ref<RigResultAccessor> ntgAccessObject = RigResultAccessorFactory::createFromUiResultName(eclipseCaseData, 0, RiaDefines::MATRIX_MODEL, 0, "NTG"); cvf::ref<RigResultAccessor> ntgAccessObject = RigResultAccessorFactory::createFromUiResultName(eclipseCaseData, 0, RiaDefines::MATRIX_MODEL, 0, "NTG");
ntg = ntgAccessObject->cellScalarGlobIdx(cellIndex); ntg = ntgAccessObject->cellScalarGlobIdx(globalCellIndex);
} }
double latNtg = useLateralNTG ? ntg : 1.0; double latNtg = useLateralNTG ? ntg : 1.0;
double dx = dxAccessObject->cellScalarGlobIdx(cellIndex); double dx = dxAccessObject->cellScalarGlobIdx(globalCellIndex);
double dy = dyAccessObject->cellScalarGlobIdx(cellIndex); double dy = dyAccessObject->cellScalarGlobIdx(globalCellIndex);
double dz = dzAccessObject->cellScalarGlobIdx(cellIndex); double dz = dzAccessObject->cellScalarGlobIdx(globalCellIndex);
double permx = permxAccessObject->cellScalarGlobIdx(cellIndex); double permx = permxAccessObject->cellScalarGlobIdx(globalCellIndex);
double permy = permyAccessObject->cellScalarGlobIdx(cellIndex); double permy = permyAccessObject->cellScalarGlobIdx(globalCellIndex);
double permz = permzAccessObject->cellScalarGlobIdx(cellIndex); double permz = permzAccessObject->cellScalarGlobIdx(globalCellIndex);
double darcy = RiaEclipseUnitTools::darcysConstant(wellPath->unitSystem()); double darcy = RiaEclipseUnitTools::darcysConstant(wellPath->unitSystem());
@ -1131,7 +1131,7 @@ double RicWellPathExportCompletionDataFeature::calculateTransmissibility(RimEcli
double RicWellPathExportCompletionDataFeature::calculateTransmissibilityAsEclipseDoes(RimEclipseCase* eclipseCase, double RicWellPathExportCompletionDataFeature::calculateTransmissibilityAsEclipseDoes(RimEclipseCase* eclipseCase,
double skinFactor, double skinFactor,
double wellRadius, double wellRadius,
size_t cellIndex, size_t globalCellIndex,
CellDirection direction) CellDirection direction)
{ {
RigEclipseCaseData* eclipseCaseData = eclipseCase->eclipseCaseData(); RigEclipseCaseData* eclipseCaseData = eclipseCase->eclipseCaseData();
@ -1155,15 +1155,15 @@ double RicWellPathExportCompletionDataFeature::calculateTransmissibilityAsEclips
if (ntgResIdx != cvf::UNDEFINED_SIZE_T) if (ntgResIdx != cvf::UNDEFINED_SIZE_T)
{ {
cvf::ref<RigResultAccessor> ntgAccessObject = RigResultAccessorFactory::createFromUiResultName(eclipseCaseData, 0, RiaDefines::MATRIX_MODEL, 0, "NTG"); cvf::ref<RigResultAccessor> ntgAccessObject = RigResultAccessorFactory::createFromUiResultName(eclipseCaseData, 0, RiaDefines::MATRIX_MODEL, 0, "NTG");
ntg = ntgAccessObject->cellScalarGlobIdx(cellIndex); ntg = ntgAccessObject->cellScalarGlobIdx(globalCellIndex);
} }
double dx = dxAccessObject->cellScalarGlobIdx(cellIndex); double dx = dxAccessObject->cellScalarGlobIdx(globalCellIndex);
double dy = dyAccessObject->cellScalarGlobIdx(cellIndex); double dy = dyAccessObject->cellScalarGlobIdx(globalCellIndex);
double dz = dzAccessObject->cellScalarGlobIdx(cellIndex); double dz = dzAccessObject->cellScalarGlobIdx(globalCellIndex);
double permx = permxAccessObject->cellScalarGlobIdx(cellIndex); double permx = permxAccessObject->cellScalarGlobIdx(globalCellIndex);
double permy = permyAccessObject->cellScalarGlobIdx(cellIndex); double permy = permyAccessObject->cellScalarGlobIdx(globalCellIndex);
double permz = permzAccessObject->cellScalarGlobIdx(cellIndex); double permz = permzAccessObject->cellScalarGlobIdx(globalCellIndex);
RiaEclipseUnitTools::UnitSystem units = eclipseCaseData->unitsType(); RiaEclipseUnitTools::UnitSystem units = eclipseCaseData->unitsType();
double darcy = RiaEclipseUnitTools::darcysConstant(units); double darcy = RiaEclipseUnitTools::darcysConstant(units);

View File

@ -45,13 +45,13 @@ class RimWellPath;
struct WellSegmentLateralIntersection { struct WellSegmentLateralIntersection {
WellSegmentLateralIntersection(int segmentNumber, WellSegmentLateralIntersection(int segmentNumber,
int attachedSegmentNumber, int attachedSegmentNumber,
size_t cellIndex, size_t globalCellIndex,
double length, double length,
double depth, double depth,
const cvf::Vec3d& lengthsInCell) const cvf::Vec3d& lengthsInCell)
: segmentNumber(segmentNumber), : segmentNumber(segmentNumber),
attachedSegmentNumber(attachedSegmentNumber), attachedSegmentNumber(attachedSegmentNumber),
cellIndex(cellIndex), globalCellIndex(globalCellIndex),
mdFromPreviousIntersection(length), mdFromPreviousIntersection(length),
tvdChangeFromPreviousIntersection(depth), tvdChangeFromPreviousIntersection(depth),
lengthsInCell(lengthsInCell), lengthsInCell(lengthsInCell),
@ -60,7 +60,7 @@ struct WellSegmentLateralIntersection {
int segmentNumber; int segmentNumber;
int attachedSegmentNumber; int attachedSegmentNumber;
size_t cellIndex; size_t globalCellIndex;
bool mainBoreCell; bool mainBoreCell;
double mdFromPreviousIntersection; double mdFromPreviousIntersection;
double tvdChangeFromPreviousIntersection; double tvdChangeFromPreviousIntersection;
@ -106,21 +106,6 @@ struct WellSegmentLocation {
std::vector<WellSegmentLateral> laterals; std::vector<WellSegmentLateral> laterals;
}; };
//==================================================================================================
///
//==================================================================================================
struct EclipseCellIndexRange {
size_t i;
size_t j;
size_t k1;
size_t k2;
};
//==================================================================================================
///
//==================================================================================================
typedef std::tuple<size_t, size_t, size_t> EclipseCellIndex;
//================================================================================================== //==================================================================================================
/// ///
//================================================================================================== //==================================================================================================
@ -146,22 +131,24 @@ public:
//functions also used by RicFishbonesTransmissibilityCalculationFeatureImp //functions also used by RicFishbonesTransmissibilityCalculationFeatureImp
static std::set<size_t> findIntersectedCells(const RigEclipseCaseData* grid, const std::vector<cvf::Vec3d>& coords); static std::set<size_t> findIntersectedCells(const RigEclipseCaseData* grid, const std::vector<cvf::Vec3d>& coords);
static void markWellPathCells(const std::vector<size_t>& wellPathCells, std::vector<WellSegmentLocation>* locations); static void markWellPathCells(const std::vector<size_t>& wellPathCells, std::vector<WellSegmentLocation>* locations);
static CellDirection calculateDirectionInCell(RimEclipseCase* eclipseCase, size_t cellIndex, const cvf::Vec3d& lengthsInCell); static CellDirection calculateDirectionInCell(RimEclipseCase* eclipseCase, size_t globalCellIndex, const cvf::Vec3d& lengthsInCell);
static double calculateTransmissibility(RimEclipseCase* eclipseCase, static double calculateTransmissibility(RimEclipseCase* eclipseCase,
const RimWellPath* wellPath, const RimWellPath* wellPath,
const cvf::Vec3d& internalCellLengths, const cvf::Vec3d& internalCellLengths,
double skinFactor, double skinFactor,
double wellRadius, double wellRadius,
size_t cellIndex, size_t globalCellIndex,
bool useLateralNTG, bool useLateralNTG,
size_t volumeScaleConstant = 1, size_t volumeScaleConstant = 1,
CellDirection directionForVolumeScaling = CellDirection::DIR_I); CellDirection directionForVolumeScaling = CellDirection::DIR_I);
static double calculateTransmissibilityAsEclipseDoes(RimEclipseCase* eclipseCase, static double calculateTransmissibilityAsEclipseDoes(RimEclipseCase* eclipseCase,
double skinFactor, double skinFactor,
double wellRadius, double wellRadius,
size_t cellIndex, size_t globalCellIndex,
CellDirection direction); CellDirection direction);
static void exportCompletions(const std::vector<RimWellPath*>& wellPaths, const std::vector<RimSimWellInView*>& simWells, const RicExportCompletionDataSettingsUi& exportSettings); static void exportCompletions(const std::vector<RimWellPath*>& wellPaths, const std::vector<RimSimWellInView*>& simWells, const RicExportCompletionDataSettingsUi& exportSettings);
private: private: