OPM / opm-simulators

OPM Flow and experimental simulators, including components such as well models etc.
http://www.opm-project.org
GNU General Public License v3.0
124 stars 122 forks source link

Changes in how the simulator handles NUPCOL #5724

Open totto82 opened 2 weeks ago

totto82 commented 2 weeks ago

1) Dont allow wells to change to GRUP when iter >NUPCOL 2) Update VREP even for iter > NUPCOL if it changes significantly. For now hardcoded to relative change > 0.01 (TODO make this a parameter. Update: DONE)

TODO

totto82 commented 2 weeks ago

jenkins build this please

totto82 commented 2 weeks ago

jenkins build this please

totto82 commented 2 weeks ago

jenkins build this failure_report please

steink commented 1 week ago

I'm currently looking into this, but having some unrelated issues with recent updates, so not done testing

totto82 commented 1 week ago

jenkins build this failure_report please

totto82 commented 6 days ago

jenkins build this failure_report please

totto82 commented 3 days ago

jenkins build this failure_report please

steink commented 3 days ago

I'm running a tests on a larger model, and will report back. Otherwise PR is now simpler and tests seem fine except 02_WGRUPCON. This test is often causing problems, I'll have a closer look.

steink commented 3 days ago

Larger testing looks fine on my side. Did some investigation on 02_WGRUPCON which gets quite a bit worse with the PR. Main reason is that with master we get Well C-1H will be shut because it fails to converge, while this does not trigger with the PR which rather does extra VREP-iterations until convergence failure. Reason for C-1H not converging in the first place is that there exists no converged state it will rest (production with its thp is not feasible (so it should stop), but when global system converges with well stopped, reservoir pressure supports re-opening). Since our operability checks only considers current reservoir pressure and we don't have any limits on how many times a well can try to re-open during a time-step, this well will always cause issues manifesting in one or the other way. The issue is not related to this PR however, and we should address it elsewhere.

totto82 commented 3 days ago

jenkins build this failure_report please

totto82 commented 2 days ago

re-open during a time-step

Does it make sense to not allow re-opening wells when iter > nupcol? This could reduce oscillations in the VREP control, but also to premature closing of wells. Often the closing/opening of individual wells stabilize after some iterations so maybe worth a try to test out?

totto82 commented 2 days ago

When I only allow for well opening when iter < nupcol I get back the reference solution. I will do some more tests with this and report back.

image

steink commented 2 days ago

re-open during a time-step

Does it make sense to not allow re-opening wells when iter > nupcol? This could reduce oscillations in the VREP control, but also to premature closing of wells. Often the closing/opening of individual wells stabilize after some iterations so maybe worth a try to test out?

I agree that it should not be allowed to re-open at some stage, but not sure whether this should be related to nupcol (the problem is not neccessarlily related to groups).

totto82 commented 2 days ago

I agree that it should not be allowed to re-open at some stage, but not sure whether this should be related to nupcol (the problem is not neccessarlily related to groups).

I see your point. It seems to stabilize some corner cases thought. Does this mean that we accept the results of well C-1H in 02_WGRUPCON and can start the process of getting this PR in?

steink commented 1 day ago

I agree that it should not be allowed to re-open at some stage, but not sure whether this should be related to nupcol (the problem is not neccessarlily related to groups).

I see your point. It seems to stabilize some corner cases thought. Does this mean that we accept the results of well C-1H in 02_WGRUPCON and can start the process of getting this PR in?

It's OK from my side.