NNC : Add settings to preferences and compute on demand

Ported several commits from dev

#5913 Import NNC : Do not compute NNCs if importNNCs is disabled in preferences
#5914 Import faults : Avoid computation of faults if turned off in preferences 
#5925 NNC computations : Add flag in preferences to include inactive cells
Allan : Do not test for cached data in pytest
#5925 Simplify computation of fault data
#5932 NNC data : Compute geometry when NNC data is asked for
Remove obsolete parameters
This commit is contained in:
Magne Sjaastad
2020-05-15 11:45:50 +02:00
parent 72436f0a72
commit 04243dfa64
25 changed files with 219 additions and 145 deletions

View File

@@ -446,23 +446,27 @@ bool RifReaderEclipseOutput::open( const QString& fileName, RigEclipseCaseData*
if ( isNNCsEnabled() )
{
caf::ProgressInfo nncProgress( 10, "" );
RigMainGrid* mainGrid = eclipseCase->mainGrid();
{
auto subNncTask = nncProgress.task( "Reading static NNC data" );
transferStaticNNCData( mainEclGrid, m_ecl_init_file, eclipseCase->mainGrid() );
transferStaticNNCData( mainEclGrid, m_ecl_init_file, mainGrid );
}
// This test should probably be improved to test more directly for presence of NNC data
if ( m_eclipseCase->results( RiaDefines::MATRIX_MODEL )->hasFlowDiagUsableFluxes() )
{
auto subNncTask = nncProgress.task( "Reading dynamic NNC data" );
transferDynamicNNCData( mainEclGrid, eclipseCase->mainGrid() );
transferDynamicNNCData( mainEclGrid, mainGrid );
}
{
auto subNncTask = nncProgress.task( "Processing connections", 8 );
eclipseCase->mainGrid()->nncData()->processNativeConnections( *( eclipseCase->mainGrid() ) );
}
RigActiveCellInfo* activeCellInfo =
m_eclipseCase->activeCellInfo( RiaDefines::PorosityModelType::MATRIX_MODEL );
bool includeInactiveCells =
RiaApplication::instance()->preferences()->readerSettings()->includeInactiveCellsInFaultGeometry;
mainGrid->nncData()->setSourceDataForProcessing( mainGrid, activeCellInfo, includeInactiveCells );
}
}
@@ -741,11 +745,9 @@ void RifReaderEclipseOutput::transferStaticNNCData( const ecl_grid_type* mainEcl
transmissibilityValuesTemp.push_back( transValues[nIdx] );
}
mainGrid->nncData()->setConnections( nncConnections );
std::vector<double>& transmissibilityValues =
mainGrid->nncData()->makeStaticConnectionScalarResult( RiaDefines::propertyNameCombTrans() );
transmissibilityValues = transmissibilityValuesTemp;
mainGrid->nncData()->setNativeConnections( nncConnections );
mainGrid->nncData()->makeScalarResultAndSetValues( RiaDefines::propertyNameCombTrans(),
transmissibilityValuesTemp );
}
ecl_nnc_data_free( tran_data );