46 using EvalWell =
typename PrimaryVariables::EvalWell;
52 void computeFluidProperties(
const EvalWell& temperature,
53 const EvalWell& saltConcentration,
61 EvalWell getHydroPressureLoss(
const int seg,
66 const int perf)
const;
68 EvalWell getSurfaceVolume(
const EvalWell& temperature,
69 const EvalWell& saltConcentration,
77 EvalWell pressureDropSpiralICD(
const int seg)
const;
80 EvalWell pressureDropAutoICD(
const int seg,
84 EvalWell pressureDropValve(
const int seg)
const;
87 EvalWell accelerationPressureLoss(
const int seg)
const;
89 const std::vector<std::vector<int>>& inlets()
const
94 const std::vector<std::vector<int>>& perforations()
const
99 int upwinding_segment(
const int seg)
const
101 return upwinding_segments_[
seg];
104 Scalar getRefDensity()
const
106 return densities_[0].value();
109 const EvalWell& density(
const int seg)
const
111 return densities_[
seg];
114 Scalar perforation_depth_diff(
const int perf)
const
116 return perforation_depth_diffs_[
perf];
132 std::vector<std::vector<int>> perforations_;
137 std::vector<Scalar> perforation_depth_diffs_;
140 std::vector<std::vector<int>> inlets_;
142 std::vector<Scalar> depth_diffs_;
146 std::vector<EvalWell> densities_;
149 std::vector<EvalWell> mass_rates_;
152 std::vector<EvalWell> viscosities_;
155 std::vector<int> upwinding_segments_;
157 std::vector<std::vector<EvalWell>> phase_densities_;
158 std::vector<std::vector<EvalWell>> phase_fractions_;
159 std::vector<std::vector<EvalWell>> phase_viscosities_;
163 void copyPhaseDensities(
const unsigned phaseIdx,
167 double mixtureDensity(
const int seg)
const;
168 double mixtureDensityWithExponents(
const int seg)
const;
169 double mixtureDensityWithExponents(
const AutoICD&
aicd,
const int seg)
const;
Scalar getPressureDiffSegPerf(const int seg, const int perf) const
Pressure difference between segment and perforation.
Definition MultisegmentWellSegments.cpp:345