mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1561 Separating finding wellBoreParts for fishbones and the calculation of transmissibilities. Transmissibilities are adjusted based on number of fishbones in each cell when they are calculated.
This commit is contained in:
@@ -191,10 +191,14 @@ void RicWellPathExportCompletionDataFeature::exportCompletions(const std::vector
|
||||
}
|
||||
if (exportSettings.includeFishbones)
|
||||
{
|
||||
std::vector<RigCompletionData> fishbonesCompletionData = RicFishbonesTransmissibilityCalculationFeatureImp::generateFishboneLateralsCompdatValues(wellPath, exportSettings);
|
||||
// std::vector<RigCompletionData> fishbonesCompletionData = RicFishbonesTransmissibilityCalculationFeatureImp::generateFishboneLateralsCompdatValues(wellPath, exportSettings);
|
||||
// appendCompletionData(&completionData, fishbonesCompletionData);
|
||||
// std::vector<RigCompletionData> fishbonesWellPathCompletionData = RicFishbonesTransmissibilityCalculationFeatureImp::generateFishbonesImportedLateralsCompdatValues(wellPath, exportSettings);
|
||||
// appendCompletionData(&completionData, fishbonesWellPathCompletionData);
|
||||
|
||||
std::vector<RigCompletionData> fishbonesCompletionData = RicFishbonesTransmissibilityCalculationFeatureImp::generateFishboneLateralsCompdatValuesUsingAdjustedCellVolume(wellPath, exportSettings);
|
||||
appendCompletionData(&completionData, fishbonesCompletionData);
|
||||
std::vector<RigCompletionData> fishbonesWellPathCompletionData = RicFishbonesTransmissibilityCalculationFeatureImp::generateFishbonesImportedLateralsCompdatValues(wellPath, exportSettings);
|
||||
appendCompletionData(&completionData, fishbonesWellPathCompletionData);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -571,7 +575,14 @@ CellDirection RicWellPathExportCompletionDataFeature::calculateDirectionInCell(R
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RicWellPathExportCompletionDataFeature::calculateTransmissibility(RimEclipseCase* eclipseCase, const RimWellPath* wellPath, const cvf::Vec3d& internalCellLengths, double skinFactor, double wellRadius, size_t cellIndex)
|
||||
double RicWellPathExportCompletionDataFeature::calculateTransmissibility(RimEclipseCase* eclipseCase,
|
||||
const RimWellPath* wellPath,
|
||||
const cvf::Vec3d& internalCellLengths,
|
||||
double skinFactor,
|
||||
double wellRadius,
|
||||
size_t cellIndex,
|
||||
size_t volumeScaleConstant,
|
||||
QString directionForVolumeScaling)
|
||||
{
|
||||
RigEclipseCaseData* eclipseCaseData = eclipseCase->eclipseCaseData();
|
||||
|
||||
@@ -598,6 +609,13 @@ double RicWellPathExportCompletionDataFeature::calculateTransmissibility(RimEcli
|
||||
|
||||
double darcy = RiaEclipseUnitTools::darcysConstant(wellPath->unitSystem());
|
||||
|
||||
if (volumeScaleConstant != 1)
|
||||
{
|
||||
if (directionForVolumeScaling == "DX") dx = dx / volumeScaleConstant;
|
||||
if (directionForVolumeScaling == "DY") dy = dy / volumeScaleConstant;
|
||||
if (directionForVolumeScaling == "DZ") dz = dz / volumeScaleConstant;
|
||||
}
|
||||
|
||||
double transx = RigTransmissibilityEquations::wellBoreTransmissibilityComponent(internalCellLengths.x(), permy, permz, dy, dz, wellRadius, skinFactor, darcy);
|
||||
double transy = RigTransmissibilityEquations::wellBoreTransmissibilityComponent(internalCellLengths.y(), permx, permz, dx, dz, wellRadius, skinFactor, darcy);
|
||||
double transz = RigTransmissibilityEquations::wellBoreTransmissibilityComponent(internalCellLengths.z(), permy, permx, dy, dx, wellRadius, skinFactor, darcy);
|
||||
|
||||
Reference in New Issue
Block a user