#5925 Simplify computation of fault data

This commit is contained in:
Magne Sjaastad
2020-05-13 17:57:21 +02:00
parent 928acfdf9b
commit 73ac3e5db1
4 changed files with 33 additions and 30 deletions

View File

@@ -609,18 +609,7 @@ void RimEclipseCase::computeCachedData()
{
auto task = pInf.task( "Calculating faults", 17 );
bool computeFaults = RiaApplication::instance()->preferences()->readerSettings()->importFaults();
if ( computeFaults )
{
bool computeNncs = RiaApplication::instance()->preferences()->readerSettings()->importNNCs();
bool includeInactiveCells =
RiaApplication::instance()->preferences()->readerSettings()->includeInactiveCellsInFaultGeometry();
rigEclipseCase->mainGrid()->calculateFaults( rigEclipseCase->activeCellInfo(
RiaDefines::PorosityModelType::MATRIX_MODEL ),
computeNncs,
includeInactiveCells );
}
ensureFaultDataIsComputed();
}
{
@@ -701,6 +690,29 @@ void RimEclipseCase::loadAndSyncronizeInputProperties( bool includeGridFileName
RifEclipseInputPropertyLoader::loadAndSyncronizeInputProperties( inputPropertyCollection(), eclipseCaseData(), filenames );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimEclipseCase::ensureFaultDataIsComputed()
{
RigEclipseCaseData* rigEclipseCase = eclipseCaseData();
if ( rigEclipseCase )
{
bool computeFaults = RiaApplication::instance()->preferences()->readerSettings()->importFaults();
if ( computeFaults )
{
bool computeNncs = RiaApplication::instance()->preferences()->readerSettings()->importNNCs();
bool includeInactiveCells =
RiaApplication::instance()->preferences()->readerSettings()->includeInactiveCellsInFaultGeometry();
rigEclipseCase->mainGrid()->calculateFaults( rigEclipseCase->activeCellInfo(
RiaDefines::PorosityModelType::MATRIX_MODEL ),
computeNncs,
includeInactiveCells );
}
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -115,6 +115,8 @@ public:
void loadAndSyncronizeInputProperties( bool includeGridFileName );
void ensureFaultDataIsComputed();
protected:
void initAfterRead() override;
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;

View File

@@ -78,8 +78,7 @@ RimIdenticalGridCaseGroup* RimEclipseCaseCollection::createIdenticalCaseGroupFro
{
CVF_ASSERT( mainCase );
RigEclipseCaseData* rigEclipseCase = mainCase->eclipseCaseData();
RigMainGrid* equalGrid = registerCaseInGridCollection( rigEclipseCase );
RigMainGrid* equalGrid = registerCaseInGridCollection( mainCase );
CVF_ASSERT( equalGrid );
RimIdenticalGridCaseGroup* group = new RimIdenticalGridCaseGroup;
@@ -116,9 +115,10 @@ void RimEclipseCaseCollection::removeCaseFromAllGroups( RimEclipseCase* reservoi
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RigMainGrid* RimEclipseCaseCollection::registerCaseInGridCollection( RigEclipseCaseData* rigEclipseCase )
RigMainGrid* RimEclipseCaseCollection::registerCaseInGridCollection( RimEclipseCase* rimEclipseCase )
{
CVF_ASSERT( rigEclipseCase );
CVF_ASSERT( rimEclipseCase && rimEclipseCase->eclipseCaseData() );
RigEclipseCaseData* rigEclipseCase = rimEclipseCase->eclipseCaseData();
RigMainGrid* equalGrid = m_gridCollection->findEqualGrid( rigEclipseCase->mainGrid() );
@@ -132,17 +132,7 @@ RigMainGrid* RimEclipseCaseCollection::registerCaseInGridCollection( RigEclipseC
// This is the first insertion of this grid, compute cached data
rigEclipseCase->mainGrid()->computeCachedData();
bool computeFaults = RiaApplication::instance()->preferences()->readerSettings()->importFaults();
if ( computeFaults )
{
bool computeNncs = RiaApplication::instance()->preferences()->readerSettings()->importNNCs();
bool includeInactiveCells =
RiaApplication::instance()->preferences()->readerSettings()->includeInactiveCellsInFaultGeometry();
rigEclipseCase->mainGrid()->calculateFaults( rigEclipseCase->activeCellInfo(
RiaDefines::PorosityModelType::MATRIX_MODEL ),
computeNncs,
includeInactiveCells );
}
rimEclipseCase->ensureFaultDataIsComputed();
equalGrid = rigEclipseCase->mainGrid();
}
@@ -159,8 +149,7 @@ void RimEclipseCaseCollection::insertCaseInCaseGroup( RimIdenticalGridCaseGroup*
{
CVF_ASSERT( rimReservoir );
RigEclipseCaseData* rigEclipseCase = rimReservoir->eclipseCaseData();
registerCaseInGridCollection( rigEclipseCase );
registerCaseInGridCollection( rimReservoir );
caseGroup->addCase( rimReservoir );
}

View File

@@ -58,6 +58,6 @@ public:
void recomputeStatisticsForAllCaseGroups();
private:
RigMainGrid* registerCaseInGridCollection( RigEclipseCaseData* rigEclipseCase );
RigMainGrid* registerCaseInGridCollection( RimEclipseCase* rimEclipseCase );
cvf::ref<RigGridManager> m_gridCollection;
};