mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Merge pull request #8255 from OPM/wia_paramupdates
GeoMech/WIA: update input parameters and model size settings
This commit is contained in:
@@ -60,6 +60,12 @@ void RicRunWellIntegrityAnalysisFeature::onActionTriggered( bool isChecked )
|
|||||||
|
|
||||||
runProgress.setProgressDescription( "Writing input files." );
|
runProgress.setProgressDescription( "Writing input files." );
|
||||||
|
|
||||||
|
if ( !modelSettings->geomechCase() )
|
||||||
|
{
|
||||||
|
QMessageBox::critical( nullptr, wiaTitle, "GeoMechanical case is not selected. Please check your model settings." );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if ( !modelSettings->extractModelData() )
|
if ( !modelSettings->extractModelData() )
|
||||||
{
|
{
|
||||||
QMessageBox::critical( nullptr,
|
QMessageBox::critical( nullptr,
|
||||||
|
|||||||
@@ -73,8 +73,7 @@ RimWellIASettings::RimWellIASettings()
|
|||||||
m_startMD.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleSliderEditor::uiEditorTypeName() );
|
m_startMD.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleSliderEditor::uiEditorTypeName() );
|
||||||
m_endMD.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleSliderEditor::uiEditorTypeName() );
|
m_endMD.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleSliderEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_bufferXY, "BufferXY", 20.0, "Model Size (XY)", "", "", "" );
|
CAF_PDM_InitField( &m_bufferXY, "BufferXY", 5.0, "Model Size (XY)", "", "", "" );
|
||||||
CAF_PDM_InitField( &m_bufferZ, "BufferZ", 15.0, "Depth buffer size", "", "", "" );
|
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_parameters, "ModelingParameters", "Modeling Parameters", ":/Bullet.png", "", "" );
|
CAF_PDM_InitFieldNoDefault( &m_parameters, "ModelingParameters", "Modeling Parameters", ":/Bullet.png", "", "" );
|
||||||
|
|
||||||
@@ -141,7 +140,7 @@ void RimWellIASettings::fieldChangedByUi( const caf::PdmFieldHandle* changedFiel
|
|||||||
const QVariant& newValue )
|
const QVariant& newValue )
|
||||||
{
|
{
|
||||||
if ( ( changedField == &m_startMD ) || ( changedField == &m_endMD ) || ( changedField == objectToggleField() ) ||
|
if ( ( changedField == &m_startMD ) || ( changedField == &m_endMD ) || ( changedField == objectToggleField() ) ||
|
||||||
( changedField == &m_bufferXY ) || ( changedField == &m_bufferZ ) || ( changedField == &m_showBox ) )
|
( changedField == &m_bufferXY ) || ( changedField == &m_showBox ) )
|
||||||
{
|
{
|
||||||
updateVisualization();
|
updateVisualization();
|
||||||
}
|
}
|
||||||
@@ -198,7 +197,6 @@ void RimWellIASettings::defineUiOrdering( QString uiConfigName, caf::PdmUiOrderi
|
|||||||
modelGroup->add( &m_startMD );
|
modelGroup->add( &m_startMD );
|
||||||
modelGroup->add( &m_endMD );
|
modelGroup->add( &m_endMD );
|
||||||
modelGroup->add( &m_bufferXY );
|
modelGroup->add( &m_bufferXY );
|
||||||
modelGroup->add( &m_bufferZ );
|
|
||||||
modelGroup->add( &m_showBox );
|
modelGroup->add( &m_showBox );
|
||||||
|
|
||||||
uiOrdering.skipRemainingFields( true );
|
uiOrdering.skipRemainingFields( true );
|
||||||
@@ -437,6 +435,13 @@ bool RimWellIASettings::updateResInsightParameters()
|
|||||||
{
|
{
|
||||||
resetResInsightParameters();
|
resetResInsightParameters();
|
||||||
|
|
||||||
|
RimParameterGroup* modeldim = new RimParameterGroup();
|
||||||
|
modeldim->setName( "model_dimensions" );
|
||||||
|
modeldim->setLabel( "Model Dimensions" );
|
||||||
|
modeldim->addParameter( "model_size", m_bufferXY );
|
||||||
|
modeldim->addParameter( "vertical_length_3D", m_endMD - m_startMD );
|
||||||
|
m_parametersRI.push_back( modeldim );
|
||||||
|
|
||||||
RimParameterGroup* wellcoords = new RimParameterGroup();
|
RimParameterGroup* wellcoords = new RimParameterGroup();
|
||||||
wellcoords->setName( "well_coordinates" );
|
wellcoords->setName( "well_coordinates" );
|
||||||
wellcoords->setLabel( "Well Coordinates" );
|
wellcoords->setLabel( "Well Coordinates" );
|
||||||
@@ -468,10 +473,9 @@ bool RimWellIASettings::updateResInsightParameters()
|
|||||||
{
|
{
|
||||||
double stressValue =
|
double stressValue =
|
||||||
dataAccess.interpolatedResultValue( "ST", nativeKeys[i], RigFemResultPosEnum::RIG_ELEMENT_NODAL, position, 0 );
|
dataAccess.interpolatedResultValue( "ST", nativeKeys[i], RigFemResultPosEnum::RIG_ELEMENT_NODAL, position, 0 );
|
||||||
initialStress->addParameter( paramKeys[i], stressValue );
|
|
||||||
if ( std::isfinite( stressValue ) )
|
if ( std::isfinite( stressValue ) )
|
||||||
{
|
{
|
||||||
initialStress->addParameter( paramKeys[i], stressValue );
|
initialStress->addParameter( paramKeys[i], stressValue * 100000.0 );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -482,7 +486,7 @@ bool RimWellIASettings::updateResInsightParameters()
|
|||||||
double ppValue = dataAccess.interpolatedResultValue( "POR-Bar", "", RigFemResultPosEnum::RIG_NODAL, position, 0 );
|
double ppValue = dataAccess.interpolatedResultValue( "POR-Bar", "", RigFemResultPosEnum::RIG_NODAL, position, 0 );
|
||||||
if ( std::isfinite( ppValue ) )
|
if ( std::isfinite( ppValue ) )
|
||||||
{
|
{
|
||||||
initialStress->addParameter( "PP", ppValue );
|
initialStress->addParameter( "PP", ppValue * 100000.0 );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -590,7 +594,7 @@ void RimWellIASettings::generateModelBox()
|
|||||||
cvf::Vec3d startPos = wellgeom->interpolatedPointAlongWellPath( m_startMD );
|
cvf::Vec3d startPos = wellgeom->interpolatedPointAlongWellPath( m_startMD );
|
||||||
cvf::Vec3d endPos = wellgeom->interpolatedPointAlongWellPath( m_endMD );
|
cvf::Vec3d endPos = wellgeom->interpolatedPointAlongWellPath( m_endMD );
|
||||||
|
|
||||||
m_boxValid = m_modelbox.updateBox( startPos, endPos, m_bufferXY, m_bufferZ );
|
m_boxValid = m_modelbox.updateBox( startPos, endPos, m_bufferXY, 0.0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -127,7 +127,6 @@ private:
|
|||||||
caf::PdmField<double> m_startMD;
|
caf::PdmField<double> m_startMD;
|
||||||
caf::PdmField<double> m_endMD;
|
caf::PdmField<double> m_endMD;
|
||||||
caf::PdmField<double> m_bufferXY;
|
caf::PdmField<double> m_bufferXY;
|
||||||
caf::PdmField<double> m_bufferZ;
|
|
||||||
caf::PdmField<QDateTime> m_geostaticDate;
|
caf::PdmField<QDateTime> m_geostaticDate;
|
||||||
|
|
||||||
caf::PdmChildArrayField<RimParameterGroup*> m_parameters;
|
caf::PdmChildArrayField<RimParameterGroup*> m_parameters;
|
||||||
|
|||||||
Reference in New Issue
Block a user