diff --git a/flow/flow_ebos_blackoil.cpp b/flow/flow_ebos_blackoil.cpp index 95a216f35..b90da267d 100644 --- a/flow/flow_ebos_blackoil.cpp +++ b/flow/flow_ebos_blackoil.cpp @@ -33,6 +33,7 @@ namespace Opm { void flowEbosBlackoilSetDeck(double setupTime, std::unique_ptr deck, std::unique_ptr eclState, std::unique_ptr schedule, + std::unique_ptr udqState, std::unique_ptr summaryConfig) { using TypeTag = Properties::TTag::EclFlowProblem; @@ -42,6 +43,7 @@ void flowEbosBlackoilSetDeck(double setupTime, std::unique_ptr deck, Vanguard::setExternalDeck(std::move(deck)); Vanguard::setExternalEclState(std::move(eclState)); Vanguard::setExternalSchedule(std::move(schedule)); + Vanguard::setExternalUDQState(std::move(udqState)); Vanguard::setExternalSummaryConfig(std::move(summaryConfig)); } diff --git a/flow/flow_ebos_blackoil.hpp b/flow/flow_ebos_blackoil.hpp index fa854ea93..9331ec415 100644 --- a/flow/flow_ebos_blackoil.hpp +++ b/flow/flow_ebos_blackoil.hpp @@ -26,11 +26,13 @@ class EclipseState; template class FlowMainEbos; class Schedule; class SummaryConfig; +class UDQState; namespace Properties { namespace TTag { struct EclFlowProblem; } } void flowEbosBlackoilSetDeck(double setupTime, std::unique_ptr deck, std::unique_ptr eclState, std::unique_ptr schedule, + std::unique_ptr udqState, std::unique_ptr summaryConfig); int flowEbosBlackoilMain(int argc, char** argv, bool outputCout, bool outputFiles); diff --git a/opm/simulators/flow/FlowMainEbos.hpp b/opm/simulators/flow/FlowMainEbos.hpp index ae63f06f6..780702918 100644 --- a/opm/simulators/flow/FlowMainEbos.hpp +++ b/opm/simulators/flow/FlowMainEbos.hpp @@ -33,6 +33,7 @@ #include #include #include +#include #include #include diff --git a/opm/simulators/flow/Main.hpp b/opm/simulators/flow/Main.hpp index e97bd1763..28f628484 100644 --- a/opm/simulators/flow/Main.hpp +++ b/opm/simulators/flow/Main.hpp @@ -188,6 +188,7 @@ namespace Opm std::move(deck_), std::move(eclipseState_), std::move(schedule_), + std::move(udqState_), std::move(summaryConfig_)); return flowEbosBlackoilMainInit( argc_, argv_, outputCout_, outputFiles_); @@ -326,6 +327,7 @@ namespace Opm flowEbosBlackoilSetDeck(setupTime_, std::move(deck_), std::move(eclipseState_), std::move(schedule_), + std::move(udqState_), std::move(summaryConfig_)); return flowEbosBlackoilMain(argc_, argv_, outputCout_, outputFiles_); } diff --git a/opm/simulators/utils/readDeck.cpp b/opm/simulators/utils/readDeck.cpp index 884f21f13..148087c40 100644 --- a/opm/simulators/utils/readDeck.cpp +++ b/opm/simulators/utils/readDeck.cpp @@ -245,6 +245,7 @@ void readDeck(int rank, std::string& deckFilename, std::unique_ptr& d if (!schedule) schedule = std::make_unique(*deck, *eclipseState, *parseContext, *errorGuard, python, outputInterval, &rst_state); udqState = std::make_unique( schedule->operator[](0).udq().params().undefinedValue() ); + udqState->load_rst(rst_state); } else { if (!schedule)