#7339 StimPlanModel: Add case for initial pressure data.

This commit is contained in:
Kristian Bendiksen 2021-02-17 10:15:35 +01:00
parent 77d02e67da
commit 8e29c2eb66
4 changed files with 52 additions and 7 deletions

View File

@ -142,6 +142,14 @@ RimStimPlanModel::RimStimPlanModel()
CAF_PDM_InitScriptableField( &m_timeStep, "TimeStep", 0, "Time Step", "", "", "" ); CAF_PDM_InitScriptableField( &m_timeStep, "TimeStep", 0, "Time Step", "", "", "" );
m_timeStep.uiCapability()->setUiReadOnly( true ); m_timeStep.uiCapability()->setUiReadOnly( true );
CAF_PDM_InitScriptableFieldNoDefault( &m_initialPressureEclipseCase,
"InitialPressureEclipseCase",
"Initial Pressure Case",
"",
"",
"" );
m_initialPressureEclipseCase.uiCapability()->setUiReadOnly( true );
CAF_PDM_InitScriptableFieldNoDefault( &m_staticEclipseCase, "StaticEclipseCase", "Static Case", "", "", "" ); CAF_PDM_InitScriptableFieldNoDefault( &m_staticEclipseCase, "StaticEclipseCase", "Static Case", "", "", "" );
m_staticEclipseCase.uiCapability()->setUiReadOnly( true ); m_staticEclipseCase.uiCapability()->setUiReadOnly( true );
@ -394,7 +402,8 @@ QList<caf::PdmOptionItemInfo> RimStimPlanModel::calculateValueOptions( const caf
} }
} }
} }
else if ( fieldNeedingOptions == &m_eclipseCase || fieldNeedingOptions == &m_staticEclipseCase ) else if ( fieldNeedingOptions == &m_eclipseCase || fieldNeedingOptions == &m_staticEclipseCase ||
fieldNeedingOptions == &m_initialPressureEclipseCase )
{ {
RimTools::eclipseCaseOptionItems( &options ); RimTools::eclipseCaseOptionItems( &options );
} }
@ -903,6 +912,7 @@ void RimStimPlanModel::defineUiOrdering( QString uiConfigName, caf::PdmUiOrderin
uiOrdering.add( &m_eclipseCase ); uiOrdering.add( &m_eclipseCase );
uiOrdering.add( &m_timeStep ); uiOrdering.add( &m_timeStep );
uiOrdering.add( &m_initialPressureEclipseCase );
uiOrdering.add( &m_staticEclipseCase ); uiOrdering.add( &m_staticEclipseCase );
uiOrdering.add( &m_MD ); uiOrdering.add( &m_MD );
uiOrdering.add( &m_extractionType ); uiOrdering.add( &m_extractionType );
@ -1548,7 +1558,11 @@ bool RimStimPlanModel::useStaticEclipseCase( RiaDefines::CurveProperty curveProp
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RimEclipseCase* RimStimPlanModel::eclipseCaseForProperty( RiaDefines::CurveProperty curveProperty ) const RimEclipseCase* RimStimPlanModel::eclipseCaseForProperty( RiaDefines::CurveProperty curveProperty ) const
{ {
if ( m_staticEclipseCase && useStaticEclipseCase( curveProperty ) ) if ( m_initialPressureEclipseCase && curveProperty == RiaDefines::CurveProperty::INITIAL_PRESSURE )
{
return m_initialPressureEclipseCase;
}
else if ( m_staticEclipseCase && useStaticEclipseCase( curveProperty ) )
{ {
return m_staticEclipseCase; return m_staticEclipseCase;
} }
@ -1566,6 +1580,7 @@ void RimStimPlanModel::setEclipseCase( RimEclipseCase* eclipseCase )
if ( m_stimPlanModelTemplate ) if ( m_stimPlanModelTemplate )
{ {
m_stimPlanModelTemplate->setDynamicEclipseCase( eclipseCase ); m_stimPlanModelTemplate->setDynamicEclipseCase( eclipseCase );
m_stimPlanModelTemplate->setInitialPressureEclipseCase( eclipseCase );
m_stimPlanModelTemplate->setStaticEclipseCase( eclipseCase ); m_stimPlanModelTemplate->setStaticEclipseCase( eclipseCase );
} }
} }
@ -1671,9 +1686,10 @@ void RimStimPlanModel::stimPlanModelTemplateChanged( const caf::SignalEmitter* e
{ {
if ( m_stimPlanModelTemplate() ) if ( m_stimPlanModelTemplate() )
{ {
m_eclipseCase = m_stimPlanModelTemplate()->dynamicEclipseCase(); m_eclipseCase = m_stimPlanModelTemplate()->dynamicEclipseCase();
m_timeStep = m_stimPlanModelTemplate()->timeStep(); m_timeStep = m_stimPlanModelTemplate()->timeStep();
m_staticEclipseCase = m_stimPlanModelTemplate()->staticEclipseCase(); m_initialPressureEclipseCase = m_stimPlanModelTemplate()->initialPressureEclipseCase();
m_staticEclipseCase = m_stimPlanModelTemplate()->staticEclipseCase();
updateExtractionDepthBoundaries(); updateExtractionDepthBoundaries();
updateThicknessDirection(); updateThicknessDirection();

View File

@ -227,6 +227,7 @@ protected:
caf::PdmField<double> m_MD; caf::PdmField<double> m_MD;
caf::PdmPtrField<RimEclipseCase*> m_eclipseCase; caf::PdmPtrField<RimEclipseCase*> m_eclipseCase;
caf::PdmField<int> m_timeStep; caf::PdmField<int> m_timeStep;
caf::PdmPtrField<RimEclipseCase*> m_initialPressureEclipseCase;
caf::PdmPtrField<RimEclipseCase*> m_staticEclipseCase; caf::PdmPtrField<RimEclipseCase*> m_staticEclipseCase;
caf::PdmField<caf::AppEnum<ExtractionType>> m_extractionType; caf::PdmField<caf::AppEnum<ExtractionType>> m_extractionType;
caf::PdmField<double> m_extractionDepthTop; caf::PdmField<double> m_extractionDepthTop;

View File

@ -68,6 +68,13 @@ RimStimPlanModelTemplate::RimStimPlanModelTemplate()
CAF_PDM_InitScriptableFieldNoDefault( &m_dynamicEclipseCase, "DynamicEclipseCase", "Dynamic Case", "", "", "" ); CAF_PDM_InitScriptableFieldNoDefault( &m_dynamicEclipseCase, "DynamicEclipseCase", "Dynamic Case", "", "", "" );
CAF_PDM_InitScriptableField( &m_timeStep, "TimeStep", 0, "Time Step", "", "", "" ); CAF_PDM_InitScriptableField( &m_timeStep, "TimeStep", 0, "Time Step", "", "", "" );
CAF_PDM_InitScriptableFieldNoDefault( &m_initialPressureEclipseCase,
"InitialPressureEclipseCase",
"Initial Pressure Case",
"",
"",
"" );
CAF_PDM_InitScriptableFieldNoDefault( &m_staticEclipseCase, "StaticEclipseCase", "Static Case", "", "", "" ); CAF_PDM_InitScriptableFieldNoDefault( &m_staticEclipseCase, "StaticEclipseCase", "Static Case", "", "", "" );
CAF_PDM_InitScriptableField( &m_defaultPorosity, CAF_PDM_InitScriptableField( &m_defaultPorosity,
@ -203,7 +210,7 @@ void RimStimPlanModelTemplate::fieldChangedByUi( const caf::PdmFieldHandle* chan
const QVariant& oldValue, const QVariant& oldValue,
const QVariant& newValue ) const QVariant& newValue )
{ {
if ( changedField == &m_dynamicEclipseCase ) if ( changedField == &m_dynamicEclipseCase && m_dynamicEclipseCase )
{ {
// Set a valid default time step // Set a valid default time step
const int timeStepCount = m_dynamicEclipseCase->timeStepStrings().size(); const int timeStepCount = m_dynamicEclipseCase->timeStepStrings().size();
@ -248,7 +255,8 @@ QList<caf::PdmOptionItemInfo>
} }
} }
} }
else if ( fieldNeedingOptions == &m_dynamicEclipseCase || fieldNeedingOptions == &m_staticEclipseCase ) else if ( fieldNeedingOptions == &m_dynamicEclipseCase || fieldNeedingOptions == &m_staticEclipseCase ||
fieldNeedingOptions == &m_initialPressureEclipseCase )
{ {
RimTools::eclipseCaseOptionItems( &options ); RimTools::eclipseCaseOptionItems( &options );
} }
@ -269,6 +277,7 @@ void RimStimPlanModelTemplate::defineUiOrdering( QString uiConfigName, caf::PdmU
uiOrdering.add( &m_id ); uiOrdering.add( &m_id );
uiOrdering.add( &m_dynamicEclipseCase ); uiOrdering.add( &m_dynamicEclipseCase );
uiOrdering.add( &m_timeStep ); uiOrdering.add( &m_timeStep );
uiOrdering.add( &m_initialPressureEclipseCase );
uiOrdering.add( &m_staticEclipseCase ); uiOrdering.add( &m_staticEclipseCase );
caf::PdmUiOrdering* defaultsGroup = uiOrdering.addNewGroup( "Defaults" ); caf::PdmUiOrdering* defaultsGroup = uiOrdering.addNewGroup( "Defaults" );
@ -792,6 +801,22 @@ RimEclipseCase* RimStimPlanModelTemplate::staticEclipseCase() const
return m_staticEclipseCase; return m_staticEclipseCase;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimStimPlanModelTemplate::setInitialPressureEclipseCase( RimEclipseCase* eclipseCase )
{
m_initialPressureEclipseCase = eclipseCase;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimEclipseCase* RimStimPlanModelTemplate::initialPressureEclipseCase() const
{
return m_initialPressureEclipseCase;
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -91,10 +91,12 @@ public:
void setDynamicEclipseCase( RimEclipseCase* eclipseCase ); void setDynamicEclipseCase( RimEclipseCase* eclipseCase );
void setTimeStep( int timeStep ); void setTimeStep( int timeStep );
void setStaticEclipseCase( RimEclipseCase* eclipseCase ); void setStaticEclipseCase( RimEclipseCase* eclipseCase );
void setInitialPressureEclipseCase( RimEclipseCase* eclipseCase );
RimEclipseCase* dynamicEclipseCase() const; RimEclipseCase* dynamicEclipseCase() const;
int timeStep() const; int timeStep() const;
RimEclipseCase* staticEclipseCase() const; RimEclipseCase* staticEclipseCase() const;
RimEclipseCase* initialPressureEclipseCase() const;
std::map<int, double> faciesWithInitialPressure() const; std::map<int, double> faciesWithInitialPressure() const;
@ -139,6 +141,7 @@ private:
caf::PdmField<int> m_id; caf::PdmField<int> m_id;
caf::PdmPtrField<RimEclipseCase*> m_dynamicEclipseCase; caf::PdmPtrField<RimEclipseCase*> m_dynamicEclipseCase;
caf::PdmField<int> m_timeStep; caf::PdmField<int> m_timeStep;
caf::PdmPtrField<RimEclipseCase*> m_initialPressureEclipseCase;
caf::PdmPtrField<RimEclipseCase*> m_staticEclipseCase; caf::PdmPtrField<RimEclipseCase*> m_staticEclipseCase;
caf::PdmField<double> m_defaultPorosity; caf::PdmField<double> m_defaultPorosity;
caf::PdmField<double> m_defaultPermeability; caf::PdmField<double> m_defaultPermeability;