#1487 - pre-proto - starting to use trans condenser in export function. Adding transmissibilities to condenser and getting output trans from eclipse cells to well. Not yet summarizing values from multiple fractures or printing COMPDAT values.

This commit is contained in:
astridkbjorke
2017-05-22 12:46:57 +02:00
parent d12e7747bc
commit cf2cc5b2b5
9 changed files with 223 additions and 32 deletions

View File

@@ -434,7 +434,7 @@ void RigEclipseCaseData::computeActiveCellBoundingBoxes()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
double RigEclipseCaseData::darchysValue()
double RigEclipseCaseData::darchysValue() const
{
// See "Cartesian transmissibility calculations" in the "Eclipse Technical Description"
// CDARCY Darcys constant

View File

@@ -94,7 +94,7 @@ public:
UnitsType unitsType() const { return m_unitsType; }
void setUnitsType(UnitsType unitsType) { m_unitsType = unitsType; }
double darchysValue();
double darchysValue() const;
private:
void computeActiveCellIJKBBox();

View File

@@ -25,12 +25,34 @@
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
double RigFractureTransmissibilityEquations::computeStimPlanCellTransmissibilityInFracture(double conductivity, double sideLengthParallellTrans, double sideLengthNormalTrans)
double RigFractureTransmissibilityEquations::computeStimPlanCellTransmissibilityInFracture(double conductivity,
double sideLengthParallellTrans,
double sideLengthNormalTrans,
double cDarcyForRelevantUnit)
{
double transmissibility = conductivity * sideLengthNormalTrans / (sideLengthParallellTrans / 2);
double transmissibility = cDarcyForRelevantUnit * conductivity * sideLengthNormalTrans / (sideLengthParallellTrans / 2);
return transmissibility;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
double RigFractureTransmissibilityEquations::computeStimPlanCellTransmissibilityInFractureCenterToCenterForTwoCells(double conductivityCell1,
double sideLengthParallellTransCell1,
double sideLengthNormalTransCell1,
double conductivityCell2,
double sideLengthParallellTransCell2,
double sideLengthNormalTransCell2,
double cDarcyForRelevantUnit)
{
double transCell1 = computeStimPlanCellTransmissibilityInFracture(conductivityCell1, sideLengthParallellTransCell1, sideLengthNormalTransCell1, cDarcyForRelevantUnit);
double transCell2 = computeStimPlanCellTransmissibilityInFracture(conductivityCell2, sideLengthParallellTransCell2, sideLengthNormalTransCell2, cDarcyForRelevantUnit);
double totalTrans = 1 / ( (1 / transCell1) + (1 / transCell2));
return totalTrans;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -24,7 +24,16 @@ class RigFractureTransmissibilityEquations
public:
static double computeStimPlanCellTransmissibilityInFracture(double conductivity,
double sideLengthParallellTrans,
double sideLengthNormalTrans);
double sideLengthNormalTrans,
double cDarcyForRelevantUnit);
static double computeStimPlanCellTransmissibilityInFractureCenterToCenterForTwoCells(double conductivityCell1,
double sideLengthParallellTransCell1,
double sideLengthNormalTransCell1,
double conductivityCell2,
double sideLengthParallellTransCell2,
double sideLengthNormalTransCell2,
double cDarcyForRelevantUnit);
static double computeRadialTransmissibilityToWellinStimPlanCell(double stimPlanCellConductivity,
double stimPlanCellSizeX,

View File

@@ -40,8 +40,8 @@ public:
std::vector<cvf::Vec3d> getPolygon() const { return m_polygon; }
double getConductivtyValue() const { return m_concutivityValue; }
double getDisplayValue() { return m_displayValue; }
size_t getI() { return m_i; }
size_t getJ() { return m_j; }
size_t getI() const { return m_i; }
size_t getJ() const { return m_j; }
double getVerticalTransmissibilityInFracture() { return m_transmissibilityInFractureVertical; }
double getHorizontalTransmissibilityInFracture() { return m_transmissibilityInFractureHorizontal; }

View File

@@ -295,6 +295,7 @@ std::vector<RigFracturedEclipseCellExportData> RigStimPlanUpscalingCalc::comput
for (size_t fracCell : fracCells)
{
//TODO: Lage ny classe for <20> holde upscaledData
RigFracturedEclipseCellExportData fracData;
fracData.reservoirCellIndex = fracCell;