From 3a512c0f204f3228112c66445196d628914831d9 Mon Sep 17 00:00:00 2001 From: Arne Morten Kvarving Date: Wed, 10 Nov 2021 09:50:55 +0100 Subject: [PATCH 1/2] changed: use runStatic in python simulator --- python/simulators/PyBlackOilSimulator.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/simulators/PyBlackOilSimulator.cpp b/python/simulators/PyBlackOilSimulator.cpp index d57977390..d01b89c39 100644 --- a/python/simulators/PyBlackOilSimulator.cpp +++ b/python/simulators/PyBlackOilSimulator.cpp @@ -75,7 +75,7 @@ py::array_t PyBlackOilSimulator::getPorosity() int PyBlackOilSimulator::run() { auto mainObject = Opm::Main( deckFilename_ ); - return mainObject.runDynamic(); + return mainObject.runStatic(); } void PyBlackOilSimulator::setPorosity( py::array_t Date: Wed, 10 Nov 2021 09:55:25 +0100 Subject: [PATCH 2/2] remove FLOW_BLACKOIL_ONLY hack from Main.hpp now that the python simulator uses runStatic, the runDynamic template is never instanced, and thus there are no linker issues. --- opm/simulators/flow/Main.hpp | 36 +++++++++-------------- python/simulators/PyBlackOilSimulator.cpp | 1 - python/simulators/simulators.cpp | 1 - 3 files changed, 14 insertions(+), 24 deletions(-) diff --git a/opm/simulators/flow/Main.hpp b/opm/simulators/flow/Main.hpp index af3430b63..5d594d770 100644 --- a/opm/simulators/flow/Main.hpp +++ b/opm/simulators/flow/Main.hpp @@ -24,21 +24,19 @@ #include -# ifndef FLOW_BLACKOIL_ONLY -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include @@ -288,11 +286,8 @@ namespace Opm // TODO: make sure that no illegal combinations like thermal and // twophase are requested. - if (false) {} - -#ifndef FLOW_BLACKOIL_ONLY // Single-phase case - else if (rspec.micp()) { + if (rspec.micp()) { return this->runMICP(phases); } @@ -330,7 +325,6 @@ namespace Opm else if (eclipseState_->getSimulationConfig().isThermal()) { return this->runThermal(); } -#endif // FLOW_BLACKOIL_ONLY // Blackoil case else if (phases.size() == 3) { @@ -546,7 +540,6 @@ namespace Opm } } -#ifndef FLOW_BLACKOIL_ONLY int runMICP(const Phases& phases) { if (!phases.active(Phase::WATER) || (phases.size() > 2)) { @@ -684,7 +677,6 @@ namespace Opm return flowEbosEnergyMain(argc_, argv_, outputCout_, outputFiles_); } -#endif // FLOW_BLACKOIL_ONLY int runBlackOil() { diff --git a/python/simulators/PyBlackOilSimulator.cpp b/python/simulators/PyBlackOilSimulator.cpp index d01b89c39..847b985ca 100644 --- a/python/simulators/PyBlackOilSimulator.cpp +++ b/python/simulators/PyBlackOilSimulator.cpp @@ -22,7 +22,6 @@ #include #include #include -#define FLOW_BLACKOIL_ONLY #include #include // NOTE: EXIT_SUCCESS, EXIT_FAILURE is defined in cstdlib diff --git a/python/simulators/simulators.cpp b/python/simulators/simulators.cpp index 659e4ddda..dcd4eefdc 100644 --- a/python/simulators/simulators.cpp +++ b/python/simulators/simulators.cpp @@ -22,7 +22,6 @@ #include #include #include -#define FLOW_BLACKOIL_ONLY #include #include #include