mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
add two accessors in MultisegmentWellGeneric
for segment inlets and segment perforations
This commit is contained in:
parent
ac245a2e17
commit
ade6d99289
@ -170,6 +170,21 @@ compPressureDrop() const
|
|||||||
return segmentSet().compPressureDrop();
|
return segmentSet().compPressureDrop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename Scalar>
|
||||||
|
const std::vector<std::vector<int>>&
|
||||||
|
MultisegmentWellGeneric<Scalar>::
|
||||||
|
segmentInlets() const
|
||||||
|
{
|
||||||
|
return segment_inlets_;
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename Scalar>
|
||||||
|
const std::vector<std::vector<int>>&
|
||||||
|
MultisegmentWellGeneric<Scalar>::
|
||||||
|
segmentPerforations() const
|
||||||
|
{
|
||||||
|
return segment_perforations_;
|
||||||
|
}
|
||||||
|
|
||||||
template<typename Scalar>
|
template<typename Scalar>
|
||||||
int
|
int
|
||||||
|
@ -40,19 +40,16 @@ class WellState;
|
|||||||
template <typename Scalar>
|
template <typename Scalar>
|
||||||
class MultisegmentWellGeneric
|
class MultisegmentWellGeneric
|
||||||
{
|
{
|
||||||
protected:
|
public:
|
||||||
MultisegmentWellGeneric(WellInterfaceGeneric& baseif);
|
//! \brief Returns the inlet segments for each segment.
|
||||||
|
const std::vector<std::vector<int>>& segmentInlets() const;
|
||||||
|
|
||||||
// scale the segment rates and pressure based on well rates and bhp
|
//! \brief Returns the perforation index for each segment.
|
||||||
void scaleSegmentRatesWithWellRates(WellState& well_state) const;
|
const std::vector<std::vector<int>>& segmentPerforations() const;
|
||||||
void scaleSegmentPressuresWithBhp(WellState& well_state) const;
|
|
||||||
|
|
||||||
// get the WellSegments from the well_ecl_
|
// get the WellSegments from the well_ecl_
|
||||||
const WellSegments& segmentSet() const;
|
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
|
// 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
|
// get the loation of the segment with a segment number in the segmentSet
|
||||||
int segmentNumberToIndex(const int segment_number) const;
|
int segmentNumberToIndex(const int segment_number) const;
|
||||||
@ -60,6 +57,16 @@ protected:
|
|||||||
/// number of segments for this well
|
/// number of segments for this well
|
||||||
int numberOfSegments() const;
|
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
|
/// Detect oscillation or stagnation based on the residual measure history
|
||||||
void detectOscillations(const std::vector<double>& measure_history,
|
void detectOscillations(const std::vector<double>& measure_history,
|
||||||
const int it,
|
const int it,
|
||||||
@ -82,7 +89,7 @@ protected:
|
|||||||
// belonging to this segment
|
// belonging to this segment
|
||||||
std::vector<std::vector<int>> segment_perforations_;
|
std::vector<std::vector<int>> 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<std::vector<int>> segment_inlets_;
|
std::vector<std::vector<int>> segment_inlets_;
|
||||||
|
|
||||||
std::vector<double> segment_depth_diffs_;
|
std::vector<double> segment_depth_diffs_;
|
||||||
|
Loading…
Reference in New Issue
Block a user