#7555 Rename RimFractureGroupStatistics to RimEnsembleFractureStatistics

This commit is contained in:
Kristian Bendiksen
2021-04-09 13:08:35 +02:00
parent cc5e1ca20a
commit c3a0b460a5
14 changed files with 155 additions and 154 deletions

View File

@@ -13,7 +13,7 @@ ${CMAKE_CURRENT_LIST_DIR}/RicDeleteValveTemplateFeature.h
${CMAKE_CURRENT_LIST_DIR}/RicWellPathImportCompletionsFileFeature.h
${CMAKE_CURRENT_LIST_DIR}/RicWellPathImportPerforationIntervalsFeature.h
${CMAKE_CURRENT_LIST_DIR}/RicNewStimPlanModelPlotFeature.h
${CMAKE_CURRENT_LIST_DIR}/RicImportFractureGroupStatisticsFeature.h
${CMAKE_CURRENT_LIST_DIR}/RicImportEnsembleFractureStatisticsFeature.h
)
set (SOURCE_GROUP_SOURCE_FILES
@@ -30,7 +30,7 @@ ${CMAKE_CURRENT_LIST_DIR}/RicDeleteValveTemplateFeature.cpp
${CMAKE_CURRENT_LIST_DIR}/RicWellPathImportCompletionsFileFeature.cpp
${CMAKE_CURRENT_LIST_DIR}/RicWellPathImportPerforationIntervalsFeature.cpp
${CMAKE_CURRENT_LIST_DIR}/RicNewStimPlanModelPlotFeature.cpp
${CMAKE_CURRENT_LIST_DIR}/RicImportFractureGroupStatisticsFeature.cpp
${CMAKE_CURRENT_LIST_DIR}/RicImportEnsembleFractureStatisticsFeature.cpp
)

View File

@@ -16,33 +16,33 @@
//
/////////////////////////////////////////////////////////////////////////////////
#include "RicImportFractureGroupStatisticsFeature.h"
#include "RicImportEnsembleFractureStatisticsFeature.h"
#include "RiaGuiApplication.h"
#include "RicRecursiveFileSearchDialog.h"
#include "RimCompletionTemplateCollection.h"
#include "RimFractureGroupStatistics.h"
#include "RimFractureGroupStatisticsCollection.h"
#include "RimEnsembleFractureStatistics.h"
#include "RimEnsembleFractureStatisticsCollection.h"
#include "RimOilField.h"
#include "RimProject.h"
#include <QAction>
#include <QFileInfo>
CAF_CMD_SOURCE_INIT( RicImportFractureGroupStatisticsFeature, "RicImportFractureGroupStatisticsFeature" );
CAF_CMD_SOURCE_INIT( RicImportEnsembleFractureStatisticsFeature, "RicImportEnsembleFractureStatisticsFeature" );
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RicImportFractureGroupStatisticsFeature::m_pathFilter = "*";
QString RicImportFractureGroupStatisticsFeature::m_fileNameFilter = "*";
QString RicImportEnsembleFractureStatisticsFeature::m_pathFilter = "*";
QString RicImportEnsembleFractureStatisticsFeature::m_fileNameFilter = "*";
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RicImportFractureGroupStatisticsFeature::isCommandEnabled()
bool RicImportEnsembleFractureStatisticsFeature::isCommandEnabled()
{
return true;
}
@@ -50,11 +50,11 @@ bool RicImportFractureGroupStatisticsFeature::isCommandEnabled()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicImportFractureGroupStatisticsFeature::onActionTriggered( bool isChecked )
void RicImportEnsembleFractureStatisticsFeature::onActionTriggered( bool isChecked )
{
RiaGuiApplication* app = RiaGuiApplication::instance();
QString pathCacheName = "INPUT_FILES";
QStringList fileNames = runRecursiveFileSearchDialog( "Import Summary Cases", pathCacheName );
QStringList fileNames = runRecursiveFileSearchDialog( "Import StimPlan Fractures", pathCacheName );
RimProject* project = RimProject::current();
CVF_ASSERT( project );
@@ -65,12 +65,12 @@ void RicImportFractureGroupStatisticsFeature::onActionTriggered( bool isChecked
RimCompletionTemplateCollection* completionTemplateCollection = oilfield->completionTemplateCollection();
if ( !completionTemplateCollection ) return;
RimFractureGroupStatisticsCollection* fractureGroupStatisticsCollection =
RimEnsembleFractureStatisticsCollection* fractureGroupStatisticsCollection =
completionTemplateCollection->fractureGroupStatisticsCollection();
if ( !fractureGroupStatisticsCollection ) return;
auto fractureGroupStatistics = new RimFractureGroupStatistics;
fractureGroupStatistics->setName( "Imported Fracture Group Statistics" );
auto fractureGroupStatistics = new RimEnsembleFractureStatistics;
fractureGroupStatistics->setName( "Ensemble Fracture Statistics" );
for ( auto f : fileNames )
{
@@ -85,7 +85,7 @@ void RicImportFractureGroupStatisticsFeature::onActionTriggered( bool isChecked
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicImportFractureGroupStatisticsFeature::setupActionLook( QAction* actionToSetup )
void RicImportEnsembleFractureStatisticsFeature::setupActionLook( QAction* actionToSetup )
{
actionToSetup->setText( "Import StimPlan Fractures Recursively" );
}
@@ -93,8 +93,8 @@ void RicImportFractureGroupStatisticsFeature::setupActionLook( QAction* actionTo
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QStringList RicImportFractureGroupStatisticsFeature::runRecursiveFileSearchDialog( const QString& dialogTitle,
const QString& pathCacheName )
QStringList RicImportEnsembleFractureStatisticsFeature::runRecursiveFileSearchDialog( const QString& dialogTitle,
const QString& pathCacheName )
{
RiaApplication* app = RiaApplication::instance();
QString defaultDir = app->lastUsedDialogDirectory( pathCacheName );

View File

@@ -25,12 +25,12 @@
//==================================================================================================
///
//==================================================================================================
class RicImportFractureGroupStatisticsFeature : public caf::CmdFeature
class RicImportEnsembleFractureStatisticsFeature : public caf::CmdFeature
{
CAF_CMD_HEADER_INIT;
public:
RicImportFractureGroupStatisticsFeature() {}
RicImportEnsembleFractureStatisticsFeature() {}
static QStringList runRecursiveFileSearchDialog( const QString& dialogTitle, const QString& pathCacheName );

View File

@@ -61,7 +61,7 @@ ${CMAKE_CURRENT_LIST_DIR}/RifStimPlanModelPerfsFrkExporter.h
${CMAKE_CURRENT_LIST_DIR}/RifStimPlanModelAsymmetricFrkExporter.h
${CMAKE_CURRENT_LIST_DIR}/RifSurfaceExporter.h
${CMAKE_CURRENT_LIST_DIR}/RifOpmCommonSummary.h
${CMAKE_CURRENT_LIST_DIR}/RifFractureGroupStatisticsExporter.h
${CMAKE_CURRENT_LIST_DIR}/RifEnsembleFractureStatisticsExporter.h
# HDF5 file reader is directly included in ResInsight main CmakeList.txt
#${CMAKE_CURRENT_LIST_DIR}/RifHdf5Reader.h
@@ -127,7 +127,7 @@ ${CMAKE_CURRENT_LIST_DIR}/RifStimPlanModelPerfsFrkExporter.cpp
${CMAKE_CURRENT_LIST_DIR}/RifStimPlanModelAsymmetricFrkExporter.cpp
${CMAKE_CURRENT_LIST_DIR}/RifSurfaceExporter.cpp
${CMAKE_CURRENT_LIST_DIR}/RifOpmCommonSummary.cpp
${CMAKE_CURRENT_LIST_DIR}/RifFractureGroupStatisticsExporter.cpp
${CMAKE_CURRENT_LIST_DIR}/RifEnsembleFractureStatisticsExporter.cpp
# HDF5 file reader is directly included in ResInsight main CmakeList.txt
#${CMAKE_CURRENT_LIST_DIR}/RifHdf5Reader.cpp

View File

@@ -16,7 +16,7 @@
//
/////////////////////////////////////////////////////////////////////////////////
#include "RifFractureGroupStatisticsExporter.h"
#include "RifEnsembleFractureStatisticsExporter.h"
// #include "RiaEclipseUnitTools.h"
@@ -31,13 +31,13 @@
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RifFractureGroupStatisticsExporter::writeAsStimPlanXml( const std::vector<std::shared_ptr<RigSlice2D>>& statistics,
const std::vector<std::pair<QString, QString>>& properties,
const QString& filePath,
const std::vector<double>& gridXs,
const std::vector<double>& gridYs,
double time,
RiaDefines::EclipseUnitSystem unitSystem )
bool RifEnsembleFractureStatisticsExporter::writeAsStimPlanXml( const std::vector<std::shared_ptr<RigSlice2D>>& statistics,
const std::vector<std::pair<QString, QString>>& properties,
const QString& filePath,
const std::vector<double>& gridXs,
const std::vector<double>& gridYs,
double time,
RiaDefines::EclipseUnitSystem unitSystem )
{
QFile data( filePath );
if ( !data.open( QFile::WriteOnly | QFile::Truncate ) )
@@ -57,7 +57,7 @@ bool RifFractureGroupStatisticsExporter::writeAsStimPlanXml( const std::vector<s
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RifFractureGroupStatisticsExporter::appendHeaderToStream( QTextStream& stream )
void RifEnsembleFractureStatisticsExporter::appendHeaderToStream( QTextStream& stream )
{
stream << "<?xml version=\"1.0\" ?>" << endl << "<contours>" << endl;
}
@@ -65,11 +65,12 @@ void RifFractureGroupStatisticsExporter::appendHeaderToStream( QTextStream& stre
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RifFractureGroupStatisticsExporter::appendPropertiesToStream( QTextStream& stream,
const std::vector<std::shared_ptr<RigSlice2D>>& statistics,
const std::vector<std::pair<QString, QString>>& properties,
const std::vector<double>& gridYs,
double time )
void RifEnsembleFractureStatisticsExporter::appendPropertiesToStream(
QTextStream& stream,
const std::vector<std::shared_ptr<RigSlice2D>>& statistics,
const std::vector<std::pair<QString, QString>>& properties,
const std::vector<double>& gridYs,
double time )
{
CAF_ASSERT( statistics.size() == properties.size() );
@@ -107,10 +108,10 @@ void RifFractureGroupStatisticsExporter::appendPropertiesToStream( QTextStream&
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RifFractureGroupStatisticsExporter::appendGridDimensionsToStream( QTextStream& stream,
const std::vector<double>& gridXs,
const std::vector<double>& gridYs,
RiaDefines::EclipseUnitSystem unitSystem )
void RifEnsembleFractureStatisticsExporter::appendGridDimensionsToStream( QTextStream& stream,
const std::vector<double>& gridXs,
const std::vector<double>& gridYs,
RiaDefines::EclipseUnitSystem unitSystem )
{
QString unitString = getStringForUnitSystem( unitSystem );
stream << QString( "<grid xCount=\"%1\" yCount=\"%2\" uom=\"%3\">" ).arg( gridXs.size() ).arg( gridYs.size() ).arg( unitString )
@@ -132,7 +133,7 @@ void RifFractureGroupStatisticsExporter::appendGridDimensionsToStream( QTextStre
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RifFractureGroupStatisticsExporter::appendFooterToStream( QTextStream& stream )
void RifEnsembleFractureStatisticsExporter::appendFooterToStream( QTextStream& stream )
{
stream << "</contours>" << endl;
}
@@ -140,7 +141,7 @@ void RifFractureGroupStatisticsExporter::appendFooterToStream( QTextStream& stre
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RifFractureGroupStatisticsExporter::getStringForUnitSystem( RiaDefines::EclipseUnitSystem unitSystem )
QString RifEnsembleFractureStatisticsExporter::getStringForUnitSystem( RiaDefines::EclipseUnitSystem unitSystem )
{
if ( unitSystem == RiaDefines::EclipseUnitSystem::UNITS_METRIC )
return "m";

View File

@@ -31,7 +31,7 @@ class RigSlice2D;
//==================================================================================================
//
//==================================================================================================
class RifFractureGroupStatisticsExporter
class RifEnsembleFractureStatisticsExporter
{
public:
static bool writeAsStimPlanXml( const std::vector<std::shared_ptr<RigSlice2D>>& statistics,

View File

@@ -32,8 +32,8 @@ ${CMAKE_CURRENT_LIST_DIR}/RimWellPathComponentInterface.h
${CMAKE_CURRENT_LIST_DIR}/RimWellPathValve.h
${CMAKE_CURRENT_LIST_DIR}/RimMultipleValveLocations.h
${CMAKE_CURRENT_LIST_DIR}/RimWellPathAicdParameters.h
${CMAKE_CURRENT_LIST_DIR}/RimFractureGroupStatistics.h
${CMAKE_CURRENT_LIST_DIR}/RimFractureGroupStatisticsCollection.h
${CMAKE_CURRENT_LIST_DIR}/RimEnsembleFractureStatistics.h
${CMAKE_CURRENT_LIST_DIR}/RimEnsembleFractureStatisticsCollection.h
)
@@ -69,8 +69,8 @@ ${CMAKE_CURRENT_LIST_DIR}/RimNonDarcyPerforationParameters.cpp
${CMAKE_CURRENT_LIST_DIR}/RimWellPathValve.cpp
${CMAKE_CURRENT_LIST_DIR}/RimMultipleValveLocations.cpp
${CMAKE_CURRENT_LIST_DIR}/RimWellPathAicdParameters.cpp
${CMAKE_CURRENT_LIST_DIR}/RimFractureGroupStatistics.cpp
${CMAKE_CURRENT_LIST_DIR}/RimFractureGroupStatisticsCollection.cpp
${CMAKE_CURRENT_LIST_DIR}/RimEnsembleFractureStatistics.cpp
${CMAKE_CURRENT_LIST_DIR}/RimEnsembleFractureStatisticsCollection.cpp
)
list(APPEND CODE_HEADER_FILES

View File

@@ -18,7 +18,7 @@
#include "RimCompletionTemplateCollection.h"
#include "RimFractureGroupStatisticsCollection.h"
#include "RimEnsembleFractureStatisticsCollection.h"
#include "RimFractureTemplateCollection.h"
#include "RimStimPlanModelTemplateCollection.h"
#include "RimValveTemplateCollection.h"
@@ -47,7 +47,7 @@ RimCompletionTemplateCollection::RimCompletionTemplateCollection()
m_valveTemplates = new RimValveTemplateCollection;
CAF_PDM_InitFieldNoDefault( &m_fractureGroupStatisticsCollection, "FractureGroupStatisticsCollection", "", "", "", "" );
m_fractureGroupStatisticsCollection = new RimFractureGroupStatisticsCollection;
m_fractureGroupStatisticsCollection = new RimEnsembleFractureStatisticsCollection;
}
//--------------------------------------------------------------------------------------------------
@@ -126,7 +126,7 @@ const RimStimPlanModelTemplateCollection* RimCompletionTemplateCollection::stimP
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimFractureGroupStatisticsCollection* RimCompletionTemplateCollection::fractureGroupStatisticsCollection()
RimEnsembleFractureStatisticsCollection* RimCompletionTemplateCollection::fractureGroupStatisticsCollection()
{
return m_fractureGroupStatisticsCollection;
}
@@ -134,7 +134,7 @@ RimFractureGroupStatisticsCollection* RimCompletionTemplateCollection::fractureG
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
const RimFractureGroupStatisticsCollection* RimCompletionTemplateCollection::fractureGroupStatisticsCollection() const
const RimEnsembleFractureStatisticsCollection* RimCompletionTemplateCollection::fractureGroupStatisticsCollection() const
{
return m_fractureGroupStatisticsCollection;
}

View File

@@ -25,7 +25,7 @@ class RimOilField;
class RimValveTemplateCollection;
class RimFractureTemplateCollection;
class RimStimPlanModelTemplateCollection;
class RimFractureGroupStatisticsCollection;
class RimEnsembleFractureStatisticsCollection;
class RimCompletionTemplateCollection : public caf::PdmObject
{
@@ -35,15 +35,15 @@ public:
RimCompletionTemplateCollection();
~RimCompletionTemplateCollection() override;
RimFractureTemplateCollection* fractureTemplateCollection();
const RimFractureTemplateCollection* fractureTemplateCollection() const;
RimStimPlanModelTemplateCollection* stimPlanModelTemplateCollection();
const RimStimPlanModelTemplateCollection* stimPlanModelTemplateCollection() const;
RimValveTemplateCollection* valveTemplateCollection();
const RimValveTemplateCollection* valveTemplateCollection() const;
RimFractureGroupStatisticsCollection* fractureGroupStatisticsCollection();
const RimFractureGroupStatisticsCollection* fractureGroupStatisticsCollection() const;
void setDefaultUnitSystemBasedOnLoadedCases();
RimFractureTemplateCollection* fractureTemplateCollection();
const RimFractureTemplateCollection* fractureTemplateCollection() const;
RimStimPlanModelTemplateCollection* stimPlanModelTemplateCollection();
const RimStimPlanModelTemplateCollection* stimPlanModelTemplateCollection() const;
RimValveTemplateCollection* valveTemplateCollection();
const RimValveTemplateCollection* valveTemplateCollection() const;
RimEnsembleFractureStatisticsCollection* fractureGroupStatisticsCollection();
const RimEnsembleFractureStatisticsCollection* fractureGroupStatisticsCollection() const;
void setDefaultUnitSystemBasedOnLoadedCases();
void loadAndUpdateData();
@@ -51,10 +51,10 @@ private:
friend class RimOilField;
void setFractureTemplateCollection( RimFractureTemplateCollection* fractureTemplateCollection );
caf::PdmChildField<RimFractureTemplateCollection*> m_fractureTemplates;
caf::PdmChildField<RimValveTemplateCollection*> m_valveTemplates;
caf::PdmChildField<RimStimPlanModelTemplateCollection*> m_stimPlanModelTemplates;
caf::PdmChildField<RimFractureGroupStatisticsCollection*> m_fractureGroupStatisticsCollection;
caf::PdmChildField<RimFractureTemplateCollection*> m_fractureTemplates;
caf::PdmChildField<RimValveTemplateCollection*> m_valveTemplates;
caf::PdmChildField<RimStimPlanModelTemplateCollection*> m_stimPlanModelTemplates;
caf::PdmChildField<RimEnsembleFractureStatisticsCollection*> m_fractureGroupStatisticsCollection;
protected:
void defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "" ) override;

View File

@@ -16,7 +16,7 @@
//
/////////////////////////////////////////////////////////////////////////////////
#include "RimFractureGroupStatistics.h"
#include "RimEnsembleFractureStatistics.h"
#include "RiaDefines.h"
#include "RiaLogging.h"
@@ -28,7 +28,7 @@
#include "RigStimPlanFractureDefinition.h"
#include "RifCsvDataTableFormatter.h"
#include "RifFractureGroupStatisticsExporter.h"
#include "RifEnsembleFractureStatisticsExporter.h"
#include "RifStimPlanXmlReader.h"
#include "FractureCommands/RicNewStimPlanFractureTemplateFeature.h"
@@ -45,28 +45,28 @@
namespace caf
{
template <>
void caf::AppEnum<RimFractureGroupStatistics::StatisticsType>::setUp()
void caf::AppEnum<RimEnsembleFractureStatistics::StatisticsType>::setUp()
{
addItem( RimFractureGroupStatistics::StatisticsType::MEAN, "MEAN", "Mean" );
addItem( RimFractureGroupStatistics::StatisticsType::MIN, "MIN", "Minimum" );
addItem( RimFractureGroupStatistics::StatisticsType::MAX, "MAX", "Maximum" );
addItem( RimFractureGroupStatistics::StatisticsType::P10, "P10", "P10" );
addItem( RimFractureGroupStatistics::StatisticsType::P50, "P50", "P50" );
addItem( RimFractureGroupStatistics::StatisticsType::P90, "P90", "P90" );
addItem( RimFractureGroupStatistics::StatisticsType::OCCURRENCE, "OCCURRENCE", "Occurrence" );
setDefault( RimFractureGroupStatistics::StatisticsType::MEAN );
addItem( RimEnsembleFractureStatistics::StatisticsType::MEAN, "MEAN", "Mean" );
addItem( RimEnsembleFractureStatistics::StatisticsType::MIN, "MIN", "Minimum" );
addItem( RimEnsembleFractureStatistics::StatisticsType::MAX, "MAX", "Maximum" );
addItem( RimEnsembleFractureStatistics::StatisticsType::P10, "P10", "P10" );
addItem( RimEnsembleFractureStatistics::StatisticsType::P50, "P50", "P50" );
addItem( RimEnsembleFractureStatistics::StatisticsType::P90, "P90", "P90" );
addItem( RimEnsembleFractureStatistics::StatisticsType::OCCURRENCE, "OCCURRENCE", "Occurrence" );
setDefault( RimEnsembleFractureStatistics::StatisticsType::MEAN );
}
} // namespace caf
CAF_PDM_SOURCE_INIT( RimFractureGroupStatistics, "FractureGroupStatistics" );
CAF_PDM_SOURCE_INIT( RimEnsembleFractureStatistics, "EnsembleFractureStatistics" );
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimFractureGroupStatistics::RimFractureGroupStatistics()
RimEnsembleFractureStatistics::RimEnsembleFractureStatistics()
{
CAF_PDM_InitObject( "Fracture Group Statistics", ":/FractureTemplate16x16.png", "", "" );
CAF_PDM_InitObject( "Ensemble Fracture Statistics", ":/FractureTemplate16x16.png", "", "" );
CAF_PDM_InitFieldNoDefault( &m_filePaths, "FilePaths", "", "", "", "" );
@@ -89,14 +89,14 @@ RimFractureGroupStatistics::RimFractureGroupStatistics()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimFractureGroupStatistics::~RimFractureGroupStatistics()
RimEnsembleFractureStatistics::~RimEnsembleFractureStatistics()
{
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimFractureGroupStatistics::addFilePath( const QString& filePath )
void RimEnsembleFractureStatistics::addFilePath( const QString& filePath )
{
m_filePaths.v().push_back( filePath );
m_filePathsTable = generateFilePathsTable();
@@ -105,7 +105,7 @@ void RimFractureGroupStatistics::addFilePath( const QString& filePath )
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RimFractureGroupStatistics::generateFilePathsTable()
QString RimEnsembleFractureStatistics::generateFilePathsTable()
{
QString body;
for ( auto prop : m_filePaths.v() )
@@ -119,9 +119,9 @@ QString RimFractureGroupStatistics::generateFilePathsTable()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimFractureGroupStatistics::defineEditorAttribute( const caf::PdmFieldHandle* field,
QString uiConfigName,
caf::PdmUiEditorAttribute* attribute )
void RimEnsembleFractureStatistics::defineEditorAttribute( const caf::PdmFieldHandle* field,
QString uiConfigName,
caf::PdmUiEditorAttribute* attribute )
{
if ( field == &m_filePathsTable )
{
@@ -137,9 +137,9 @@ void RimFractureGroupStatistics::defineEditorAttribute( const caf::PdmFieldHandl
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimFractureGroupStatistics::fieldChangedByUi( const caf::PdmFieldHandle* changedField,
const QVariant& oldValue,
const QVariant& newValue )
void RimEnsembleFractureStatistics::fieldChangedByUi( const caf::PdmFieldHandle* changedField,
const QVariant& oldValue,
const QVariant& newValue )
{
if ( changedField == &m_computeStatistics )
{
@@ -152,7 +152,7 @@ void RimFractureGroupStatistics::fieldChangedByUi( const caf::PdmFieldHandle* ch
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimFractureGroupStatistics::loadAndUpdateData()
void RimEnsembleFractureStatistics::loadAndUpdateData()
{
m_filePathsTable = generateFilePathsTable();
}
@@ -160,7 +160,7 @@ void RimFractureGroupStatistics::loadAndUpdateData()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<QString> RimFractureGroupStatistics::computeStatistics()
std::vector<QString> RimEnsembleFractureStatistics::computeStatistics()
{
auto unitSystem = RiaDefines::EclipseUnitSystem::UNITS_METRIC;
@@ -169,7 +169,7 @@ std::vector<QString> RimFractureGroupStatistics::computeStatistics()
std::set<std::pair<QString, QString>> availableResults = findAllResultNames( stimPlanFractureDefinitions );
std::map<std::pair<RimFractureGroupStatistics::StatisticsType, QString>, std::shared_ptr<RigSlice2D>> statisticsGridsAll;
std::map<std::pair<RimEnsembleFractureStatistics::StatisticsType, QString>, std::shared_ptr<RigSlice2D>> statisticsGridsAll;
// TODO: take from an incoming xml?
double timeStep = 1.0;
@@ -200,7 +200,7 @@ std::vector<QString> RimFractureGroupStatistics::computeStatistics()
double sampleDistanceY = ( maxY - minY ) / numSamplesY;
RiaLogging::info(
QString( "Fracture Group Size: X = [%1, %2] Y = [%3, %4]" ).arg( minX ).arg( maxX ).arg( minY ).arg( maxY ) );
QString( "Ensemble Fracture Size: X = [%1, %2] Y = [%3, %4]" ).arg( minX ).arg( maxX ).arg( minY ).arg( maxY ) );
RiaLogging::info( QString( "Output size: %1x%2. Sampling Distance X = %3 Sampling Distance Y = %4" )
.arg( numSamplesX )
.arg( numSamplesY )
@@ -222,7 +222,7 @@ std::vector<QString> RimFractureGroupStatistics::computeStatistics()
std::vector<std::vector<double>> samples( numSamplesX * numSamplesY );
sampleAllGrids( fractureGrids, samples, minX, minY, numSamplesX, numSamplesY, sampleDistanceX, sampleDistanceY );
std::map<RimFractureGroupStatistics::StatisticsType, std::shared_ptr<RigSlice2D>> statisticsGrids;
std::map<RimEnsembleFractureStatistics::StatisticsType, std::shared_ptr<RigSlice2D>> statisticsGrids;
generateStatisticsGrids( samples, numSamplesX, numSamplesY, statisticsGrids );
for ( auto [statType, slice] : statisticsGrids )
@@ -243,10 +243,10 @@ std::vector<QString> RimFractureGroupStatistics::computeStatistics()
outputDirectory.mkpath( outputDirectoryPath );
}
for ( size_t i = 0; i < caf::AppEnum<RimFractureGroupStatistics::StatisticsType>::size(); ++i )
for ( size_t i = 0; i < caf::AppEnum<RimEnsembleFractureStatistics::StatisticsType>::size(); ++i )
{
caf::AppEnum<RimFractureGroupStatistics::StatisticsType> t =
caf::AppEnum<RimFractureGroupStatistics::StatisticsType>::fromIndex( i );
caf::AppEnum<RimEnsembleFractureStatistics::StatisticsType> t =
caf::AppEnum<RimEnsembleFractureStatistics::StatisticsType>::fromIndex( i );
QString text = t.text();
// Get the all the properties for this statistics type
@@ -265,13 +265,13 @@ std::vector<QString> RimFractureGroupStatistics::computeStatistics()
QString xmlFilePath = outputDirectoryPath + "/" + name() + "-" + text + ".xml";
RiaLogging::info( QString( "Writing fracture group statistics to: %1" ).arg( xmlFilePath ) );
RifFractureGroupStatisticsExporter::writeAsStimPlanXml( statisticsSlices,
properties,
xmlFilePath,
gridXs,
gridYs,
timeStep,
unitSystem );
RifEnsembleFractureStatisticsExporter::writeAsStimPlanXml( statisticsSlices,
properties,
xmlFilePath,
gridXs,
gridYs,
timeStep,
unitSystem );
xmlFilePaths.push_back( xmlFilePath );
}
@@ -283,8 +283,8 @@ std::vector<QString> RimFractureGroupStatistics::computeStatistics()
///
//--------------------------------------------------------------------------------------------------
std::vector<cvf::ref<RigStimPlanFractureDefinition>>
RimFractureGroupStatistics::readFractureDefinitions( const std::vector<caf::FilePath>& filePaths,
RiaDefines::EclipseUnitSystem unitSystem ) const
RimEnsembleFractureStatistics::readFractureDefinitions( const std::vector<caf::FilePath>& filePaths,
RiaDefines::EclipseUnitSystem unitSystem ) const
{
double conductivityScaleFactor = 1.0;
@@ -316,7 +316,7 @@ std::vector<cvf::ref<RigStimPlanFractureDefinition>>
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::set<std::pair<QString, QString>> RimFractureGroupStatistics::findAllResultNames(
std::set<std::pair<QString, QString>> RimEnsembleFractureStatistics::findAllResultNames(
const std::vector<cvf::ref<RigStimPlanFractureDefinition>>& stimPlanFractureDefinitions )
{
std::set<std::pair<QString, QString>> resultNames;
@@ -334,7 +334,7 @@ std::set<std::pair<QString, QString>> RimFractureGroupStatistics::findAllResultN
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<cvf::cref<RigFractureGrid>> RimFractureGroupStatistics::createFractureGrids(
std::vector<cvf::cref<RigFractureGrid>> RimEnsembleFractureStatistics::createFractureGrids(
const std::vector<cvf::ref<RigStimPlanFractureDefinition>>& stimPlanFractureDefinitions,
RiaDefines::EclipseUnitSystem unitSystem,
const QString& resultNameOnFile )
@@ -373,7 +373,7 @@ std::vector<cvf::cref<RigFractureGrid>> RimFractureGroupStatistics::createFractu
///
//--------------------------------------------------------------------------------------------------
std::tuple<double, double, double, double>
RimFractureGroupStatistics::findExtentsOfGrids( const std::vector<cvf::cref<RigFractureGrid>>& fractureGrids )
RimEnsembleFractureStatistics::findExtentsOfGrids( const std::vector<cvf::cref<RigFractureGrid>>& fractureGrids )
{
// Find min and max extent of all the grids
double minX = std::numeric_limits<double>::max();
@@ -401,7 +401,7 @@ std::tuple<double, double, double, double>
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimFractureGroupStatistics::isCoordinateInsideFractureCell( double x, double y, const RigFractureCell& cell )
bool RimEnsembleFractureStatistics::isCoordinateInsideFractureCell( double x, double y, const RigFractureCell& cell )
{
const cvf::Vec3d& minPoint = cell.getPolygon()[0];
const cvf::Vec3d& maxPoint = cell.getPolygon()[2];
@@ -412,7 +412,7 @@ bool RimFractureGroupStatistics::isCoordinateInsideFractureCell( double x, doubl
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
double RimFractureGroupStatistics::computeDepthOfWellPathAtFracture(
double RimEnsembleFractureStatistics::computeDepthOfWellPathAtFracture(
cvf::ref<RigStimPlanFractureDefinition> stimPlanFractureDefinitionData )
{
double firstTvd = stimPlanFractureDefinitionData->topPerfTvd();
@@ -433,14 +433,14 @@ double RimFractureGroupStatistics::computeDepthOfWellPathAtFracture(
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimFractureGroupStatistics::sampleAllGrids( const std::vector<cvf::cref<RigFractureGrid>>& fractureGrids,
std::vector<std::vector<double>>& samples,
double minX,
double minY,
int numSamplesX,
int numSamplesY,
double sampleDistanceX,
double sampleDistanceY )
void RimEnsembleFractureStatistics::sampleAllGrids( const std::vector<cvf::cref<RigFractureGrid>>& fractureGrids,
std::vector<std::vector<double>>& samples,
double minX,
double minY,
int numSamplesX,
int numSamplesY,
double sampleDistanceX,
double sampleDistanceY )
{
for ( int y = 0; y < numSamplesY; y++ )
{
@@ -468,7 +468,7 @@ void RimFractureGroupStatistics::sampleAllGrids( const std::vector<cvf::cref<Rig
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimFractureGroupStatistics::writeStatisticsToCsv( const QString& filePath, const RigSlice2D& samples )
bool RimEnsembleFractureStatistics::writeStatisticsToCsv( const QString& filePath, const RigSlice2D& samples )
{
QFile data( filePath );
if ( !data.open( QFile::WriteOnly | QFile::Truncate ) )
@@ -500,18 +500,18 @@ bool RimFractureGroupStatistics::writeStatisticsToCsv( const QString& filePath,
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimFractureGroupStatistics::generateStatisticsGrids(
const std::vector<std::vector<double>>& samples,
int numSamplesX,
int numSamplesY,
std::map<RimFractureGroupStatistics::StatisticsType, std::shared_ptr<RigSlice2D>>& statisticsGrids )
void RimEnsembleFractureStatistics::generateStatisticsGrids(
const std::vector<std::vector<double>>& samples,
int numSamplesX,
int numSamplesY,
std::map<RimEnsembleFractureStatistics::StatisticsType, std::shared_ptr<RigSlice2D>>& statisticsGrids )
{
for ( size_t i = 0; i < caf::AppEnum<RimFractureGroupStatistics::StatisticsType>::size(); ++i )
for ( size_t i = 0; i < caf::AppEnum<RimEnsembleFractureStatistics::StatisticsType>::size(); ++i )
{
std::shared_ptr<RigSlice2D> grid = std::make_shared<RigSlice2D>( numSamplesX, numSamplesY );
caf::AppEnum<RimFractureGroupStatistics::StatisticsType> t =
caf::AppEnum<RimFractureGroupStatistics::StatisticsType>::fromIndex( i );
caf::AppEnum<RimEnsembleFractureStatistics::StatisticsType> t =
caf::AppEnum<RimEnsembleFractureStatistics::StatisticsType>::fromIndex( i );
statisticsGrids[t.value()] = grid;
}
@@ -528,20 +528,20 @@ void RimFractureGroupStatistics::generateStatisticsGrids(
double dev;
RigStatisticsMath::calculateBasicStatistics( samples[idx], &min, &max, &sum, &range, &mean, &dev );
statisticsGrids[RimFractureGroupStatistics::StatisticsType::MEAN]->setValue( x, y, mean );
statisticsGrids[RimFractureGroupStatistics::StatisticsType::MIN]->setValue( x, y, min );
statisticsGrids[RimFractureGroupStatistics::StatisticsType::MAX]->setValue( x, y, max );
statisticsGrids[RimEnsembleFractureStatistics::StatisticsType::MEAN]->setValue( x, y, mean );
statisticsGrids[RimEnsembleFractureStatistics::StatisticsType::MIN]->setValue( x, y, min );
statisticsGrids[RimEnsembleFractureStatistics::StatisticsType::MAX]->setValue( x, y, max );
double p10;
double p50;
double p90;
RigStatisticsMath::calculateStatisticsCurves( samples[idx], &p10, &p50, &p90, &mean );
statisticsGrids[RimFractureGroupStatistics::StatisticsType::P10]->setValue( x, y, p10 );
statisticsGrids[RimFractureGroupStatistics::StatisticsType::P50]->setValue( x, y, p50 );
statisticsGrids[RimFractureGroupStatistics::StatisticsType::P90]->setValue( x, y, p90 );
statisticsGrids[RimEnsembleFractureStatistics::StatisticsType::P10]->setValue( x, y, p10 );
statisticsGrids[RimEnsembleFractureStatistics::StatisticsType::P50]->setValue( x, y, p50 );
statisticsGrids[RimEnsembleFractureStatistics::StatisticsType::P90]->setValue( x, y, p90 );
statisticsGrids[RimFractureGroupStatistics::StatisticsType::OCCURRENCE]->setValue( x, y, samples[idx].size() );
statisticsGrids[RimEnsembleFractureStatistics::StatisticsType::OCCURRENCE]->setValue( x, y, samples[idx].size() );
}
}
}

View File

@@ -29,7 +29,7 @@ class RigSlice2D;
///
///
//==================================================================================================
class RimFractureGroupStatistics : public RimNamedObject
class RimEnsembleFractureStatistics : public RimNamedObject
{
CAF_PDM_HEADER_INIT;
@@ -45,8 +45,8 @@ public:
OCCURRENCE
};
RimFractureGroupStatistics();
~RimFractureGroupStatistics() override;
RimEnsembleFractureStatistics();
~RimEnsembleFractureStatistics() override;
void addFilePath( const QString& filePath );
void loadAndUpdateData();
@@ -87,10 +87,10 @@ protected:
double sampleDistanceY );
static void generateStatisticsGrids(
const std::vector<std::vector<double>>& samples,
int numSamplesX,
int numSamplesY,
std::map<RimFractureGroupStatistics::StatisticsType, std::shared_ptr<RigSlice2D>>& statisticsGrids );
const std::vector<std::vector<double>>& samples,
int numSamplesX,
int numSamplesY,
std::map<RimEnsembleFractureStatistics::StatisticsType, std::shared_ptr<RigSlice2D>>& statisticsGrids );
static bool writeStatisticsToCsv( const QString& filePath, const RigSlice2D& samples );

View File

@@ -16,16 +16,16 @@
//
/////////////////////////////////////////////////////////////////////////////////
#include "RimFractureGroupStatisticsCollection.h"
#include "RimEnsembleFractureStatisticsCollection.h"
#include "RimFractureGroupStatistics.h"
#include "RimEnsembleFractureStatistics.h"
CAF_PDM_SOURCE_INIT( RimFractureGroupStatisticsCollection, "FractureGroupStatisticsCollection" );
CAF_PDM_SOURCE_INIT( RimEnsembleFractureStatisticsCollection, "FractureGroupStatisticsCollection" );
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimFractureGroupStatisticsCollection::RimFractureGroupStatisticsCollection()
RimEnsembleFractureStatisticsCollection::RimEnsembleFractureStatisticsCollection()
{
CAF_PDM_InitObject( "Derived Fracture Completions", ":/FractureTemplates16x16.png", "", "" );
@@ -36,7 +36,7 @@ RimFractureGroupStatisticsCollection::RimFractureGroupStatisticsCollection()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimFractureGroupStatisticsCollection::addFractureGroupStatistics( RimFractureGroupStatistics* fractureGroupStatistics )
void RimEnsembleFractureStatisticsCollection::addFractureGroupStatistics( RimEnsembleFractureStatistics* fractureGroupStatistics )
{
m_fractureGroupStatistics.push_back( fractureGroupStatistics );
}
@@ -44,7 +44,7 @@ void RimFractureGroupStatisticsCollection::addFractureGroupStatistics( RimFractu
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimFractureGroupStatisticsCollection::loadAndUpdateData()
void RimEnsembleFractureStatisticsCollection::loadAndUpdateData()
{
for ( auto f : m_fractureGroupStatistics.childObjects() )
{

View File

@@ -21,23 +21,23 @@
#include "cafPdmChildArrayField.h"
#include "cafPdmObject.h"
class RimFractureGroupStatistics;
class RimEnsembleFractureStatistics;
//==================================================================================================
///
///
//==================================================================================================
class RimFractureGroupStatisticsCollection : public caf::PdmObject
class RimEnsembleFractureStatisticsCollection : public caf::PdmObject
{
CAF_PDM_HEADER_INIT;
public:
RimFractureGroupStatisticsCollection();
RimEnsembleFractureStatisticsCollection();
void addFractureGroupStatistics( RimFractureGroupStatistics* fractureGroupStatistics );
void addFractureGroupStatistics( RimEnsembleFractureStatistics* fractureGroupStatistics );
void loadAndUpdateData();
private:
caf::PdmChildArrayField<RimFractureGroupStatistics*> m_fractureGroupStatistics;
caf::PdmChildArrayField<RimEnsembleFractureStatistics*> m_fractureGroupStatistics;
};

View File

@@ -63,6 +63,7 @@
#include "RimEnsembleCurveFilterCollection.h"
#include "RimEnsembleCurveSet.h"
#include "RimEnsembleCurveSetCollection.h"
#include "RimEnsembleFractureStatisticsCollection.h"
#include "RimExtrudedCurveIntersection.h"
#include "RimFaultInView.h"
#include "RimFishbones.h"
@@ -72,7 +73,6 @@
#include "RimFlowPlotCollection.h"
#include "RimFormationNames.h"
#include "RimFormationNamesCollection.h"
#include "RimFractureGroupStatisticsCollection.h"
#include "RimFractureTemplate.h"
#include "RimFractureTemplateCollection.h"
#include "RimGeoMechCase.h"
@@ -891,9 +891,9 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
{
menuBuilder << "RicDeleteValveTemplateFeature";
}
else if ( dynamic_cast<RimFractureGroupStatisticsCollection*>( firstUiItem ) )
else if ( dynamic_cast<RimEnsembleFractureStatisticsCollection*>( firstUiItem ) )
{
menuBuilder << "RicImportFractureGroupStatisticsFeature";
menuBuilder << "RicImportEnsembleFractureStatisticsFeature";
}
else if ( dynamic_cast<RimStimPlanModelTemplate*>( firstUiItem ) )
{