mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3653 Fracture Header : Wrong value for fcd
This commit is contained in:
@@ -325,7 +325,6 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
|
||||
// Insert total transmissibility from eclipse-cell to well for this fracture into the map
|
||||
std::map<size_t, double> matrixToWellTrans = calculateMatrixToWellTransmissibilities(transCondenser);
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// clang-format off
|
||||
// WARNING!!! //
|
||||
@@ -371,7 +370,8 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
|
||||
|
||||
if (fractureDataReportItems)
|
||||
{
|
||||
RicWellPathFractureReportItem reportItem(wellPathName, fracture->name(), fracTemplate->name(), fracture->fractureMD());
|
||||
RicWellPathFractureReportItem reportItem(
|
||||
wellPathName, fracture->name(), fracTemplate->name(), fracture->fractureMD());
|
||||
reportItem.setUnitSystem(fracTemplate->fractureTemplateUnit());
|
||||
|
||||
RicExportFractureCompletionsImpl::calculateAndSetReportItemData(
|
||||
@@ -735,20 +735,10 @@ void RicExportFractureCompletionsImpl::calculateAndSetReportItemData(
|
||||
double totalAreaOpenForFlow = eclToFractureCalc.totalEclipseAreaOpenForFlow();
|
||||
double areaWeightedConductivity = eclToFractureCalc.areaWeightedConductivity();
|
||||
|
||||
double fcd = 0.0;
|
||||
if (areaWeightedMatrixTransmissibility > 0.0)
|
||||
{
|
||||
fcd = areaWeightedConductivity / areaWeightedMatrixTransmissibility;
|
||||
}
|
||||
|
||||
reportItem.setData(aggregatedTransmissibility, allCompletionsForOneFracture.size(), fcd, totalAreaOpenForFlow);
|
||||
|
||||
reportItem.setWidthAndConductivity(eclToFractureCalc.areaWeightedWidth(), areaWeightedConductivity);
|
||||
|
||||
if (totalAreaOpenForFlow > 0.0)
|
||||
{
|
||||
double height = eclToFractureCalc.longestYSectionOpenForFlow();
|
||||
double halfLength = 0.0;
|
||||
double height = eclToFractureCalc.longestYSectionOpenForFlow();
|
||||
if (height > 0.0)
|
||||
{
|
||||
double length = totalAreaOpenForFlow / height;
|
||||
@@ -757,6 +747,10 @@ void RicExportFractureCompletionsImpl::calculateAndSetReportItemData(
|
||||
|
||||
reportItem.setHeightAndHalfLength(height, halfLength);
|
||||
}
|
||||
|
||||
reportItem.setData(aggregatedTransmissibility, allCompletionsForOneFracture.size(), totalAreaOpenForFlow);
|
||||
|
||||
reportItem.setWidthAndConductivity(eclToFractureCalc.areaWeightedWidth(), areaWeightedConductivity);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -33,7 +33,6 @@ RicWellPathFractureReportItem::RicWellPathFractureReportItem(const QString& well
|
||||
, m_mesuredDepth(measuredDepth)
|
||||
, m_transmissibility(0.0)
|
||||
, m_connectionCount(0)
|
||||
, m_fcd(0.0)
|
||||
, m_area(0.0)
|
||||
, m_kfwf(0.0)
|
||||
, m_kf(0.0)
|
||||
@@ -47,11 +46,10 @@ RicWellPathFractureReportItem::RicWellPathFractureReportItem(const QString& well
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicWellPathFractureReportItem::setData(double trans, size_t connCount, double fcd, double area)
|
||||
void RicWellPathFractureReportItem::setData(double trans, size_t connCount, double area)
|
||||
{
|
||||
m_transmissibility = trans;
|
||||
m_connectionCount = connCount;
|
||||
m_fcd = fcd;
|
||||
m_area = area;
|
||||
}
|
||||
|
||||
@@ -146,7 +144,15 @@ size_t RicWellPathFractureReportItem::connectionCount() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RicWellPathFractureReportItem::fcd() const
|
||||
{
|
||||
return m_fcd;
|
||||
double myFcd = 0.0;
|
||||
|
||||
double threshold = 1.0e-7;
|
||||
if (std::fabs(kmxf()) > threshold)
|
||||
{
|
||||
myFcd = kfwf() / kmxf();
|
||||
}
|
||||
|
||||
return myFcd;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -205,6 +211,14 @@ double RicWellPathFractureReportItem::km() const
|
||||
return m_km;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RicWellPathFractureReportItem::kmxf() const
|
||||
{
|
||||
return m_km * m_xf;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -30,7 +30,7 @@ class RicWellPathFractureReportItem
|
||||
public:
|
||||
RicWellPathFractureReportItem(const QString& wellPathName, const QString& fractureName, const QString& fractureTemplateName, double measuredDepth);
|
||||
|
||||
void setData(double trans, size_t connCount, double fcd, double area);
|
||||
void setData(double trans, size_t connCount, double area);
|
||||
void setWidthAndConductivity(double width, double conductivity);
|
||||
void setHeightAndHalfLength(double height, double halfLength);
|
||||
void setAreaWeightedTransmissibility(double transmissibility);
|
||||
@@ -50,9 +50,11 @@ public:
|
||||
double kfwf() const;
|
||||
double kf() const;
|
||||
double wf() const;
|
||||
|
||||
double xf() const;
|
||||
double h() const;
|
||||
double km() const;
|
||||
double kmxf() const;
|
||||
|
||||
bool operator < (const RicWellPathFractureReportItem& other) const;
|
||||
|
||||
@@ -65,7 +67,6 @@ private:
|
||||
|
||||
double m_transmissibility;
|
||||
size_t m_connectionCount;
|
||||
double m_fcd;
|
||||
double m_area;
|
||||
|
||||
double m_kfwf;
|
||||
|
||||
Reference in New Issue
Block a user