mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Remove obsolete fault reactivation assessment feature
This commit is contained in:
@@ -1,17 +1,11 @@
|
||||
set(SOURCE_GROUP_HEADER_FILES
|
||||
${CMAKE_CURRENT_LIST_DIR}/RimFaultInView.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RimFaultInViewCollection.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RimFaultRASettings.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RimFaultRAPreprocSettings.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RimFaultRAPostprocSettings.h
|
||||
)
|
||||
|
||||
set(SOURCE_GROUP_SOURCE_FILES
|
||||
${CMAKE_CURRENT_LIST_DIR}/RimFaultInView.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RimFaultInViewCollection.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RimFaultRASettings.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RimFaultRAPreprocSettings.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RimFaultRAPostprocSettings.cpp
|
||||
)
|
||||
|
||||
list(APPEND CODE_HEADER_FILES ${SOURCE_GROUP_HEADER_FILES})
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
#include "RimEclipseInputCase.h"
|
||||
#include "RimEclipseView.h"
|
||||
#include "RimFaultInView.h"
|
||||
#include "RimFaultRASettings.h"
|
||||
#include "RimIntersectionCollection.h"
|
||||
|
||||
#include "RiuMainWindow.h"
|
||||
@@ -101,15 +100,6 @@ RimFaultInViewCollection::RimFaultInViewCollection()
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &faults, "Faults", "Faults" );
|
||||
faults.uiCapability()->setUiTreeHidden( true );
|
||||
|
||||
CAF_PDM_InitField( &m_enableFaultRA, "EnableFaultRA", false, "Enable Fault RA" );
|
||||
m_enableFaultRA.uiCapability()->setUiReadOnly( true );
|
||||
m_enableFaultRA.uiCapability()->setUiHidden( true );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_faultRASettings, "FaultRASettings", "Reactivation Assessment Settings" );
|
||||
m_faultRASettings = new RimFaultRASettings();
|
||||
m_faultRASettings.uiCapability()->setUiHidden( true );
|
||||
m_faultRASettings.uiCapability()->setUiTreeHidden( true );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -328,13 +318,6 @@ void RimFaultInViewCollection::defineUiOrdering( QString uiConfigName, caf::PdmU
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultInViewCollection::defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName )
|
||||
{
|
||||
RimEclipseInputCase* inputCase = nullptr;
|
||||
this->firstAncestorOrThisOfType( inputCase );
|
||||
if ( ( inputCase != nullptr ) && m_enableFaultRA() )
|
||||
{
|
||||
uiTreeOrdering.add( &m_faultRASettings );
|
||||
}
|
||||
|
||||
RimEclipseView* eclipseView = nullptr;
|
||||
this->firstAncestorOfType( eclipseView );
|
||||
if ( eclipseView )
|
||||
@@ -387,35 +370,3 @@ bool RimFaultInViewCollection::onlyShowFacesWithDefinedNeighbor() const
|
||||
{
|
||||
return m_onlyShowWithNeighbor;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimFaultRASettings* RimFaultInViewCollection::faultRASettings() const
|
||||
{
|
||||
return m_faultRASettings();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimFaultInViewCollection::faultRAEnabled() const
|
||||
{
|
||||
return m_enableFaultRA();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimFaultInViewCollection::faultRAAdvancedEnabled() const
|
||||
{
|
||||
return m_enableFaultRA() && ( m_faultRASettings->geomechCase() != nullptr );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultInViewCollection::enableFaultRA( bool enable )
|
||||
{
|
||||
m_enableFaultRA = enable;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,6 @@
|
||||
|
||||
class RimEclipseView;
|
||||
class RimFaultInView;
|
||||
class RimFaultRASettings;
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
@@ -64,11 +63,6 @@ public:
|
||||
|
||||
bool onlyShowFacesWithDefinedNeighbor() const;
|
||||
|
||||
RimFaultRASettings* faultRASettings() const;
|
||||
bool faultRAEnabled() const;
|
||||
bool faultRAAdvancedEnabled() const;
|
||||
void enableFaultRA( bool enable );
|
||||
|
||||
caf::PdmField<bool> showFaultFaces;
|
||||
caf::PdmField<bool> showOppositeFaultFaces;
|
||||
|
||||
@@ -98,7 +92,4 @@ private:
|
||||
private:
|
||||
caf::PdmField<bool> m_showFaultsOutsideFilters;
|
||||
caf::PdmField<bool> m_onlyShowWithNeighbor;
|
||||
|
||||
caf::PdmChildField<RimFaultRASettings*> m_faultRASettings;
|
||||
caf::PdmField<bool> m_enableFaultRA;
|
||||
};
|
||||
|
||||
@@ -1,173 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2021 Equinor ASA
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "RimFaultRAPostprocSettings.h"
|
||||
|
||||
#include "RimDoubleParameter.h"
|
||||
#include "RimFaultRASettings.h"
|
||||
#include "RimParameterGroup.h"
|
||||
|
||||
#define _USE_MATH_DEFINES
|
||||
#include <cmath>
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimFaultRAPostprocSettings::RimFaultRAPostprocSettings()
|
||||
{
|
||||
CAF_PDM_InitObject( "Reactivation Assessment Postproc Settings", ":/fault_react_24x24.png" );
|
||||
|
||||
CAF_PDM_InitField( &m_baseDir, "BaseDir", QString( "" ), "Working Directory" );
|
||||
CAF_PDM_InitField( &m_startTimestepEclipse, "StartTimeStepEclipse", 0, "Start Time Step" );
|
||||
CAF_PDM_InitField( &m_endTimestepEclipse, "EndTimeStepEclipse", 0, "End Time Step" );
|
||||
CAF_PDM_InitField( &m_geomechEnabled, "GeomechEnabled", false, "GeoMechanical Input Available" );
|
||||
CAF_PDM_InitField( &m_basicMacrisDatabase, "BasicMacrisDatabase", QString( "" ), "Basic Macris Database" );
|
||||
CAF_PDM_InitField( &m_advancedMacrisDatabase, "AdvancedMacrisDatabase", QString( "" ), "Advanced Macris Database" );
|
||||
CAF_PDM_InitFieldNoDefault( &m_postprocParameters, "PostprocParameters", "Post-Processing Parameters" );
|
||||
m_postprocParameters = new RimParameterGroup();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimFaultRAPostprocSettings::~RimFaultRAPostprocSettings()
|
||||
{
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRAPostprocSettings::initFromSettings( RimFaultRASettings* settings )
|
||||
{
|
||||
m_geomechEnabled = settings->geomechCase() != nullptr;
|
||||
|
||||
m_baseDir = settings->outputBaseDirectory();
|
||||
m_startTimestepEclipse = settings->startTimeStepEclipseIndex();
|
||||
m_endTimestepEclipse = settings->endTimeStepEclipseIndex();
|
||||
|
||||
m_basicMacrisDatabase = settings->basicMacrisDatabase();
|
||||
m_advancedMacrisDatabase = settings->advancedMacrisDatabase();
|
||||
|
||||
RimDoubleParameter* friction_angle =
|
||||
dynamic_cast<RimDoubleParameter*>( settings->getInputParameter( "friction_angle" ) );
|
||||
if ( friction_angle != nullptr )
|
||||
{
|
||||
m_postprocParameters->addParameter( "friction_coef", std::atan( friction_angle->value() / 180.0 * M_PI ) );
|
||||
}
|
||||
|
||||
RimDoubleParameter* rho_rock = dynamic_cast<RimDoubleParameter*>( settings->getInputParameter( "rho_rock" ) );
|
||||
if ( rho_rock != nullptr )
|
||||
{
|
||||
m_postprocParameters->addParameter( "rockdensity", rho_rock->value() );
|
||||
}
|
||||
|
||||
RimDoubleParameter* k0_effective =
|
||||
dynamic_cast<RimDoubleParameter*>( settings->getInputParameter( "k0_effective" ) );
|
||||
if ( k0_effective != nullptr )
|
||||
{
|
||||
m_postprocParameters->addParameter( "k0", k0_effective->value() );
|
||||
}
|
||||
|
||||
RimDoubleParameter* sh_ratio = dynamic_cast<RimDoubleParameter*>( settings->getInputParameter( "sh_ratio" ) );
|
||||
if ( sh_ratio != nullptr )
|
||||
{
|
||||
m_postprocParameters->addParameter( "sh_ratio", sh_ratio->value() );
|
||||
}
|
||||
|
||||
RimDoubleParameter* s_azimuth = dynamic_cast<RimDoubleParameter*>( settings->getInputParameter( "s_azimuth" ) );
|
||||
if ( s_azimuth != nullptr )
|
||||
{
|
||||
m_postprocParameters->addParameter( "sh_azim", s_azimuth->value() );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QStringList RimFaultRAPostprocSettings::stepsToLoad()
|
||||
{
|
||||
QStringList timesteps;
|
||||
|
||||
for ( int i = m_startTimestepEclipse(); i <= m_endTimestepEclipse(); i++ )
|
||||
{
|
||||
timesteps.push_back( QString::number( i ) );
|
||||
}
|
||||
return timesteps;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPostprocSettings::postprocParameterFilename( int faultID ) const
|
||||
{
|
||||
QString retval = m_baseDir;
|
||||
retval += QString( "/tmp/postproc_%1.json" ).arg( faultID, 3, 10, QChar( '0' ) );
|
||||
return retval;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPostprocSettings::outputBaseDirectory() const
|
||||
{
|
||||
return m_baseDir;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPostprocSettings::advancedMacrisDatabase() const
|
||||
{
|
||||
return m_advancedMacrisDatabase;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPostprocSettings::basicMacrisDatabase() const
|
||||
{
|
||||
return m_basicMacrisDatabase;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimParameterGroup* RimFaultRAPostprocSettings::parameters() const
|
||||
{
|
||||
return m_postprocParameters;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimFaultRAPostprocSettings::geomechEnabled() const
|
||||
{
|
||||
return m_geomechEnabled;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QStringList RimFaultRAPostprocSettings::postprocCommandParameters( int faultID ) const
|
||||
{
|
||||
QStringList retlist;
|
||||
|
||||
retlist << postprocParameterFilename( faultID );
|
||||
|
||||
return retlist;
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2021 Equinor ASA
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
#pragma once
|
||||
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmPtrField.h"
|
||||
|
||||
#include <list>
|
||||
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
|
||||
class RimFaultRASettings;
|
||||
class RimParameterGroup;
|
||||
|
||||
class RimFaultRAPostprocSettings : public caf::PdmObject
|
||||
{
|
||||
public:
|
||||
RimFaultRAPostprocSettings();
|
||||
~RimFaultRAPostprocSettings() override;
|
||||
|
||||
void initFromSettings( RimFaultRASettings* settings );
|
||||
|
||||
QStringList stepsToLoad();
|
||||
|
||||
QString postprocParameterFilename( int faultID ) const;
|
||||
QString outputBaseDirectory() const;
|
||||
QString basicMacrisDatabase() const;
|
||||
QString advancedMacrisDatabase() const;
|
||||
|
||||
bool geomechEnabled() const;
|
||||
|
||||
RimParameterGroup* parameters() const;
|
||||
|
||||
QStringList postprocCommandParameters( int faultID ) const;
|
||||
|
||||
protected:
|
||||
caf::PdmField<QString> m_baseDir;
|
||||
caf::PdmField<int> m_startTimestepEclipse;
|
||||
caf::PdmField<int> m_endTimestepEclipse;
|
||||
caf::PdmField<bool> m_geomechEnabled;
|
||||
caf::PdmField<QString> m_basicMacrisDatabase;
|
||||
caf::PdmField<QString> m_advancedMacrisDatabase;
|
||||
caf::PdmPtrField<RimParameterGroup*> m_postprocParameters;
|
||||
};
|
||||
@@ -1,451 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2021 Equinor ASA
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "RimFaultRAPreprocSettings.h"
|
||||
|
||||
#include "RiaApplication.h"
|
||||
#include "RiaPreferences.h"
|
||||
#include "RimEclipseResultCase.h"
|
||||
#include "RimGeoMechCase.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimTools.h"
|
||||
|
||||
#include "cafPdmFieldScriptingCapability.h"
|
||||
#include "cafPdmObjectScriptingCapability.h"
|
||||
#include "cafPdmUiComboBoxEditor.h"
|
||||
#include "cafPdmUiFilePathEditor.h"
|
||||
|
||||
#include <QDir>
|
||||
#include <QFileInfo>
|
||||
|
||||
CAF_PDM_SOURCE_INIT( RimFaultRAPreprocSettings, "RimFaultRAPreprocSettings" );
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimFaultRAPreprocSettings::RimFaultRAPreprocSettings()
|
||||
{
|
||||
CAF_PDM_InitObject( "Fault RA Preproc Settings", ":/fault_react_24x24.png" );
|
||||
|
||||
CAF_PDM_InitField( &m_startTimestepEclipse, "StartTimeStepEclipse", 0, "Start Time Step" );
|
||||
m_startTimestepEclipse.uiCapability()->setUiEditorTypeName( caf::PdmUiComboBoxEditor::uiEditorTypeName() );
|
||||
CAF_PDM_InitField( &m_endTimestepEclipse, "EndTimeStepEclipse", 0, "End Time Step" );
|
||||
m_endTimestepEclipse.uiCapability()->setUiEditorTypeName( caf::PdmUiComboBoxEditor::uiEditorTypeName() );
|
||||
|
||||
CAF_PDM_InitField( &m_startTimestepGeoMech, "StartTimeStepGeoMech", 0, "Start Time Step" );
|
||||
m_startTimestepGeoMech.uiCapability()->setUiEditorTypeName( caf::PdmUiComboBoxEditor::uiEditorTypeName() );
|
||||
CAF_PDM_InitField( &m_endTimestepGeoMech, "EndTimeStepGeoMech", 0, "End Time Step" );
|
||||
m_endTimestepGeoMech.uiCapability()->setUiEditorTypeName( caf::PdmUiComboBoxEditor::uiEditorTypeName() );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_eclipseCase, "EclipseCase", "Eclipse Case" );
|
||||
m_eclipseCase.setValue( nullptr );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_geomechCase, "GeomechCase", "GeoMech Case" );
|
||||
m_geomechCase.setValue( nullptr );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_baseDir, "BaseDir", "Output Directory" );
|
||||
m_baseDir.uiCapability()->setUiReadOnly( true );
|
||||
|
||||
CAF_PDM_InitField( &m_cleanBaseDir, "CleanBaseDir", false, "Clean Output Directory" );
|
||||
CAF_PDM_InitField( &m_smoothEclipseData, "SmoothEclipseData", true, "Smooth Eclipse Data" );
|
||||
|
||||
CAF_PDM_InitField( &m_elasticTableFilename, "ElasticTableFilename", QString( "" ), "Elastic Table" );
|
||||
m_elasticTableFilename.uiCapability()->setUiEditorTypeName( caf::PdmUiFilePathEditor::uiEditorTypeName() );
|
||||
m_elasticTableFilename.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimFaultRAPreprocSettings::~RimFaultRAPreprocSettings()
|
||||
{
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRAPreprocSettings::fieldChangedByUi( const caf::PdmFieldHandle* changedField,
|
||||
const QVariant& oldValue,
|
||||
const QVariant& newValue )
|
||||
{
|
||||
if ( ( changedField == &m_eclipseCase ) && ( m_startTimestepEclipse == m_endTimestepEclipse ) )
|
||||
{
|
||||
m_endTimestepEclipse = m_eclipseCase()->timeStepStrings().size() - 1;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRAPreprocSettings::defineEditorAttribute( const caf::PdmFieldHandle* field,
|
||||
QString uiConfigName,
|
||||
caf::PdmUiEditorAttribute* attribute )
|
||||
{
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRAPreprocSettings::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
|
||||
{
|
||||
if ( m_geomechCase() )
|
||||
{
|
||||
auto geomechGroup = uiOrdering.addNewGroup( "GeoMechanical Model" );
|
||||
geomechGroup->add( &m_geomechCase );
|
||||
geomechGroup->add( &m_startTimestepGeoMech );
|
||||
geomechGroup->add( &m_endTimestepGeoMech );
|
||||
|
||||
auto tableGroup = uiOrdering.addNewGroup( "Elastic Table" );
|
||||
tableGroup->add( &m_elasticTableFilename );
|
||||
}
|
||||
|
||||
auto eclipseGroup = uiOrdering.addNewGroup( "Eclipse Model" );
|
||||
eclipseGroup->add( &m_eclipseCase );
|
||||
eclipseGroup->add( &m_smoothEclipseData );
|
||||
eclipseGroup->add( &m_startTimestepEclipse );
|
||||
eclipseGroup->add( &m_endTimestepEclipse );
|
||||
|
||||
auto outputGroup = uiOrdering.addNewGroup( "Output Settings" );
|
||||
outputGroup->add( &m_baseDir );
|
||||
outputGroup->add( &m_cleanBaseDir );
|
||||
|
||||
uiOrdering.skipRemainingFields( true );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QList<caf::PdmOptionItemInfo>
|
||||
RimFaultRAPreprocSettings::calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions )
|
||||
{
|
||||
QList<caf::PdmOptionItemInfo> options;
|
||||
|
||||
if ( fieldNeedingOptions == &m_eclipseCase )
|
||||
{
|
||||
RimTools::eclipseCaseOptionItems( &options );
|
||||
}
|
||||
else if ( fieldNeedingOptions == &m_geomechCase )
|
||||
{
|
||||
RimTools::geoMechCaseOptionItems( &options );
|
||||
}
|
||||
|
||||
if ( m_geomechCase() )
|
||||
{
|
||||
if ( fieldNeedingOptions == &m_startTimestepGeoMech )
|
||||
{
|
||||
RimTools::timeStepsForCase( m_geomechCase, &options );
|
||||
}
|
||||
else if ( fieldNeedingOptions == &m_endTimestepGeoMech )
|
||||
{
|
||||
RimTools::timeStepsForCase( m_geomechCase, &options );
|
||||
}
|
||||
}
|
||||
|
||||
if ( m_eclipseCase() )
|
||||
{
|
||||
if ( fieldNeedingOptions == &m_startTimestepEclipse )
|
||||
{
|
||||
RimTools::timeStepsForCase( m_eclipseCase, &options );
|
||||
}
|
||||
else if ( fieldNeedingOptions == &m_endTimestepEclipse )
|
||||
{
|
||||
RimTools::timeStepsForCase( m_eclipseCase, &options );
|
||||
}
|
||||
}
|
||||
|
||||
return options;
|
||||
}
|
||||
|
||||
RimCase* RimFaultRAPreprocSettings::startCase() const
|
||||
{
|
||||
if ( m_geomechCase() ) return m_geomechCase();
|
||||
return m_eclipseCase();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimFaultRAPreprocSettings::startTimeStepEclipseIndex() const
|
||||
{
|
||||
return m_startTimestepEclipse();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPreprocSettings::startTimeStepEclipse() const
|
||||
{
|
||||
if ( m_eclipseCase() )
|
||||
{
|
||||
if ( ( m_startTimestepEclipse >= 0 ) && ( m_startTimestepEclipse <= m_eclipseCase->timeStepStrings().size() ) )
|
||||
return m_eclipseCase->timeStepStrings()[m_startTimestepEclipse];
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimFaultRAPreprocSettings::endTimeStepEclipseIndex() const
|
||||
{
|
||||
return m_endTimestepEclipse();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPreprocSettings::endTimeStepEclipse() const
|
||||
{
|
||||
if ( m_eclipseCase() )
|
||||
{
|
||||
if ( ( m_endTimestepEclipse >= 0 ) && ( m_endTimestepEclipse <= m_eclipseCase->timeStepStrings().size() ) )
|
||||
return m_eclipseCase->timeStepStrings()[m_endTimestepEclipse];
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPreprocSettings::eclipseCaseFilename() const
|
||||
{
|
||||
if ( m_eclipseCase ) return m_eclipseCase->gridFileName();
|
||||
return "";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimFaultRAPreprocSettings::startTimeStepGeoMechIndex() const
|
||||
{
|
||||
return m_startTimestepGeoMech();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPreprocSettings::startTimeStepGeoMech() const
|
||||
{
|
||||
if ( m_geomechCase() )
|
||||
{
|
||||
if ( ( m_startTimestepGeoMech >= 0 ) && ( m_startTimestepGeoMech <= m_geomechCase->timeStepStrings().size() ) )
|
||||
return m_geomechCase->timeStepStrings()[m_startTimestepGeoMech];
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimFaultRAPreprocSettings::endTimeStepGeoMechIndex() const
|
||||
{
|
||||
return m_endTimestepGeoMech();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPreprocSettings::endTimeStepGeoMech() const
|
||||
{
|
||||
if ( m_geomechCase() )
|
||||
{
|
||||
if ( ( m_endTimestepGeoMech >= 0 ) && ( m_endTimestepGeoMech <= m_geomechCase->timeStepStrings().size() ) )
|
||||
return m_geomechCase->timeStepStrings()[m_endTimestepGeoMech];
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPreprocSettings::geomechCaseFilename() const
|
||||
{
|
||||
if ( m_geomechCase ) return m_geomechCase->gridFileName();
|
||||
return "";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPreprocSettings::elasticTableFilename() const
|
||||
{
|
||||
return m_elasticTableFilename();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPreprocSettings::preprocParameterFilename() const
|
||||
{
|
||||
return m_baseDir + "/tmp/pre_processing.json";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPreprocSettings::outputBaseDirectory() const
|
||||
{
|
||||
return m_baseDir();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimFaultRAPreprocSettings::cleanBaseDirectory() const
|
||||
{
|
||||
return m_cleanBaseDir();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRAPreprocSettings::setCleanBaseDirectory( bool clean )
|
||||
{
|
||||
m_cleanBaseDir = clean;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimFaultRAPreprocSettings::smoothEclipseData() const
|
||||
{
|
||||
return m_smoothEclipseData();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRAPreprocSettings::setGeoMechCase( RimGeoMechCase* geomechCase )
|
||||
{
|
||||
m_geomechCase = geomechCase;
|
||||
if ( geomechCase ) m_endTimestepGeoMech = geomechCase->timeStepStrings().size() - 1;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimGeoMechCase* RimFaultRAPreprocSettings::geoMechCase() const
|
||||
{
|
||||
return m_geomechCase();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRAPreprocSettings::setEclipseCase( RimEclipseResultCase* eclipseCase )
|
||||
{
|
||||
m_eclipseCase = eclipseCase;
|
||||
if ( eclipseCase ) m_endTimestepEclipse = eclipseCase->timeStepStrings().size() - 1;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimEclipseCase* RimFaultRAPreprocSettings::eclipseCase() const
|
||||
{
|
||||
return m_eclipseCase();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRAPreprocSettings::setOutputBaseDirectory( QString baseDir )
|
||||
{
|
||||
m_baseDir = baseDir;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPreprocSettings::outputEclipseFilename() const
|
||||
{
|
||||
QString retval = outputEclipseDirectory();
|
||||
retval += QDir::separator();
|
||||
|
||||
QFileInfo fi( eclipseCaseFilename() );
|
||||
retval += fi.baseName() + "_RI.GRDECL";
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPreprocSettings::outputEclipseDirectory() const
|
||||
{
|
||||
QString retval = m_baseDir;
|
||||
retval += "/Eclipse";
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPreprocSettings::outputAbaqusDirectory() const
|
||||
{
|
||||
QString retval = m_baseDir;
|
||||
retval += "/Abaqus";
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QStringList RimFaultRAPreprocSettings::preprocParameterList() const
|
||||
{
|
||||
QStringList retlist;
|
||||
retlist << preprocParameterFilename();
|
||||
return retlist;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QStringList RimFaultRAPreprocSettings::macrisPrepareParameterList() const
|
||||
{
|
||||
QStringList retlist;
|
||||
|
||||
retlist << "prepare";
|
||||
|
||||
retlist << "-o";
|
||||
|
||||
retlist << outputEclipseDirectory();
|
||||
|
||||
if ( m_smoothEclipseData )
|
||||
{
|
||||
retlist << "-ds";
|
||||
}
|
||||
else
|
||||
{
|
||||
retlist << "-d";
|
||||
}
|
||||
|
||||
retlist << m_eclipseCase()->gridFileName();
|
||||
|
||||
return retlist;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimFaultRAPreprocSettings::geoMechSelected() const
|
||||
{
|
||||
return m_geomechCase.value() != nullptr;
|
||||
}
|
||||
@@ -1,96 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2021 Equinor ASA
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
#pragma once
|
||||
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmPtrField.h"
|
||||
|
||||
class RimEclipseResultCase;
|
||||
class RimEclipseCase;
|
||||
class RimGeoMechCase;
|
||||
class RimCase;
|
||||
|
||||
class RimFaultRAPreprocSettings : public caf::PdmObject
|
||||
{
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
public:
|
||||
RimFaultRAPreprocSettings();
|
||||
~RimFaultRAPreprocSettings() override;
|
||||
|
||||
void setGeoMechCase( RimGeoMechCase* geomechCase );
|
||||
RimGeoMechCase* geoMechCase() const;
|
||||
|
||||
void setEclipseCase( RimEclipseResultCase* eclipseCase );
|
||||
RimEclipseCase* eclipseCase() const;
|
||||
|
||||
void setOutputBaseDirectory( QString baseDir );
|
||||
QString outputBaseDirectory() const;
|
||||
|
||||
int startTimeStepGeoMechIndex() const;
|
||||
QString startTimeStepGeoMech() const;
|
||||
int endTimeStepGeoMechIndex() const;
|
||||
QString endTimeStepGeoMech() const;
|
||||
|
||||
int startTimeStepEclipseIndex() const;
|
||||
QString startTimeStepEclipse() const;
|
||||
int endTimeStepEclipseIndex() const;
|
||||
QString endTimeStepEclipse() const;
|
||||
|
||||
QString eclipseCaseFilename() const;
|
||||
QString geomechCaseFilename() const;
|
||||
bool smoothEclipseData() const;
|
||||
QString elasticTableFilename() const;
|
||||
|
||||
bool cleanBaseDirectory() const;
|
||||
void setCleanBaseDirectory( bool clean );
|
||||
|
||||
bool geoMechSelected() const;
|
||||
|
||||
QString preprocParameterFilename() const;
|
||||
QString outputEclipseFilename() const;
|
||||
QString outputEclipseDirectory() const;
|
||||
|
||||
QString outputAbaqusDirectory() const;
|
||||
|
||||
QStringList preprocParameterList() const;
|
||||
QStringList macrisPrepareParameterList() const;
|
||||
|
||||
protected:
|
||||
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
|
||||
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
|
||||
void defineEditorAttribute( const caf::PdmFieldHandle* field,
|
||||
QString uiConfigName,
|
||||
caf::PdmUiEditorAttribute* attribute ) override;
|
||||
|
||||
QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions ) override;
|
||||
|
||||
RimCase* startCase() const;
|
||||
|
||||
caf::PdmField<int> m_startTimestepEclipse;
|
||||
caf::PdmField<int> m_endTimestepEclipse;
|
||||
caf::PdmField<int> m_startTimestepGeoMech;
|
||||
caf::PdmField<int> m_endTimestepGeoMech;
|
||||
caf::PdmPtrField<RimEclipseResultCase*> m_eclipseCase;
|
||||
caf::PdmField<bool> m_smoothEclipseData;
|
||||
caf::PdmPtrField<RimGeoMechCase*> m_geomechCase;
|
||||
caf::PdmField<QString> m_baseDir;
|
||||
caf::PdmField<bool> m_cleanBaseDir;
|
||||
caf::PdmField<QString> m_elasticTableFilename;
|
||||
};
|
||||
@@ -1,627 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2021 - Equinor ASA
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "RimFaultRASettings.h"
|
||||
#include "RimFaultRAPreprocSettings.h"
|
||||
|
||||
#include "RiaApplication.h"
|
||||
#include "RiaPreferencesGeoMech.h"
|
||||
#include "RimDoubleParameter.h"
|
||||
#include "RimEclipseCase.h"
|
||||
#include "RimEclipseInputCase.h"
|
||||
#include "RimEclipseResultCase.h"
|
||||
#include "RimGenericParameter.h"
|
||||
#include "RimGeoMechCase.h"
|
||||
#include "RimIntegerParameter.h"
|
||||
#include "RimParameterGroup.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimStringParameter.h"
|
||||
#include "RimTools.h"
|
||||
|
||||
#include "RifParameterXmlReader.h"
|
||||
|
||||
#include "cafPdmFieldScriptingCapability.h"
|
||||
#include "cafPdmObjectScriptingCapability.h"
|
||||
#include "cafPdmUiComboBoxEditor.h"
|
||||
#include "cafPdmUiFilePathEditor.h"
|
||||
#include "cafPdmUiTableViewEditor.h"
|
||||
#include "cafPdmUiTreeOrdering.h"
|
||||
|
||||
#include <QFileInfo>
|
||||
|
||||
#include <cmath>
|
||||
|
||||
CAF_PDM_SOURCE_INIT( RimFaultRASettings, "RimFaultRASettings" );
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimFaultRASettings::RimFaultRASettings()
|
||||
{
|
||||
CAF_PDM_InitObject( "Reactivation Assessment Settings", ":/fault_react_24x24.png" );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_eclipseCase, "EclipseCase", "Eclipse Case" );
|
||||
m_eclipseCase.uiCapability()->setUiReadOnly( true );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_geomechCase, "GeomechCase", "GeoMech Case" );
|
||||
m_geomechCase.uiCapability()->setUiReadOnly( true );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_eclipseFRAGeneratedCase, "EclipseFRACase", "Eclipse FRA Case" );
|
||||
m_eclipseFRAGeneratedCase.uiCapability()->setUiReadOnly( true );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_baseDir, "BaseDir", "Working Directory" );
|
||||
m_baseDir.uiCapability()->setUiReadOnly( true );
|
||||
|
||||
CAF_PDM_InitField( &m_elasticTableFilename, "ElasticTableFilename", QString( "" ), "Elastic Table" );
|
||||
m_elasticTableFilename.uiCapability()->setUiEditorTypeName( caf::PdmUiFilePathEditor::uiEditorTypeName() );
|
||||
m_elasticTableFilename.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
||||
|
||||
CAF_PDM_InitField( &m_startTimestepEclipse, "StartTimeStepEclipse", 0, "Start Time Step" );
|
||||
m_startTimestepEclipse.uiCapability()->setUiEditorTypeName( caf::PdmUiComboBoxEditor::uiEditorTypeName() );
|
||||
CAF_PDM_InitField( &m_endTimestepEclipse, "EndTimeStepEclipse", 0, "End Time Step" );
|
||||
m_endTimestepEclipse.uiCapability()->setUiEditorTypeName( caf::PdmUiComboBoxEditor::uiEditorTypeName() );
|
||||
|
||||
CAF_PDM_InitField( &m_startTimestepGeoMech, "StartTimeStepGeoMech", 0, "Start Time Step" );
|
||||
m_startTimestepGeoMech.uiCapability()->setUiEditorTypeName( caf::PdmUiComboBoxEditor::uiEditorTypeName() );
|
||||
m_startTimestepGeoMech.uiCapability()->setUiReadOnly( true );
|
||||
CAF_PDM_InitField( &m_endTimestepGeoMech, "EndTimeStepGeoMech", 0, "End Time Step" );
|
||||
m_endTimestepGeoMech.uiCapability()->setUiEditorTypeName( caf::PdmUiComboBoxEditor::uiEditorTypeName() );
|
||||
m_endTimestepGeoMech.uiCapability()->setUiReadOnly( true );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_basicParameters, "BasicParameters", "Basic Processing Parameters", ":/Bullet.png" );
|
||||
CAF_PDM_InitFieldNoDefault( &m_advancedParameters, "AdvancedParameters", "Advanced Processing Parameters", ":/Bullet.png" );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_basicParametersRI, "BasicParametersRI", "Basic ResInsight Parameters" );
|
||||
CAF_PDM_InitFieldNoDefault( &m_advancedParametersRI, "AdvancedParametersRI", "Advanced ResInsight Parameters" );
|
||||
|
||||
setupResInsightParameters();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimFaultRASettings::~RimFaultRASettings()
|
||||
{
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QList<caf::PdmOptionItemInfo> RimFaultRASettings::calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions )
|
||||
{
|
||||
QList<caf::PdmOptionItemInfo> options;
|
||||
|
||||
if ( fieldNeedingOptions == &m_eclipseCase )
|
||||
{
|
||||
RimTools::eclipseCaseOptionItems( &options );
|
||||
}
|
||||
else if ( fieldNeedingOptions == &m_geomechCase )
|
||||
{
|
||||
RimTools::geoMechCaseOptionItems( &options );
|
||||
}
|
||||
|
||||
if ( m_geomechCase() )
|
||||
{
|
||||
if ( fieldNeedingOptions == &m_startTimestepGeoMech )
|
||||
{
|
||||
RimTools::timeStepsForCase( m_geomechCase, &options );
|
||||
}
|
||||
else if ( fieldNeedingOptions == &m_endTimestepGeoMech )
|
||||
{
|
||||
RimTools::timeStepsForCase( m_geomechCase, &options );
|
||||
}
|
||||
}
|
||||
|
||||
if ( m_eclipseCase() )
|
||||
{
|
||||
if ( fieldNeedingOptions == &m_startTimestepEclipse )
|
||||
{
|
||||
RimTools::timeStepsForCase( m_eclipseCase(), &options );
|
||||
}
|
||||
else if ( fieldNeedingOptions == &m_endTimestepEclipse )
|
||||
{
|
||||
RimTools::timeStepsForCase( m_eclipseCase(), &options );
|
||||
}
|
||||
}
|
||||
|
||||
return options;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRASettings::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
|
||||
{
|
||||
uiOrdering.add( &m_baseDir );
|
||||
auto eclipseGroup = uiOrdering.addNewGroup( "Eclipse Time Steps" );
|
||||
eclipseGroup->add( &m_startTimestepEclipse );
|
||||
eclipseGroup->add( &m_endTimestepEclipse );
|
||||
|
||||
if ( m_geomechCase() != nullptr )
|
||||
{
|
||||
auto geomechGroup = uiOrdering.addNewGroup( "GeoMech Time Steps" );
|
||||
geomechGroup->add( &m_startTimestepGeoMech );
|
||||
geomechGroup->add( &m_endTimestepGeoMech );
|
||||
|
||||
auto tableGroup = uiOrdering.addNewGroup( "Additional Settings" );
|
||||
tableGroup->add( &m_elasticTableFilename );
|
||||
}
|
||||
uiOrdering.skipRemainingFields( true );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRASettings::defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName )
|
||||
{
|
||||
uiTreeOrdering.add( &m_basicParameters );
|
||||
uiTreeOrdering.add( &m_advancedParameters );
|
||||
uiTreeOrdering.skipRemainingChildren();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::eclipseCaseFilename() const
|
||||
{
|
||||
if ( m_eclipseCase ) return m_eclipseCase->gridFileName();
|
||||
return "";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimEclipseCase* RimFaultRASettings::eclipseCase() const
|
||||
{
|
||||
return m_eclipseCase;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimEclipseInputCase* RimFaultRASettings::eclipseFRAGeneratedCase() const
|
||||
{
|
||||
return m_eclipseFRAGeneratedCase;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::geomechCaseFilename() const
|
||||
{
|
||||
if ( m_geomechCase ) return m_geomechCase->gridFileName();
|
||||
return "";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::geomechCaseName() const
|
||||
{
|
||||
QFileInfo fi( geomechCaseFilename() );
|
||||
return fi.baseName();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimGeoMechCase* RimFaultRASettings::geomechCase() const
|
||||
{
|
||||
return m_geomechCase;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::outputBaseDirectory() const
|
||||
{
|
||||
return m_baseDir();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRASettings::setGeoMechCase( RimGeoMechCase* geomechCase )
|
||||
{
|
||||
m_geomechCase = geomechCase;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRASettings::setOutputBaseDirectory( QString baseDir )
|
||||
{
|
||||
m_baseDir = baseDir;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRASettings::initFromPreprocSettings( RimFaultRAPreprocSettings* preprocSettings,
|
||||
RimEclipseInputCase* eclipseCase )
|
||||
{
|
||||
m_geomechCase = preprocSettings->geoMechCase();
|
||||
m_eclipseCase = preprocSettings->eclipseCase();
|
||||
m_eclipseFRAGeneratedCase = eclipseCase;
|
||||
m_baseDir = preprocSettings->outputBaseDirectory();
|
||||
m_startTimestepEclipse = preprocSettings->startTimeStepEclipseIndex();
|
||||
m_endTimestepEclipse = preprocSettings->endTimeStepEclipseIndex();
|
||||
m_startTimestepGeoMech = preprocSettings->startTimeStepGeoMechIndex();
|
||||
m_endTimestepGeoMech = preprocSettings->endTimeStepGeoMechIndex();
|
||||
m_elasticTableFilename = preprocSettings->elasticTableFilename();
|
||||
|
||||
QString errorText;
|
||||
|
||||
RifParameterXmlReader basicreader( RiaPreferencesGeoMech::current()->geomechFRADefaultBasicXML() );
|
||||
if ( !basicreader.parseFile( errorText ) ) return;
|
||||
|
||||
m_basicParameters.deleteChildren();
|
||||
for ( auto group : basicreader.parameterGroups() )
|
||||
{
|
||||
m_basicParameters.push_back( group );
|
||||
}
|
||||
|
||||
if ( geomechCase() != nullptr )
|
||||
{
|
||||
RifParameterXmlReader advreader( RiaPreferencesGeoMech::current()->geomechFRADefaultAdvXML() );
|
||||
if ( !advreader.parseFile( errorText ) ) return;
|
||||
|
||||
m_advancedParameters.deleteChildren();
|
||||
for ( auto group : advreader.parameterGroups() )
|
||||
{
|
||||
m_advancedParameters.push_back( group );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimFaultRASettings::startTimeStepEclipseIndex() const
|
||||
{
|
||||
return m_startTimestepEclipse();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::startTimeStepEclipse() const
|
||||
{
|
||||
if ( m_eclipseCase() )
|
||||
{
|
||||
if ( ( m_startTimestepEclipse >= 0 ) && ( m_startTimestepEclipse <= m_eclipseCase->timeStepStrings().size() ) )
|
||||
return m_eclipseCase->timeStepStrings()[m_startTimestepEclipse];
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimFaultRASettings::endTimeStepEclipseIndex() const
|
||||
{
|
||||
return m_endTimestepEclipse();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::endTimeStepEclipse() const
|
||||
{
|
||||
if ( m_eclipseCase() )
|
||||
{
|
||||
if ( ( m_endTimestepEclipse >= 0 ) && ( m_endTimestepEclipse <= m_eclipseCase->timeStepStrings().size() ) )
|
||||
return m_eclipseCase->timeStepStrings()[m_endTimestepEclipse];
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimFaultRASettings::startTimeStepGeoMechIndex() const
|
||||
{
|
||||
return m_startTimestepGeoMech();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::startTimeStepGeoMech() const
|
||||
{
|
||||
if ( m_geomechCase() )
|
||||
{
|
||||
if ( ( m_startTimestepGeoMech >= 0 ) && ( m_startTimestepGeoMech <= m_geomechCase->timeStepStrings().size() ) )
|
||||
return m_geomechCase->timeStepStrings()[m_startTimestepGeoMech];
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimFaultRASettings::endTimeStepGeoMechIndex() const
|
||||
{
|
||||
return m_endTimestepGeoMech();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::endTimeStepGeoMech() const
|
||||
{
|
||||
if ( m_geomechCase() )
|
||||
{
|
||||
if ( ( m_endTimestepGeoMech >= 0 ) && ( m_endTimestepGeoMech <= m_geomechCase->timeStepStrings().size() ) )
|
||||
return m_geomechCase->timeStepStrings()[m_endTimestepGeoMech];
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRASettings::setEclipseTimeStepIndexes( int start, int stop )
|
||||
{
|
||||
m_startTimestepEclipse = start;
|
||||
m_endTimestepEclipse = stop;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRASettings::setGeomechTimeStepIndexes( int start, int stop )
|
||||
{
|
||||
m_startTimestepGeoMech = start;
|
||||
m_endTimestepGeoMech = stop;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::list<RimGenericParameter*> RimFaultRASettings::basicParameters( int faultID )
|
||||
{
|
||||
m_basicParametersRI->setParameterValue( "eclipse_input_grid", eclipseCaseFilename() );
|
||||
m_basicParametersRI->setParameterValue( "faultid", faultID );
|
||||
|
||||
std::list<RimGenericParameter*> retlist;
|
||||
|
||||
for ( auto& p : m_basicParametersRI->parameters() )
|
||||
{
|
||||
retlist.push_back( p );
|
||||
}
|
||||
|
||||
for ( auto& group : m_basicParameters.children() )
|
||||
{
|
||||
for ( auto& p : group->parameters() )
|
||||
{
|
||||
retlist.push_back( p );
|
||||
}
|
||||
}
|
||||
|
||||
return retlist;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::list<RimGenericParameter*> RimFaultRASettings::advancedParameters( int faultID )
|
||||
{
|
||||
bool advanced = true;
|
||||
m_advancedParametersRI->setParameterValue( "eclipse_loadstep_start", loadStepStart( advanced ) );
|
||||
m_advancedParametersRI->setParameterValue( "eclipse_loadstep_end", loadStepEnd() );
|
||||
m_advancedParametersRI->setParameterValue( "faultid_calibration", faultID );
|
||||
m_advancedParametersRI->setParameterValue( "abaqus_elastic_properties", elasticPropertiesFilename() );
|
||||
m_advancedParametersRI->setParameterValue( "abaqus_stress_start", stressStartFilename() );
|
||||
m_advancedParametersRI->setParameterValue( "abaqus_stress_end", stressEndFilename() );
|
||||
|
||||
std::list<RimGenericParameter*> retlist;
|
||||
|
||||
for ( auto& p : m_advancedParametersRI->parameters() )
|
||||
{
|
||||
retlist.push_back( p );
|
||||
}
|
||||
|
||||
for ( auto& group : m_advancedParameters.children() )
|
||||
{
|
||||
for ( auto& p : group->parameters() )
|
||||
{
|
||||
retlist.push_back( p );
|
||||
}
|
||||
}
|
||||
|
||||
return retlist;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRASettings::setupResInsightParameters()
|
||||
{
|
||||
m_basicParametersRI = new RimParameterGroup();
|
||||
m_basicParametersRI->setName( "ResInsight Basic" );
|
||||
m_basicParametersRI->addParameter( "eclipse_input_grid", "" );
|
||||
m_basicParametersRI->addParameter( "faultid", -1 );
|
||||
|
||||
m_advancedParametersRI = new RimParameterGroup();
|
||||
m_advancedParametersRI->setName( "ResInsight Advanced" );
|
||||
m_advancedParametersRI->addParameter( "abaqus_elastic_properties", "" );
|
||||
m_advancedParametersRI->addParameter( "abaqus_stress_start", "" );
|
||||
m_advancedParametersRI->addParameter( "abaqus_stress_end", "" );
|
||||
m_advancedParametersRI->addParameter( "faultid_calibration", -1 );
|
||||
m_advancedParametersRI->addParameter( "eclipse_loadstep_start", "" );
|
||||
m_advancedParametersRI->addParameter( "eclipse_loadstep_end", "" );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::elasticPropertiesFilename() const
|
||||
{
|
||||
return m_elasticTableFilename;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::stressStartFilename() const
|
||||
{
|
||||
QString filename = QString( "/%1/%2_%3_stress.rpt" ).arg( "Abaqus", geomechCaseName(), startTimeStepGeoMech() );
|
||||
return m_baseDir + filename;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::stressEndFilename() const
|
||||
{
|
||||
QString filename = QString( "/%1/%2_%3_stress.rpt" ).arg( "Abaqus", geomechCaseName(), endTimeStepGeoMech() );
|
||||
return m_baseDir + filename;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::basicMacrisDatabase() const
|
||||
{
|
||||
return m_baseDir + "/MacrisCalcResult.sqlite3";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::advancedMacrisDatabase() const
|
||||
{
|
||||
return m_baseDir + "/MacrisCalcCalibration.sqlite3";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimFaultRASettings::timeStepDigits() const
|
||||
{
|
||||
if ( m_eclipseCase == nullptr ) return 1;
|
||||
|
||||
int timesteps = m_eclipseCase->timeStepStrings().size();
|
||||
if ( timesteps <= 0 ) return 1;
|
||||
|
||||
return 1 + (int)( std::log10( 1.0 * timesteps ) );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::loadStepStart( bool advanced /* = false */ ) const
|
||||
{
|
||||
int startStep = 0;
|
||||
if ( !advanced ) startStep = startTimeStepEclipseIndex();
|
||||
|
||||
QString retval = QString( "PRESSURE_%1" ).arg( startStep, timeStepDigits(), 10, QChar( '0' ) );
|
||||
return retval;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::loadStepEnd() const
|
||||
{
|
||||
QString retval = QString( "PRESSURE_%1" ).arg( endTimeStepEclipseIndex(), timeStepDigits(), 10, QChar( '0' ) );
|
||||
return retval;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::basicParameterXMLFilename( int faultID ) const
|
||||
{
|
||||
QString retval = m_baseDir;
|
||||
retval += QString( "/tmp/calculate_%1.xml" ).arg( faultID, 3, 10, QChar( '0' ) );
|
||||
return retval;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::advancedParameterXMLFilename( int faultID ) const
|
||||
{
|
||||
QString retval = m_baseDir;
|
||||
retval += QString( "/tmp/calibrate_%1.xml" ).arg( faultID, 3, 10, QChar( '0' ) );
|
||||
return retval;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QStringList RimFaultRASettings::basicMacrisParameters( int faultID ) const
|
||||
{
|
||||
QStringList retlist;
|
||||
|
||||
retlist << "calculate";
|
||||
retlist << basicParameterXMLFilename( faultID );
|
||||
retlist << m_baseDir();
|
||||
retlist << "-i";
|
||||
retlist << loadStepStart();
|
||||
retlist << loadStepEnd();
|
||||
|
||||
return retlist;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QStringList RimFaultRASettings::advancedMacrisParameters( int faultID ) const
|
||||
{
|
||||
QStringList retlist;
|
||||
|
||||
retlist << "calibrate";
|
||||
retlist << basicParameterXMLFilename( faultID );
|
||||
retlist << advancedParameterXMLFilename( faultID );
|
||||
retlist << m_baseDir();
|
||||
|
||||
return retlist;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::tsurfOutputDirectory() const
|
||||
{
|
||||
return m_baseDir + "/tsurf";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimGenericParameter* RimFaultRASettings::getInputParameter( QString name ) const
|
||||
{
|
||||
RimGenericParameter* retval = nullptr;
|
||||
|
||||
for ( auto group : m_basicParameters.children() )
|
||||
{
|
||||
retval = group->parameter( name );
|
||||
if ( retval != nullptr ) return retval;
|
||||
}
|
||||
|
||||
for ( auto group : m_advancedParameters.children() )
|
||||
{
|
||||
retval = group->parameter( name );
|
||||
if ( retval != nullptr ) return retval;
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
@@ -1,118 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2021 Equinor ASA
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
#pragma once
|
||||
|
||||
#include "cafPdmChildArrayField.h"
|
||||
#include "cafPdmChildField.h"
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmPtrField.h"
|
||||
|
||||
#include <list>
|
||||
#include <string>
|
||||
|
||||
class RimEclipseInputCase;
|
||||
class RimEclipseCase;
|
||||
class RimGeoMechCase;
|
||||
class RimParameterGroup;
|
||||
class RimFaultRAPreprocSettings;
|
||||
class RimGenericParameter;
|
||||
|
||||
class RimFaultRASettings : public caf::PdmObject
|
||||
{
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
public:
|
||||
RimFaultRASettings();
|
||||
~RimFaultRASettings() override;
|
||||
|
||||
void initFromPreprocSettings( RimFaultRAPreprocSettings* preprocsettings, RimEclipseInputCase* eclipseCase );
|
||||
|
||||
void setGeoMechCase( RimGeoMechCase* geomechCase );
|
||||
RimGeoMechCase* geomechCase() const;
|
||||
QString geomechCaseFilename() const;
|
||||
QString geomechCaseName() const;
|
||||
|
||||
RimEclipseInputCase* eclipseFRAGeneratedCase() const;
|
||||
RimEclipseCase* eclipseCase() const;
|
||||
QString eclipseCaseFilename() const;
|
||||
|
||||
void setOutputBaseDirectory( QString baseDir );
|
||||
QString outputBaseDirectory() const;
|
||||
|
||||
int startTimeStepGeoMechIndex() const;
|
||||
QString startTimeStepGeoMech() const;
|
||||
int endTimeStepGeoMechIndex() const;
|
||||
QString endTimeStepGeoMech() const;
|
||||
|
||||
void setEclipseTimeStepIndexes( int start, int stop );
|
||||
void setGeomechTimeStepIndexes( int start, int stop );
|
||||
|
||||
int startTimeStepEclipseIndex() const;
|
||||
QString startTimeStepEclipse() const;
|
||||
QString loadStepStart( bool advanced = false ) const;
|
||||
int endTimeStepEclipseIndex() const;
|
||||
QString endTimeStepEclipse() const;
|
||||
QString loadStepEnd() const;
|
||||
|
||||
std::list<RimGenericParameter*> basicParameters( int faultID );
|
||||
std::list<RimGenericParameter*> advancedParameters( int faultID );
|
||||
|
||||
QString elasticPropertiesFilename() const;
|
||||
QString stressStartFilename() const;
|
||||
QString stressEndFilename() const;
|
||||
QString basicMacrisDatabase() const;
|
||||
QString advancedMacrisDatabase() const;
|
||||
|
||||
QString basicParameterXMLFilename( int faultID ) const;
|
||||
QString advancedParameterXMLFilename( int faultID ) const;
|
||||
|
||||
QStringList basicMacrisParameters( int faultID ) const;
|
||||
QStringList advancedMacrisParameters( int faultID ) const;
|
||||
|
||||
QString tsurfOutputDirectory() const;
|
||||
|
||||
RimGenericParameter* getInputParameter( QString name ) const;
|
||||
|
||||
protected:
|
||||
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
|
||||
void defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName ) override;
|
||||
|
||||
QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions ) override;
|
||||
|
||||
private:
|
||||
void setupResInsightParameters();
|
||||
int timeStepDigits() const;
|
||||
|
||||
private:
|
||||
caf::PdmPtrField<RimEclipseInputCase*> m_eclipseFRAGeneratedCase;
|
||||
caf::PdmPtrField<RimEclipseCase*> m_eclipseCase;
|
||||
caf::PdmPtrField<RimGeoMechCase*> m_geomechCase;
|
||||
caf::PdmField<QString> m_baseDir;
|
||||
caf::PdmField<QString> m_elasticTableFilename;
|
||||
|
||||
caf::PdmField<int> m_startTimestepEclipse;
|
||||
caf::PdmField<int> m_endTimestepEclipse;
|
||||
caf::PdmField<int> m_startTimestepGeoMech;
|
||||
caf::PdmField<int> m_endTimestepGeoMech;
|
||||
|
||||
caf::PdmChildArrayField<RimParameterGroup*> m_basicParameters;
|
||||
caf::PdmChildArrayField<RimParameterGroup*> m_advancedParameters;
|
||||
caf::PdmChildField<RimParameterGroup*> m_basicParametersRI;
|
||||
caf::PdmChildField<RimParameterGroup*> m_advancedParametersRI;
|
||||
};
|
||||
@@ -282,13 +282,6 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
|
||||
menuBuilder << "Separator";
|
||||
menuBuilder << "RicCopyReferencesToClipboardFeature";
|
||||
menuBuilder << "Separator";
|
||||
#ifdef USE_ODB_API
|
||||
if ( dynamic_cast<RimEclipseResultCase*>( firstUiItem ) )
|
||||
{
|
||||
menuBuilder << "RicNewFaultReactAssessmentFeature";
|
||||
menuBuilder << "Separator";
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else if ( dynamic_cast<RimGridInfoCollection*>( firstUiItem ) )
|
||||
{
|
||||
@@ -306,8 +299,6 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
|
||||
menuBuilder << "Separator";
|
||||
menuBuilder << "RicGeoMechCopyCaseFeature";
|
||||
menuBuilder << "Separator";
|
||||
menuBuilder << "RicNewFaultReactAssessmentFeature";
|
||||
menuBuilder << "Separator";
|
||||
}
|
||||
else if ( dynamic_cast<RimIdenticalGridCaseGroup*>( firstUiItem ) )
|
||||
{
|
||||
@@ -1224,19 +1215,6 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
|
||||
else if ( dynamic_cast<RimFaultInView*>( firstUiItem ) )
|
||||
{
|
||||
menuBuilder << "RicExportFaultsFeature";
|
||||
#ifdef USE_ODB_API
|
||||
menuBuilder.subMenuStart( "Reactivation Assessment" );
|
||||
menuBuilder << "RicRunBasicFaultReactAssessmentFeature";
|
||||
menuBuilder << "RicRunAdvFaultReactAssessmentFeature";
|
||||
menuBuilder.subMenuEnd();
|
||||
}
|
||||
else if ( dynamic_cast<RimFaultInViewCollection*>( firstUiItem ) )
|
||||
{
|
||||
menuBuilder.subMenuStart( "Reactivation Assessment" );
|
||||
menuBuilder << "RicRunBasicFaultReactAssessmentFeature";
|
||||
menuBuilder << "RicRunAdvFaultReactAssessmentFeature";
|
||||
menuBuilder.subMenuEnd();
|
||||
#endif
|
||||
}
|
||||
else if ( dynamic_cast<RimSimWellInView*>( firstUiItem ) )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user