From 8c27a0f656987fae987ed310478799eab4e6a5e7 Mon Sep 17 00:00:00 2001 From: jonjenssen Date: Mon, 6 Dec 2021 20:29:02 +0100 Subject: [PATCH] Support pausing before running abaqus script to allow input file modifications. Add option in preferences to enable/disable pause. --- .../Application/RiaPreferencesGeoMech.cpp | 23 +++++++++++++------ .../Application/RiaPreferencesGeoMech.h | 2 ++ .../RicRunWellIntegrityAnalysisFeature.cpp | 13 +++++++++++ 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/ApplicationLibCode/Application/RiaPreferencesGeoMech.cpp b/ApplicationLibCode/Application/RiaPreferencesGeoMech.cpp index cb356bc591..bfe7ce24c5 100644 --- a/ApplicationLibCode/Application/RiaPreferencesGeoMech.cpp +++ b/ApplicationLibCode/Application/RiaPreferencesGeoMech.cpp @@ -72,14 +72,14 @@ RiaPreferencesGeoMech::RiaPreferencesGeoMech() m_geomechWIACommand.uiCapability()->setUiEditorTypeName( caf::PdmUiFilePathEditor::uiEditorTypeName() ); m_geomechWIACommand.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP ); - CAF_PDM_InitField( &m_keepTemporaryFiles, - "keepTemporaryFile", - false, - "Keep temporary parameter files (for debugging)", - "", - "", - "" ); + CAF_PDM_InitField( &m_keepTemporaryFiles, "keepTemporaryFile", false, "Keep temporary parameter files (for debugging)" ); caf::PdmUiNativeCheckBoxEditor::configureFieldForEditor( &m_keepTemporaryFiles ); + + CAF_PDM_InitField( &m_waitForInputFileEdit, + "waitForInputFileEdit", + true, + "Pause to allow modification of input files before running modeling." ); + caf::PdmUiNativeCheckBoxEditor::configureFieldForEditor( &m_waitForInputFileEdit ); } //-------------------------------------------------------------------------------------------------- @@ -109,6 +109,7 @@ void RiaPreferencesGeoMech::appendItems( caf::PdmUiOrdering& uiOrdering ) const caf::PdmUiGroup* wellIAGroup = uiOrdering.addNewGroup( "Well Integrity Analysis" ); wellIAGroup->add( &m_geomechWIACommand ); wellIAGroup->add( &m_geomechWIADefaultXML ); + wellIAGroup->add( &m_waitForInputFileEdit ); caf::PdmUiGroup* commonGroup = uiOrdering.addNewGroup( "Common Settings" ); commonGroup->add( &m_keepTemporaryFiles ); @@ -185,6 +186,14 @@ bool RiaPreferencesGeoMech::keepTemporaryFiles() const return m_keepTemporaryFiles; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RiaPreferencesGeoMech::waitBeforeRunWIA() const +{ + return m_waitForInputFileEdit; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/Application/RiaPreferencesGeoMech.h b/ApplicationLibCode/Application/RiaPreferencesGeoMech.h index 267fb77068..97ffb176dd 100644 --- a/ApplicationLibCode/Application/RiaPreferencesGeoMech.h +++ b/ApplicationLibCode/Application/RiaPreferencesGeoMech.h @@ -48,6 +48,7 @@ public: QString geomechWIADefaultXML() const; QString geomechWIACommand() const; + bool waitBeforeRunWIA() const; bool keepTemporaryFiles() const; @@ -65,6 +66,7 @@ private: caf::PdmField m_geomechWIADefaultXML; caf::PdmField m_geomechWIACommand; + caf::PdmField m_waitForInputFileEdit; caf::PdmField m_keepTemporaryFiles; }; diff --git a/ApplicationLibCode/Commands/GeoMechCommands/RicRunWellIntegrityAnalysisFeature.cpp b/ApplicationLibCode/Commands/GeoMechCommands/RicRunWellIntegrityAnalysisFeature.cpp index b118aecd5c..b0cc93ba4f 100644 --- a/ApplicationLibCode/Commands/GeoMechCommands/RicRunWellIntegrityAnalysisFeature.cpp +++ b/ApplicationLibCode/Commands/GeoMechCommands/RicRunWellIntegrityAnalysisFeature.cpp @@ -87,6 +87,19 @@ void RicRunWellIntegrityAnalysisFeature::onActionTriggered( bool isChecked ) return; } + if ( RiaPreferencesGeoMech::current()->waitBeforeRunWIA() ) + { + runProgress.setProgressDescription( "Waiting for input file modifications." ); + + QString infoText = "Input parameter files can now be found in the working folder:"; + infoText += " \"" + modelSettings->outputBaseDirectory() + "\"\n"; + infoText += "\nClick OK to start the Abaqus modeling or Cancel to stop."; + + auto reply = QMessageBox::information( nullptr, wiaTitle, infoText, QMessageBox::Ok | QMessageBox::Cancel ); + + if ( reply != QMessageBox::Ok ) return; + } + runProgress.incrementProgress(); runProgress.setProgressDescription( "Running Abaqus modeling." );