mirror of
https://github.com/OPM/opm-simulators.git
synced 2026-10-13 09:22:05 -05:00
Initialize blackoil simulator from schedule shared with Python.
Adds a new constructor to Main.hpp that takes shared pointers to Deck, EclipseState, Schedule, and SummaryConfig. This makes it possible to share these variables with Python without worrying about lifetime issues of the underlying C++ objects. For example, a Python script can first create an opm.io.schedule.Schedule object which is modified from Python. Then, assume the same Python script creates an opm.simulators.BlackOilSimulator which is initialized with the same schedule object. Since the underlying C++ object is a shared pointer, the Schedule object in Python may go out of scope (get deleted by Python) without having the C++ schedule object being deleted. And the Python BlackOilSimulator may continue to be used after the Python Schedule object has been deleted since it still has a valid C++ schedule object.
This commit is contained in:
1 parent
2f86231b8d
commit
5ad65c70ee
38 files changed
+1048
-248
No files matched your search
@@ -30,21 +30,21 @@
|
||||
|
||||
namespace Opm {
|
||||
|
||||
void flowEbosBlackoilSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
void flowEbosBlackoilSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::unique_ptr<UDQState> udqState,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig)
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig)
|
||||
{
|
||||
using TypeTag = Properties::TTag::EclFlowProblem;
|
||||
using Vanguard = GetPropType<TypeTag, Properties::Vanguard>;
|
||||
|
||||
Vanguard::setExternalSetupTime(setupTime);
|
||||
Vanguard::setExternalDeck(std::move(deck));
|
||||
Vanguard::setExternalEclState(std::move(eclState));
|
||||
Vanguard::setExternalSchedule(std::move(schedule));
|
||||
Vanguard::setExternalDeck(deck);
|
||||
Vanguard::setExternalEclState(eclState);
|
||||
Vanguard::setExternalSchedule(schedule);
|
||||
Vanguard::setExternalUDQState(std::move(udqState));
|
||||
Vanguard::setExternalSummaryConfig(std::move(summaryConfig));
|
||||
Vanguard::setExternalSummaryConfig(summaryConfig);
|
||||
}
|
||||
|
||||
std::unique_ptr<FlowMainEbos<Properties::TTag::EclFlowProblem>>
|
||||
|
||||
@@ -29,11 +29,11 @@ class SummaryConfig;
|
||||
class UDQState;
|
||||
namespace Properties { namespace TTag { struct EclFlowProblem; } }
|
||||
|
||||
void flowEbosBlackoilSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
void flowEbosBlackoilSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::unique_ptr<UDQState> udqState,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig);
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig);
|
||||
|
||||
int flowEbosBlackoilMain(int argc, char** argv, bool outputCout, bool outputFiles);
|
||||
|
||||
|
||||
@@ -43,19 +43,19 @@ struct EnableBrine<TypeTag, TTag::EclFlowBrineProblem> {
|
||||
}}
|
||||
|
||||
namespace Opm {
|
||||
void flowEbosBrineSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig)
|
||||
void flowEbosBrineSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig)
|
||||
{
|
||||
using TypeTag = Properties::TTag::EclFlowBrineProblem;
|
||||
using Vanguard = GetPropType<TypeTag, Properties::Vanguard>;
|
||||
|
||||
Vanguard::setExternalSetupTime(setupTime);
|
||||
Vanguard::setExternalDeck(std::move(deck));
|
||||
Vanguard::setExternalEclState(std::move(eclState));
|
||||
Vanguard::setExternalSchedule(std::move(schedule));
|
||||
Vanguard::setExternalSummaryConfig(std::move(summaryConfig));
|
||||
Vanguard::setExternalDeck(deck);
|
||||
Vanguard::setExternalEclState(eclState);
|
||||
Vanguard::setExternalSchedule(schedule);
|
||||
Vanguard::setExternalSummaryConfig(summaryConfig);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -26,10 +26,10 @@ class EclipseState;
|
||||
class Schedule;
|
||||
class SummaryConfig;
|
||||
|
||||
void flowEbosBrineSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig);
|
||||
void flowEbosBrineSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig);
|
||||
int flowEbosBrineMain(int argc, char** argv, bool outputCout, bool outputFiles);
|
||||
}
|
||||
|
||||
|
||||
@@ -43,19 +43,19 @@ struct EnableEnergy<TypeTag, TTag::EclFlowEnergyProblem> {
|
||||
}}
|
||||
|
||||
namespace Opm {
|
||||
void flowEbosEnergySetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig)
|
||||
void flowEbosEnergySetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig)
|
||||
{
|
||||
using TypeTag = Properties::TTag::EclFlowEnergyProblem;
|
||||
using Vanguard = GetPropType<TypeTag, Properties::Vanguard>;
|
||||
|
||||
Vanguard::setExternalSetupTime(setupTime);
|
||||
Vanguard::setExternalDeck(std::move(deck));
|
||||
Vanguard::setExternalEclState(std::move(eclState));
|
||||
Vanguard::setExternalSchedule(std::move(schedule));
|
||||
Vanguard::setExternalSummaryConfig(std::move(summaryConfig));
|
||||
Vanguard::setExternalDeck(deck);
|
||||
Vanguard::setExternalEclState(eclState);
|
||||
Vanguard::setExternalSchedule(schedule);
|
||||
Vanguard::setExternalSummaryConfig(summaryConfig);
|
||||
}
|
||||
|
||||
// ----------------- Main program -----------------
|
||||
|
||||
@@ -26,10 +26,10 @@ class EclipseState;
|
||||
class Schedule;
|
||||
class SummaryConfig;
|
||||
|
||||
void flowEbosEnergySetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig);
|
||||
void flowEbosEnergySetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig);
|
||||
int flowEbosEnergyMain(int argc, char** argv, bool outputCout, bool outputFiles);
|
||||
|
||||
}
|
||||
|
||||
@@ -43,19 +43,19 @@ struct EnableExtbo<TypeTag, TTag::EclFlowExtboProblem> {
|
||||
}}
|
||||
|
||||
namespace Opm {
|
||||
void flowEbosExtboSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig)
|
||||
void flowEbosExtboSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig)
|
||||
{
|
||||
using TypeTag = Properties::TTag::EclFlowExtboProblem;
|
||||
using Vanguard = GetPropType<TypeTag, Properties::Vanguard>;
|
||||
|
||||
Vanguard::setExternalSetupTime(setupTime);
|
||||
Vanguard::setExternalDeck(std::move(deck));
|
||||
Vanguard::setExternalEclState(std::move(eclState));
|
||||
Vanguard::setExternalSchedule(std::move(schedule));
|
||||
Vanguard::setExternalSummaryConfig(std::move(summaryConfig));
|
||||
Vanguard::setExternalDeck(deck);
|
||||
Vanguard::setExternalEclState(eclState);
|
||||
Vanguard::setExternalSchedule(schedule);
|
||||
Vanguard::setExternalSummaryConfig(summaryConfig);
|
||||
}
|
||||
|
||||
// ----------------- Main program -----------------
|
||||
|
||||
@@ -26,10 +26,10 @@ class EclipseState;
|
||||
class Schedule;
|
||||
class SummaryConfig;
|
||||
|
||||
void flowEbosExtboSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig);
|
||||
void flowEbosExtboSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig);
|
||||
int flowEbosExtboMain(int argc, char** argv, bool outputCout, bool outputFiles);
|
||||
|
||||
}
|
||||
|
||||
@@ -43,19 +43,19 @@ struct EnableFoam<TypeTag, TTag::EclFlowFoamProblem> {
|
||||
}}
|
||||
|
||||
namespace Opm {
|
||||
void flowEbosFoamSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig)
|
||||
void flowEbosFoamSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig)
|
||||
{
|
||||
using TypeTag = Properties::TTag::EclFlowFoamProblem;
|
||||
using Vanguard = GetPropType<TypeTag, Properties::Vanguard>;
|
||||
|
||||
Vanguard::setExternalSetupTime(setupTime);
|
||||
Vanguard::setExternalDeck(std::move(deck));
|
||||
Vanguard::setExternalEclState(std::move(eclState));
|
||||
Vanguard::setExternalSchedule(std::move(schedule));
|
||||
Vanguard::setExternalSummaryConfig(std::move(summaryConfig));
|
||||
Vanguard::setExternalDeck(deck);
|
||||
Vanguard::setExternalEclState(eclState);
|
||||
Vanguard::setExternalSchedule(schedule);
|
||||
Vanguard::setExternalSummaryConfig(summaryConfig);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -26,10 +26,10 @@ class EclipseState;
|
||||
class Schedule;
|
||||
class SummaryConfig;
|
||||
|
||||
void flowEbosFoamSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig);
|
||||
void flowEbosFoamSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig);
|
||||
int flowEbosFoamMain(int argc, char** argv, bool outputCout, bool outputFiles);
|
||||
|
||||
}
|
||||
|
||||
@@ -63,19 +63,19 @@ public:
|
||||
}}
|
||||
|
||||
namespace Opm {
|
||||
void flowEbosGasOilSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig)
|
||||
void flowEbosGasOilSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig)
|
||||
{
|
||||
using TypeTag = Properties::TTag::EclFlowGasOilProblem;
|
||||
using Vanguard = GetPropType<TypeTag, Properties::Vanguard>;
|
||||
|
||||
Vanguard::setExternalSetupTime(setupTime);
|
||||
Vanguard::setExternalDeck(std::move(deck));
|
||||
Vanguard::setExternalEclState(std::move(eclState));
|
||||
Vanguard::setExternalSchedule(std::move(schedule));
|
||||
Vanguard::setExternalSummaryConfig(std::move(summaryConfig));
|
||||
Vanguard::setExternalDeck(deck);
|
||||
Vanguard::setExternalEclState(eclState);
|
||||
Vanguard::setExternalSchedule(schedule);
|
||||
Vanguard::setExternalSummaryConfig(summaryConfig);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -26,10 +26,10 @@ class EclipseState;
|
||||
class Schedule;
|
||||
class SummaryConfig;
|
||||
|
||||
void flowEbosGasOilSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig);
|
||||
void flowEbosGasOilSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig);
|
||||
int flowEbosGasOilMain(int argc, char** argv, bool outputCout, bool outputFiles);
|
||||
|
||||
}
|
||||
|
||||
@@ -66,19 +66,19 @@ public:
|
||||
}}
|
||||
|
||||
namespace Opm {
|
||||
void flowEbosGasWaterSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig)
|
||||
void flowEbosGasWaterSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig)
|
||||
{
|
||||
using TypeTag = Properties::TTag::EclFlowGasWaterProblem;
|
||||
using Vanguard = GetPropType<TypeTag, Properties::Vanguard>;
|
||||
|
||||
Vanguard::setExternalSetupTime(setupTime);
|
||||
Vanguard::setExternalDeck(std::move(deck));
|
||||
Vanguard::setExternalEclState(std::move(eclState));
|
||||
Vanguard::setExternalSchedule(std::move(schedule));
|
||||
Vanguard::setExternalSummaryConfig(std::move(summaryConfig));
|
||||
Vanguard::setExternalDeck(deck);
|
||||
Vanguard::setExternalEclState(eclState);
|
||||
Vanguard::setExternalSchedule(schedule);
|
||||
Vanguard::setExternalSummaryConfig(summaryConfig);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -26,10 +26,10 @@ class EclipseState;
|
||||
class Schedule;
|
||||
class SummaryConfig;
|
||||
|
||||
void flowEbosGasWaterSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig);
|
||||
void flowEbosGasWaterSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig);
|
||||
int flowEbosGasWaterMain(int argc, char** argv, bool outputCout, bool outputFiles);
|
||||
|
||||
}
|
||||
|
||||
@@ -63,19 +63,19 @@ public:
|
||||
}}
|
||||
|
||||
namespace Opm {
|
||||
void flowEbosOilWaterSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig)
|
||||
void flowEbosOilWaterSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig)
|
||||
{
|
||||
using TypeTag = Properties::TTag::EclFlowOilWaterProblem;
|
||||
using Vanguard = GetPropType<TypeTag, Properties::Vanguard>;
|
||||
|
||||
Vanguard::setExternalSetupTime(setupTime);
|
||||
Vanguard::setExternalDeck(std::move(deck));
|
||||
Vanguard::setExternalEclState(std::move(eclState));
|
||||
Vanguard::setExternalSchedule(std::move(schedule));
|
||||
Vanguard::setExternalSummaryConfig(std::move(summaryConfig));
|
||||
Vanguard::setExternalDeck(deck);
|
||||
Vanguard::setExternalEclState(eclState);
|
||||
Vanguard::setExternalSchedule(schedule);
|
||||
Vanguard::setExternalSummaryConfig(summaryConfig);
|
||||
}
|
||||
|
||||
// ----------------- Main program -----------------
|
||||
|
||||
@@ -26,10 +26,10 @@ class EclipseState;
|
||||
class Schedule;
|
||||
class SummaryConfig;
|
||||
|
||||
void flowEbosOilWaterSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig);
|
||||
void flowEbosOilWaterSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig);
|
||||
int flowEbosOilWaterMain(int argc, char** argv, bool outputCout, bool outputFiles);
|
||||
|
||||
}
|
||||
|
||||
@@ -66,19 +66,19 @@ public:
|
||||
}}
|
||||
|
||||
namespace Opm {
|
||||
void flowEbosOilWaterBrineSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig)
|
||||
void flowEbosOilWaterBrineSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig)
|
||||
{
|
||||
using TypeTag = Properties::TTag::EclFlowOilWaterBrineProblem;
|
||||
using Vanguard = GetPropType<TypeTag, Properties::Vanguard>;
|
||||
|
||||
Vanguard::setExternalSetupTime(setupTime);
|
||||
Vanguard::setExternalDeck(std::move(deck));
|
||||
Vanguard::setExternalEclState(std::move(eclState));
|
||||
Vanguard::setExternalSchedule(std::move(schedule));
|
||||
Vanguard::setExternalSummaryConfig(std::move(summaryConfig));
|
||||
Vanguard::setExternalDeck(deck);
|
||||
Vanguard::setExternalEclState(eclState);
|
||||
Vanguard::setExternalSchedule(schedule);
|
||||
Vanguard::setExternalSummaryConfig(summaryConfig);
|
||||
}
|
||||
|
||||
// ----------------- Main program -----------------
|
||||
|
||||
@@ -26,10 +26,10 @@ class EclipseState;
|
||||
class Schedule;
|
||||
class SummaryConfig;
|
||||
|
||||
void flowEbosOilWaterBrineSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig);
|
||||
void flowEbosOilWaterBrineSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig);
|
||||
int flowEbosOilWaterBrineMain(int argc, char** argv, bool outputCout, bool outputFiles);
|
||||
|
||||
}
|
||||
|
||||
@@ -66,19 +66,19 @@ public:
|
||||
}}
|
||||
|
||||
namespace Opm {
|
||||
void flowEbosOilWaterPolymerSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig)
|
||||
void flowEbosOilWaterPolymerSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig)
|
||||
{
|
||||
using TypeTag = Properties::TTag::EclFlowOilWaterPolymerProblem;
|
||||
using Vanguard = GetPropType<TypeTag, Properties::Vanguard>;
|
||||
|
||||
Vanguard::setExternalSetupTime(setupTime);
|
||||
Vanguard::setExternalDeck(std::move(deck));
|
||||
Vanguard::setExternalEclState(std::move(eclState));
|
||||
Vanguard::setExternalSchedule(std::move(schedule));
|
||||
Vanguard::setExternalSummaryConfig(std::move(summaryConfig));
|
||||
Vanguard::setExternalDeck(deck);
|
||||
Vanguard::setExternalEclState(eclState);
|
||||
Vanguard::setExternalSchedule(schedule);
|
||||
Vanguard::setExternalSummaryConfig(summaryConfig);
|
||||
}
|
||||
|
||||
// ----------------- Main program -----------------
|
||||
|
||||
@@ -26,10 +26,10 @@ class EclipseState;
|
||||
class Schedule;
|
||||
class SummaryConfig;
|
||||
|
||||
void flowEbosOilWaterPolymerSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig);
|
||||
void flowEbosOilWaterPolymerSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig);
|
||||
int flowEbosOilWaterPolymerMain(int argc, char** argv, bool outputCout, bool outputFiles);
|
||||
|
||||
}
|
||||
|
||||
@@ -43,19 +43,19 @@ struct EnablePolymer<TypeTag, TTag::EclFlowPolymerProblem> {
|
||||
}}
|
||||
|
||||
namespace Opm {
|
||||
void flowEbosPolymerSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig)
|
||||
void flowEbosPolymerSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig)
|
||||
{
|
||||
using TypeTag = Properties::TTag::EclFlowPolymerProblem;
|
||||
using Vanguard = GetPropType<TypeTag, Properties::Vanguard>;
|
||||
|
||||
Vanguard::setExternalSetupTime(setupTime);
|
||||
Vanguard::setExternalDeck(std::move(deck));
|
||||
Vanguard::setExternalEclState(std::move(eclState));
|
||||
Vanguard::setExternalSchedule(std::move(schedule));
|
||||
Vanguard::setExternalSummaryConfig(std::move(summaryConfig));
|
||||
Vanguard::setExternalDeck(deck);
|
||||
Vanguard::setExternalEclState(eclState);
|
||||
Vanguard::setExternalSchedule(schedule);
|
||||
Vanguard::setExternalSummaryConfig(summaryConfig);
|
||||
}
|
||||
|
||||
// ----------------- Main program -----------------
|
||||
|
||||
@@ -26,10 +26,10 @@ class EclipseState;
|
||||
class Schedule;
|
||||
class SummaryConfig;
|
||||
|
||||
void flowEbosPolymerSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig);
|
||||
void flowEbosPolymerSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig);
|
||||
int flowEbosPolymerMain(int argc, char** argv, bool outputCout, bool outputFiles);
|
||||
|
||||
}
|
||||
|
||||
@@ -43,19 +43,19 @@ struct EnableSolvent<TypeTag, TTag::EclFlowSolventProblem> {
|
||||
}}
|
||||
|
||||
namespace Opm {
|
||||
void flowEbosSolventSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig)
|
||||
void flowEbosSolventSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig)
|
||||
{
|
||||
using TypeTag = Properties::TTag::EclFlowSolventProblem;
|
||||
using Vanguard = GetPropType<TypeTag, Properties::Vanguard>;
|
||||
|
||||
Vanguard::setExternalSetupTime(setupTime);
|
||||
Vanguard::setExternalDeck(std::move(deck));
|
||||
Vanguard::setExternalEclState(std::move(eclState));
|
||||
Vanguard::setExternalSchedule(std::move(schedule));
|
||||
Vanguard::setExternalSummaryConfig(std::move(summaryConfig));
|
||||
Vanguard::setExternalDeck(deck);
|
||||
Vanguard::setExternalEclState(eclState);
|
||||
Vanguard::setExternalSchedule(schedule);
|
||||
Vanguard::setExternalSummaryConfig(summaryConfig);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -26,10 +26,10 @@ class EclipseState;
|
||||
class Schedule;
|
||||
class SummaryConfig;
|
||||
|
||||
void flowEbosSolventSetDeck(double setupTime, std::unique_ptr<Deck> deck,
|
||||
std::unique_ptr<EclipseState> eclState,
|
||||
std::unique_ptr<Schedule> schedule,
|
||||
std::unique_ptr<SummaryConfig> summaryConfig);
|
||||
void flowEbosSolventSetDeck(double setupTime, std::shared_ptr<Deck>& deck,
|
||||
std::shared_ptr<EclipseState>& eclState,
|
||||
std::shared_ptr<Schedule>& schedule,
|
||||
std::shared_ptr<SummaryConfig>& summaryConfig);
|
||||
int flowEbosSolventMain(int argc, char** argv, bool outoutCout, bool outputFiles);
|
||||
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user