Merge pull request #5762 from OPM/avoid-nan-values

Avoid nan values
This commit is contained in:
Magne Sjaastad
2020-04-03 12:35:55 +02:00
committed by GitHub
2 changed files with 14 additions and 6 deletions

View File

@@ -1008,12 +1008,6 @@ void RicWellPathExportCompletionDataFeatureImpl::exportCompdatTableUsingFormatte
for ( const RigCompletionData& data : completionData ) for ( const RigCompletionData& data : completionData )
{ {
if ( data.transmissibility() == 0.0 || data.wpimult() == 0.0 )
{
// Don't export completions without transmissibility
continue;
}
if ( currentCompletionType != data.completionType() ) if ( currentCompletionType != data.completionType() )
{ {
// The completions are sorted by completion type, write out a heading when completion type changes // The completions are sorted by completion type, write out a heading when completion type changes
@@ -1032,6 +1026,13 @@ void RicWellPathExportCompletionDataFeatureImpl::exportCompdatTableUsingFormatte
{ {
formatter.comment( QString( "%1 : %2" ).arg( metadata.name ).arg( metadata.comment ) ); formatter.comment( QString( "%1 : %2" ).arg( metadata.name ).arg( metadata.comment ) );
} }
if ( data.transmissibility() == 0.0 || data.wpimult() == 0.0 )
{
// Don't export completions without transmissibility
continue;
}
formatter.add( data.wellName() ); formatter.add( data.wellName() );
if ( !gridName.isEmpty() ) if ( !gridName.isEmpty() )

View File

@@ -35,6 +35,13 @@ double RigTransmissibilityEquations::wellBoreTransmissibilityComponent( double c
{ {
double K = cvf::Math::sqrt( permeabilityNormalDirection1 * permeabilityNormalDirection2 ); double K = cvf::Math::sqrt( permeabilityNormalDirection1 * permeabilityNormalDirection2 );
const double lowerLimit = 1.0e-9;
if ( std::fabs( permeabilityNormalDirection1 * permeabilityNormalDirection2 ) < lowerLimit )
{
// Guard further computations to avoid nan values
return 0.0;
}
double nominator = cDarcyForRelevantUnit * 2 * cvf::PI_D * K * cellPerforationVectorComponent; double nominator = cDarcyForRelevantUnit * 2 * cvf::PI_D * K * cellPerforationVectorComponent;
double peaceManRad = peacemanRadius( permeabilityNormalDirection1, double peaceManRad = peacemanRadius( permeabilityNormalDirection1,