mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-11 16:06:04 -06:00
#2765 Completions : Use max available diameter when combining multiple completions in same cell
This commit is contained in:
parent
e5570441f6
commit
d5bdd1f7a1
@ -407,7 +407,6 @@ RigCompletionData
|
||||
|
||||
RigCompletionData resultCompletion(wellName, cellIndexIJK, firstCompletion.firstOrderingValue());
|
||||
resultCompletion.setSecondOrderingValue(firstCompletion.secondOrderingValue());
|
||||
resultCompletion.setDiameter(firstCompletion.diameter());
|
||||
|
||||
bool anyNonDarcyFlowPresent = false;
|
||||
for (const auto& c : completions)
|
||||
@ -438,7 +437,10 @@ RigCompletionData
|
||||
|
||||
for (const RigCompletionData& completion : completions)
|
||||
{
|
||||
if (completion.isMainBore())
|
||||
// Use data from the completion with largest diameter
|
||||
// This is more robust than checking for main bore flag
|
||||
// See also https://github.com/OPM/ResInsight/issues/2765
|
||||
if (completion.diameter() > wellBoreDiameter)
|
||||
{
|
||||
skinfactor = completion.skinFactor();
|
||||
wellBoreDiameter = completion.diameter();
|
||||
@ -487,7 +489,7 @@ RigCompletionData
|
||||
|
||||
if (settings.compdatExport == RicExportCompletionDataSettingsUi::TRANSMISSIBILITIES)
|
||||
{
|
||||
resultCompletion.setCombinedValuesExplicitTrans(totalTrans, completionType);
|
||||
resultCompletion.setCombinedValuesExplicitTrans(totalTrans, skinfactor, wellBoreDiameter, cellDirection, completionType);
|
||||
}
|
||||
else if (settings.compdatExport == RicExportCompletionDataSettingsUi::WPIMULT_AND_DEFAULT_CONNECTION_FACTORS)
|
||||
{
|
||||
@ -498,7 +500,7 @@ RigCompletionData
|
||||
|
||||
double wpimult = totalTrans / transmissibilityEclipseCalculation;
|
||||
resultCompletion.setCombinedValuesImplicitTransWPImult(
|
||||
wpimult, cellDirection, skinfactor, wellBoreDiameter, completionType);
|
||||
wpimult, skinfactor, wellBoreDiameter, cellDirection, completionType);
|
||||
}
|
||||
|
||||
return resultCompletion;
|
||||
|
@ -122,7 +122,7 @@ void RigCompletionData::setSecondOrderingValue(double orderingValue)
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigCompletionData::setDiameter(double diameter)
|
||||
{
|
||||
@ -130,7 +130,7 @@ void RigCompletionData::setDiameter(double diameter)
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigCompletionData::setTransmissibility(double transmissibility)
|
||||
{
|
||||
@ -173,26 +173,33 @@ void RigCompletionData::setTransAndWPImultBackgroundDataFromPerforation(double
|
||||
//==================================================================================================
|
||||
///
|
||||
//==================================================================================================
|
||||
void RigCompletionData::setCombinedValuesExplicitTrans(double transmissibility, CompletionType completionType)
|
||||
void RigCompletionData::setCombinedValuesExplicitTrans(double transmissibility,
|
||||
double skinFactor,
|
||||
double diameter,
|
||||
CellDirection celldirection,
|
||||
CompletionType completionType)
|
||||
{
|
||||
m_completionType = completionType;
|
||||
m_transmissibility = transmissibility;
|
||||
m_skinFactor = skinFactor;
|
||||
m_diameter = diameter;
|
||||
m_direction = celldirection;
|
||||
m_completionType = completionType;
|
||||
}
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
//==================================================================================================
|
||||
void RigCompletionData::setCombinedValuesImplicitTransWPImult(double wpimult,
|
||||
CellDirection celldirection,
|
||||
double skinFactor,
|
||||
double wellDiameter,
|
||||
double diameter,
|
||||
CellDirection celldirection,
|
||||
CompletionType completionType)
|
||||
{
|
||||
m_wpimult = wpimult;
|
||||
m_direction = celldirection;
|
||||
m_completionType = completionType;
|
||||
m_skinFactor = skinFactor;
|
||||
m_diameter = wellDiameter;
|
||||
m_diameter = diameter;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -92,12 +92,16 @@ public:
|
||||
double diameter,
|
||||
CellDirection direction);
|
||||
|
||||
void setCombinedValuesExplicitTrans(double transmissibility, CompletionType completionType);
|
||||
|
||||
void setCombinedValuesExplicitTrans(double transmissibility,
|
||||
double skinFactor,
|
||||
double diameter,
|
||||
CellDirection celldirection,
|
||||
CompletionType completionType);
|
||||
|
||||
void setCombinedValuesImplicitTransWPImult(double wpimult,
|
||||
CellDirection celldirection,
|
||||
double skinFactor,
|
||||
double wellDiameter,
|
||||
double diameter,
|
||||
CellDirection celldirection,
|
||||
CompletionType completionType);
|
||||
|
||||
bool isNonDarcyFlow() const;
|
||||
|
Loading…
Reference in New Issue
Block a user