#3433 Non-Darcy Fracture: Regression tests : Add compare between two well path fractures

This commit is contained in:
Magne Sjaastad
2018-10-11 09:26:51 +02:00
parent 6ff94e1be7
commit b5ab2968dd
3 changed files with 42 additions and 25 deletions

View File

@@ -108,7 +108,6 @@ QString RicWellPathFractureTextReportFeatureImpl::wellPathFractureReport(
} }
} }
if (!RiaRegressionTestRunner::instance()->isRunningRegressionTests()) if (!RiaRegressionTestRunner::instance()->isRunningRegressionTests())
{ {
if (sourceCase) if (sourceCase)
@@ -124,7 +123,6 @@ QString RicWellPathFractureTextReportFeatureImpl::wellPathFractureReport(
textStream << lineStart << "\n"; textStream << lineStart << "\n";
} }
{ {
QString tableText = createStimPlanFileLocationText(stimPlanTemplates); QString tableText = createStimPlanFileLocationText(stimPlanTemplates);
textStream << tableText; textStream << tableText;
@@ -154,18 +152,13 @@ QString RicWellPathFractureTextReportFeatureImpl::wellPathFractureReport(
std::vector<RimWellPathFracture*> wellPathFractures; std::vector<RimWellPathFracture*> wellPathFractures;
for (const auto& w : wellPaths) for (const auto& w : wellPaths)
{ {
std::set<std::pair<double, RimWellPathFracture*>> sortedFracturesByMd;
for (const auto& frac : w->fractureCollection()->activeFractures()) for (const auto& frac : w->fractureCollection()->activeFractures())
{ {
sortedFracturesByMd.insert(std::make_pair(frac->fractureMD(), frac)); wellPathFractures.push_back(frac);
}
} }
for (const auto& mdAndFracture : sortedFracturesByMd) std::sort(wellPathFractures.begin(), wellPathFractures.end(), RimWellPathFracture::compareByWellPathNameAndMD);
{
wellPathFractures.push_back(mdAndFracture.second);
}
}
{ {
QString tableText = createFractureInstancesText(wellPathFractures); QString tableText = createFractureInstancesText(wellPathFractures);
@@ -674,7 +667,8 @@ QString RicWellPathFractureTextReportFeatureImpl::createFractureCompletionSummar
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
QString RicWellPathFractureTextReportFeatureImpl::createConnectionsPerWellText(const std::vector<RicWellPathFractureReportItem>& wellPathFractureReportItems) const QString RicWellPathFractureTextReportFeatureImpl::createConnectionsPerWellText(
const std::vector<RicWellPathFractureReportItem>& wellPathFractureReportItems) const
{ {
QString tableText; QString tableText;
@@ -682,10 +676,7 @@ QString RicWellPathFractureTextReportFeatureImpl::createConnectionsPerWellText(c
RifEclipseDataTableFormatter formatter(stream); RifEclipseDataTableFormatter formatter(stream);
configureFormatter(&formatter); configureFormatter(&formatter);
std::vector<RifEclipseOutputTableColumn> header = { std::vector<RifEclipseOutputTableColumn> header = {RifEclipseOutputTableColumn("Well"), floatNumberColumn("ConnCount")};
RifEclipseOutputTableColumn("Well"),
floatNumberColumn("ConnCount")
};
formatter.header(header); formatter.header(header);
formatter.addHorizontalLine('-'); formatter.addHorizontalLine('-');

View File

@@ -162,6 +162,30 @@ std::vector<cvf::Vec3d> RimWellPathFracture::perforationLengthCenterLineCoords()
return wellPathCoords; return wellPathCoords;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimWellPathFracture::compareByWellPathNameAndMD(const RimWellPathFracture* lhs, const RimWellPathFracture* rhs)
{
CVF_TIGHT_ASSERT(lhs && rhs);
RimWellPath* lhsWellPath = nullptr;
lhs->firstAncestorOrThisOfType(lhsWellPath);
RimWellPath* rhsWellPath = nullptr;
rhs->firstAncestorOrThisOfType(rhsWellPath);
if (lhsWellPath && rhsWellPath)
{
if (lhsWellPath->name() != rhsWellPath->name())
{
return lhsWellPath->name() < rhsWellPath->name();
}
}
return lhs->fractureMD() < rhs->fractureMD();
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@@ -49,6 +49,8 @@ public:
virtual std::vector<cvf::Vec3d> perforationLengthCenterLineCoords() const override; virtual std::vector<cvf::Vec3d> perforationLengthCenterLineCoords() const override;
static bool compareByWellPathNameAndMD(const RimWellPathFracture* lhs, const RimWellPathFracture* rhs);
protected: protected:
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute) override; virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute) override;