mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#7871 StimPlan Model: Add check-box for EQLNUM pressure interpolation
This commit is contained in:
parent
56a86eee5f
commit
511439277a
@ -183,6 +183,7 @@ bool RimStimPlanModelPressureCalculator::extractValuesForProperty( RiaDefines::C
|
|||||||
values = results;
|
values = results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool useEqlnumForPressureInterpolation = stimPlanModel->stimPlanModelTemplate()->useEqlnumForPressureInterpolation();
|
||||||
if ( curveProperty == RiaDefines::CurveProperty::INITIAL_PRESSURE )
|
if ( curveProperty == RiaDefines::CurveProperty::INITIAL_PRESSURE )
|
||||||
{
|
{
|
||||||
auto hasMissingValues = []( const std::vector<double>& vec ) {
|
auto hasMissingValues = []( const std::vector<double>& vec ) {
|
||||||
@ -191,12 +192,12 @@ bool RimStimPlanModelPressureCalculator::extractValuesForProperty( RiaDefines::C
|
|||||||
|
|
||||||
if ( hasMissingValues( values ) )
|
if ( hasMissingValues( values ) )
|
||||||
{
|
{
|
||||||
if ( !interpolateInitialPressureByEquilibrationRegion( curveProperty,
|
if ( useEqlnumForPressureInterpolation && !interpolateInitialPressureByEquilibrationRegion( curveProperty,
|
||||||
stimPlanModel,
|
stimPlanModel,
|
||||||
timeStep,
|
timeStep,
|
||||||
measuredDepthValues,
|
measuredDepthValues,
|
||||||
tvDepthValues,
|
tvDepthValues,
|
||||||
values ) )
|
values ) )
|
||||||
{
|
{
|
||||||
RiaLogging::error( "Pressure interpolation by equilibration region failed." );
|
RiaLogging::error( "Pressure interpolation by equilibration region failed." );
|
||||||
}
|
}
|
||||||
@ -210,7 +211,8 @@ bool RimStimPlanModelPressureCalculator::extractValuesForProperty( RiaDefines::C
|
|||||||
{
|
{
|
||||||
std::vector<double> initialPressureValues = values;
|
std::vector<double> initialPressureValues = values;
|
||||||
values.clear();
|
values.clear();
|
||||||
if ( !interpolatePressureDifferenceByEquilibrationRegion( curveProperty,
|
if ( useEqlnumForPressureInterpolation &&
|
||||||
|
!interpolatePressureDifferenceByEquilibrationRegion( curveProperty,
|
||||||
stimPlanModel,
|
stimPlanModel,
|
||||||
timeStep,
|
timeStep,
|
||||||
measuredDepthValues,
|
measuredDepthValues,
|
||||||
|
@ -95,6 +95,14 @@ RimStimPlanModelTemplate::RimStimPlanModelTemplate()
|
|||||||
|
|
||||||
CAF_PDM_InitScriptableFieldNoDefault( &m_staticEclipseCase, "StaticEclipseCase", "Static Case", "", "", "" );
|
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,
|
CAF_PDM_InitScriptableField( &m_defaultPorosity,
|
||||||
"DefaultPorosity",
|
"DefaultPorosity",
|
||||||
RiaDefines::defaultPorosity(),
|
RiaDefines::defaultPorosity(),
|
||||||
@ -312,6 +320,7 @@ void RimStimPlanModelTemplate::defineUiOrdering( QString uiConfigName, caf::PdmU
|
|||||||
pressureDataSourceGroup->add( &m_useTableForInitialPressure, { true, 2, 1 } );
|
pressureDataSourceGroup->add( &m_useTableForInitialPressure, { true, 2, 1 } );
|
||||||
pressureDataSourceGroup->add( &m_editPressureTable, { false, 1, 0 } );
|
pressureDataSourceGroup->add( &m_editPressureTable, { false, 1, 0 } );
|
||||||
pressureDataSourceGroup->add( &m_useTableForPressure );
|
pressureDataSourceGroup->add( &m_useTableForPressure );
|
||||||
|
pressureDataSourceGroup->add( &m_useEqlnumForPressureInterpolation );
|
||||||
m_initialPressureEclipseCase.uiCapability()->setUiReadOnly( m_useTableForInitialPressure() );
|
m_initialPressureEclipseCase.uiCapability()->setUiReadOnly( m_useTableForInitialPressure() );
|
||||||
|
|
||||||
caf::PdmUiOrdering* defaultsGroup = uiOrdering.addNewGroup( "Defaults" );
|
caf::PdmUiOrdering* defaultsGroup = uiOrdering.addNewGroup( "Defaults" );
|
||||||
@ -912,3 +921,11 @@ bool RimStimPlanModelTemplate::usePressureTableForProperty( RiaDefines::CurvePro
|
|||||||
else
|
else
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
bool RimStimPlanModelTemplate::useEqlnumForPressureInterpolation() const
|
||||||
|
{
|
||||||
|
return m_useEqlnumForPressureInterpolation;
|
||||||
|
}
|
||||||
|
@ -118,6 +118,8 @@ public:
|
|||||||
|
|
||||||
bool usePressureTableForProperty( RiaDefines::CurveProperty curveProperty ) const;
|
bool usePressureTableForProperty( RiaDefines::CurveProperty curveProperty ) const;
|
||||||
|
|
||||||
|
bool useEqlnumForPressureInterpolation() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
|
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
|
||||||
|
|
||||||
@ -148,6 +150,7 @@ private:
|
|||||||
caf::PdmPtrField<RimEclipseCase*> m_initialPressureEclipseCase;
|
caf::PdmPtrField<RimEclipseCase*> m_initialPressureEclipseCase;
|
||||||
caf::PdmField<bool> m_useTableForInitialPressure;
|
caf::PdmField<bool> m_useTableForInitialPressure;
|
||||||
caf::PdmField<bool> m_useTableForPressure;
|
caf::PdmField<bool> m_useTableForPressure;
|
||||||
|
caf::PdmField<bool> m_useEqlnumForPressureInterpolation;
|
||||||
caf::PdmField<bool> m_editPressureTable;
|
caf::PdmField<bool> m_editPressureTable;
|
||||||
caf::PdmPtrField<RimEclipseCase*> m_staticEclipseCase;
|
caf::PdmPtrField<RimEclipseCase*> m_staticEclipseCase;
|
||||||
caf::PdmField<double> m_defaultPorosity;
|
caf::PdmField<double> m_defaultPorosity;
|
||||||
|
Loading…
Reference in New Issue
Block a user