#5465 Allen : Guard access to data if no NNC data has been loaded

This commit is contained in:
Magne Sjaastad 2020-02-04 16:07:06 +01:00
parent 9c90caedd1
commit cb30841d1e

View File

@ -2444,20 +2444,23 @@ void RigCaseCellResultsData::computeNncCombRiMULT()
if ( m_ownerMainGrid->nncData()->staticConnectionScalarResult( riCombMultEclResAddr ) ) return; if ( m_ownerMainGrid->nncData()->staticConnectionScalarResult( riCombMultEclResAddr ) ) return;
std::vector<double>& riMultResults = m_ownerMainGrid->nncData()->makeStaticConnectionScalarResult(
RiaDefines::propertyNameRiCombMult() );
const std::vector<double>* riTransResults = m_ownerMainGrid->nncData()->staticConnectionScalarResult( const std::vector<double>* riTransResults = m_ownerMainGrid->nncData()->staticConnectionScalarResult(
riCombTransEclResAddr ); riCombTransEclResAddr );
const std::vector<double>* transResults = m_ownerMainGrid->nncData()->staticConnectionScalarResult( const std::vector<double>* transResults = m_ownerMainGrid->nncData()->staticConnectionScalarResult(
combTransEclResAddr ); combTransEclResAddr );
m_ownerMainGrid->nncData()->setEclResultAddress( RiaDefines::propertyNameRiCombMult(), riCombMultEclResAddr ); if ( riTransResults && transResults && ( riTransResults->size() == transResults->size() ) )
for ( size_t nncConIdx = 0; nncConIdx < riMultResults.size(); ++nncConIdx )
{ {
riMultResults[nncConIdx] = riMult( ( *transResults )[nncConIdx], ( *riTransResults )[nncConIdx] ); std::vector<double>& riMultResults = m_ownerMainGrid->nncData()->makeStaticConnectionScalarResult(
RiaDefines::propertyNameRiCombMult() );
m_ownerMainGrid->nncData()->setEclResultAddress( RiaDefines::propertyNameRiCombMult(), riCombMultEclResAddr );
for ( size_t nncConIdx = 0; nncConIdx < riMultResults.size(); ++nncConIdx )
{
riMultResults[nncConIdx] = riMult( ( *transResults )[nncConIdx], ( *riTransResults )[nncConIdx] );
}
} }
} }
@ -2585,14 +2588,18 @@ void RigCaseCellResultsData::computeNncCombRiTRANSbyArea()
if ( m_ownerMainGrid->nncData()->staticConnectionScalarResult( riCombTransByAreaEclResAddr ) ) return; if ( m_ownerMainGrid->nncData()->staticConnectionScalarResult( riCombTransByAreaEclResAddr ) ) return;
const std::vector<double>* transResults = m_ownerMainGrid->nncData()->staticConnectionScalarResult(
combTransEclResAddr );
if ( !transResults ) return;
std::vector<double>& riAreaNormTransResults = m_ownerMainGrid->nncData()->makeStaticConnectionScalarResult( std::vector<double>& riAreaNormTransResults = m_ownerMainGrid->nncData()->makeStaticConnectionScalarResult(
RiaDefines::propertyNameRiCombTransByArea() ); RiaDefines::propertyNameRiCombTransByArea() );
m_ownerMainGrid->nncData()->setEclResultAddress( RiaDefines::propertyNameRiCombTransByArea(), m_ownerMainGrid->nncData()->setEclResultAddress( RiaDefines::propertyNameRiCombTransByArea(),
riCombTransByAreaEclResAddr ); riCombTransByAreaEclResAddr );
const std::vector<double>* transResults = m_ownerMainGrid->nncData()->staticConnectionScalarResult( if ( transResults->size() != riAreaNormTransResults.size() ) return;
combTransEclResAddr );
const std::vector<RigConnection>& connections = m_ownerMainGrid->nncData()->connections(); const std::vector<RigConnection>& connections = m_ownerMainGrid->nncData()->connections();