#7871 StimPlan Model: Add check-box for EQLNUM pressure interpolation

This commit is contained in:
Kristian Bendiksen 2021-08-18 13:00:06 +02:00
parent 56a86eee5f
commit 511439277a
3 changed files with 29 additions and 7 deletions

View File

@ -183,6 +183,7 @@ bool RimStimPlanModelPressureCalculator::extractValuesForProperty( RiaDefines::C
values = results;
}
bool useEqlnumForPressureInterpolation = stimPlanModel->stimPlanModelTemplate()->useEqlnumForPressureInterpolation();
if ( curveProperty == RiaDefines::CurveProperty::INITIAL_PRESSURE )
{
auto hasMissingValues = []( const std::vector<double>& vec ) {
@ -191,7 +192,7 @@ bool RimStimPlanModelPressureCalculator::extractValuesForProperty( RiaDefines::C
if ( hasMissingValues( values ) )
{
if ( !interpolateInitialPressureByEquilibrationRegion( curveProperty,
if ( useEqlnumForPressureInterpolation && !interpolateInitialPressureByEquilibrationRegion( curveProperty,
stimPlanModel,
timeStep,
measuredDepthValues,
@ -210,7 +211,8 @@ bool RimStimPlanModelPressureCalculator::extractValuesForProperty( RiaDefines::C
{
std::vector<double> initialPressureValues = values;
values.clear();
if ( !interpolatePressureDifferenceByEquilibrationRegion( curveProperty,
if ( useEqlnumForPressureInterpolation &&
!interpolatePressureDifferenceByEquilibrationRegion( curveProperty,
stimPlanModel,
timeStep,
measuredDepthValues,

View File

@ -95,6 +95,14 @@ RimStimPlanModelTemplate::RimStimPlanModelTemplate()
CAF_PDM_InitScriptableFieldNoDefault( &m_staticEclipseCase, "StaticEclipseCase", "Static Case", "", "", "" );
CAF_PDM_InitField( &m_useEqlnumForPressureInterpolation,
"UseEqlNumForPressureInterpolation",
true,
"Use EQLNUM For Pressure Interpolation",
"",
"",
"" );
CAF_PDM_InitScriptableField( &m_defaultPorosity,
"DefaultPorosity",
RiaDefines::defaultPorosity(),
@ -312,6 +320,7 @@ void RimStimPlanModelTemplate::defineUiOrdering( QString uiConfigName, caf::PdmU
pressureDataSourceGroup->add( &m_useTableForInitialPressure, { true, 2, 1 } );
pressureDataSourceGroup->add( &m_editPressureTable, { false, 1, 0 } );
pressureDataSourceGroup->add( &m_useTableForPressure );
pressureDataSourceGroup->add( &m_useEqlnumForPressureInterpolation );
m_initialPressureEclipseCase.uiCapability()->setUiReadOnly( m_useTableForInitialPressure() );
caf::PdmUiOrdering* defaultsGroup = uiOrdering.addNewGroup( "Defaults" );
@ -912,3 +921,11 @@ bool RimStimPlanModelTemplate::usePressureTableForProperty( RiaDefines::CurvePro
else
return false;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimStimPlanModelTemplate::useEqlnumForPressureInterpolation() const
{
return m_useEqlnumForPressureInterpolation;
}

View File

@ -118,6 +118,8 @@ public:
bool usePressureTableForProperty( RiaDefines::CurveProperty curveProperty ) const;
bool useEqlnumForPressureInterpolation() const;
protected:
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
@ -148,6 +150,7 @@ private:
caf::PdmPtrField<RimEclipseCase*> m_initialPressureEclipseCase;
caf::PdmField<bool> m_useTableForInitialPressure;
caf::PdmField<bool> m_useTableForPressure;
caf::PdmField<bool> m_useEqlnumForPressureInterpolation;
caf::PdmField<bool> m_editPressureTable;
caf::PdmPtrField<RimEclipseCase*> m_staticEclipseCase;
caf::PdmField<double> m_defaultPorosity;