diff --git a/opm/simulators/wells/MultisegmentWellGeneric.cpp b/opm/simulators/wells/MultisegmentWellGeneric.cpp index f1c3780e0..a6e675590 100644 --- a/opm/simulators/wells/MultisegmentWellGeneric.cpp +++ b/opm/simulators/wells/MultisegmentWellGeneric.cpp @@ -170,6 +170,21 @@ compPressureDrop() const return segmentSet().compPressureDrop(); } +template +const std::vector>& +MultisegmentWellGeneric:: +segmentInlets() const +{ + return segment_inlets_; +} + +template +const std::vector>& +MultisegmentWellGeneric:: +segmentPerforations() const +{ + return segment_perforations_; +} template int diff --git a/opm/simulators/wells/MultisegmentWellGeneric.hpp b/opm/simulators/wells/MultisegmentWellGeneric.hpp index fcbd72532..0551d9d1e 100644 --- a/opm/simulators/wells/MultisegmentWellGeneric.hpp +++ b/opm/simulators/wells/MultisegmentWellGeneric.hpp @@ -40,19 +40,16 @@ class WellState; template class MultisegmentWellGeneric { -protected: - MultisegmentWellGeneric(WellInterfaceGeneric& baseif); +public: + //! \brief Returns the inlet segments for each segment. + const std::vector>& segmentInlets() const; - // scale the segment rates and pressure based on well rates and bhp - void scaleSegmentRatesWithWellRates(WellState& well_state) const; - void scaleSegmentPressuresWithBhp(WellState& well_state) const; + //! \brief Returns the perforation index for each segment. + const std::vector>& segmentPerforations() const; // get the WellSegments from the well_ecl_ const WellSegments& segmentSet() const; - // components of the pressure drop to be included - WellSegments::CompPressureDrop compPressureDrop() const; - // segment number is an ID of the segment, it is specified in the deck // get the loation of the segment with a segment number in the segmentSet int segmentNumberToIndex(const int segment_number) const; @@ -60,6 +57,16 @@ protected: /// number of segments for this well int numberOfSegments() const; +protected: + MultisegmentWellGeneric(WellInterfaceGeneric& baseif); + + // scale the segment rates and pressure based on well rates and bhp + void scaleSegmentRatesWithWellRates(WellState& well_state) const; + void scaleSegmentPressuresWithBhp(WellState& well_state) const; + + // components of the pressure drop to be included + WellSegments::CompPressureDrop compPressureDrop() const; + /// Detect oscillation or stagnation based on the residual measure history void detectOscillations(const std::vector& measure_history, const int it, @@ -82,7 +89,7 @@ protected: // belonging to this segment std::vector> segment_perforations_; - // the inlet segments for each segment. It is for convinience and efficiency reason + // the inlet segments for each segment. It is for convenience and efficiency reason std::vector> segment_inlets_; std::vector segment_depth_diffs_;