diff --git a/ApplicationLibCode/ProjectDataModel/Flow/RimFlowDiagSolution.cpp b/ApplicationLibCode/ProjectDataModel/Flow/RimFlowDiagSolution.cpp index 7409279864..9a77ad1c9c 100644 --- a/ApplicationLibCode/ProjectDataModel/Flow/RimFlowDiagSolution.cpp +++ b/ApplicationLibCode/ProjectDataModel/Flow/RimFlowDiagSolution.cpp @@ -95,7 +95,7 @@ QString RimFlowDiagSolution::userDescription() const //-------------------------------------------------------------------------------------------------- RigFlowDiagResults* RimFlowDiagSolution::flowDiagResults() { - if ( m_flowDiagResults.isNull() ) + if ( !m_flowDiagResults ) { size_t timeStepCount; { @@ -108,10 +108,10 @@ RigFlowDiagResults* RimFlowDiagSolution::flowDiagResults() timeStepCount = eclCase->eclipseCaseData()->results( RiaDefines::PorosityModelType::MATRIX_MODEL )->maxTimeStepCount(); } - m_flowDiagResults = new RigFlowDiagResults( this, timeStepCount ); + m_flowDiagResults = std::make_unique( this, timeStepCount ); } - return m_flowDiagResults.p(); + return m_flowDiagResults.get(); } //-------------------------------------------------------------------------------------------------- @@ -119,7 +119,7 @@ RigFlowDiagResults* RimFlowDiagSolution::flowDiagResults() //-------------------------------------------------------------------------------------------------- const RigFlowDiagResults* RimFlowDiagSolution::flowDiagResults() const { - return m_flowDiagResults.p(); + return m_flowDiagResults.get(); } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/ProjectDataModel/Flow/RimFlowDiagSolution.h b/ApplicationLibCode/ProjectDataModel/Flow/RimFlowDiagSolution.h index 73d20c0e6f..6d258f4d2e 100644 --- a/ApplicationLibCode/ProjectDataModel/Flow/RimFlowDiagSolution.h +++ b/ApplicationLibCode/ProjectDataModel/Flow/RimFlowDiagSolution.h @@ -69,5 +69,5 @@ private: caf::PdmFieldHandle* userDescriptionField() override; caf::PdmField m_userDescription; - cvf::ref m_flowDiagResults; + std::unique_ptr m_flowDiagResults; }; diff --git a/ApplicationLibCode/ReservoirDataModel/RigCaseCellResultsData.h b/ApplicationLibCode/ReservoirDataModel/RigCaseCellResultsData.h index fccaed7e90..ce88d390f5 100644 --- a/ApplicationLibCode/ReservoirDataModel/RigCaseCellResultsData.h +++ b/ApplicationLibCode/ReservoirDataModel/RigCaseCellResultsData.h @@ -23,7 +23,7 @@ #include "RiaDefines.h" #include "RiaPorosityModel.h" -#include "cvfCollection.h" +#include "RigStatisticsDataCache.h" #include @@ -36,7 +36,6 @@ class RifReaderInterface; class RigActiveCellInfo; class RigMainGrid; class RigEclipseResultInfo; -class RigStatisticsDataCache; class RigEclipseTimeStepInfo; class RigEclipseCaseData; class RigFormationNames; diff --git a/ApplicationLibCode/ReservoirDataModel/RigFlowDiagResultFrames.cpp b/ApplicationLibCode/ReservoirDataModel/RigFlowDiagResultFrames.cpp index 5ab64c0b58..ed98da90c8 100644 --- a/ApplicationLibCode/ReservoirDataModel/RigFlowDiagResultFrames.cpp +++ b/ApplicationLibCode/ReservoirDataModel/RigFlowDiagResultFrames.cpp @@ -29,13 +29,6 @@ RigFlowDiagResultFrames::RigFlowDiagResultFrames( size_t frameCount ) m_dataForEachFrame.resize( frameCount ); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RigFlowDiagResultFrames::~RigFlowDiagResultFrames() -{ -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/ReservoirDataModel/RigFlowDiagResultFrames.h b/ApplicationLibCode/ReservoirDataModel/RigFlowDiagResultFrames.h index ee350690b7..48d733cac2 100644 --- a/ApplicationLibCode/ReservoirDataModel/RigFlowDiagResultFrames.h +++ b/ApplicationLibCode/ReservoirDataModel/RigFlowDiagResultFrames.h @@ -17,15 +17,12 @@ ///////////////////////////////////////////////////////////////////////////////// #pragma once -#include "cvfObject.h" - #include -class RigFlowDiagResultFrames : public cvf::Object +class RigFlowDiagResultFrames { public: explicit RigFlowDiagResultFrames( size_t frameCount ); - ~RigFlowDiagResultFrames() override; const std::vector& frameData( size_t frameIndex ) const; std::vector& frameData( size_t frameIndex ); diff --git a/ApplicationLibCode/ReservoirDataModel/RigFlowDiagResults.cpp b/ApplicationLibCode/ReservoirDataModel/RigFlowDiagResults.cpp index 4915027624..77d73c8b88 100644 --- a/ApplicationLibCode/ReservoirDataModel/RigFlowDiagResults.cpp +++ b/ApplicationLibCode/ReservoirDataModel/RigFlowDiagResults.cpp @@ -20,6 +20,7 @@ #include "RigActiveCellInfo.h" #include "RigEclipseCaseData.h" +#include "RigFlowDiagSolverInterface.h" #include "RigFlowDiagStatCalc.h" #include "RigMainGrid.h" @@ -30,7 +31,6 @@ #include "RimEclipseResultCase.h" #include "RimFlowDiagSolution.h" -#include "RigFlowDiagSolverInterface.h" #include // Needed for HUGE_VAL on Linux namespace caf @@ -58,13 +58,6 @@ RigFlowDiagResults::RigFlowDiagResults( RimFlowDiagSolution* flowSolution, size_ m_injProdPairFluxCommunicationTimesteps.resize( timeStepCount ); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RigFlowDiagResults::~RigFlowDiagResults() -{ -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -171,10 +164,9 @@ RigFlowDiagSolverInterface* RigFlowDiagResults::solverInterface() //-------------------------------------------------------------------------------------------------- RigFlowDiagResultFrames* RigFlowDiagResults::createScalarResult( const RigFlowDiagResultAddress& resVarAddr ) { - cvf::ref newFrameSet = new RigFlowDiagResultFrames( m_timeStepCount ); - m_resultSets[resVarAddr] = newFrameSet; + m_resultSets[resVarAddr] = std::make_unique( m_timeStepCount ); - return newFrameSet.p(); + return m_resultSets[resVarAddr].get(); } //-------------------------------------------------------------------------------------------------- @@ -182,11 +174,11 @@ RigFlowDiagResultFrames* RigFlowDiagResults::createScalarResult( const RigFlowDi //-------------------------------------------------------------------------------------------------- RigFlowDiagResultFrames* RigFlowDiagResults::findScalarResult( const RigFlowDiagResultAddress& resVarAddr ) { - decltype( m_resultSets )::iterator it = m_resultSets.find( resVarAddr ); + auto it = m_resultSets.find( resVarAddr ); if ( it == m_resultSets.end() ) return nullptr; - return it->second.p(); + return it->second.get(); } //-------------------------------------------------------------------------------------------------- @@ -516,15 +508,12 @@ std::vector*>> //-------------------------------------------------------------------------------------------------- RigStatisticsDataCache* RigFlowDiagResults::statistics( const RigFlowDiagResultAddress& resVarAddr ) { - RigStatisticsDataCache* statCache = m_resultStatistics[resVarAddr].p(); - if ( !statCache ) - { - RigFlowDiagStatCalc* calculator = new RigFlowDiagStatCalc( this, resVarAddr ); - statCache = new RigStatisticsDataCache( calculator ); - m_resultStatistics[resVarAddr] = statCache; - } + auto it = m_resultStatistics.find( resVarAddr ); + if ( it != m_resultStatistics.end() ) return it->second.get(); - return statCache; + RigFlowDiagStatCalc* calculator = new RigFlowDiagStatCalc( this, resVarAddr ); + m_resultStatistics[resVarAddr] = std::make_unique( calculator ); + return m_resultStatistics[resVarAddr].get(); } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/ReservoirDataModel/RigFlowDiagResults.h b/ApplicationLibCode/ReservoirDataModel/RigFlowDiagResults.h index fb3bebd4c5..62d6ade2f2 100644 --- a/ApplicationLibCode/ReservoirDataModel/RigFlowDiagResults.h +++ b/ApplicationLibCode/ReservoirDataModel/RigFlowDiagResults.h @@ -20,15 +20,13 @@ #include "RigFlowDiagResultAddress.h" #include "RigFlowDiagDefines.h" +#include "RigFlowDiagResultFrames.h" #include "RimFlowDiagSolution.h" #include "cafAppEnum.h" #include "cafPdmPointer.h" -#include "cvfArray.h" -#include "cvfObject.h" - #include #include #include @@ -38,7 +36,7 @@ class RigStatisticsDataCache; class RigActiveCellInfo; class RigFlowDiagSolverInterface; -class RigFlowDiagResults : public cvf::Object +class RigFlowDiagResults { public: enum CellFilter @@ -54,7 +52,6 @@ public: public: RigFlowDiagResults( RimFlowDiagSolution* flowSolution, size_t timeStepCount ); - ~RigFlowDiagResults() override; const std::vector* resultValues( const RigFlowDiagResultAddress& resVarAddr, size_t timeStepIndex ); size_t timeStepCount() { return m_timeStepCount; } @@ -147,8 +144,8 @@ private: std::vector> m_hasAtemptedNativeResults; - std::map> m_resultSets; - std::map> m_resultStatistics; + std::map> m_resultSets; + std::map> m_resultStatistics; using InjectorProducerCommunicationMap = std::map, std::pair>; std::vector> m_injProdPairFluxCommunicationTimesteps; diff --git a/ApplicationLibCode/ReservoirDataModel/RigFlowDiagSolverInterface.cpp b/ApplicationLibCode/ReservoirDataModel/RigFlowDiagSolverInterface.cpp index 32063dd007..47924e9eaa 100644 --- a/ApplicationLibCode/ReservoirDataModel/RigFlowDiagSolverInterface.cpp +++ b/ApplicationLibCode/ReservoirDataModel/RigFlowDiagSolverInterface.cpp @@ -18,8 +18,6 @@ #include "RigFlowDiagSolverInterface.h" -#include - #include "RiaLogging.h" #include "RiaResultNames.h" @@ -116,7 +114,7 @@ void RigFlowDiagTimeStepResult::addResult( const RigFlowDiagResultAddress& resAd } } -class RigOpmFlowDiagStaticData : public cvf::Object +class RigOpmFlowDiagStaticData { public: RigOpmFlowDiagStaticData( const ecl_grid_type* mainGrid, const std::wstring& init, RiaDefines::EclipseUnitSystem caseUnitSystem ) @@ -247,7 +245,7 @@ RigFlowDiagTimeStepResult RigFlowDiagSolverInterface::calculate( size_t progressInfo.incrementProgress(); progressInfo.setProgressDescription( "Calculating Connectivities" ); - CVF_ASSERT( m_opmFlowDiagStaticData.notNull() ); + CVF_ASSERT( m_opmFlowDiagStaticData != nullptr ); const Opm::FlowDiagnostics::ConnectivityGraph connGraph = Opm::FlowDiagnostics::ConnectivityGraph{ static_cast( m_opmFlowDiagStaticData->m_eclGraph->numCells() ), m_opmFlowDiagStaticData->m_eclGraph->neighbours() }; @@ -504,7 +502,7 @@ RigFlowDiagTimeStepResult RigFlowDiagSolverInterface::calculate( size_t //-------------------------------------------------------------------------------------------------- bool RigFlowDiagSolverInterface::ensureStaticDataObjectInstanceCreated() { - if ( m_opmFlowDiagStaticData.isNull() ) + if ( m_opmFlowDiagStaticData == nullptr ) { // Get set of files std::wstring initFileName = getInitFileName(); @@ -524,14 +522,14 @@ bool RigFlowDiagSolverInterface::ensureStaticDataObjectInstanceCreated() } RiaDefines::EclipseUnitSystem caseUnitSystem = eclipseCaseData->unitsType(); - m_opmFlowDiagStaticData = new RigOpmFlowDiagStaticData( mainGrid, initFileName, caseUnitSystem ); + m_opmFlowDiagStaticData = std::make_unique( mainGrid, initFileName, caseUnitSystem ); ecl_grid_free( mainGrid ); } } } - return m_opmFlowDiagStaticData.notNull(); + return m_opmFlowDiagStaticData != nullptr; } //-------------------------------------------------------------------------------------------------- @@ -626,7 +624,7 @@ RigFlowDiagDefines::FlowCharacteristicsResultFrame return result; } - if ( m_opmFlowDiagStaticData.isNull() ) + if ( m_opmFlowDiagStaticData == nullptr ) { return result; } @@ -665,7 +663,7 @@ std::vector RigFlowDiagSolverInterface::calcul return retCurveArr; } - CVF_ASSERT( m_opmFlowDiagStaticData.notNull() ); + CVF_ASSERT( m_opmFlowDiagStaticData != nullptr ); if ( !m_opmFlowDiagStaticData->m_eclSaturationFunc ) { return retCurveArr; @@ -785,7 +783,7 @@ std::vector RigFlowDiagSolverInterface::calculateP return retCurveArr; } - CVF_ASSERT( m_opmFlowDiagStaticData.notNull() ); + CVF_ASSERT( m_opmFlowDiagStaticData != nullptr ); if ( !m_opmFlowDiagStaticData->m_eclPvtCurveCollection ) { return retCurveArr; @@ -890,7 +888,7 @@ bool RigFlowDiagSolverInterface::calculatePvtDynamicPropertiesFvf( int pvtNum, d return false; } - CVF_ASSERT( m_opmFlowDiagStaticData.notNull() ); + CVF_ASSERT( m_opmFlowDiagStaticData != nullptr ); if ( !m_opmFlowDiagStaticData->m_eclPvtCurveCollection ) { return false; @@ -952,7 +950,7 @@ bool RigFlowDiagSolverInterface::calculatePvtDynamicPropertiesViscosity( int pvt return false; } - CVF_ASSERT( m_opmFlowDiagStaticData.notNull() ); + CVF_ASSERT( m_opmFlowDiagStaticData != nullptr ); if ( !m_opmFlowDiagStaticData->m_eclPvtCurveCollection ) { return false; diff --git a/ApplicationLibCode/ReservoirDataModel/RigFlowDiagSolverInterface.h b/ApplicationLibCode/ReservoirDataModel/RigFlowDiagSolverInterface.h index 4b0c74cc93..b0e49271a8 100644 --- a/ApplicationLibCode/ReservoirDataModel/RigFlowDiagSolverInterface.h +++ b/ApplicationLibCode/ReservoirDataModel/RigFlowDiagSolverInterface.h @@ -21,9 +21,9 @@ #include "RigFlowDiagResultAddress.h" #include "cafPdmPointer.h" -#include "cvfObject.h" #include +#include #include #include @@ -92,8 +92,8 @@ private: void reportRelPermCurveError( const QString& message ); void reportPvtCurveError( const QString& message ); - RimEclipseResultCase* m_eclipseCase; - cvf::ref m_opmFlowDiagStaticData; + RimEclipseResultCase* m_eclipseCase; + std::unique_ptr m_opmFlowDiagStaticData; int m_pvtCurveErrorCount; int m_relpermCurveErrorCount;