Arne Morten Kvarving
7b33cc6d62
move computeConnLevel(Inj|Prod)Ind to WellInterface
...
now code is shared between STW and MSW
2023-06-22 09:58:58 +02:00
Arne Morten Kvarving
01c4aa1927
move updateWellStateWithTHPTargetProd to WellInterface
...
to share implementation between STW and MSW
2023-06-22 09:10:38 +02:00
Kai Bao
5f344eef26
avoid dividing by zero in updateWellStateRates()
2023-06-20 23:14:50 +02:00
Arne Morten Kvarving
2630522d7f
avoid unused variable warning with NDEBUG
2023-05-24 12:39:24 +02:00
Arne Morten Kvarving
0406a033a2
introduce getMobility in WellInterface
...
we now share implementation between StandardWell and MultisegmentWell
2023-05-15 21:39:59 +02:00
Kai Bao
1542f2c087
refactor the network update
...
moving the well controls and network update out of assembleImpl to avoid
call assmebleImpl in a recursive manner
2023-04-20 14:59:50 +02:00
Håkon Hægland
e241fccbca
Only iterate wells activated for gaslift
2023-04-13 11:08:30 +02:00
Håkon Hægland
4ba5e3efad
Iterate ALQ when testing gaslift well
...
When testing a gaslift well under THP control, if the
well does not converge with maximum alq, try to reduce alq
in increments until well equations converge.
2023-04-13 10:40:29 +02:00
Kai Bao
9304542dbe
combining wellIsStopped and wellUnderZeroRateTaget
...
for better readability.
2023-03-29 14:40:50 +02:00
Kai Bao
b6eecf5c55
not updating the THP for zero rate controlled wells
2023-03-29 13:48:34 +02:00
Kai Bao
f4e0a996b9
wells under zero injection target are also treated as stopped well
...
when formulating the well control equations
2023-03-29 13:48:34 +02:00
Bård Skaflestad
9524348401
Merge pull request #4549 from totto82/resv_undersat
...
fix RESV for undersaturated wells
2023-03-29 10:35:33 +02:00
Tor Harald Sandve
42527ac829
fix RESV for undersaturated wells
2023-03-27 16:03:40 +02:00
Kai Bao
2c5a4398c9
make sure zero production rates are obtained for the following wells
...
1. stopped production wells
2. production wells under zero rate control
We guarantee the objective through enforce zero values for the WQTotal
primary variable during the initialization and update process during the
Newton solution.
2023-03-27 13:24:08 +02:00
hnil
aa40d2f0f3
-- prepared for possibliy of not using cached intentensive quantities
2023-03-24 19:57:31 +01:00
Kai Bao
57bf959efd
update well state when switching to THP control for producers
...
hopefully, it begins at a reasonably good initial point. When the Newton
iteration begins with certian solution region, the nonlinear solution
might fail.
2023-02-07 14:50:07 +01:00
Markus Blatt
d2f55c59fc
Merge pull request #4359 from totto82/fixGPMAINT2
...
Fix GPMAINT for groups without control
2023-01-23 14:12:00 +01:00
Arne Morten Kvarving
7b2b18045e
adjust to upstream enum changes
2023-01-18 11:24:25 +01:00
Arne Morten Kvarving
c0e9193e50
WellInterface: move code using WellMICPProperties to compile unit
2023-01-13 14:11:46 +01:00
Arne Morten Kvarving
f74f2ded8e
add missing WellMICPProperties.hpp includes
2023-01-13 14:01:56 +01:00
Arne Morten Kvarving
d011bb29ae
StandardWell: move code using WellPolymerProperties to compile unit
2023-01-13 13:02:37 +01:00
Arne Morten Kvarving
f860490c9f
WellInterface: move code using WellPolymerProperties to compile unit
2023-01-13 13:02:37 +01:00
Arne Morten Kvarving
97f76412ae
add missing WellPolymerProperties.hpp includes
2023-01-13 13:02:37 +01:00
Arne Morten Kvarving
71bf868ddb
WellInterface: move code using WellBrineProperties to compile unit
2023-01-13 11:14:18 +01:00
Arne Morten Kvarving
131f52773f
add missing WellBrineProperties.hpp includes
2023-01-13 11:14:18 +01:00
Arne Morten Kvarving
a29d5f81b6
WellInterface: move code using WellFoamProperties to compile unit
2023-01-13 10:18:26 +01:00
Arne Morten Kvarving
a0f85c8a93
add missing WellFoamProperties.hpp includes
2023-01-13 10:18:26 +01:00
Tor Harald Sandve
ceb8d996aa
Fix GPMAINT for groups without control
...
If GPMAINT is used the group does not need a valid control object
2023-01-10 15:59:21 +01:00
Arne Morten Kvarving
a020a993b5
WellInterface: use {fmt} to format error messages
2022-12-23 09:39:29 +01:00
Arne Morten Kvarving
f17a90170d
use exception classes from opm-common
2022-12-13 12:56:13 +01:00
Håkon Hægland
bc566e3981
Also check LRAT group target in stage2
...
Also account for a group LRAT limit when removing surplus ALQ in gaslift
optimization stage 2.
2022-11-21 08:58:49 +01:00
Arne Morten Kvarving
26d9f18687
changed: move isPressureControlled to WellInterfaceGeneric
...
no typetag dependence. also no need for this to be virtual
2022-11-04 14:24:19 +01:00
Arne Morten Kvarving
796aa51e79
changed: move calculateBhpFromThp to WellBhpThpCalculator
2022-10-31 13:16:51 +01:00
Arne Morten Kvarving
b9ee7eae6f
use if constexpr
2022-10-26 11:23:55 +02:00
Tor Harald Sandve
7b90d35f21
fixup from PR comments
2022-10-18 12:58:07 +02:00
Tor Harald Sandve
e1d36f32b8
add missing wellGroupTargetsViolated in ++ operator
2022-10-18 10:55:17 +02:00
Tor Harald Sandve
756c9bad21
set ws.thp = thp_limit for wells under THP control
2022-10-18 10:55:17 +02:00
Tor Harald Sandve
d25dc4e795
check controls in getWellConvergence
2022-10-18 10:55:17 +02:00
Bård Skaflestad
36ca7d11e9
Merge pull request #4149 from totto82/improve_conv_thp
...
Improve convergence for newly opened wells with thp control
2022-10-18 10:26:55 +02:00
Tor Harald Sandve
74eb0d048f
Improve convergence for newly opened wells with thp control
2022-10-17 15:32:27 +02:00
Tor Harald Sandve
2ca3c25f4f
set alq before trying to solve the equation during well testing
2022-10-10 08:14:42 +02:00
Kai Bao
d3d8e11e00
limiting the smallest injection rate to 1.e-7
...
for the injection phase.
2022-09-20 11:40:34 +02:00
Tor Harald Sandve
0f969dd7a5
check ipr for wells prevented to change to thp
2022-08-19 10:48:56 +02:00
Tor Harald Sandve
96222f8afb
dont use explicit vfp lookup for newly opened wells
2022-08-19 10:33:19 +02:00
Tor Harald Sandve
9364d4c54b
Add option for wvfpexp item 2 plus minor fixes
2022-08-19 10:33:19 +02:00
Tor Harald Sandve
b1b23a57de
Add option for explicit vfp lookup for problmatic wells
2022-08-19 10:33:19 +02:00
Atgeirr Flø Rasmussen
ffb09ee53e
Merge pull request #3937 from atgeirr/pressure-bhp-cpr
...
Pressure bhp cpr
2022-06-16 17:15:49 +02:00
hnil
541edeaf67
- add default for CPRW
...
- cleanded code
2022-06-08 17:03:27 +02:00
hnil
6c407506a9
cleaning code
2022-06-08 17:03:27 +02:00
Tor Harald Sandve
1f876d1800
implement rsrv item 10 WCONINJE
...
MSW not supported yet
2022-06-08 13:55:29 +02:00
Tor Harald Sandve
4b5a53eaeb
Merge pull request #3887 from totto82/init_alt_eps
...
use alternative init for wells with all rates less than eps
2022-04-26 10:46:19 +02:00
Tor Harald Sandve
bd145913e8
use alternative init for wells with all rates less than eps
2022-04-26 09:32:18 +02:00
Atgeirr Flø Rasmussen
75ccd88f4f
Merge pull request #3888 from totto82/stop_tgr2
...
fix trivial group target
2022-04-26 08:34:06 +02:00
Tor Harald Sandve
d00a2e2341
fix trivial group target
2022-04-25 08:10:19 +02:00
Tor Harald Sandve
92175cf094
Fix STOP in combination with inoperable/unsolvable
2022-04-22 09:15:09 +02:00
Håkon Hægland
11907495c1
Well testing of gas lift wells
...
Assign a maximum ALQ value to each GLIFT producer when doing well testing
in beginTimeStep(). This allows the well to be considered open. Then,
later in the timestep, when assemble() is called, the full gas lift
optimization procedure can adjust the ALQ to its correct value.
It is also observed that in some cases when gas lift is switched off by
setting ALQ to zero, and later in the schedule is switched back on again,
it might not be possible to determine bhp from thp for low small ALQ values.
Instead of aborting the gas lift optimization, we should try increasing
ALQ until we get convergence or until the maximum ALQ for the well is
reached.
2022-04-20 10:51:34 +02:00
Markus Blatt
ff410d268a
Merge pull request #3863 from totto82/unsolvable_fix
...
fix to --shut-unsolvable-wells=true option
2022-04-11 07:33:46 +02:00
Tor Harald Sandve
6f29bf715c
Merge pull request #3778 from GitPaean/always_inner
...
[testing] always using inner iterations for testing purpose.
2022-04-08 15:44:33 +02:00
Tor Harald Sandve
e2e0ec9dd9
fix to --shut-unsolvable-wells=true option
2022-04-05 14:42:27 +02:00
Bård Skaflestad
0cd2ce6589
Merge pull request #3824 from totto82/notswitchthp
...
Avoid switching to thp control if production is decreasing or injection is increasing
2022-03-25 14:34:30 +01:00
Tor Harald Sandve
f4d81e33f1
Avoid switching to thp control if it results in higher rates
2022-03-25 09:12:15 +01:00
Tor Harald Sandve
32dfdc6198
improve initialization msw new wells
2022-03-24 09:53:46 +01:00
Håkon Hægland
438a712e54
Gas lift optimization for two-phase oil-water.
...
Add gas lift optimization support for two-phase oil-water flow.
2022-03-07 15:19:43 +01:00
Tor Harald Sandve
d8934ea7a9
Set well control to thp or bhp in well testing
2022-02-17 09:01:32 +01:00
Kai Bao
086b8aab7d
only multisegment wells will alway inner iteration
2022-01-21 10:43:36 +01:00
Kai Bao
0000df18a4
always using inner iterations for testing purpose.
2022-01-21 10:43:36 +01:00
Joakim Hove
6b92443cb4
Downstream filesystem reorganisation in opm-common
2022-01-02 14:33:34 +01:00
Tor Harald Sandve
2c17b1942c
Move getPerfCellPressure to wellInterface
...
The cell pressure is independent of well model and belongs to the interface
This should move the MSW model one step closer to supporting GasWater cases
2021-11-30 10:48:02 +00:00
Tor Harald Sandve
50ab26c330
cleanup
2021-11-23 14:01:07 +00:00
Tor Harald Sandve
43fd50e355
only mark negative potentials as not operable
2021-11-22 11:27:45 +00:00
Tor Harald Sandve
b5cdb1048a
Mark wells with negative and trivial potentials as not operable
...
The simulator will try to compute potentials at every iterations to
try to reopen the well.
2021-11-22 08:44:17 +00:00
Tor Harald Sandve
160c80b574
check operability history wells
2021-10-18 09:21:04 +02:00
Tor Harald Sandve
1c9c5c484b
check operability injectors
2021-10-15 12:32:02 +02:00
Tor Harald Sandve
70c9d2e237
Merge pull request #3590 from daavid00/micp-2021-10
...
micp
2021-10-14 22:28:28 +02:00
daavid00
48b175904a
first version of micp implementation in flow
2021-10-14 17:44:57 +02:00
Atgeirr Flø Rasmussen
5e1853b8e4
Merge pull request #3588 from totto82/improve_switch_output
...
make multiple well control switching output more readable
2021-10-14 10:56:53 +02:00
Tor Harald Sandve
83ef3730b2
make multiple well control switching output more readable
2021-10-14 09:40:34 +02:00
Tor Harald Sandve
d07aed204f
Catch numerial issues due to problems with inner iterations wells
2021-10-08 15:26:53 +02:00
Joakim Hove
0e365abe36
WellTestState::dropCompletion -> WellTestState::open_completion
2021-10-08 10:40:38 +02:00
Joakim Hove
0648d6bf5d
WellTestState::openWell -> WellTestState::open_well
2021-10-08 10:17:14 +02:00
Joakim Hove
d806762f7a
WellTestState::hasWellClosed -> WellTestState::well_is_closed
2021-10-08 10:17:14 +02:00
Joakim Hove
feaaebf3fc
WellTestState::hasCompletion -> WellTestState::completion_is_closed
2021-10-08 09:06:21 +02:00
Joakim Hove
0c40771c7a
Merge pull request #3579 from joakim-hove/template-on-content-type
...
WTEST: only count actually closed wells.
2021-10-07 09:27:41 +02:00
Joakim Hove
4816762b66
Well testing: only count actually closed wells. Change in opm-common
2021-10-06 15:32:17 +02:00
Elyes Ahmed
f53c597f90
Replacing use of MPI_COMM_WORLD with a variable communicator.
2021-10-05 13:07:52 +02:00
Tor Harald Sandve
afdfe55bbc
restrict maximum number of times a well can switch to the same control
2021-10-04 10:12:39 +02:00
Tor Harald Sandve
cb9254636b
rename and cleanup
2021-09-30 09:01:07 +02:00
Tor Harald Sandve
bc8da79779
stop checking operability in the beginning of an timestep
2021-09-30 08:47:47 +02:00
Tor Harald Sandve
c9e93e6155
stop updating operability during iterations
2021-09-30 08:47:47 +02:00
Tor Harald Sandve
c790b14753
Make WTEST more robust
...
Only open wells that are solvable, operable and economical
2021-09-28 10:07:12 +02:00
Joakim Hove
a11e3222bd
Merge pull request #3534 from joakim-hove/use-single-well-state
...
Use single well state
2021-09-22 12:35:15 +02:00
Tor Harald Sandve
30592c7593
update status after WTEST
2021-09-21 10:32:56 +02:00
Joakim Hove
5531120411
Use SingleWellState argument instead of full WellState
2021-09-20 11:45:24 +02:00
Joakim Hove
755de65eb4
Use SingleWellState to manage well surface rates
2021-08-24 12:46:24 +02:00
Joakim Hove
2f504536f4
Add well potentials to SingleWellState
2021-08-23 12:05:26 +02:00
Joakim Hove
581f571c9d
Use SingleWellState for production and injection control
2021-08-15 09:07:39 +02:00
Joakim Hove
a54daf75e8
Add trivial class SingleWellState with bhp and thp
2021-08-15 09:01:21 +02:00
Tor Harald Sandve
a00c42c673
compute potentials for newly opened wells due to testing
2021-06-30 13:13:56 +02:00
Tor Harald Sandve
5368343512
handle GRUP in wellState from target
2021-06-23 14:46:35 +02:00
Tor Harald Sandve
b5e29684f2
shut/stop unsolvable wells
2021-06-17 11:50:31 +02:00