From 26ae9911b7de4dfa922b569039b95f6dee092d19 Mon Sep 17 00:00:00 2001 From: astridkbjorke Date: Wed, 19 Apr 2017 14:50:55 +0200 Subject: [PATCH] #1417 - pre-proto - Calculate transmissibility for linear flow from fracture to well (for longitudinal fractures), for a given stimPlanCell and given perforation lengths in this cell. --- .../RigFractureTransCalc.cpp | 20 +++++++++++++++++++ .../ReservoirDataModel/RigFractureTransCalc.h | 1 + 2 files changed, 21 insertions(+) diff --git a/ApplicationCode/ReservoirDataModel/RigFractureTransCalc.cpp b/ApplicationCode/ReservoirDataModel/RigFractureTransCalc.cpp index 0a00f2d59d..a3871cf51f 100644 --- a/ApplicationCode/ReservoirDataModel/RigFractureTransCalc.cpp +++ b/ApplicationCode/ReservoirDataModel/RigFractureTransCalc.cpp @@ -764,6 +764,26 @@ double RigFractureTransCalc::computeRadialTransmissibilityToWell(RigStimPlanCell return Tc; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +double RigFractureTransCalc::computeLinearTransmissibilityToWell(RigStimPlanCell* stimPlanCell, double perforationLengthVertical, double perforationLengthHorizontal) +{ + double TcPrefix = 8 * cDarcy() * stimPlanCell->getConductivtyValue(); + + double DzPerf = perforationLengthVertical * m_fracture->perforationEfficiency(); + double DxPerf = perforationLengthHorizontal * m_fracture->perforationEfficiency(); + + double TcZ = TcPrefix * DzPerf / + (stimPlanCell->cellSizeX() + m_fracture->attachedFractureDefinition()->skinFactor() * DzPerf / cvf::PI_D); + + double TcX = TcPrefix * DxPerf / + (stimPlanCell->cellSizeZ() + m_fracture->attachedFractureDefinition()->skinFactor() * DxPerf / cvf::PI_D); + + double Tc = cvf::Math::sqrt(pow(TcX, 2) + pow(TcZ, 2)); + return Tc; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ReservoirDataModel/RigFractureTransCalc.h b/ApplicationCode/ReservoirDataModel/RigFractureTransCalc.h index 41bf881a35..6f4b93a315 100644 --- a/ApplicationCode/ReservoirDataModel/RigFractureTransCalc.h +++ b/ApplicationCode/ReservoirDataModel/RigFractureTransCalc.h @@ -62,6 +62,7 @@ public: static void computeStimPlanCellTransmissibilityInFracture(RigStimPlanCell* stimPlanCell); double computeRadialTransmissibilityToWell(RigStimPlanCell* stimPlanCell); + double computeLinearTransmissibilityToWell(RigStimPlanCell* stimPlanCell, double perforationLengthVertical, double perforationLengthHorizontal);