mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
move segment_depth_diffs_ to MultisegmentWellSegments
This commit is contained in:
parent
5755c94256
commit
40adc0ddbd
@ -360,7 +360,7 @@ typename MultisegmentWellEval<FluidSystem,Indices,Scalar>::EvalWell
|
||||
MultisegmentWellEval<FluidSystem,Indices,Scalar>::
|
||||
getHydroPressureLoss(const int seg) const
|
||||
{
|
||||
return segments_.densities_[seg] * baseif_.gravity() * this->segment_depth_diffs_[seg];
|
||||
return segments_.densities_[seg] * baseif_.gravity() * segments_.depth_diffs_[seg];
|
||||
}
|
||||
|
||||
template<typename FluidSystem, typename Indices, typename Scalar>
|
||||
|
@ -46,17 +46,7 @@ template<typename Scalar>
|
||||
MultisegmentWellGeneric<Scalar>::
|
||||
MultisegmentWellGeneric(WellInterfaceGeneric& baseif)
|
||||
: baseif_(baseif)
|
||||
, segment_depth_diffs_(numberOfSegments(), 0.0)
|
||||
{
|
||||
// calculating the depth difference between the segment and its oulet_segments
|
||||
// for the top segment, we will make its zero unless we find other purpose to use this value
|
||||
for (int seg = 1; seg < numberOfSegments(); ++seg) {
|
||||
const double segment_depth = segmentSet()[seg].depth();
|
||||
const int outlet_segment_number = segmentSet()[seg].outletSegment();
|
||||
const Segment& outlet_segment = segmentSet()[segmentNumberToIndex(outlet_segment_number)];
|
||||
const double outlet_depth = outlet_segment.depth();
|
||||
segment_depth_diffs_[seg] = segment_depth - outlet_depth;
|
||||
}
|
||||
}
|
||||
|
||||
template<typename Scalar>
|
||||
|
@ -73,8 +73,6 @@ protected:
|
||||
bool frictionalPressureLossConsidered() const;
|
||||
|
||||
const WellInterfaceGeneric& baseif_;
|
||||
|
||||
std::vector<double> segment_depth_diffs_;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -44,6 +44,7 @@ MultisegmentWellSegments(const int numSegments,
|
||||
: perforations_(numSegments)
|
||||
, perforation_depth_diffs_(well.numPerfs(), 0.0)
|
||||
, inlets_(well.wellEcl().getSegments().size())
|
||||
, depth_diffs_(numSegments, 0.0)
|
||||
, densities_(numSegments, 0.0)
|
||||
, mass_rates_(numSegments, 0.0)
|
||||
, viscosities_(numSegments, 0.0)
|
||||
@ -96,6 +97,15 @@ MultisegmentWellSegments(const int numSegments,
|
||||
}
|
||||
}
|
||||
|
||||
// calculating the depth difference between the segment and its oulet_segments
|
||||
// for the top segment, we will make its zero unless we find other purpose to use this value
|
||||
for (int seg = 1; seg < numSegments; ++seg) {
|
||||
const double segment_depth = segment_set[seg].depth();
|
||||
const int outlet_segment_number = segment_set[seg].outletSegment();
|
||||
const Segment& outlet_segment = segment_set[segment_set.segmentNumberToIndex(outlet_segment_number)];
|
||||
const double outlet_depth = outlet_segment.depth();
|
||||
depth_diffs_[seg] = segment_depth - outlet_depth;
|
||||
}
|
||||
}
|
||||
|
||||
#define INSTANCE(...) \
|
||||
|
@ -60,6 +60,8 @@ public:
|
||||
// the inlet segments for each segment. It is for convenience and efficiency reason
|
||||
std::vector<std::vector<int>> inlets_;
|
||||
|
||||
std::vector<double> depth_diffs_;
|
||||
|
||||
// the densities of segment fluids
|
||||
// we should not have this member variable
|
||||
std::vector<EvalWell> densities_;
|
||||
|
Loading…
Reference in New Issue
Block a user