mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#7400 StimPlanModel: Add EQLNUM result to calculator.
Take results from EQLNUM_1 input properties for missing values in static eclipse case.
This commit is contained in:
parent
916cbb306f
commit
f0c70a0fd2
@ -55,6 +55,7 @@ void AppEnum<RiaDefines::CurveProperty>::setUp()
|
||||
addItem( RiaDefines::CurveProperty::IMMOBILE_FLUID_SATURATION, "IMMOBILE_FLUID_SATURATION", "Immobile Fluid Saturation" );
|
||||
addItem( RiaDefines::CurveProperty::NET_TO_GROSS, "NET_TO_GROSS", "Net-To-Gross" );
|
||||
addItem( RiaDefines::CurveProperty::POROSITY_UNSCALED, "POROSITY_UNSCALED", "Porosity (Unscaled)" );
|
||||
addItem( RiaDefines::CurveProperty::EQLNUM, "EQLNUM", "Equilibration Number" );
|
||||
|
||||
setDefault( RiaDefines::CurveProperty::UNDEFINED );
|
||||
}
|
||||
|
@ -50,6 +50,7 @@ enum class CurveProperty
|
||||
IMMOBILE_FLUID_SATURATION,
|
||||
NET_TO_GROSS,
|
||||
POROSITY_UNSCALED,
|
||||
EQLNUM,
|
||||
};
|
||||
|
||||
double defaultPorosity();
|
||||
|
@ -98,6 +98,7 @@ RimStimPlanModelPlot* RicNewStimPlanModelPlotFeature::createPlot( RimStimPlanMod
|
||||
plots["Pressure"] = { RiaDefines::CurveProperty::INITIAL_PRESSURE, RiaDefines::CurveProperty::PRESSURE };
|
||||
plots["Permeability"] = { RiaDefines::CurveProperty::PERMEABILITY_X, RiaDefines::CurveProperty::PERMEABILITY_Z };
|
||||
plots["Net-To-Gross"] = { RiaDefines::CurveProperty::NET_TO_GROSS };
|
||||
plots["EQLNUM"] = { RiaDefines::CurveProperty::EQLNUM };
|
||||
|
||||
std::set<QString> logarithmicPlots;
|
||||
logarithmicPlots.insert( "Permeability" );
|
||||
@ -361,7 +362,8 @@ void RicNewStimPlanModelPlotFeature::createParametersTrack( RimStimPlanModelPlot
|
||||
QString resultVariable = stimPlanModel->eclipseResultVariable( propertyType );
|
||||
RiaDefines::ResultCatType resultCategoryType = stimPlanModel->eclipseResultCategory( propertyType );
|
||||
// TODO: maybe improve?
|
||||
bool fixedInitialTimeStep = ( propertyType == RiaDefines::CurveProperty::INITIAL_PRESSURE );
|
||||
bool fixedInitialTimeStep = ( propertyType == RiaDefines::CurveProperty::INITIAL_PRESSURE ||
|
||||
resultCategoryType == RiaDefines::ResultCatType::STATIC_NATIVE );
|
||||
|
||||
RimStimPlanModelCurve* curve = new RimStimPlanModelCurve;
|
||||
curve->setCurveProperty( propertyType );
|
||||
|
@ -78,6 +78,7 @@
|
||||
#include "cvfPlane.h"
|
||||
|
||||
#include <cmath>
|
||||
#include <limits>
|
||||
|
||||
CAF_PDM_SOURCE_INIT( RimStimPlanModel, "StimPlanModel" );
|
||||
|
||||
@ -1156,6 +1157,10 @@ double RimStimPlanModel::getDefaultForMissingValue( RiaDefines::CurveProperty cu
|
||||
{
|
||||
return 1.0;
|
||||
}
|
||||
else if ( curveProperty == RiaDefines::CurveProperty::EQLNUM )
|
||||
{
|
||||
return std::numeric_limits<double>::infinity();
|
||||
}
|
||||
else
|
||||
{
|
||||
RiaLogging::error( QString( "Missing default value for %1." )
|
||||
@ -1202,7 +1207,7 @@ double RimStimPlanModel::getDefaultForMissingOverburdenValue( RiaDefines::CurveP
|
||||
{
|
||||
return 1.0;
|
||||
}
|
||||
else if ( curveProperty == RiaDefines::CurveProperty::PRESSURE )
|
||||
else if ( curveProperty == RiaDefines::CurveProperty::PRESSURE || curveProperty == RiaDefines::CurveProperty::EQLNUM )
|
||||
{
|
||||
return std::numeric_limits<double>::infinity();
|
||||
}
|
||||
@ -1239,7 +1244,7 @@ double RimStimPlanModel::getDefaultForMissingUnderburdenValue( RiaDefines::Curve
|
||||
{
|
||||
return 1.0;
|
||||
}
|
||||
else if ( curveProperty == RiaDefines::CurveProperty::PRESSURE )
|
||||
else if ( curveProperty == RiaDefines::CurveProperty::PRESSURE || curveProperty == RiaDefines::CurveProperty::EQLNUM )
|
||||
{
|
||||
return std::numeric_limits<double>::infinity();
|
||||
}
|
||||
@ -1551,6 +1556,7 @@ bool RimStimPlanModel::useStaticEclipseCase( RiaDefines::CurveProperty curveProp
|
||||
RiaDefines::CurveProperty::PERMEABILITY_Z,
|
||||
RiaDefines::CurveProperty::FACIES,
|
||||
RiaDefines::CurveProperty::NET_TO_GROSS,
|
||||
RiaDefines::CurveProperty::EQLNUM,
|
||||
};
|
||||
|
||||
return std::find( matching.begin(), matching.end(), curveProperty ) != matching.end();
|
||||
@ -1814,6 +1820,8 @@ QString RimStimPlanModel::eclipseResultVariable( RiaDefines::CurveProperty curve
|
||||
if ( curveProperty == RiaDefines::CurveProperty::PRESSURE ||
|
||||
curveProperty == RiaDefines::CurveProperty::INITIAL_PRESSURE )
|
||||
return "PRESSURE";
|
||||
else if ( curveProperty == RiaDefines::CurveProperty::EQLNUM )
|
||||
return "EQLNUM";
|
||||
else if ( curveProperty == RiaDefines::CurveProperty::PERMEABILITY_X )
|
||||
return "PERMX";
|
||||
else if ( curveProperty == RiaDefines::CurveProperty::PERMEABILITY_Z )
|
||||
|
@ -61,6 +61,7 @@ bool RimStimPlanModelWellLogCalculator::isMatching( RiaDefines::CurveProperty cu
|
||||
RiaDefines::CurveProperty::PERMEABILITY_X,
|
||||
RiaDefines::CurveProperty::PERMEABILITY_Z,
|
||||
RiaDefines::CurveProperty::NET_TO_GROSS,
|
||||
RiaDefines::CurveProperty::EQLNUM,
|
||||
};
|
||||
|
||||
return std::find( matching.begin(), matching.end(), curveProperty ) != matching.end();
|
||||
@ -100,7 +101,9 @@ bool RimStimPlanModelWellLogCalculator::calculate( RiaDefines::CurveProperty cur
|
||||
|
||||
if ( stimPlanModel->missingValueStrategy( curveProperty ) == RimStimPlanModel::MissingValueStrategy::DEFAULT_VALUE )
|
||||
{
|
||||
if ( !replaceMissingValuesWithDefault( curveProperty, stimPlanModel, timeStep, resultVariable, values ) )
|
||||
// Input properties must use first time step
|
||||
int replacementTimeStep = 0;
|
||||
if ( !replaceMissingValuesWithDefault( curveProperty, stimPlanModel, replacementTimeStep, resultVariable, values ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user