Expand Collection of Segment Level RFT Output Arrays#5119
Expand Collection of Segment Level RFT Output Arrays#5119bska wants to merge 1 commit intoOPM:masterfrom
Conversation
|
I'm creating this PR in draft mode for several reasons
I will keep the PR in a draft state until such time as it is ready for review and merging. |
a40e2dd to
d487d90
Compare
c7440e5 to
1598109
Compare
|
jenkins build this please |
1598109 to
d4596c9
Compare
I've added unit tests to this PR now and I'm fairly confident that it does what it's supposed to do for the typical case. We may need to revisit this at a later time if an unexpected corner case comes up, but for now I'm marking the PR as "ready for review". Please be aware that the msw/MSW-2D-VERT-02 regression test case will fail as a result of this work. The test case requests segment level RFT output for the For now I'll just run a build check that ignores those extra output arrays. |
|
jenkins build this ignore_extra please |
There was a problem hiding this comment.
Pull request overview
This PR expands the segment-level RFT (SEG) output written by WriteRFT.cpp by adding three new per-segment arrays intended to expose ICD-specific properties, and updates the SEG-related unit tests to validate presence and values for wells with no ICDs, valves, and ICDs.
Changes:
- Add three new segment-level RFT arrays:
SEGLEN,SEGQICD, andSEGFSCAL. - Populate these arrays with ICD-specific values for AICD/SICD segments and zeros for regular/valve segments.
- Extend
tests/test_RFT.cppto assert the new arrays exist and validate expected values across scenarios.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
opm/output/eclipse/WriteRFT.cpp |
Writes new SEG arrays and records ICD length, max abs rate, and scaling factor per segment. |
tests/test_RFT.cpp |
Adds SEG-array presence checks and new test cases covering no-ICD, valve, and ICD datasets. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
57c4261 to
2fde154
Compare
|
jenkins build this please |
|
jenkins build this please |
|
This has now been tested in Equinor and results are good. Looking forward to see this go into master. |
Thank you for testing, this is greatly appreciated! |
151616b to
c7a61c6
Compare
This commit introduces three new (static) segment level output
arrays in the RFT file. Each of these arrays are sized according to
the number of segments. Regular segments and valves (defined by
keyword WSEGVALV) get zero-valued entries, whereas inflow control
devices (keywords WSEGAICD and WSEGSICD) get non-zero values.
* SEGLEN is the ICD's length along the segment
* SEGQICD is the ICD's maximum absolute flow rate
* SEGFSCAL is the ICD's effective scaling factor
(SICD::scalingFactor(), calculated by updateScalingFactor())
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This PR introduces three new (static) segment level output arrays in the RFT file. Each of these arrays are sized according to the number of segments. Regular segments and valves (defined by keyword
WSEGVALV) get zero-valued entries, whereas inflow control devices (keywordsWSEGAICDandWSEGSICD) get non-zero values.SICD::scalingFactor(), calculated byupdateScalingFactor())