mirror of
https://github.com/OPM/ResInsight.git
synced 2026-11-02 09:00:14 -06:00
131 lines
3.0 KiB
Markdown
131 lines
3.0 KiB
Markdown
# MSW Export: Data Structures
|
|
|
|
## RIG flat structs (new geometry path output)
|
|
|
|
```mermaid
|
|
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
|
|
|
|
```mermaid
|
|
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
|
|
|
|
```mermaid
|
|
classDiagram
|
|
class RigMswUnifiedData {
|
|
vector~RigMswTableData~ wellDataList
|
|
getAllCompsegsRows()
|
|
getAllWsegvalvRows()
|
|
getAllWsegaicdRows()
|
|
getAllWsegsicdRows()
|
|
}
|
|
|
|
RigMswUnifiedData "1" --> "*" RigMswTableData
|
|
```
|