47 using Scalar =
typename FluidSystem::Scalar;
48 using EvalWell =
typename PrimaryVariables::EvalWell;
54 void computeFluidProperties(
const EvalWell& temperature,
55 const EvalWell& saltConcentration,
63 EvalWell getHydroPressureLoss(
const int seg,
64 const int seg_side)
const;
68 const int perf)
const;
70 EvalWell getSurfaceVolume(
const EvalWell& temperature,
71 const EvalWell& saltConcentration,
73 const int pvt_region_index,
74 const int seg_idx)
const;
76 EvalWell getFrictionPressureLoss(
const int seg,
77 const bool extra_reverse_flow_derivatives =
false)
const;
80 EvalWell pressureDropSpiralICD(
const int seg,
81 const bool extra_reverse_flow_derivatives =
false)
const;
84 EvalWell pressureDropAutoICD(
const int seg,
85 const UnitSystem& unit_system,
86 const bool extra_reverse_flow_derivatives =
false)
const;
89 EvalWell pressureDropValve(
const int seg,
90 const SummaryState& st,
91 const bool extra_reverse_flow_derivatives =
false)
const;
94 EvalWell accelerationPressureLossContribution(
const int seg,
96 const bool extra_reverse_flow_derivatives =
false)
const;
98 const std::vector<std::vector<int>>& inlets()
const
103 const std::vector<int>& inlets(
const int seg)
const
108 const std::vector<std::vector<int>>& perforations()
const
110 return perforations_;
113 int upwinding_segment(
const int seg)
const
115 return upwinding_segments_[seg];
118 Scalar getRefDensity()
const
120 return densities_[0].value();
123 const EvalWell& density(
const int seg)
const
125 return densities_[seg];
128 Scalar perforation_depth_diff(
const int perf)
const
130 return perforation_depth_diffs_[perf];
146 std::vector<std::vector<int>> perforations_;
151 std::vector<Scalar> perforation_depth_diffs_;
154 std::vector<std::vector<int>> inlets_;
156 std::vector<Scalar> depth_diffs_;
160 std::vector<EvalWell> densities_;
163 std::vector<EvalWell> mass_rates_;
166 std::vector<EvalWell> viscosities_;
169 std::vector<int> upwinding_segments_;
171 std::vector<std::vector<EvalWell>> phase_densities_;
172 std::vector<std::vector<EvalWell>> phase_fractions_;
173 std::vector<std::vector<EvalWell>> phase_viscosities_;
177 void copyPhaseDensities(
const unsigned phaseIdx,
178 const std::size_t stride,
181 Scalar mixtureDensity(
const int seg)
const;
182 Scalar mixtureDensityWithExponents(
const int seg)
const;
183 Scalar 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