49 enum class LengthDepth {
53 static const std::string LengthDepthToString(LengthDepth enumValue);
54 static LengthDepth LengthDepthFromString(
const std::string& stringValue);
56 using CompPressureDrop = WellSegmentCompPressureDrop;
58 static const std::string CompPressureDropToString(CompPressureDrop enumValue);
59 static CompPressureDrop CompPressureDropFromString(
const std::string& stringValue);
62 enum class MultiPhaseModel {
66 static const std::string MultiPhaseModelToString(MultiPhaseModel enumValue);
67 static MultiPhaseModel MultiPhaseModelFromString(
const std::string& stringValue);
72 const std::vector<Segment>& segments);
74 void loadWELSEGS(
const DeckKeyword& welsegsKeyword);
78 std::size_t size()
const;
80 int maxSegmentID()
const;
81 int maxBranchID()
const;
82 double depthTopSegment()
const;
83 double lengthTopSegment()
const;
84 double volumeTopSegment()
const;
86 CompPressureDrop compPressureDrop()
const;
89 int segmentNumberToIndex(
const int segment_number)
const;
93 const Segment& getFromSegmentNumber(
const int segment_number)
const;
95 const Segment& operator[](
size_t idx)
const;
102 double segmentLength(
const int segment_number)
const;
103 double segmentDepthChange(
const int segment_number)
const;
104 std::vector<Segment> branchSegments(
int branch)
const;
105 std::set<int> branches()
const;
108 bool updateWSEGSICD(
const std::vector<std::pair<int, SICD> >& sicd_pairs);
110 bool updateWSEGVALV(
const std::vector<std::pair<int, Valve> >& valve_pairs);
111 bool updateWSEGAICD(
const std::vector<std::pair<int, AutoICD> >& aicd_pairs,
const KeywordLocation& location);
112 const std::vector<Segment>::const_iterator begin()
const;
113 const std::vector<Segment>::const_iterator end()
const;
115 template<
class Serializer>
118 serializer(m_comp_pressure_drop);
119 serializer(m_segments);
120 serializer(segment_number_to_index);
125 void processINC(
double depth_top,
double length_top);
126 void process(LengthDepth length_depth,
double depth_top,
double length_top);
127 void addSegment(
const Segment& new_segment);
128 void addSegment(
const int segment_number,
130 const int outlet_segment,
133 const double internal_diameter,
134 const double roughness,
135 const double cross_area,
137 const bool data_ready,
139 const double node_y);
140 const Segment& topSegment()
const;
143 CompPressureDrop m_comp_pressure_drop;
147 std::vector< Segment > m_segments;
150 std::map<int, int> segment_number_to_index;
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30