mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Fault React. Assessment updates, part 2 (#7735)
* Add additional parameters to postprocessing script.
This commit is contained in:
@@ -18,11 +18,27 @@
|
||||
|
||||
#include "RimFaultRAPostprocSettings.h"
|
||||
|
||||
#include "RimDoubleParameter.h"
|
||||
#include "RimFaultRASettings.h"
|
||||
#include "RimParameterGroup.h"
|
||||
|
||||
#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();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -35,40 +51,76 @@ RimFaultRAPostprocSettings::~RimFaultRAPostprocSettings()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRAPostprocSettings::setBaseDirectory( QString baseDir )
|
||||
void RimFaultRAPostprocSettings::initFromSettings( RimFaultRASettings* settings )
|
||||
{
|
||||
m_baseDir = baseDir + "/base_dir";
|
||||
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() ) );
|
||||
}
|
||||
|
||||
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() );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultRAPostprocSettings::setStepsToLoad( std::list<int> steps )
|
||||
QStringList RimFaultRAPostprocSettings::stepsToLoad()
|
||||
{
|
||||
m_steps.clear();
|
||||
m_steps.insert( m_steps.begin(), steps.begin(), steps.end() );
|
||||
QStringList timesteps;
|
||||
timesteps.push_back( QString::number( m_startTimestepEclipse() ) );
|
||||
timesteps.push_back( QString::number( m_endTimestepEclipse() ) );
|
||||
|
||||
return timesteps;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::list<int>& RimFaultRAPostprocSettings::stepsToLoad()
|
||||
QString RimFaultRAPostprocSettings::postprocParameterFilename( int faultID ) const
|
||||
{
|
||||
return m_steps;
|
||||
QString retval = m_baseDir;
|
||||
retval += QString( "/tmp/postproc_%1.json" ).arg( faultID, 3, 10, QChar( '0' ) );
|
||||
return retval;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPostprocSettings::postprocParameterFilename() const
|
||||
{
|
||||
return m_baseDir + "/post_processing.json";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPostprocSettings::databaseDirectory() const
|
||||
QString RimFaultRAPostprocSettings::outputBaseDirectory() const
|
||||
{
|
||||
return m_baseDir;
|
||||
}
|
||||
@@ -76,15 +128,43 @@ QString RimFaultRAPostprocSettings::databaseDirectory() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPostprocSettings::macrisCalcCalibPath() const
|
||||
QString RimFaultRAPostprocSettings::advancedMacrisDatabase() const
|
||||
{
|
||||
return m_baseDir + "/MacrisCalcCalibration.sqlite3";
|
||||
return m_advancedMacrisDatabase;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRAPostprocSettings::macrisCalcPath() const
|
||||
QString RimFaultRAPostprocSettings::basicMacrisDatabase() const
|
||||
{
|
||||
return m_baseDir + "/MacrisCalcResult.sqlite3";
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -17,27 +17,45 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
#pragma once
|
||||
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmPtrField.h"
|
||||
|
||||
#include <list>
|
||||
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
|
||||
class RimFaultRAPostprocSettings
|
||||
class RimFaultRASettings;
|
||||
class RimParameterGroup;
|
||||
|
||||
class RimFaultRAPostprocSettings : public caf::PdmObject
|
||||
{
|
||||
public:
|
||||
RimFaultRAPostprocSettings();
|
||||
~RimFaultRAPostprocSettings();
|
||||
~RimFaultRAPostprocSettings() override;
|
||||
|
||||
void setBaseDirectory( QString baseDir );
|
||||
void setStepsToLoad( std::list<int> steps );
|
||||
void initFromSettings( RimFaultRASettings* settings );
|
||||
|
||||
std::list<int>& stepsToLoad();
|
||||
QStringList stepsToLoad();
|
||||
|
||||
QString postprocParameterFilename() const;
|
||||
QString databaseDirectory() const;
|
||||
QString macrisCalcCalibPath() const;
|
||||
QString macrisCalcPath() const;
|
||||
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:
|
||||
QString m_baseDir;
|
||||
std::list<int> m_steps;
|
||||
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;
|
||||
};
|
||||
|
||||
@@ -540,16 +540,6 @@ QString RimFaultRASettings::advancedParameterXMLFilename( int faultID ) const
|
||||
return retval;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::postprocParameterFilename( int faultID ) const
|
||||
{
|
||||
QString retval = m_baseDir;
|
||||
retval += QString( "/tmp/postproc_%1.json" ).arg( faultID, 3, 10, QChar( '0' ) );
|
||||
return retval;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -585,19 +575,29 @@ QStringList RimFaultRASettings::advancedMacrisParameters( int faultID ) const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QStringList RimFaultRASettings::postprocParameters( int faultID ) const
|
||||
QString RimFaultRASettings::tsurfOutputDirectory() const
|
||||
{
|
||||
QStringList retlist;
|
||||
|
||||
retlist << postprocParameterFilename( faultID );
|
||||
|
||||
return retlist;
|
||||
return m_baseDir + "/tsurf";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFaultRASettings::tsurfOutputDirectory() const
|
||||
RimGenericParameter* RimFaultRASettings::getInputParameter( QString name ) const
|
||||
{
|
||||
return m_baseDir + "/tsurf";
|
||||
RimGenericParameter* retval = nullptr;
|
||||
|
||||
for ( auto group : m_basicParameters.childObjects() )
|
||||
{
|
||||
retval = group->parameter( name );
|
||||
if ( retval != nullptr ) return retval;
|
||||
}
|
||||
|
||||
for ( auto group : m_advancedParameters.childObjects() )
|
||||
{
|
||||
retval = group->parameter( name );
|
||||
if ( retval != nullptr ) return retval;
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
@@ -80,14 +80,14 @@ public:
|
||||
|
||||
QString basicParameterXMLFilename( int faultID ) const;
|
||||
QString advancedParameterXMLFilename( int faultID ) const;
|
||||
QString postprocParameterFilename( int faultID ) const;
|
||||
|
||||
QStringList basicMacrisParameters( int faultID ) const;
|
||||
QStringList advancedMacrisParameters( int faultID ) const;
|
||||
QStringList postprocParameters( int faultID ) const;
|
||||
|
||||
QString tsurfOutputDirectory() const;
|
||||
|
||||
RimGenericParameter* getInputParameter( QString name ) const;
|
||||
|
||||
protected:
|
||||
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
|
||||
QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions,
|
||||
|
||||
Reference in New Issue
Block a user