#5771 Export Completion: Report kh for Perforation Interval

This commit is contained in:
Magne Sjaastad 2020-10-01 13:32:21 +02:00
parent 8f1a77645f
commit 2f03caa613
4 changed files with 8 additions and 3 deletions

View File

@ -140,6 +140,7 @@ std::vector<RigCompletionData>
completion.setSecondOrderingValue( wellBorePart.lateralIndex ); completion.setSecondOrderingValue( wellBorePart.lateralIndex );
double transmissibility = 0.0; double transmissibility = 0.0;
double kh = RigCompletionData::defaultValue();
if ( wellBorePart.isMainBore ) if ( wellBorePart.isMainBore )
{ {
// No change in transmissibility for main bore // No change in transmissibility for main bore
@ -153,6 +154,7 @@ std::vector<RigCompletionData>
settings.useLateralNTG ); settings.useLateralNTG );
transmissibility = transmissibilityAndPermeability.connectionFactor(); transmissibility = transmissibilityAndPermeability.connectionFactor();
kh = transmissibilityAndPermeability.kh();
} }
else else
{ {
@ -169,6 +171,7 @@ std::vector<RigCompletionData>
mainBoreDirection ); mainBoreDirection );
transmissibility = transmissibilityAndPermeability.connectionFactor(); transmissibility = transmissibilityAndPermeability.connectionFactor();
kh = transmissibilityAndPermeability.kh();
} }
CellDirection direction = CellDirection direction =
@ -179,6 +182,7 @@ std::vector<RigCompletionData>
completion.setTransAndWPImultBackgroundDataFromFishbone( transmissibility, completion.setTransAndWPImultBackgroundDataFromFishbone( transmissibility,
wellBorePart.skinFactor, wellBorePart.skinFactor,
wellBorePart.wellRadius * 2, wellBorePart.wellRadius * 2,
kh,
direction, direction,
wellBorePart.isMainBore ); wellBorePart.isMainBore );

View File

@ -1211,16 +1211,14 @@ std::vector<RigCompletionData> RicWellPathExportCompletionDataFeatureImpl::gener
settings.useLateralNTG ); settings.useLateralNTG );
transmissibility = transmissibilityData.connectionFactor(); transmissibility = transmissibilityData.connectionFactor();
kh = transmissibilityData.kh();
if ( nonDarcyParameters->nonDarcyFlowType() == RimNonDarcyPerforationParameters::NON_DARCY_USER_DEFINED ) if ( nonDarcyParameters->nonDarcyFlowType() == RimNonDarcyPerforationParameters::NON_DARCY_USER_DEFINED )
{ {
kh = transmissibilityData.kh();
dFactor = nonDarcyParameters->userDefinedDFactor(); dFactor = nonDarcyParameters->userDefinedDFactor();
} }
else if ( nonDarcyParameters->nonDarcyFlowType() == RimNonDarcyPerforationParameters::NON_DARCY_COMPUTED ) else if ( nonDarcyParameters->nonDarcyFlowType() == RimNonDarcyPerforationParameters::NON_DARCY_COMPUTED )
{ {
kh = transmissibilityData.kh();
const double effectiveH = transmissibilityData.effectiveH(); const double effectiveH = transmissibilityData.effectiveH();
const double effectivePermeability = const double effectivePermeability =

View File

@ -169,6 +169,7 @@ void RigCompletionData::setTransmissibility( double transmissibility )
void RigCompletionData::setTransAndWPImultBackgroundDataFromFishbone( double transmissibility, void RigCompletionData::setTransAndWPImultBackgroundDataFromFishbone( double transmissibility,
double skinFactor, double skinFactor,
double diameter, double diameter,
double kh,
CellDirection direction, CellDirection direction,
bool isMainBore ) bool isMainBore )
{ {
@ -176,6 +177,7 @@ void RigCompletionData::setTransAndWPImultBackgroundDataFromFishbone( double
m_transmissibility = transmissibility; m_transmissibility = transmissibility;
m_skinFactor = skinFactor; m_skinFactor = skinFactor;
m_diameter = diameter; m_diameter = diameter;
m_kh = kh;
m_direction = direction; m_direction = direction;
m_isMainBore = isMainBore; m_isMainBore = isMainBore;
} }

View File

@ -101,6 +101,7 @@ public:
void setTransAndWPImultBackgroundDataFromFishbone( double transmissibility, void setTransAndWPImultBackgroundDataFromFishbone( double transmissibility,
double skinFactor, double skinFactor,
double diameter, double diameter,
double kh,
CellDirection direction, CellDirection direction,
bool isMainBore ); bool isMainBore );