mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1693 Remove and move stuff away from RimReservoirCellResultsStorage
To make its sole responsibility to store/restore generated results to/from cache file
This commit is contained in:
parent
1999d2b6e4
commit
337ad4d356
@ -258,7 +258,7 @@ RimEclipseView* RimEclipseCase::createCopyAndAddView(const RimEclipseView* sourc
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEclipseCase::recalculateCompletionTypeAndRedrawAllViews()
|
||||
{
|
||||
m_matrixModelResults->clearScalarResult(RiaDefines::DYNAMIC_NATIVE, RiaDefines::completionTypeResultName());
|
||||
m_matrixModelResults->cellResults()->clearScalarResult(RiaDefines::DYNAMIC_NATIVE, RiaDefines::completionTypeResultName());
|
||||
|
||||
for (RimView* view : views())
|
||||
{
|
||||
@ -417,15 +417,11 @@ void RimEclipseCase::setReservoirData(RigEclipseCaseData* eclipseCase)
|
||||
{
|
||||
m_fractureModelResults()->setCellResults(eclipseCaseData()->results(RiaDefines::FRACTURE_MODEL));
|
||||
m_matrixModelResults()->setCellResults(eclipseCaseData()->results(RiaDefines::MATRIX_MODEL));
|
||||
m_fractureModelResults()->setMainGrid(this->eclipseCaseData()->mainGrid());
|
||||
m_matrixModelResults()->setMainGrid(this->eclipseCaseData()->mainGrid());
|
||||
}
|
||||
else
|
||||
{
|
||||
m_fractureModelResults()->setCellResults(NULL);
|
||||
m_matrixModelResults()->setCellResults(NULL);
|
||||
m_fractureModelResults()->setMainGrid(NULL);
|
||||
m_matrixModelResults()->setMainGrid(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -88,8 +88,8 @@ void RimEclipseInputCase::openDataFileSet(const QStringList& fileNames)
|
||||
if (fileNames.contains(RiaDefines::mockModelBasicInputCase()))
|
||||
{
|
||||
cvf::ref<RifReaderInterface> readerInterface = this->createMockModel(fileNames[0]);
|
||||
results(RiaDefines::MATRIX_MODEL)->setReaderInterface(readerInterface.p());
|
||||
results(RiaDefines::FRACTURE_MODEL)->setReaderInterface(readerInterface.p());
|
||||
results(RiaDefines::MATRIX_MODEL)->cellResults()->setReaderInterface(readerInterface.p());
|
||||
results(RiaDefines::FRACTURE_MODEL)->cellResults()->setReaderInterface(readerInterface.p());
|
||||
|
||||
eclipseCaseData()->activeCellInfo(RiaDefines::MATRIX_MODEL)->computeDerivedData();
|
||||
eclipseCaseData()->activeCellInfo(RiaDefines::FRACTURE_MODEL)->computeDerivedData();
|
||||
@ -204,8 +204,8 @@ bool RimEclipseInputCase::openEclipseGridFile()
|
||||
CVF_ASSERT(this->eclipseCaseData());
|
||||
CVF_ASSERT(readerInterface.notNull());
|
||||
|
||||
results(RiaDefines::MATRIX_MODEL)->setReaderInterface(readerInterface.p());
|
||||
results(RiaDefines::FRACTURE_MODEL)->setReaderInterface(readerInterface.p());
|
||||
results(RiaDefines::MATRIX_MODEL)->cellResults()->setReaderInterface(readerInterface.p());
|
||||
results(RiaDefines::FRACTURE_MODEL)->cellResults()->setReaderInterface(readerInterface.p());
|
||||
|
||||
this->eclipseCaseData()->mainGrid()->setFlipAxis(flipXAxis, flipYAxis);
|
||||
|
||||
|
@ -179,8 +179,8 @@ bool RimEclipseResultCase::importGridAndResultMetaData(bool showTimeStepFilter)
|
||||
readerInterface = readerEclipseOutput;
|
||||
}
|
||||
|
||||
results(RiaDefines::MATRIX_MODEL)->setReaderInterface(readerInterface.p());
|
||||
results(RiaDefines::FRACTURE_MODEL)->setReaderInterface(readerInterface.p());
|
||||
results(RiaDefines::MATRIX_MODEL)->cellResults()->setReaderInterface(readerInterface.p());
|
||||
results(RiaDefines::FRACTURE_MODEL)->cellResults()->setReaderInterface(readerInterface.p());
|
||||
|
||||
progInfo.incrementProgress();
|
||||
|
||||
@ -262,8 +262,8 @@ bool RimEclipseResultCase::openAndReadActiveCellData(RigEclipseCaseData* mainEcl
|
||||
readerInterface = readerEclipseOutput;
|
||||
}
|
||||
|
||||
results(RiaDefines::MATRIX_MODEL)->setReaderInterface(readerInterface.p());
|
||||
results(RiaDefines::FRACTURE_MODEL)->setReaderInterface(readerInterface.p());
|
||||
results(RiaDefines::MATRIX_MODEL)->cellResults()->setReaderInterface(readerInterface.p());
|
||||
results(RiaDefines::FRACTURE_MODEL)->cellResults()->setReaderInterface(readerInterface.p());
|
||||
|
||||
CVF_ASSERT(this->eclipseCaseData());
|
||||
CVF_ASSERT(readerInterface.notNull());
|
||||
@ -282,11 +282,7 @@ void RimEclipseResultCase::loadAndUpdateSourSimData()
|
||||
{
|
||||
if (!results(RiaDefines::MATRIX_MODEL)) return;
|
||||
|
||||
RifReaderEclipseOutput* rifReaderOutput = dynamic_cast<RifReaderEclipseOutput*>(results(RiaDefines::MATRIX_MODEL)->readerInterface());
|
||||
if (rifReaderOutput)
|
||||
{
|
||||
rifReaderOutput->setHdf5FileName(m_sourSimFileName);
|
||||
}
|
||||
results(RiaDefines::MATRIX_MODEL)->cellResults()->setHdf5Filename(m_sourSimFileName);
|
||||
|
||||
if (!hasSourSimFile())
|
||||
{
|
||||
|
@ -49,8 +49,7 @@ CAF_PDM_SOURCE_INIT(RimReservoirCellResultsStorage, "ReservoirCellResultStorage"
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimReservoirCellResultsStorage::RimReservoirCellResultsStorage()
|
||||
: m_cellResults(NULL),
|
||||
m_ownerMainGrid(NULL)
|
||||
: m_cellResults(NULL)
|
||||
{
|
||||
CAF_PDM_InitObject("Cacher", "", "", "");
|
||||
|
||||
@ -212,33 +211,6 @@ QString RimReservoirCellResultsStorage::getCacheDirectoryPath()
|
||||
return cacheDirPath;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimReservoirCellResultsStorage::setReaderInterface(RifReaderInterface* readerInterface)
|
||||
{
|
||||
m_readerInterface = readerInterface;
|
||||
m_cellResults->setReaderInterface(readerInterface);
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RifReaderInterface* RimReservoirCellResultsStorage::readerInterface()
|
||||
{
|
||||
return m_readerInterface.p();
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const RifReaderInterface* RimReservoirCellResultsStorage::readerInterface() const
|
||||
{
|
||||
return m_readerInterface.p();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -249,15 +221,6 @@ size_t RimReservoirCellResultsStorage::findOrLoadScalarResult(const QString& res
|
||||
return m_cellResults->findOrLoadScalarResult(resultName);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimReservoirCellResultsStorage::clearScalarResult(RiaDefines::ResultCatType type, const QString & resultName)
|
||||
{
|
||||
size_t scalarResultIndex = m_cellResults->findScalarResultIndex(type, resultName);
|
||||
m_cellResults->cellScalarResults(scalarResultIndex).clear();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -364,14 +327,6 @@ void RimReservoirCellResultsStorage::setCellResults(RigCaseCellResultsData* cell
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimReservoirCellResultsStorage::setMainGrid(RigMainGrid* mainGrid)
|
||||
{
|
||||
m_ownerMainGrid = mainGrid;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -51,20 +51,10 @@ public:
|
||||
|
||||
size_t storedResultsCount();
|
||||
|
||||
void setMainGrid(RigMainGrid* mainGrid);
|
||||
|
||||
void setReaderInterface(RifReaderInterface* readerInterface);
|
||||
RifReaderInterface* readerInterface();
|
||||
const RifReaderInterface* readerInterface() const;
|
||||
|
||||
void computeDepthRelatedResults();
|
||||
|
||||
size_t findOrLoadScalarResultForTimeStep(RiaDefines::ResultCatType type, const QString& resultName, size_t timeStepIndex);
|
||||
size_t findOrLoadScalarResult(RiaDefines::ResultCatType type, const QString& resultName);
|
||||
size_t findOrLoadScalarResult(const QString& resultName); ///< Simplified search. Assumes unique names across types.
|
||||
|
||||
void clearScalarResult(RiaDefines::ResultCatType type, const QString& resultName);
|
||||
|
||||
protected:
|
||||
// Overridden methods from PdmObject
|
||||
virtual void setupBeforeSave();
|
||||
@ -77,9 +67,7 @@ private:
|
||||
caf::PdmChildArrayField<RimReservoirCellResultsStorageEntryInfo*>
|
||||
m_resultCacheMetaData;
|
||||
|
||||
cvf::ref<RifReaderInterface> m_readerInterface;
|
||||
RigCaseCellResultsData* m_cellResults;
|
||||
RigMainGrid* m_ownerMainGrid;
|
||||
};
|
||||
|
||||
class RimReservoirCellResultsStorageEntryInfo : public caf::PdmObject
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include "cafPdmUiTextEditor.h"
|
||||
|
||||
#include <QDateTime>
|
||||
#include "RigCaseCellResultsData.h"
|
||||
|
||||
namespace caf {
|
||||
|
||||
@ -231,11 +232,7 @@ std::vector<QDateTime> RimTimeStepFilter::allTimeSteps() const
|
||||
RimEclipseResultCase* rimEclipseResultCase = parentEclipseResultCase();
|
||||
if (rimEclipseResultCase && rimEclipseResultCase->results(RiaDefines::MATRIX_MODEL))
|
||||
{
|
||||
const RifReaderEclipseOutput* rifReaderOutput = dynamic_cast<const RifReaderEclipseOutput*>(rimEclipseResultCase->results(RiaDefines::MATRIX_MODEL)->readerInterface());
|
||||
if (rifReaderOutput)
|
||||
{
|
||||
return rifReaderOutput->allTimeSteps();
|
||||
}
|
||||
return rimEclipseResultCase->results(RiaDefines::MATRIX_MODEL)->cellResults()->allTimeStepDatesFromEclipseReader();
|
||||
}
|
||||
|
||||
return m_timeStepsFromFile;
|
||||
|
@ -84,5 +84,5 @@ private:
|
||||
|
||||
caf::PdmField<bool> m_applyReloadOfCase;
|
||||
|
||||
std::vector<QDateTime> m_timeStepsFromFile;
|
||||
std::vector<QDateTime> m_timeStepsFromFile; /// Temporarily set to provide correct options before the case data structures are operative
|
||||
};
|
||||
|
@ -440,6 +440,22 @@ bool RigCaseCellResultsData::hasFlowDiagUsableFluxes() const
|
||||
return hasFlowFluxes;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<QDateTime> RigCaseCellResultsData::allTimeStepDatesFromEclipseReader() const
|
||||
{
|
||||
const RifReaderEclipseOutput* rifReaderOutput = dynamic_cast<const RifReaderEclipseOutput*>(m_readerInterface.p());
|
||||
if (rifReaderOutput)
|
||||
{
|
||||
return rifReaderOutput->allTimeSteps();
|
||||
}
|
||||
else
|
||||
{
|
||||
return std::vector<QDateTime>();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -597,14 +613,14 @@ QString RigCaseCellResultsData::makeResultNameUnique(const QString& resultNamePr
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigCaseCellResultsData::removeResult(const QString& resultName)
|
||||
void RigCaseCellResultsData::clearScalarResult(RiaDefines::ResultCatType type, const QString & resultName)
|
||||
{
|
||||
size_t resultIdx = findScalarResultIndex(resultName);
|
||||
if (resultIdx == cvf::UNDEFINED_SIZE_T) return;
|
||||
size_t scalarResultIndex = this->findScalarResultIndex(type, resultName);
|
||||
if (scalarResultIndex == cvf::UNDEFINED_SIZE_T) return;
|
||||
|
||||
m_cellScalarResults[resultIdx].clear();
|
||||
m_cellScalarResults[scalarResultIndex].clear();
|
||||
|
||||
m_resultInfos[resultIdx].m_resultType = RiaDefines::REMOVED;
|
||||
//m_resultInfos[scalarResultIndex].m_resultType = RiaDefines::REMOVED;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -2124,6 +2140,18 @@ void RigCaseCellResultsData::setReaderInterface(RifReaderInterface* readerInterf
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigCaseCellResultsData::setHdf5Filename(const QString& hdf5SourSimFilename)
|
||||
{
|
||||
RifReaderEclipseOutput* rifReaderOutput = dynamic_cast<RifReaderEclipseOutput*>(m_readerInterface.p());
|
||||
if (rifReaderOutput)
|
||||
{
|
||||
rifReaderOutput->setHdf5FileName(hdf5SourSimFilename);
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
/// If we have any results on any time step, assume we have loaded results
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -47,6 +47,7 @@ public:
|
||||
explicit RigCaseCellResultsData(RigEclipseCaseData* ownerCaseData);
|
||||
|
||||
void setReaderInterface(RifReaderInterface* readerInterface);
|
||||
void setHdf5Filename(const QString& hdf5SourSimFilename );
|
||||
|
||||
void setMainGrid(RigMainGrid* ownerGrid);
|
||||
void setActiveCellInfo(RigActiveCellInfo* activeCellInfo) { m_activeCellInfo = activeCellInfo;}
|
||||
@ -77,6 +78,7 @@ public:
|
||||
bool isUsingGlobalActiveIndex(size_t scalarResultIndex) const;
|
||||
bool hasFlowDiagUsableFluxes() const;
|
||||
|
||||
std::vector<QDateTime> allTimeStepDatesFromEclipseReader() const;
|
||||
std::vector<QDateTime> timeStepDates() const;
|
||||
QDateTime timeStepDate(size_t scalarResultIndex, size_t timeStepIndex) const;
|
||||
std::vector<QDateTime> timeStepDates(size_t scalarResultIndex) const;
|
||||
@ -103,7 +105,7 @@ public:
|
||||
void createPlaceholderResultEntries();
|
||||
void computeDepthRelatedResults();
|
||||
|
||||
void removeResult(const QString& resultName);
|
||||
void clearScalarResult(RiaDefines::ResultCatType type, const QString & resultName);
|
||||
void clearAllResults();
|
||||
void freeAllocatedResultsData();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user