Merge pull request #5146 from akva2/flowmain_drop_ebos

rename FlowMainEbos to FlowMain
This commit is contained in:
Markus Blatt 2024-02-06 16:24:33 +01:00 committed by GitHub
commit 3ae685d47c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
38 changed files with 91 additions and 89 deletions

View File

@ -44,7 +44,7 @@ list (APPEND MAIN_SOURCE_FILES
opm/simulators/flow/Banners.cpp opm/simulators/flow/Banners.cpp
opm/simulators/flow/ConvergenceOutputConfiguration.cpp opm/simulators/flow/ConvergenceOutputConfiguration.cpp
opm/simulators/flow/ExtraConvergenceOutputThread.cpp opm/simulators/flow/ExtraConvergenceOutputThread.cpp
opm/simulators/flow/FlowMainEbos.cpp opm/simulators/flow/FlowMain.cpp
opm/simulators/flow/InterRegFlows.cpp opm/simulators/flow/InterRegFlows.cpp
opm/simulators/flow/KeywordValidation.cpp opm/simulators/flow/KeywordValidation.cpp
opm/simulators/flow/LogOutputHelper.cpp opm/simulators/flow/LogOutputHelper.cpp
@ -448,7 +448,7 @@ list (APPEND PUBLIC_HEADER_FILES
opm/simulators/flow/Banners.hpp opm/simulators/flow/Banners.hpp
opm/simulators/flow/ConvergenceOutputConfiguration.hpp opm/simulators/flow/ConvergenceOutputConfiguration.hpp
opm/simulators/flow/ExtraConvergenceOutputThread.hpp opm/simulators/flow/ExtraConvergenceOutputThread.hpp
opm/simulators/flow/FlowMainEbos.hpp opm/simulators/flow/FlowMain.hpp
opm/simulators/flow/InterRegFlows.hpp opm/simulators/flow/InterRegFlows.hpp
opm/simulators/flow/Main.hpp opm/simulators/flow/Main.hpp
opm/simulators/flow/NonlinearSolver.hpp opm/simulators/flow/NonlinearSolver.hpp

View File

@ -44,14 +44,14 @@ namespace Opm {
namespace Opm namespace Opm
{ {
std::unique_ptr<FlowMainEbos<Properties::TTag::EclFlowProblemTPFA>> std::unique_ptr<FlowMain<Properties::TTag::EclFlowProblemTPFA>>
flowEbosBlackoilTpfaMainInit(int argc, char** argv, bool outputCout, bool outputFiles) flowEbosBlackoilTpfaMainInit(int argc, char** argv, bool outputCout, bool outputFiles)
{ {
// we always want to use the default locale, and thus spare us the trouble // we always want to use the default locale, and thus spare us the trouble
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
return std::make_unique<FlowMainEbos<Properties::TTag::EclFlowProblemTPFA>>( return std::make_unique<FlowMain<Properties::TTag::EclFlowProblemTPFA>>(
argc, argv, outputCout, outputFiles); argc, argv, outputCout, outputFiles);
} }
@ -62,7 +62,7 @@ int flowEbosBlackoilTpfaMain(int argc, char** argv, bool outputCout, bool output
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowProblemTPFA> FlowMain<Properties::TTag::EclFlowProblemTPFA>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -39,10 +39,10 @@ namespace Opm {
//! \brief Main function used in flow binary. //! \brief Main function used in flow binary.
int flowEbosBlackoilTpfaMain(int argc, char** argv, bool outputCout, bool outputFiles); int flowEbosBlackoilTpfaMain(int argc, char** argv, bool outputCout, bool outputFiles);
template<class TypeTag> class FlowMainEbos; template<class TypeTag> class FlowMain;
//! \brief Initialization function used in flow binary and python simulator. //! \brief Initialization function used in flow binary and python simulator.
std::unique_ptr<FlowMainEbos<Properties::TTag::EclFlowProblemTPFA>> std::unique_ptr<FlowMain<Properties::TTag::EclFlowProblemTPFA>>
flowEbosBlackoilTpfaMainInit(int argc, char** argv, bool outputCout, bool outputFiles); flowEbosBlackoilTpfaMainInit(int argc, char** argv, bool outputCout, bool outputFiles);
//! \brief Main function used in flow_brine binary. //! \brief Main function used in flow_brine binary.

View File

@ -24,14 +24,14 @@
namespace Opm { namespace Opm {
std::unique_ptr<FlowMainEbos<Properties::TTag::EclFlowProblem>> std::unique_ptr<FlowMain<Properties::TTag::EclFlowProblem>>
flowEbosBlackoilMainInit(int argc, char** argv, bool outputCout, bool outputFiles) flowEbosBlackoilMainInit(int argc, char** argv, bool outputCout, bool outputFiles)
{ {
// we always want to use the default locale, and thus spare us the trouble // we always want to use the default locale, and thus spare us the trouble
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
return std::make_unique<FlowMainEbos<Properties::TTag::EclFlowProblem>>( return std::make_unique<FlowMain<Properties::TTag::EclFlowProblem>>(
argc, argv, outputCout, outputFiles); argc, argv, outputCout, outputFiles);
} }

View File

@ -21,7 +21,7 @@
namespace Opm { namespace Opm {
template<class TypeTag> class FlowMainEbos; template<class TypeTag> class FlowMain;
namespace Action { namespace Action {
class State; class State;
@ -32,7 +32,7 @@ namespace Properties { namespace TTag { struct EclFlowProblem; } }
int flowEbosBlackoilMain(int argc, char** argv, bool outputCout, bool outputFiles); int flowEbosBlackoilMain(int argc, char** argv, bool outputCout, bool outputFiles);
//! \brief Initialization function used in flow binary and python simulator. //! \brief Initialization function used in flow binary and python simulator.
std::unique_ptr<FlowMainEbos<Properties::TTag::EclFlowProblem>> std::unique_ptr<FlowMain<Properties::TTag::EclFlowProblem>>
flowEbosBlackoilMainInit(int argc, char** argv, bool outputCout, bool outputFiles); flowEbosBlackoilMainInit(int argc, char** argv, bool outputCout, bool outputFiles);
//! \brief Main function used in flow_blackoil binary. //! \brief Main function used in flow_blackoil binary.

View File

@ -45,7 +45,7 @@ int flowEbosBrineMain(int argc, char** argv, bool outputCout, bool outputFiles)
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowBrineProblem> FlowMain<Properties::TTag::EclFlowBrineProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -55,7 +55,7 @@ int flowEbosBrinePrecsaltVapwatMain(int argc, char** argv, bool outputCout, bool
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowBrinePrecsaltVapwatProblem> FlowMain<Properties::TTag::EclFlowBrinePrecsaltVapwatProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -50,7 +50,7 @@ int flowEbosBrineSaltPrecipitationMain(int argc, char** argv, bool outputCout, b
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowBrineSaltPrecipitationProblem> FlowMain<Properties::TTag::EclFlowBrineSaltPrecipitationProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -46,7 +46,7 @@ int flowEbosEnergyMain(int argc, char** argv, bool outputCout, bool outputFiles)
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowEnergyProblem> FlowMain<Properties::TTag::EclFlowEnergyProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -45,7 +45,7 @@ int flowEbosExtboMain(int argc, char** argv, bool outputCout, bool outputFiles)
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowExtboProblem> FlowMain<Properties::TTag::EclFlowExtboProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -45,7 +45,7 @@ int flowEbosFoamMain(int argc, char** argv, bool outputCout, bool outputFiles)
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowFoamProblem> FlowMain<Properties::TTag::EclFlowFoamProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -78,7 +78,7 @@ int flowEbosGasOilMain(int argc, char** argv, bool outputCout, bool outputFiles)
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowGasOilProblem> FlowMain<Properties::TTag::EclFlowGasOilProblem>
mainfunc {argc, argv, outputCout, outputFiles} ; mainfunc {argc, argv, outputCout, outputFiles} ;
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -84,7 +84,7 @@ int flowEbosGasOilEnergyMain(int argc, char** argv, bool outputCout, bool output
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowGasOilEnergyProblem> FlowMain<Properties::TTag::EclFlowGasOilEnergyProblem>
mainfunc {argc, argv, outputCout, outputFiles} ; mainfunc {argc, argv, outputCout, outputFiles} ;
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -80,7 +80,7 @@ int flowEbosGasOilDiffuseMain(int argc, char** argv, bool outputCout, bool outpu
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowGasOilDiffuseProblem> FlowMain<Properties::TTag::EclFlowGasOilDiffuseProblem>
mainfunc {argc, argv, outputCout, outputFiles} ; mainfunc {argc, argv, outputCout, outputFiles} ;
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -82,7 +82,7 @@ int flowEbosGasWaterMain(int argc, char** argv, bool outputCout, bool outputFile
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowGasWaterProblem> FlowMain<Properties::TTag::EclFlowGasWaterProblem>
mainfunc {argc, argv, outputCout, outputFiles} ; mainfunc {argc, argv, outputCout, outputFiles} ;
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -77,7 +77,7 @@ int flowEbosGasWaterBrineMain(int argc, char** argv, bool outputCout, bool outpu
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowGasWaterBrineProblem> FlowMain<Properties::TTag::EclFlowGasWaterBrineProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -92,7 +92,7 @@ int flowEbosGasWaterDissolutionMain(int argc, char** argv, bool outputCout, bool
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowGasWaterDissolutionProblem> FlowMain<Properties::TTag::EclFlowGasWaterDissolutionProblem>
mainfunc {argc, argv, outputCout, outputFiles} ; mainfunc {argc, argv, outputCout, outputFiles} ;
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -95,7 +95,7 @@ int flowEbosGasWaterDissolutionDiffuseMain(int argc, char** argv, bool outputCou
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowGasWaterDissolutionDiffuseProblem> FlowMain<Properties::TTag::EclFlowGasWaterDissolutionDiffuseProblem>
mainfunc {argc, argv, outputCout, outputFiles} ; mainfunc {argc, argv, outputCout, outputFiles} ;
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -100,7 +100,7 @@ int flowEbosGasWaterEnergyMain(int argc, char** argv, bool outputCout, bool outp
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowGasWaterEnergyProblem> FlowMain<Properties::TTag::EclFlowGasWaterEnergyProblem>
mainfunc {argc, argv, outputCout, outputFiles} ; mainfunc {argc, argv, outputCout, outputFiles} ;
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -90,7 +90,7 @@ int flowEbosGasWaterSaltprecEnergyMain(int argc, char** argv, bool outputCout, b
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowGasWaterSaltprecEnergyProblem> FlowMain<Properties::TTag::EclFlowGasWaterSaltprecEnergyProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -85,7 +85,7 @@ int flowEbosGasWaterSaltprecVapwatMain(int argc, char** argv, bool outputCout, b
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowGasWaterSaltprecVapwatProblem> FlowMain<Properties::TTag::EclFlowGasWaterSaltprecVapwatProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -75,7 +75,7 @@ int flowEbosGasWaterSolventMain(int argc, char** argv, bool outputCout, bool out
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowGasWaterSolventProblem> FlowMain<Properties::TTag::EclFlowGasWaterSolventProblem>
mainfunc {argc, argv, outputCout, outputFiles} ; mainfunc {argc, argv, outputCout, outputFiles} ;
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -69,7 +69,7 @@ int flowEbosMICPMain(int argc, char** argv, bool outputCout, bool outputFiles)
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowMICPProblem> FlowMain<Properties::TTag::EclFlowMICPProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -81,7 +81,7 @@ int flowEbosOilWaterMain(int argc, char** argv, bool outputCout, bool outputFile
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowOilWaterProblem> FlowMain<Properties::TTag::EclFlowOilWaterProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -69,7 +69,7 @@ int flowEbosOilWaterBrineMain(int argc, char** argv, bool outputCout, bool outpu
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowOilWaterBrineProblem> FlowMain<Properties::TTag::EclFlowOilWaterBrineProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -69,7 +69,7 @@ int flowEbosOilWaterPolymerMain(int argc, char** argv, bool outputCout, bool out
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowOilWaterPolymerProblem> FlowMain<Properties::TTag::EclFlowOilWaterPolymerProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -82,7 +82,7 @@ int flowEbosOilWaterPolymerInjectivityMain(int argc, char** argv, bool outputCou
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowOilWaterPolymerInjectivityProblem> FlowMain<Properties::TTag::EclFlowOilWaterPolymerInjectivityProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -76,7 +76,7 @@ int flowEbosWaterOnlyMain(int argc, char** argv, bool outputCout, bool outputFil
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowProblemWaterOnly> FlowMain<Properties::TTag::EclFlowProblemWaterOnly>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -71,7 +71,7 @@ int flowEbosWaterOnlyEnergyMain(int argc, char** argv, bool outputCout, bool out
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowProblemWaterOnlyEnergy> FlowMain<Properties::TTag::EclFlowProblemWaterOnlyEnergy>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -45,7 +45,7 @@ int flowEbosPolymerMain(int argc, char** argv, bool outputCout, bool outputFiles
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowPolymerProblem> FlowMain<Properties::TTag::EclFlowPolymerProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -45,7 +45,7 @@ int flowEbosSolventMain(int argc, char** argv, bool outputCout, bool outputFiles
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowSolventProblem> FlowMain<Properties::TTag::EclFlowSolventProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -50,7 +50,7 @@ int flowEbosSolventFoamMain(int argc, char** argv, bool outputCout, bool outputF
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<Properties::TTag::EclFlowSolventFoamProblem> FlowMain<Properties::TTag::EclFlowSolventFoamProblem>
mainfunc {argc, argv, outputCout, outputFiles}; mainfunc {argc, argv, outputCout, outputFiles};
return mainfunc.execute(); return mainfunc.execute();
} }

View File

@ -21,7 +21,7 @@
*/ */
#include <config.h> #include <config.h>
#include <opm/simulators/flow/FlowMainEbos.hpp> #include <opm/simulators/flow/FlowMain.hpp>
#include <opm/common/utility/String.hpp> #include <opm/common/utility/String.hpp>

View File

@ -19,8 +19,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with OPM. If not, see <http://www.gnu.org/licenses/>. along with OPM. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef OPM_FLOW_MAIN_EBOS_HEADER_INCLUDED #ifndef OPM_FLOW_MAIN_HEADER_INCLUDED
#define OPM_FLOW_MAIN_EBOS_HEADER_INCLUDED #define OPM_FLOW_MAIN_HEADER_INCLUDED
#include <opm/simulators/flow/Banners.hpp> #include <opm/simulators/flow/Banners.hpp>
#include <opm/simulators/flow/SimulatorFullyImplicitBlackoil.hpp> #include <opm/simulators/flow/SimulatorFullyImplicitBlackoil.hpp>
@ -92,13 +92,13 @@ void handleExtraConvergenceOutput(SimulatorReport& report,
class Deck; class Deck;
// The FlowMain class is the ebos based black-oil simulator. // The FlowMain class is the black-oil simulator.
template <class TypeTag> template <class TypeTag>
class FlowMainEbos class FlowMain
{ {
public: public:
using MaterialLawManager = typename GetProp<TypeTag, Properties::MaterialLaw>::EclMaterialLawManager; using MaterialLawManager = typename GetProp<TypeTag, Properties::MaterialLaw>::EclMaterialLawManager;
using EbosSimulator = GetPropType<TypeTag, Properties::Simulator>; using ModelSimulator = GetPropType<TypeTag, Properties::Simulator>;
using Grid = GetPropType<TypeTag, Properties::Grid>; using Grid = GetPropType<TypeTag, Properties::Grid>;
using GridView = GetPropType<TypeTag, Properties::GridView>; using GridView = GetPropType<TypeTag, Properties::GridView>;
using Problem = GetPropType<TypeTag, Properties::Problem>; using Problem = GetPropType<TypeTag, Properties::Problem>;
@ -107,7 +107,7 @@ void handleExtraConvergenceOutput(SimulatorReport& report,
using Simulator = SimulatorFullyImplicitBlackoil<TypeTag>; using Simulator = SimulatorFullyImplicitBlackoil<TypeTag>;
FlowMainEbos(int argc, char **argv, bool output_cout, bool output_files ) FlowMain(int argc, char **argv, bool output_cout, bool output_files )
: argc_{argc}, argv_{argv}, : argc_{argc}, argv_{argv},
output_cout_{output_cout}, output_files_{output_files} output_cout_{output_cout}, output_files_{output_files}
{ {
@ -138,7 +138,7 @@ void handleExtraConvergenceOutput(SimulatorReport& report,
Simulator::registerParameters(); Simulator::registerParameters();
// register the parameters inherited from ebos // register the base parameters
registerAllParameters_<TypeTag>(/*finalizeRegistration=*/false); registerAllParameters_<TypeTag>(/*finalizeRegistration=*/false);
// hide the parameters unused by flow. TODO: this is a pain to maintain // hide the parameters unused by flow. TODO: this is a pain to maintain
@ -289,12 +289,12 @@ void handleExtraConvergenceOutput(SimulatorReport& report,
/// input. /// input.
int execute() int execute()
{ {
return execute_(&FlowMainEbos::runSimulator, /*cleanup=*/true); return execute_(&FlowMain::runSimulator, /*cleanup=*/true);
} }
int executeInitStep() int executeInitStep()
{ {
return execute_(&FlowMainEbos::runSimulatorInit, /*cleanup=*/false); return execute_(&FlowMain::runSimulatorInit, /*cleanup=*/false);
} }
// Returns true unless "EXIT" was encountered in the schedule // Returns true unless "EXIT" was encountered in the schedule
@ -313,11 +313,13 @@ void handleExtraConvergenceOutput(SimulatorReport& report,
return report.success.exit_status; return report.success.exit_status;
} }
EbosSimulator *getSimulatorPtr() { ModelSimulator* getSimulatorPtr()
return ebosSimulator_.get(); {
return modelSimulator_.get();
} }
SimulatorTimer* getSimTimer() { SimulatorTimer* getSimTimer()
{
return simtimer_.get(); return simtimer_.get();
} }
@ -329,7 +331,7 @@ void handleExtraConvergenceOutput(SimulatorReport& report,
private: private:
// called by execute() or executeInitStep() // called by execute() or executeInitStep()
int execute_(int (FlowMainEbos::* runOrInitFunc)(), bool cleanup) int execute_(int (FlowMain::* runOrInitFunc)(), bool cleanup)
{ {
auto logger = [this](const std::exception& e, const std::string& message_start) { auto logger = [this](const std::exception& e, const std::string& message_start) {
std::ostringstream message; std::ostringstream message;
@ -357,7 +359,7 @@ void handleExtraConvergenceOutput(SimulatorReport& report,
return status; return status;
setupParallelism(); setupParallelism();
setupEbosSimulator(); setupModelSimulator();
createSimulator(); createSimulator();
// if run, do the actual work, else just initialize // if run, do the actual work, else just initialize
@ -420,7 +422,7 @@ void handleExtraConvergenceOutput(SimulatorReport& report,
// force closing of all log files. // force closing of all log files.
OpmLog::removeAllBackends(); OpmLog::removeAllBackends();
if (mpi_rank_ != 0 || mpi_size_ < 2 || !this->output_files_ || !ebosSimulator_) { if (mpi_rank_ != 0 || mpi_size_ < 2 || !this->output_files_ || !modelSimulator_) {
return; return;
} }
@ -429,11 +431,11 @@ void handleExtraConvergenceOutput(SimulatorReport& report,
EWOMS_GET_PARAM(TypeTag, bool, EnableLoggingFalloutWarning)); EWOMS_GET_PARAM(TypeTag, bool, EnableLoggingFalloutWarning));
} }
void setupEbosSimulator() void setupModelSimulator()
{ {
ebosSimulator_ = std::make_unique<EbosSimulator>(EclGenericVanguard::comm(), /*verbose=*/false); modelSimulator_ = std::make_unique<ModelSimulator>(EclGenericVanguard::comm(), /*verbose=*/false);
ebosSimulator_->executionTimer().start(); modelSimulator_->executionTimer().start();
ebosSimulator_->model().applyInitialSolution(); modelSimulator_->model().applyInitialSolution();
try { try {
// Possible to force initialization only behavior (NOSIM). // Possible to force initialization only behavior (NOSIM).
@ -463,23 +465,23 @@ void handleExtraConvergenceOutput(SimulatorReport& report,
} }
const EclipseState& eclState() const const EclipseState& eclState() const
{ return ebosSimulator_->vanguard().eclState(); } { return modelSimulator_->vanguard().eclState(); }
EclipseState& eclState() EclipseState& eclState()
{ return ebosSimulator_->vanguard().eclState(); } { return modelSimulator_->vanguard().eclState(); }
const Schedule& schedule() const const Schedule& schedule() const
{ return ebosSimulator_->vanguard().schedule(); } { return modelSimulator_->vanguard().schedule(); }
// Run the simulator. // Run the simulator.
int runSimulator() int runSimulator()
{ {
return runSimulatorInitOrRun_(&FlowMainEbos::runSimulatorRunCallback_); return runSimulatorInitOrRun_(&FlowMain::runSimulatorRunCallback_);
} }
int runSimulatorInit() int runSimulatorInit()
{ {
return runSimulatorInitOrRun_(&FlowMainEbos::runSimulatorInitCallback_); return runSimulatorInitOrRun_(&FlowMain::runSimulatorInitCallback_);
} }
private: private:
@ -522,7 +524,7 @@ void handleExtraConvergenceOutput(SimulatorReport& report,
} }
// Run the simulator. // Run the simulator.
int runSimulatorInitOrRun_(int (FlowMainEbos::* initOrRunFunc)()) int runSimulatorInitOrRun_(int (FlowMain::* initOrRunFunc)())
{ {
const auto& schedule = this->schedule(); const auto& schedule = this->schedule();
@ -571,14 +573,14 @@ void handleExtraConvergenceOutput(SimulatorReport& report,
void createSimulator() void createSimulator()
{ {
// Create the simulator instance. // Create the simulator instance.
simulator_ = std::make_unique<Simulator>(*ebosSimulator_); simulator_ = std::make_unique<Simulator>(*modelSimulator_);
} }
Grid& grid() Grid& grid()
{ return ebosSimulator_->vanguard().grid(); } { return modelSimulator_->vanguard().grid(); }
private: private:
std::unique_ptr<EbosSimulator> ebosSimulator_; std::unique_ptr<ModelSimulator> modelSimulator_;
int mpi_rank_ = 0; int mpi_rank_ = 0;
int mpi_size_ = 1; int mpi_size_ = 1;
std::any parallel_information_; std::any parallel_information_;
@ -592,4 +594,4 @@ void handleExtraConvergenceOutput(SimulatorReport& report,
} // namespace Opm } // namespace Opm
#endif // OPM_FLOW_MAIN_EBOS_HEADER_INCLUDED #endif // OPM_FLOW_MAIN_HEADER_INCLUDED

View File

@ -60,7 +60,7 @@
#include <opm/models/utils/parametersystem.hh> #include <opm/models/utils/parametersystem.hh>
#include <opm/simulators/flow/Banners.hpp> #include <opm/simulators/flow/Banners.hpp>
#include <opm/simulators/flow/FlowMainEbos.hpp> #include <opm/simulators/flow/FlowMain.hpp>
#if HAVE_DUNE_FEM #if HAVE_DUNE_FEM
#include <dune/fem/misc/mpimanager.hh> #include <dune/fem/misc/mpimanager.hh>
@ -113,7 +113,7 @@ int flowEbosMain(int argc, char** argv, bool outputCout, bool outputFiles)
// with incorrect locale settings. // with incorrect locale settings.
resetLocale(); resetLocale();
FlowMainEbos<TypeTag> mainfunc(argc, argv, outputCout, outputFiles); FlowMain<TypeTag> mainfunc(argc, argv, outputCout, outputFiles);
return mainfunc.execute(); return mainfunc.execute();
} }
@ -170,12 +170,12 @@ public:
return exitCode; return exitCode;
} }
using FlowMainEbosType = FlowMainEbos<Properties::TTag::EclFlowProblemTPFA>; using FlowMainType = FlowMain<Properties::TTag::EclFlowProblemTPFA>;
// To be called from the Python interface code. Only do the // To be called from the Python interface code. Only do the
// initialization and then return a pointer to the FlowEbosMain // initialization and then return a pointer to the FlowEbosMain
// object that can later be accessed directly from the Python interface // object that can later be accessed directly from the Python interface
// to e.g. advance the simulator one report step // to e.g. advance the simulator one report step
std::unique_ptr<FlowMainEbosType> initFlowEbosBlackoil(int& exitCode) std::unique_ptr<FlowMainType> initFlowEbosBlackoil(int& exitCode)
{ {
exitCode = EXIT_SUCCESS; exitCode = EXIT_SUCCESS;
if (initialize_<Properties::TTag::FlowEarlyBird>(exitCode)) { if (initialize_<Properties::TTag::FlowEarlyBird>(exitCode)) {
@ -186,7 +186,7 @@ public:
argc_, argv_, outputCout_, outputFiles_); argc_, argv_, outputCout_, outputFiles_);
} else { } else {
//NOTE: exitCode was set by initialize_() above; //NOTE: exitCode was set by initialize_() above;
return std::unique_ptr<FlowMainEbosType>(); // nullptr return std::unique_ptr<FlowMainType>(); // nullptr
} }
} }
@ -313,7 +313,7 @@ private:
using PreProblem = GetPropType<PreTypeTag, Properties::Problem>; using PreProblem = GetPropType<PreTypeTag, Properties::Problem>;
PreProblem::setBriefDescription("Flow, an advanced reservoir simulator for ECL-decks provided by the Open Porous Media project."); PreProblem::setBriefDescription("Flow, an advanced reservoir simulator for ECL-decks provided by the Open Porous Media project.");
int status = FlowMainEbos<PreTypeTag>::setupParameters_(argc_, argv_, EclGenericVanguard::comm()); int status = FlowMain<PreTypeTag>::setupParameters_(argc_, argv_, EclGenericVanguard::comm());
if (status != 0) { if (status != 0) {
// if setupParameters_ returns a value smaller than 0, there was no error, but // if setupParameters_ returns a value smaller than 0, there was no error, but
// the program should abort. This is the case e.g. for the --help and the // the program should abort. This is the case e.g. for the --help and the

View File

@ -21,7 +21,7 @@
#define OPM_PY_BLACKOIL_SIMULATOR_HEADER_INCLUDED #define OPM_PY_BLACKOIL_SIMULATOR_HEADER_INCLUDED
#include <opm/simulators/flow/Main.hpp> #include <opm/simulators/flow/Main.hpp>
#include <opm/simulators/flow/FlowMainEbos.hpp> #include <opm/simulators/flow/FlowMain.hpp>
#include <opm/models/utils/propertysystem.hh> #include <opm/models/utils/propertysystem.hh>
#include <opm/simulators/flow/python/Pybind11Exporter.hpp> #include <opm/simulators/flow/python/Pybind11Exporter.hpp>
#include <opm/simulators/flow/python/PyMaterialState.hpp> #include <opm/simulators/flow/python/PyMaterialState.hpp>
@ -57,7 +57,7 @@ public:
int stepInit(); int stepInit();
private: private:
Opm::FlowMainEbos<TypeTag>& getFlowMainEbos() const; Opm::FlowMain<TypeTag>& getFlowMain() const;
PyMaterialState<TypeTag>& getMaterialState() const; PyMaterialState<TypeTag>& getMaterialState() const;
const std::string deck_filename_; const std::string deck_filename_;
@ -69,7 +69,7 @@ private:
// MPI at the correct time (ie after the other objects). // MPI at the correct time (ie after the other objects).
std::unique_ptr<Opm::Main> main_; std::unique_ptr<Opm::Main> main_;
std::unique_ptr<Opm::FlowMainEbos<TypeTag>> main_ebos_; std::unique_ptr<Opm::FlowMain<TypeTag>> main_ebos_;
Simulator *ebos_simulator_; Simulator *ebos_simulator_;
std::unique_ptr<PyMaterialState<TypeTag>> material_state_; std::unique_ptr<PyMaterialState<TypeTag>> material_state_;
std::shared_ptr<Opm::Deck> deck_; std::shared_ptr<Opm::Deck> deck_;

View File

@ -23,7 +23,7 @@
#include <opm/input/eclipse/Schedule/Schedule.hpp> #include <opm/input/eclipse/Schedule/Schedule.hpp>
#include <opm/input/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp> #include <opm/input/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp>
#include <opm/simulators/flow/Main.hpp> #include <opm/simulators/flow/Main.hpp>
#include <opm/simulators/flow/FlowMainEbos.hpp> #include <opm/simulators/flow/FlowMain.hpp>
//#include <opm/simulators/flow/python/PyFluidState.hpp> //#include <opm/simulators/flow/python/PyFluidState.hpp>
#include <opm/simulators/flow/python/PyMaterialState.hpp> #include <opm/simulators/flow/python/PyMaterialState.hpp>
#include <opm/simulators/flow/python/PyBlackOilSimulator.hpp> #include <opm/simulators/flow/python/PyBlackOilSimulator.hpp>
@ -67,14 +67,14 @@ void PyBlackOilSimulator::advance(int report_step)
bool PyBlackOilSimulator::checkSimulationFinished() bool PyBlackOilSimulator::checkSimulationFinished()
{ {
return getFlowMainEbos().getSimTimer()->done(); return getFlowMain().getSimTimer()->done();
} }
// This returns the report step number that will be executed next time step() // This returns the report step number that will be executed next time step()
// is called. // is called.
int PyBlackOilSimulator::currentStep() int PyBlackOilSimulator::currentStep()
{ {
return getFlowMainEbos().getSimTimer()->currentStepNum(); return getFlowMain().getSimTimer()->currentStepNum();
// NOTE: this->ebos_simulator_->episodeIndex() would also return the current // NOTE: this->ebos_simulator_->episodeIndex() would also return the current
// report step number, but this number is always delayed by 1 step relative // report step number, but this number is always delayed by 1 step relative
// to this->main_ebos_->getSimTimer()->currentStepNum() // to this->main_ebos_->getSimTimer()->currentStepNum()
@ -88,7 +88,7 @@ py::array_t<double> PyBlackOilSimulator::getCellVolumes() {
} }
double PyBlackOilSimulator::getDT() { double PyBlackOilSimulator::getDT() {
return getFlowMainEbos().getPreviousReportStepSize(); return getFlowMain().getPreviousReportStepSize();
} }
py::array_t<double> PyBlackOilSimulator::getPorosity() py::array_t<double> PyBlackOilSimulator::getPorosity()
@ -125,14 +125,14 @@ int PyBlackOilSimulator::step()
} }
//if (this->debug_) //if (this->debug_)
// this->mainEbos_->getSimTimer()->report(std::cout); // this->mainEbos_->getSimTimer()->report(std::cout);
auto result = getFlowMainEbos().executeStep(); auto result = getFlowMain().executeStep();
return result; return result;
} }
int PyBlackOilSimulator::stepCleanup() int PyBlackOilSimulator::stepCleanup()
{ {
this->has_run_cleanup_ = true; this->has_run_cleanup_ = true;
return getFlowMainEbos().executeStepsCleanup(); return getFlowMain().executeStepsCleanup();
} }
int PyBlackOilSimulator::stepInit() int PyBlackOilSimulator::stepInit()
@ -175,15 +175,15 @@ int PyBlackOilSimulator::stepInit()
// Private methods alphabetically sorted // Private methods alphabetically sorted
// ------------------------------------ // ------------------------------------
Opm::FlowMainEbos<typename Opm::Pybind::PyBlackOilSimulator::TypeTag>& Opm::FlowMain<typename Opm::Pybind::PyBlackOilSimulator::TypeTag>&
PyBlackOilSimulator::getFlowMainEbos() const PyBlackOilSimulator::getFlowMain() const
{ {
if (this->main_ebos_) { if (this->main_ebos_) {
return *this->main_ebos_; return *this->main_ebos_;
} }
else { else {
throw std::runtime_error("BlackOilSimulator not initialized: " throw std::runtime_error("BlackOilSimulator not initialized: "
"Cannot get reference to FlowMainEbos object" ); "Cannot get reference to FlowMain object" );
} }
} }
@ -195,7 +195,7 @@ PyBlackOilSimulator::getMaterialState() const
} }
else { else {
throw std::runtime_error("BlackOilSimulator not initialized: " throw std::runtime_error("BlackOilSimulator not initialized: "
"Cannot get reference to FlowMainEbos object" ); "Cannot get reference to FlowMain object" );
} }
} }

View File

@ -41,7 +41,7 @@
#include <opm/material/fluidmatrixinteractions/EclMaterialLawManager.hpp> #include <opm/material/fluidmatrixinteractions/EclMaterialLawManager.hpp>
#include <opm/grid/GridHelpers.hpp> #include <opm/grid/GridHelpers.hpp>
#include <opm/simulators/flow/FlowMainEbos.hpp> #include <opm/simulators/flow/FlowMain.hpp>
#include <opm/simulators/flow/BlackoilModel.hpp> #include <opm/simulators/flow/BlackoilModel.hpp>
#include <ebos/eclproblem.hh> #include <ebos/eclproblem.hh>
@ -101,7 +101,7 @@ struct GlobalFixture {
Dune::MPIHelper::instance(argcDummy, argvDummy); Dune::MPIHelper::instance(argcDummy, argvDummy);
#endif #endif
Opm::FlowMainEbos<Opm::Properties::TTag::EclFlowProblem>::setupParameters_(argcDummy, argvDummy, Dune::MPIHelper::getCommunication()); Opm::FlowMain<Opm::Properties::TTag::EclFlowProblem>::setupParameters_(argcDummy, argvDummy, Dune::MPIHelper::getCommunication());
} }
}; };