From 43216273b496a97d093779d4b0373aebec1ed157 Mon Sep 17 00:00:00 2001 From: chflo Date: Tue, 8 Dec 2015 17:42:38 +0100 Subject: [PATCH] OPM-250: Added method to IOConfig to support restart --- .../eclipse/EclipseState/IOConfig/IOConfig.cpp | 17 +++++++++++++++++ .../eclipse/EclipseState/IOConfig/IOConfig.hpp | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.cpp b/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.cpp index feaeceebf..5c60d225e 100644 --- a/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.cpp +++ b/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.cpp @@ -22,6 +22,9 @@ #include #include +#include + + namespace Opm { @@ -295,10 +298,12 @@ namespace Opm { return m_FMTOUT; } + const std::string& IOConfig::getEclipseInputPath() const { return m_eclipse_input_path; } + void IOConfig::setWriteInitialRestartFile(bool writeInitialRestartFile) { m_write_initial_RST_file = writeInitialRestartFile; } @@ -370,4 +375,16 @@ namespace Opm { } + std::string IOConfig::getRestartFileName(const std::string& restart_base, int report_step, bool output) const { + bool unified = output ? getUNIFOUT() : getUNIFIN(); + bool fmt_file = output ? getFMTOUT() : getFMTIN(); + + ecl_file_enum file_type = (unified) ? ECL_UNIFIED_RESTART_FILE : ECL_RESTART_FILE; + char * c_str = ecl_util_alloc_filename( NULL , restart_base.c_str() , file_type, fmt_file , report_step); + std::string restart_filename = c_str; + free( c_str ); + + return restart_filename; + } + } //namespace Opm diff --git a/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.hpp b/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.hpp index 2f3ffa5e2..757417d30 100644 --- a/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.hpp +++ b/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.hpp @@ -140,7 +140,7 @@ namespace Opm { boost::gregorian::date getTimestepDate(size_t timestep) const; void dumpRestartConfig() const; - + std::string getRestartFileName(const std::string& restart_base, int report_step, bool output) const; private: