-
Notifications
You must be signed in to change notification settings - Fork 116
Ensure setting GRUP control in WCONPROD works for wells in auto-choke groups #4435
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
Ensure setting GRUP control in WCONPROD works for wells in auto-choke groups #4435
Conversation
|
jenkins build this please |
|
jenkins build this please |
|
When we declare a well-group to be a auto-choke manifold, we ignore all the group rate targets for all the wells in the group by
What is the expected behavoir when we use another line of WCONPROD to specify group control for this well? |
I believe there should be no change (since the limits are what they were before), i.e., the group rate targets are still ignored. The problem is that current master crashes when encountering this, since the well is classified as not available for group control. |
Thanks for the response. I will test a little bit then get back to you. |
|
Maybe as indicated by the testing in #4443 , we can just remove the if condition in the following code? if (well2.isAvailableForGroupControl()) {
properties->addProductionControl(Well::ProducerCMode::GRUP);
} |
And if we do this, potentially we have a few more of this checking can be removed. In the simulator code, we use let us decide on this and more eyes are welcome here. |
@totto82, could you have a look? |
|
From my point of view the code changes looks good. @GitPaean I think we should keep the isAvailableForGroupControl() checks. You can still force the well to not be part of any group control using WGRUPCON item 2 = NO. |
Yes. I understand your point. The only situation that we have And in the simulator code, we check I do not see the difference whether to add control model And for the vast majority of the wells, even we do not specify The reason that I prefer to remove the checking |
|
I do acknowledge the current PR fixes the running of the targeting case and have no intention to make it difficult. My only reservation is that I do not know how the group control and auto-choke manifold working together when the auto-choke manifold is higher in the group hierarchy, and that is also I think the function At the same time, since we begin introducing the exception such that a well can have With said above, I will leave to @vkip to decide which approach to go. If you prefer the current approach, we can get ready to get the PR in. If you think removing the Just let me know. |
Well, the function Once |
Thanks for the response. When we talk about Thanks for attaching wgrupcon_no_tests.tar.gz . Master branch does not run all of the cases. I understand the V2 and V3 cases, while I have not figured out what is wrong with the V1 case. For V2 and V3, the problem is that I will try to get this PR in now to make things move forward to get the targeting case parsed and run. I will follow up a PR to remove the if condition checking. That PR is not targeting case, while remains a refactoring/simplification PR. The reviewing of the PR might not pass due to unforeseen scenarios. |
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.
The PR does fix the targeting running. There might be different ways of fixing this, while this PR does fix the targeting case in a very targeting manner.
And the drawback of this way, the function belongsToAutoChokeGroup() is called for every wells, it is relatively expensive for the wells are not part of the auto-choke groups, because it needs to go through all the group levels and the network levels to conclude a false.
A more efficient way can be to store the value when auto-choke keywords disable the isAvailableForGroupControl(). It can come as a refactoring PR after this goes in.
…onging to auto-choke groups.
199dbed to
2189f4d
Compare
|
jenkins build this please |
|
Thanks for the update. I am getting the PR in now as promised. |
|
Thanks for reviewing and merging! Just a couple of final clarifications:
Maybe we just disagree on terminology. I would claim wells in auto-choke groups are available for group control since they are subject to group constraints set with
No, you're right - this is a different issue (but related). |
I understand the terminology issue. But if we make To me it is easier to stick |
Yes, changing this would require changes elsewhere also. I may come back to this later, but let's leave as it is for now. |
|
just a note for later. Whether a well get group controlled rate control is controlled by The problem that this PR is trying to address is that we want to specify |
|
Using |
Sure. It will be interesting to see how |
The attached variant of NETWORK_MODEL5_STDW_AUTOCHK_V2.DATA illustrates the problem (crashes in master, should work with this PR):
NETWORK_MODEL5_STDW_AUTOCHK_V2.DATA.gz