mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#6031 Use reference case for Pore Compressibility calculation.
This commit is contained in:
@@ -93,6 +93,7 @@ RimGeoMechResultDefinition::RimGeoMechResultDefinition( void )
|
||||
"",
|
||||
"",
|
||||
"" );
|
||||
CAF_PDM_InitField( &m_referenceTimeStep, "ReferenceTimeStep", 0, "Reference Time Step", "", "", "" );
|
||||
|
||||
CAF_PDM_InitField( &m_compactionRefLayer, "CompactionRefLayer", 0, "Compaction Ref Layer", "", "", "" );
|
||||
m_compactionRefLayer.uiCapability()->setUiHidden( true );
|
||||
@@ -170,8 +171,17 @@ void RimGeoMechResultDefinition::defineUiOrdering( QString uiConfigName, caf::Pd
|
||||
|
||||
if ( m_resultPositionTypeUiField() != RIG_FORMATION_NAMES )
|
||||
{
|
||||
caf::PdmUiGroup* timeLapseGr = uiOrdering.addNewGroup( "Difference Options" );
|
||||
timeLapseGr->add( &m_timeLapseBaseTimestep );
|
||||
bool isReferenceCaseDependent = referenceCaseDependentResultSelected();
|
||||
if ( isReferenceCaseDependent )
|
||||
{
|
||||
caf::PdmUiGroup* referenceCaseGr = uiOrdering.addNewGroup( "Reference Case" );
|
||||
referenceCaseGr->add( &m_referenceTimeStep );
|
||||
}
|
||||
else
|
||||
{
|
||||
caf::PdmUiGroup* timeLapseGr = uiOrdering.addNewGroup( "Difference Options" );
|
||||
timeLapseGr->add( &m_timeLapseBaseTimestep );
|
||||
}
|
||||
}
|
||||
|
||||
if ( m_resultPositionTypeUiField() == RIG_NODAL )
|
||||
@@ -264,6 +274,21 @@ QList<caf::PdmOptionItemInfo>
|
||||
static_cast<int>( stepIdx ) ) );
|
||||
}
|
||||
}
|
||||
else if ( &m_referenceTimeStep == fieldNeedingOptions )
|
||||
{
|
||||
std::vector<std::string> stepNames;
|
||||
if ( m_geomCase->geoMechData() )
|
||||
{
|
||||
stepNames = m_geomCase->geoMechData()->femPartResults()->filteredStepNames();
|
||||
}
|
||||
|
||||
for ( size_t stepIdx = 0; stepIdx < stepNames.size(); ++stepIdx )
|
||||
{
|
||||
options.push_back(
|
||||
caf::PdmOptionItemInfo( QString( "%1 (#%2)" ).arg( QString::fromStdString( stepNames[stepIdx] ) ).arg( stepIdx ),
|
||||
static_cast<int>( stepIdx ) ) );
|
||||
}
|
||||
}
|
||||
else if ( &m_compactionRefLayerUiField == fieldNeedingOptions )
|
||||
{
|
||||
if ( m_geomCase->geoMechData() )
|
||||
@@ -319,7 +344,8 @@ void RimGeoMechResultDefinition::fieldChangedByUi( const caf::PdmFieldHandle* ch
|
||||
}
|
||||
}
|
||||
|
||||
if ( &m_resultPositionTypeUiField == changedField || &m_timeLapseBaseTimestep == changedField )
|
||||
if ( &m_resultPositionTypeUiField == changedField || &m_timeLapseBaseTimestep == changedField ||
|
||||
&m_referenceTimeStep == changedField )
|
||||
{
|
||||
std::map<std::string, std::vector<std::string>> fieldCompNames = getResultMetaDataForUIFieldSetting();
|
||||
QStringList uiVarNames;
|
||||
@@ -336,6 +362,11 @@ void RimGeoMechResultDefinition::fieldChangedByUi( const caf::PdmFieldHandle* ch
|
||||
{
|
||||
m_resultVariableUiField = "";
|
||||
}
|
||||
|
||||
if ( &m_referenceTimeStep == changedField )
|
||||
{
|
||||
m_geomCase->geoMechData()->femPartResults()->setReferenceTimeStep( m_referenceTimeStep() );
|
||||
}
|
||||
}
|
||||
if ( &m_normalizeByHydrostaticPressure == changedField && m_normalizationAirGap == 0.0 )
|
||||
{
|
||||
@@ -357,7 +388,7 @@ void RimGeoMechResultDefinition::fieldChangedByUi( const caf::PdmFieldHandle* ch
|
||||
|
||||
if ( &m_resultVariableUiField == changedField || &m_compactionRefLayerUiField == changedField ||
|
||||
&m_timeLapseBaseTimestep == changedField || &m_normalizeByHydrostaticPressure == changedField ||
|
||||
&m_normalizationAirGap == changedField )
|
||||
&m_normalizationAirGap == changedField || &m_referenceTimeStep == changedField )
|
||||
{
|
||||
QStringList fieldComponentNames = m_resultVariableUiField().split( QRegExp( "\\s+" ) );
|
||||
if ( fieldComponentNames.size() > 0 )
|
||||
@@ -854,6 +885,14 @@ bool RimGeoMechResultDefinition::normalizableResultSelected() const
|
||||
return RigFemPartResultsCollection::isNormalizableResult( this->resultAddress() );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimGeoMechResultDefinition::referenceCaseDependentResultSelected() const
|
||||
{
|
||||
return RigFemPartResultsCollection::isReferenceCaseDependentResult( this->resultAddress() );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user