mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#4434 Flow Diag adjustments : Use active cells from PORV in Flow Diag
This commit is contained in:
parent
aa0c372336
commit
ff16156c2a
@ -83,6 +83,13 @@ public:
|
||||
|
||||
std::set<RiaDefines::PhaseType> availablePhases() const override;
|
||||
|
||||
// Load main, it is up to the consumer to release the memory using
|
||||
//
|
||||
// ecl_grid_type* myGrid = loadMainGrid();
|
||||
// free(myGrid);
|
||||
//
|
||||
ecl_grid_type* loadMainGrid() const;
|
||||
|
||||
private:
|
||||
bool readActiveCellInfo();
|
||||
void buildMetaData(ecl_grid_type* grid);
|
||||
@ -108,8 +115,6 @@ private:
|
||||
|
||||
static bool isEclipseAndSoursimTimeStepsEqual(const QDateTime& eclipseDateTime, const QDateTime& sourSimDateTime);
|
||||
|
||||
ecl_grid_type* loadMainGrid() const;
|
||||
|
||||
private:
|
||||
QString m_fileName; // Name of file used to start accessing Eclipse output files
|
||||
QStringList m_filesWithSameBaseName; // Set of files in filename's path with same base name as filename
|
||||
|
@ -2639,6 +2639,14 @@ void RigCaseCellResultsData::setReaderInterface(RifReaderInterface* readerInterf
|
||||
m_readerInterface = readerInterface;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const RifReaderInterface* RigCaseCellResultsData::readerInterface() const
|
||||
{
|
||||
return m_readerInterface.p();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -57,6 +57,7 @@ public:
|
||||
// Initialization
|
||||
|
||||
void setReaderInterface(RifReaderInterface* readerInterface);
|
||||
const RifReaderInterface* readerInterface() const;
|
||||
void setHdf5Filename(const QString& hdf5SourSimFilename );
|
||||
void setActiveFormationNames(RigFormationNames* activeFormationNames);
|
||||
RigFormationNames* activeFormationNames();
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "RiaLogging.h"
|
||||
|
||||
#include "RifEclipseOutputFileTools.h"
|
||||
#include "RifReaderEclipseOutput.h"
|
||||
#include "RifReaderInterface.h"
|
||||
|
||||
#include "RigActiveCellInfo.h"
|
||||
@ -121,11 +122,11 @@ void RigFlowDiagTimeStepResult::addResult(const RigFlowDiagResultAddress& resAdd
|
||||
class RigOpmFlowDiagStaticData : public cvf::Object
|
||||
{
|
||||
public:
|
||||
RigOpmFlowDiagStaticData(const std::string& grid, const std::string& init, RiaEclipseUnitTools::UnitSystem caseUnitSystem)
|
||||
RigOpmFlowDiagStaticData(const ecl_grid_type* mainGrid, const std::string& init, RiaEclipseUnitTools::UnitSystem caseUnitSystem)
|
||||
{
|
||||
Opm::ECLInitFileData initData(init);
|
||||
|
||||
m_eclGraph.reset(new Opm::ECLGraph(Opm::ECLGraph::load(grid, initData)));
|
||||
m_eclGraph.reset(new Opm::ECLGraph(Opm::ECLGraph::load(mainGrid, initData)));
|
||||
|
||||
m_hasUnifiedRestartFile = false;
|
||||
m_poreVolume = m_eclGraph->poreVolume();
|
||||
@ -518,8 +519,22 @@ bool RigFlowDiagSolverInterface::ensureStaticDataObjectInstanceCreated()
|
||||
return false;
|
||||
}
|
||||
|
||||
RiaEclipseUnitTools::UnitSystem caseUnitSystem = eclipseCaseData->unitsType();
|
||||
m_opmFlowDiagStaticData = new RigOpmFlowDiagStaticData(gridFileName.toStdString(), initFileName, caseUnitSystem);
|
||||
//ecl_grid_type* mainGrid = eclipseCaseData->results(RiaDefines::MATRIX_MODEL)->readerInterface();
|
||||
auto fileReader = eclipseCaseData->results(RiaDefines::MATRIX_MODEL)->readerInterface();
|
||||
auto eclOutput = dynamic_cast<const RifReaderEclipseOutput*>(fileReader);
|
||||
if (eclOutput)
|
||||
{
|
||||
ecl_grid_type* mainGrid = eclOutput->loadMainGrid();
|
||||
if (!mainGrid)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
RiaEclipseUnitTools::UnitSystem caseUnitSystem = eclipseCaseData->unitsType();
|
||||
m_opmFlowDiagStaticData = new RigOpmFlowDiagStaticData(mainGrid, initFileName, caseUnitSystem);
|
||||
|
||||
free(mainGrid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user