diff --git a/opm/parser/eclipse/EclipseState/Schedule/Well.cpp b/opm/parser/eclipse/EclipseState/Schedule/Well.cpp index 7ed1f8c67..1b6bfac6d 100644 --- a/opm/parser/eclipse/EclipseState/Schedule/Well.cpp +++ b/opm/parser/eclipse/EclipseState/Schedule/Well.cpp @@ -53,7 +53,9 @@ namespace Opm { m_preferredPhase(preferredPhase), m_grid( grid ), m_comporder(completionOrdering), - m_allowCrossFlow(allowCrossFlow) + m_allowCrossFlow(allowCrossFlow), + m_is_multi_segment(false), + m_segmentset(new DynamicState(timeMap, SegmentSetPtr(new SegmentSet()))) { m_name = name_; m_creationTimeStep = creationTimeStep; @@ -350,6 +352,19 @@ namespace Opm { return canOpen; } + bool Well::isMultiSegment() const { + return m_is_multi_segment; + } + + void Well::setMultiSegment(const bool is_multi_segment) { + m_is_multi_segment = is_multi_segment; + } + + SegmentSetConstPtr Well::getSegmentSet(size_t time_step) const { + return m_segmentset->get(time_step); + } + + } diff --git a/opm/parser/eclipse/EclipseState/Schedule/Well.hpp b/opm/parser/eclipse/EclipseState/Schedule/Well.hpp index 669e9aaa7..0af06bb7d 100644 --- a/opm/parser/eclipse/EclipseState/Schedule/Well.hpp +++ b/opm/parser/eclipse/EclipseState/Schedule/Well.hpp @@ -25,6 +25,8 @@ #include #include #include +#include +#include #include #include #include @@ -111,6 +113,10 @@ namespace Opm { bool canOpen(size_t time_step) const; + // for multi-segment wells + bool isMultiSegment() const; + void setMultiSegment(const bool is_multi_segment); + SegmentSetConstPtr getSegmentSet(size_t time_step) const; @@ -148,6 +154,10 @@ namespace Opm { WellCompletion::CompletionOrderEnum m_comporder; bool m_allowCrossFlow; + // WELSEGS DATA - for mutli-segment wells + // flag indicating if the well is a multi-segment well + bool m_is_multi_segment; + std::shared_ptr> m_segmentset; }; typedef std::shared_ptr WellPtr; typedef std::shared_ptr WellConstPtr;