#4827 Completion Data : Support Eclipse input text files as data source

This commit is contained in:
Magne Sjaastad
2019-10-04 15:55:31 +02:00
parent 3d3ad421dd
commit 8a11c565f3
6 changed files with 109 additions and 65 deletions

View File

@@ -148,15 +148,22 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
return fractureCompletions;
}
auto cellResultsData = caseToApply->results( RiaDefines::MATRIX_MODEL );
if ( !cellResultsData )
{
return fractureCompletions;
}
{
// Load the data required by computations to be able to use const access only inside OpenMP loop
std::vector<QString> resultNames = RigEclipseToStimPlanCellTransmissibilityCalculator::requiredResultNames();
if ( !caseToApply->loadStaticResultsByName( resultNames ) )
bool loadingSucceeded = RicExportFractureCompletionsImpl::loadResultsByName( cellResultsData, resultNames );
if ( !loadingSucceeded )
{
QString msg;
msg += "Compdat Export : Required data missing. Required results ";
msg += "Compdat Export : One or more of the following required data missing :";
for ( const auto& r : resultNames )
{
@@ -173,15 +180,13 @@ std::vector<RigCompletionData> RicExportFractureCompletionsImpl::generateCompdat
// Load the data required by fracture summary header
std::vector<QString> resultNames{"TRANX", "TRANY", "TRANZ"};
caseToApply->loadStaticResultsByName( resultNames );
RicExportFractureCompletionsImpl::loadResultsByName( cellResultsData, resultNames );
}
{
// Optional results
std::vector<QString> resultNames = RigEclipseToStimPlanCellTransmissibilityCalculator::optionalResultNames();
caseToApply->loadStaticResultsByName( resultNames );
RicExportFractureCompletionsImpl::loadResultsByName( cellResultsData, resultNames );
}
if ( pdParams.performScaling )
@@ -812,3 +817,29 @@ void RicExportFractureCompletionsImpl::outputIntermediateResultsText( QTextStrea
( *outputStreamForIntermediateResultsText ) << "\n";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RicExportFractureCompletionsImpl::loadResultsByName( RigCaseCellResultsData* cellResultsData,
const std::vector<QString>& resultNames )
{
const std::vector<RiaDefines::ResultCatType> resultCategorySearchOrder = {RiaDefines::STATIC_NATIVE,
RiaDefines::INPUT_PROPERTY,
RiaDefines::GENERATED};
bool foundDataForAllResults = true;
if ( cellResultsData )
{
for ( const auto& resultName : resultNames )
{
if ( !cellResultsData->findAndLoadResultByName( resultName, resultCategorySearchOrder ) )
{
foundDataForAllResults = false;
}
}
}
return foundDataForAllResults;
}

View File

@@ -28,6 +28,7 @@ class RicWellPathFractureReportItem;
class RigWellPath;
class RigTransmissibilityCondenser;
class RigEclipseToStimPlanCalculator;
class RigCaseCellResultsData;
class RimEclipseCase;
class RimFracture;
@@ -147,4 +148,6 @@ private:
RigTransmissibilityCondenser& transCondenser,
const RigMainGrid* mainGrid,
const RigFractureGrid* fractureGrid );
static bool loadResultsByName( RigCaseCellResultsData* cellResultsData, const std::vector<QString>& resultNames );
};