#3653 Fracture Header : Wrong value for fcd

This commit is contained in:
Magne Sjaastad
2018-11-09 10:51:17 +01:00
parent e0cc602fab
commit 41a82ecdf3
3 changed files with 28 additions and 19 deletions

View File

@@ -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);
}
//--------------------------------------------------------------------------------------------------

View File

@@ -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;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -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;