The type of a segment must be explicitly initialized

This commit is contained in:
Joakim Hove 2020-02-12 10:00:31 +01:00
parent 01b0dcaedf
commit cd990599b4
3 changed files with 10 additions and 9 deletions

View File

@ -42,7 +42,7 @@ namespace Opm {
Segment();
Segment(int segment_number_in, int branch_in, int outlet_segment_in, double length_in, double depth_in,
double internal_diameter_in, double roughness_in, double cross_area_in, double volume_in, bool data_ready_in);
double internal_diameter_in, double roughness_in, double cross_area_in, double volume_in, bool data_ready_in, SegmentType segment_type_in);
Segment(int segmentNumber, int branchNumber, int outlegSegment,
const std::vector<int>& inletSegments,
@ -133,7 +133,7 @@ namespace Opm {
// indicate the type of the segment
// regular, spiral ICD, or Valve.
SegmentType m_segment_type = SegmentType::REGULAR;
SegmentType m_segment_type;
// information related to SpiralICD. It is nullptr for segments are not
// spiral ICD type

View File

@ -42,7 +42,7 @@ namespace Opm {
Segment::Segment(int segment_number_in, int branch_in, int outlet_segment_in, double length_in, double depth_in,
double internal_diameter_in, double roughness_in, double cross_area_in,
double volume_in, bool data_ready_in)
double volume_in, bool data_ready_in, SegmentType segment_type_in)
: m_segment_number(segment_number_in),
m_branch(branch_in),
m_outlet_segment(outlet_segment_in),
@ -52,7 +52,8 @@ namespace Opm {
m_roughness(roughness_in),
m_cross_area(cross_area_in),
m_volume(volume_in),
m_data_ready(data_ready_in)
m_data_ready(data_ready_in),
m_segment_type(segment_type_in)
{
}

View File

@ -137,12 +137,12 @@ namespace Opm {
if (m_length_depth_type == LengthDepth::INC) {
m_segments.emplace_back( 1, 1, 0, 0., 0.,
invalid_value, invalid_value, invalid_value,
m_volume_top, false );
m_volume_top, false , Segment::SegmentType::REGULAR);
} else if (m_length_depth_type == LengthDepth::ABS) {
m_segments.emplace_back( 1, 1, 0, m_length_top, m_depth_top,
invalid_value, invalid_value, invalid_value,
m_volume_top, true );
m_volume_top, true , Segment::SegmentType::REGULAR);
}
// read all the information out from the DECK first then process to get all the required information
@ -202,13 +202,13 @@ namespace Opm {
if (m_length_depth_type == LengthDepth::INC) {
m_segments.emplace_back( i, branch, outlet_segment, segment_length, depth_change,
diameter, roughness, area, volume, false );
diameter, roughness, area, volume, false , Segment::SegmentType::REGULAR);
} else if (i == segment2) {
m_segments.emplace_back( i, branch, outlet_segment, segment_length, depth_change,
diameter, roughness, area, volume, true );
diameter, roughness, area, volume, true , Segment::SegmentType::REGULAR);
} else {
m_segments.emplace_back( i, branch, outlet_segment, invalid_value, invalid_value,
diameter, roughness, area, volume, false );
diameter, roughness, area, volume, false , Segment::SegmentType::REGULAR);
}
}
}