From 595f601b2cb6bbe283347439849ed4b6f17ce6b5 Mon Sep 17 00:00:00 2001 From: Arne Morten Kvarving Date: Thu, 19 Mar 2020 14:49:53 +0100 Subject: [PATCH] fixed: double-parsing of the deck externalDeck = nullptr -> internalDeck was parsed. i have no idea why we have this external/internal deck in the first place. --- ebos/eclbasevanguard.hh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ebos/eclbasevanguard.hh b/ebos/eclbasevanguard.hh index 8c9abce34..2a7a4400f 100644 --- a/ebos/eclbasevanguard.hh +++ b/ebos/eclbasevanguard.hh @@ -244,8 +244,7 @@ public: * as the simulator vanguard object is alive. */ static void setExternalDeck(Opm::Deck* deck) - { externalDeck_ = deck; } - + { externalDeck_ = deck; externalDeckSet_ = true; } /*! * \brief Set the Opm::EclipseState object which ought to be used when the simulator * vanguard is instantiated. @@ -319,7 +318,7 @@ public: else errorGuard_ = externalErrorGuard_; - if (!externalDeck_) { + if (!externalDeck_ && !externalDeckSet_) { if (myRank == 0) std::cout << "Reading the deck file '" << fileName << "'" << std::endl; @@ -609,6 +608,7 @@ private: static Opm::ParseContext* externalParseContext_; static Opm::ErrorGuard* externalErrorGuard_; static Opm::Deck* externalDeck_; + static bool externalDeckSet_; static Opm::EclipseState* externalEclState_; static Opm::Schedule* externalEclSchedule_; static Opm::SummaryConfig* externalEclSummaryConfig_; @@ -652,6 +652,9 @@ Opm::ErrorGuard* EclBaseVanguard::externalErrorGuard_ = nullptr; template Opm::Deck* EclBaseVanguard::externalDeck_ = nullptr; +template +bool EclBaseVanguard::externalDeckSet_ = false; + template Opm::EclipseState* EclBaseVanguard::externalEclState_;