mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-25 14:40:26 -05:00
3.0 KiB
3.0 KiB
MSW Export: Data Structures
RIG flat structs (new geometry path output)
classDiagram
class RigMswWellExportData {
WelsegsHeader header
vector~RigMswBranch~ branches
}
class RigMswBranch {
int branchNumber
optional~RigMswSegment~ tieInValve
vector~RigMswSegment~ segments
}
class RigMswSegment {
int segmentNumber
int outletSegmentNumber
double length
double depth
optional~double~ diameter
optional~double~ roughness
string description
string sourceWellName
vector~RigMswCellIntersection~ intersections
optional~WsegvalvRow~ wsegvalvData
optional~WsegaicdRow~ wsegaicdData
optional~WsegsicdRow~ wsegsicdData
}
class RigMswCellIntersection {
size_t i, j, k
double distanceStart
double distanceEnd
string gridName
}
class WelsegsHeader {
string well
double topDepth
double topLength
string infoType
optional~string~ pressureComponents
}
RigMswWellExportData "1" --> "1" WelsegsHeader
RigMswWellExportData "1" --> "*" RigMswBranch
RigMswBranch "1" --> "*" RigMswSegment
RigMswSegment "1" --> "*" RigMswCellIntersection
Flat table rows collected into RigMswTableData
classDiagram
class RigMswTableData {
string wellName
WelsegsHeader welsegsHeader
vector~WelsegsRow~ welsegsData
vector~CompsegsRow~ compsegsData
vector~WsegvalvRow~ wsegvalvData
vector~WsegaicdRow~ wsegaicdData
vector~WsegsicdRow~ wsegsicdData
vector~RigMswBranch~ mswBranches
}
class WelsegsRow {
int segment1, segment2
int branch
int joinSegment
double length, depth
optional~double~ diameter
optional~double~ roughness
}
class CompsegsRow {
size_t i, j, k
int branch
double distanceStart
double distanceEnd
string gridName
}
class WsegvalvRow {
string well
int segmentNumber
double cv
double area
optional~string~ status
}
class WsegaicdRow {
string well
int segment1, segment2
double strength
double maxAbsRate
optional~string~ status
}
class WsegsicdRow {
string well
int segment1, segment2
double strength
double maxAbsRate
optional~string~ status
}
RigMswTableData "1" --> "*" WelsegsRow
RigMswTableData "1" --> "*" CompsegsRow
RigMswTableData "1" --> "*" WsegvalvRow
RigMswTableData "1" --> "*" WsegaicdRow
RigMswTableData "1" --> "*" WsegsicdRow
RigMswUnifiedData aggregates multiple wells
classDiagram
class RigMswUnifiedData {
vector~RigMswTableData~ wellDataList
getAllCompsegsRows()
getAllWsegvalvRows()
getAllWsegaicdRows()
getAllWsegsicdRows()
}
RigMswUnifiedData "1" --> "*" RigMswTableData