mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Fault Reactivation Export: handle steps selection in export.
This commit is contained in:
@@ -76,7 +76,7 @@ std::pair<bool, std::string> RifFaultReactivationModelExporter::exportToStream(
|
||||
[&]() { return printBoundaryConditions( stream, *model, partNames, boundaries ); },
|
||||
[&]() { return printPredefinedFields( stream, partNames ); },
|
||||
[&]() { return printInteractions( stream, partNames, borders ); },
|
||||
[&]() { return printSteps( stream, partNames ); },
|
||||
[&]() { return printSteps( stream, partNames, rimModel.selectedTimeSteps() ); },
|
||||
};
|
||||
|
||||
for ( auto method : methods )
|
||||
@@ -377,16 +377,19 @@ std::pair<bool, std::string>
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::pair<bool, std::string>
|
||||
RifFaultReactivationModelExporter::printSteps( std::ostream& stream,
|
||||
const std::map<RigFaultReactivationModel::GridPart, std::string>& partNames )
|
||||
const std::map<RigFaultReactivationModel::GridPart, std::string>& partNames,
|
||||
const std::vector<QDateTime>& timeSteps )
|
||||
{
|
||||
int numSteps = 2;
|
||||
// First time step has to be selected in order to export currently
|
||||
if ( timeSteps.size() < 2 ) return { false, "Failed to export fault reactivation INP: needs at least two time steps." };
|
||||
|
||||
for ( int i = 0; i < numSteps; i++ )
|
||||
for ( int i = 0; i < static_cast<int>( timeSteps.size() ); i++ )
|
||||
{
|
||||
std::string stepNum = std::to_string( i + 1 );
|
||||
std::string stepName = "Step-" + stepNum;
|
||||
RifInpExportTools::printComment( stream, "----------------------------------------------------------------" );
|
||||
RifInpExportTools::printSectionComment( stream, "STEP: " + stepName );
|
||||
RifInpExportTools::printComment( stream, "Time step: " + timeSteps[i].toString().toStdString() );
|
||||
|
||||
RifInpExportTools::printHeading( stream, "Step, name=" + stepName + ", nlgeom=NO" );
|
||||
|
||||
|
||||
@@ -62,7 +62,9 @@ private:
|
||||
static std::pair<bool, std::string> printPredefinedFields( std::ostream& stream,
|
||||
const std::map<RigFaultReactivationModel::GridPart, std::string>& partNames );
|
||||
static std::pair<bool, std::string> printSteps( std::ostream& stream,
|
||||
const std::map<RigFaultReactivationModel::GridPart, std::string>& partNames );
|
||||
const std::map<RigFaultReactivationModel::GridPart, std::string>& partNames,
|
||||
const std::vector<QDateTime>& timeSteps );
|
||||
|
||||
static std::pair<bool, std::string> printInteractions( std::ostream& stream,
|
||||
const std::map<RigFaultReactivationModel::GridPart, std::string>& partNames,
|
||||
const std::vector<std::pair<RigGriddedPart3d::BorderSurface, std::string>>& borders );
|
||||
|
||||
@@ -530,6 +530,16 @@ std::vector<QDateTime> RimFaultReactivationModel::selectedTimeSteps() const
|
||||
return m_selectedTimeSteps();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimFaultReactivationModel::isFirstTimeStepsSelected() const
|
||||
{
|
||||
if ( m_availableTimeSteps.empty() || selectedTimeSteps().empty() ) return false;
|
||||
|
||||
return m_availableTimeSteps.front() == selectedTimeSteps().front();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -100,6 +100,7 @@ public:
|
||||
void setBaseDir( QString path );
|
||||
|
||||
std::vector<QDateTime> selectedTimeSteps() const;
|
||||
bool isFirstTimeStepsSelected() const;
|
||||
|
||||
QStringList commandParameters() const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user