mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3669 Write Pressure Depletion scaling parameters as comment table in fracture export.
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user