#3669 Write Pressure Depletion scaling parameters as comment table in fracture export.

This commit is contained in:
Gaute Lindkvist
2018-11-12 14:38:32 +01:00
parent e5b8dc49c1
commit 12e8c3b9b2
5 changed files with 94 additions and 0 deletions

View File

@@ -373,6 +373,7 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
RicWellPathFractureReportItem reportItem(
wellPathName, fracture->name(), fracTemplate->name(), fracture->fractureMD());
reportItem.setUnitSystem(fracTemplate->fractureTemplateUnit());
reportItem.setPressureDepletionParameters(caf::AppEnum<PressureDepletionTransScaling>::uiTextFromIndex(currentPressureDropScaling), initialWellPressure, currentWellPressure);
RicExportFractureCompletionsImpl::calculateAndSetReportItemData(
allCompletionsForOneFracture, eclToFractureCalc, reportItem);

View File

@@ -32,6 +32,7 @@ RicWellPathFractureReportItem::RicWellPathFractureReportItem(const QString& well
: m_wellPathNameForExport(wellPathName)
, m_wellPathFracture(fractureName)
, m_wellPathFractureTemplate(fractureTemplateName)
, m_pressureDepletionScalingString()
, m_mesuredDepth(measuredDepth)
, m_transmissibility(0.0)
, m_connectionCount(0)
@@ -42,6 +43,8 @@ RicWellPathFractureReportItem::RicWellPathFractureReportItem(const QString& well
, m_xf(0.0)
, m_h(0.0)
, m_km(0.0)
, m_pressureDepletionInitialWBHP(-1.0)
, m_pressureDepletionCurrentWBHP(-1.0)
{
}
@@ -109,6 +112,14 @@ QString RicWellPathFractureReportItem::fractureTemplateName() const
return m_wellPathFractureTemplate;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RicWellPathFractureReportItem::pressureDepletionScaling() const
{
return m_pressureDepletionScalingString;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -117,6 +128,16 @@ void RicWellPathFractureReportItem::setUnitSystem(RiaEclipseUnitTools::UnitSyste
m_unitSystem = unitSystem;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicWellPathFractureReportItem::setPressureDepletionParameters(QString scalingString, double initialWBHP, double currentWBHP)
{
m_pressureDepletionScalingString = scalingString;
m_pressureDepletionInitialWBHP = initialWBHP;
m_pressureDepletionCurrentWBHP = currentWBHP;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -221,6 +242,22 @@ double RicWellPathFractureReportItem::kmxf() const
return m_km * m_xf;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
double RicWellPathFractureReportItem::pressureDepletionInitialWBHP() const
{
return m_pressureDepletionInitialWBHP;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
double RicWellPathFractureReportItem::pressureDepletionCurrentWBHP() const
{
return m_pressureDepletionCurrentWBHP;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -35,10 +35,12 @@ public:
void setHeightAndHalfLength(double height, double halfLength);
void setAreaWeightedTransmissibility(double transmissibility);
void setUnitSystem(RiaEclipseUnitTools::UnitSystem unitSystem);
void setPressureDepletionParameters(QString scalingString, double initialWBHP, double currentWBHP);
QString wellPathNameForExport() const;
QString fractureName() const;
QString fractureTemplateName() const;
QString pressureDepletionScaling() const;
RiaEclipseUnitTools::UnitSystem unitSystem() const;
@@ -56,6 +58,9 @@ public:
double km() const;
double kmxf() const;
double pressureDepletionInitialWBHP() const;
double pressureDepletionCurrentWBHP() const;
bool operator < (const RicWellPathFractureReportItem& other) const;
private:
@@ -63,6 +68,7 @@ private:
QString m_wellPathNameForExport;
QString m_wellPathFracture;
QString m_wellPathFractureTemplate;
QString m_pressureDepletionScalingString;
double m_mesuredDepth;
double m_transmissibility;
@@ -75,4 +81,7 @@ private:
double m_xf;
double m_h;
double m_km;
double m_pressureDepletionInitialWBHP;
double m_pressureDepletionCurrentWBHP;
};

View File

@@ -165,6 +165,12 @@ QString RicWellPathFractureTextReportFeatureImpl::wellPathFractureReport(
textStream << lineStart << "\n";
}
{
QString tableText = createFracturePressureDepletionSummaryText(wellPathFractureReportItems);
textStream << tableText;
textStream << lineStart << "\n";
}
{
textStream << lineStart << " Maximum number of connections per well\n";
textStream << lineStart << "\n";
@@ -689,6 +695,44 @@ QString RicWellPathFractureTextReportFeatureImpl::createFractureCompletionSummar
return tableText;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RicWellPathFractureTextReportFeatureImpl::createFracturePressureDepletionSummaryText(const std::vector<RicWellPathFractureReportItem>& wellPathFractureReportItems) const
{
QString tableText;
QTextStream stream(&tableText);
RifEclipseDataTableFormatter formatter(stream);
configureFormatter(&formatter);
std::vector<RifEclipseOutputTableColumn> header = {
RifEclipseOutputTableColumn("Well"),
RifEclipseOutputTableColumn("Fracture"),
RifEclipseOutputTableColumn("PDD Scaling"),
RifEclipseOutputTableColumn("Initial WBHP"),
RifEclipseOutputTableColumn("Current WBHP")
};
formatter.header(header);
formatter.addHorizontalLine('-');
for (const auto& reportItem : wellPathFractureReportItems)
{
formatter.add(reportItem.wellPathNameForExport());
formatter.add(reportItem.fractureName());
formatter.add(reportItem.pressureDepletionScaling());
formatter.add(reportItem.pressureDepletionInitialWBHP());
formatter.add(reportItem.pressureDepletionCurrentWBHP());
formatter.rowCompleted();
}
formatter.tableCompleted();
return tableText;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -51,6 +51,9 @@ private:
QString
createFractureCompletionSummaryText(const std::vector<RicWellPathFractureReportItem>& wellPathFractureReportItems) const;
QString
createFracturePressureDepletionSummaryText(const std::vector<RicWellPathFractureReportItem>& wellPathFractureReportItems) const;
QString createConnectionsPerWellText(const std::vector<RicWellPathFractureReportItem>& wellPathFractureReportItems) const;
void configureFormatter(RifEclipseDataTableFormatter* formatter) const;