-
Notifications
You must be signed in to change notification settings - Fork 118
Add Support for WORK Arrays in OPERATE and OPERATER #4861
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I'm creating this PR in draft mode because it's currently missing unit tests. I'll keep the PR in a draft state until such time as it is ready for review and merging. |
|
jenkins build this please |
|
This PR has now been tested on one full field model in Equinor. Results are excellent and looking forward to seeing this go into master. |
12aa682 to
16d5eab
Compare
Thank you so much for testing this work. I have now amended the PR to include a couple of unit tests, inspired by the example models in OPM/opm-tests#1441, to demonstrate the feature. Therefore, I'm marking this PR as "ready for review" and I'm running a build check. |
|
jenkins build this please |
In this initial version we support only the double precision WORK
arrays (named "WORK<n>" with <n> being a positive integer), and only
for compressed property arrays like SOGCR. In other words,
operating on the "global" MULTZ* arrays is not supported when
referencing WORK arrays at this time. On the other hand, we do not
use REGDIMS(8) as an upper limit on the number of distinct "WORK"
arrays that can be used in the model description.
Integer work arrays ("IWORK<n>") are not supported at this time.
We add a new data member, FieldProps::work_arrays, of the same type
as FieldProps::double_data, and select this 'work_arrays' member as
the backing store for array references using "WORK<n>". All WORK
arrays are cleared at the end of processing a section (e.g., GRID,
PROPS, EDIT).
16d5eab to
a984127
Compare
|
jenkins build this please |
akva2
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Thanks a lot for looking at this. As the PR's approved and the build check is green, I'll merge into the master branch. |
In this initial version we support only the double precision WORK arrays (named "
WORK<n>" with<n>being a positive integer), and only for compressed property arrays likeSOGCR. In other words, operating on the "global" MULTZ* arrays is not supported when referencing WORK arrays at this time. On the other hand, we do not useREGDIMS(8)as an upper limit on the number of distinct "WORK" arrays that can be used in the model description.Integer work arrays ("
IWORK<n>") are not supported at this time.We add a new data member,
FieldProps::work_arrays, of the same type asFieldProps::double_data, and select this 'work_arrays' member as the backing store for array references using "WORK". All WORK arrays are cleared at the end of processing a section (e.g., GRID, PROPS, EDIT).