Tor Harald Sandve
b3f62589f2
tune restart test to make it pass
2022-08-17 10:21:25 +02:00
Tor Harald Sandve
1f54e90f33
Restrict drift compensation by CNV tolerance
2022-08-17 10:21:25 +02:00
Tor Harald Sandve
4fd0c24661
output drsdtcon values to restart files
2022-07-21 15:41:30 +02:00
Tor Harald Sandve
cf1abb086f
remove msw(ms) from regulariztion parameter
2022-06-29 15:39:51 +02:00
Tor Harald Sandve
eef455106d
regularize equation for std wells
2022-06-29 12:47:44 +02:00
Tor Harald Sandve
c910c8dbac
add diffusion test case to ctest
2022-06-24 10:18:21 +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
46c8aa3306
fix hydrostatic correction for branched wells in IPR
2022-06-08 12:29:05 +02:00
Tor Harald Sandve
3adaa1b987
fix component/phase mixup
2022-06-07 14:14:13 +02:00
Tor Harald Sandve
e965dac3ee
Only flag a bhp producer/injector operable if the sum of IPR are negative/positive
2022-06-07 10:47:22 +02:00
Tor Harald Sandve
6cc71375b4
stopped wells where cross flow is not allowed are not added to the container
2022-06-07 10:01:02 +02:00
Tor Harald Sandve
6f410e7b03
Steer bhp towards the solution with the highest production rate
2022-05-25 15:30:36 +02:00
Tor Harald Sandve
dfe0982286
reset regularize_ before starting the inner iterations
2022-05-03 08:25:26 +02:00
Tor Harald Sandve
6bf90c9ebe
change default reg factor for MSW to 100
2022-05-02 09:41:43 +02:00
Tor Harald Sandve
967c538da8
output pcow, pcog
2022-04-29 15:35:16 +02:00
Tor Harald Sandve
52fca6c91d
use a relaxed (but not too relaxed) well tolerance when iter>6
...
also shut unsolvable wells during iterations as default
Note however that getWellConvergence return false if a well is unsolvable
i.e. it will cut the timestep and redo the iteration if the well is unsolvable
and only shut it completly if the time step is below the
MinTimeStepBeforeShuttingProblematicWellsInDays (default 0.01 days)
2022-04-26 10:55:22 +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
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
Tor Harald Sandve
c8bef3bcd5
only check if wells has negative potentials if check_well_operabilty=true(default)
2022-04-22 08:19:33 +02:00
Tor Harald Sandve
fd6cf1ccbd
regularize MSW equation when iter > strict_inner_iter
2022-04-21 08:44:50 +02:00
Tor Harald Sandve
9d18f164db
fix saturated density in DRSDTCON
2022-04-21 08:35:07 +02:00
Tor Harald Sandve
a1d11540a6
tighten approximated solution bhpFromThpLimit from 3 to 0.1 bar
2022-04-19 14:21:20 +02:00
Tor Harald Sandve
af95a3f22b
fix density in initialization for case without DISGAS
2022-04-12 11:31:17 +02:00
Tor Harald Sandve
edf8786a58
avoid throw for nan residuals instead return well as unconverged
2022-04-11 09:52:25 +02:00
Tor Harald Sandve
e501a84958
support item 4 wvfpexp
2022-04-08 08:43:13 +02:00
Tor Harald Sandve
e2e0ec9dd9
fix to --shut-unsolvable-wells=true option
2022-04-05 14:42:27 +02:00
Tor Harald Sandve
fba9046201
Some more clean-up based on review
2022-04-04 11:37:31 +02:00
Tor Harald Sandve
69ffed06de
Address comments from review
...
1) Add debug messages
2) Fix bug of missing else in the code
2022-04-04 08:24:32 +02:00
Tor Harald Sandve
5b53fcd8a6
guard against d = 0
2022-04-04 08:24:32 +02:00
Tor Harald Sandve
2e91d2f353
Do not throw when d = 0 instead continue with rs/rv = 0
2022-04-04 08:24:32 +02:00
Tor Harald Sandve
8909b259d0
don't shut wells due to ratio when rate is negative
2022-03-28 10:50:15 +02:00
Tor Harald Sandve
71acf4e056
Double check econ potential limits
...
Sometimes the potentials are inaccurate as a safty measure we
also check that the rates are violated.
The rates are supposed to be less or equal to the potentials.
2022-03-28 10:50:15 +02: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
Tor Harald Sandve
7d5a0a74eb
Handle case where bhp target is violated
2022-03-21 09:52:41 +01:00
Tor Harald Sandve
82099705ac
fix initialization EQUIL + water and gas
2022-03-11 12:38:38 +01:00
Tor Harald Sandve
b931c5ef97
Check if guiderate is violated
...
If guiderate is violated change to group controll.
Note that a factor 1.01 is added to minimize oscilations.
Fix missing multiplication with group efficiency when accumulating guiderates
2022-02-17 10:41: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
Tor Harald Sandve
418880730e
cleanup2
2022-02-15 12:43:58 +01:00
Tor Harald Sandve
cb99a2fc74
check also the validity of the iterated solution
2022-02-15 12:39:42 +01:00
Tor Harald Sandve
650416c647
cleanup
2022-02-15 12:39:42 +01:00
Tor Harald Sandve
e0573e99b1
iterate in computeBhpAtThpLimitProdWithAlq if no solution or potentials are negative
2022-02-15 12:39:42 +01:00
Tor Harald Sandve
ec08f80405
Refactor out the solving algorithm of bhp from thp via VFP to make it usable for injectors
2022-02-15 12:39:42 +01:00
Tor Harald Sandve
1001d35418
Move computeBhpAtThpLimitProd MSW code to common and apply it for both MSW and STW
...
The computeBhpAtThpLimitProd for MSW is faster and sufficiently robust and should also be used by STW
2022-02-15 12:39:42 +01:00
Tor Harald Sandve
0c8d0764d6
update well potensials in well state along with alq and update guide rates accordingly
2022-02-08 15:46:08 +01:00
Tor Harald Sandve
ad799b3e80
Add more performance summary output
...
This commit ads: NEWTON, MLINEARS, MSUMLINS, MSUMNEWT, NLINEARS, NLINSMIN, NLINSMAX
2022-02-03 15:03:37 +01:00
Tor Harald Sandve
bb99d1437b
reduce alq when alq + gas production target is violated
2022-02-03 12:11:03 +01:00
Tor Harald Sandve
0b923e505a
Add support for maximum total gas (alq + gas rate) in GLIFTOPT
...
Dont increase gaslift if the groups alq + gas production rate is above the given target
2022-02-02 10:54:32 +01:00
Tor Harald Sandve
009134d037
Limit well rates to honor group rates
...
If a well is under a group that is limited by a target, it should use as little gaslift as possible.
The reduction algorithm will reduce the gaslift of the well as long as the groups potential is above the groups target.
2022-02-02 10:30:48 +01:00
Tor Harald Sandve
6fee9173c0
Remove assert in ratio check for completions
...
Handle special cases with injection or trivial completion rates and all completions have ratio below the limit while the well has
above
2022-01-21 10:51:40 +01:00
Tor Harald Sandve
d1c2032e73
Update guiderates after with new rates from newly opened wells
2022-01-21 09:15:00 +01:00
Tor Harald Sandve
c3571c50a3
support none trivial item 3 in LIFTOPT. i.e. not optimize gaslift every timestep
2022-01-19 10:14:47 +01:00
Tor Harald Sandve
66425eb7c2
WIP fix when both well and group control restrict gasslift
2021-12-08 09:36:26 +00:00
Tor Harald Sandve
4184b4cbaf
Fix DRSDTDYN
...
Add multiplication of missing reference oil density
2021-12-08 09:05:59 +00:00
Tor Harald Sandve
4f75d1ab8d
Add gasoil + energy simulator
...
Useful when combining CO2STORE + THERMAL
This PR also fixes an issue with missing phases in computation of output temperature
2021-12-07 09:18:38 +01:00
Tor Harald Sandve
e230174de6
Fix assert in relaxation factor in std well
...
If original sum ~ 1 and relaxed_update ~ 0 the factor could -> inf
and trigger the assert.
The 1 + epsilon factor will make sure this does not happen
2021-12-03 14:00:40 +00:00
Tor Harald Sandve
4d19ba7409
Only check operable wells for wecon
2021-12-03 11:37:51 +00:00
Tor Harald Sandve
fac3ca3507
do not iterate when computing well potentials
2021-12-02 13:48:22 +00: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
c4b0a0d9e2
Fix in WTEST
...
If a well is shut due to physical or economical reason the wellstate status is shut
so we can not check the wellstate we instead check the well from the schedule to
make sure we don't test wells that are shut by the user.
2021-11-26 10:17:45 +00:00
Tor Harald Sandve
6277d12d16
fix return type for phaseIdx and compIdx
2021-11-25 14:56:27 +00:00
Tor Harald Sandve
2352d94c0e
fix co2store + aqunum
2021-11-24 11:13:50 +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
cd9e742ad5
remove assert and handle opposite rates in wecon
2021-11-10 13:14:22 +01:00
Tor Harald Sandve
a765ab213b
fix WRAT GRAT reduction
2021-11-09 13:40:55 +01:00
Tor Harald Sandve
7728df33bb
Fix LRAT reduction
2021-11-09 10:45:10 +01:00
Tor Harald Sandve
d2fd5505ca
Check group production LRAT and WRAT targets
2021-11-09 08:24:57 +01:00
Tor Harald Sandve
23225d24e5
Fix bug in runOptimize1_
2021-11-09 08:21:42 +01:00
Tor Harald Sandve
b9f16018ac
remove unused inj_potentials
2021-10-28 14:17:33 +02:00
Tor Harald Sandve
93c7ba6b92
communicate inj_surface_rates
2021-10-28 08:55:50 +02:00
Tor Harald Sandve
5dcc584848
Add micp test case
2021-10-19 14:13:28 +02:00
Tor Harald Sandve
1cfe3e0aad
remove cartesian to compressed vector
2021-10-19 11:03:46 +02: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
f6f5badfde
Add brine and thermal simulator
2021-10-15 11:50:17 +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
Tor Harald Sandve
fdf6ce9c54
change assert with throw for isfinite primary variable
2021-10-08 15:26: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
623ff2c3ce
communicate before usage not after
2021-09-30 11:54:56 +02:00
Tor Harald Sandve
dc8c9021b5
open completions after well event
2021-09-30 11:40:34 +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
06878a8ca8
fix date for large time steps
2021-09-29 15:43:20 +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
Tor Harald Sandve
9381b0857b
updateWsolvent only after well container is created
2021-09-24 12:09:02 +02:00
Tor Harald Sandve
eb4997a011
update gpmain before not after timestep
2021-09-21 14:03:35 +02:00
Tor Harald Sandve
50cf80910b
support aquct and co2store
2021-09-21 11:08:10 +02:00
Tor Harald Sandve
a650b529d1
commit WGstate after shut well from outside
2021-09-21 11:05:03 +02:00
Tor Harald Sandve
30592c7593
update status after WTEST
2021-09-21 10:32:56 +02:00
Tor Harald Sandve
21942f0cc2
use getMobilityScalar in updateIPR
2021-09-21 09:50:20 +02:00
Tor Harald Sandve
6fa9c05985
add well_test_state to WGState to be able to access last valid wellTestState
2021-09-21 09:30:02 +02:00
Tor Harald Sandve
c6660f0aa2
only update when control is changed
2021-09-21 08:53:25 +02:00
Tor Harald Sandve
9db6b2b946
handle unoperable wells
...
set potentials and rates to zero
2021-09-21 08:53:25 +02:00
Tor Harald Sandve
dc4436961f
update well rates from target
2021-09-21 08:53:25 +02:00
Tor Harald Sandve
10480b4f8f
combine co2store and numerical aquifers
2021-09-17 16:05:26 +02:00