Commit Graph
100 Commits
Author SHA1 Message Date
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 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
Tor Harald Sandve dd454063d4 pass updated well rates totarget reduction not the nupcol ones + cleanup 2021-09-15 09:47:31 +02:00
Tor Harald Sandve 81d9a8c178 add option for relaxed convergence for stw 2021-09-14 14:32:14 +02:00
Tor Harald Sandve 49dfe1006f cleanup 2021-09-13 15:11:38 +02:00
Tor Harald Sandve 43a858ef25 rename computeBhpFromThpPotential to computeBhpFromThpIterations in std wells 2021-09-13 14:07:21 +02:00
Tor Harald Sandve c8a59946e3 avoid iter in computeBhpFromThp 2021-09-13 14:01:56 +02:00
Tor Harald Sandve 972a832d65 make scalar version of computePerfRate 2021-09-13 09:36:16 +02:00
Tor Harald Sandve f203c2106e only compute fip avg pressure when gpmaint 2021-09-10 15:49:02 +02:00
Tor Harald Sandve a550400fa0 Continue on solver convergence failure 2021-09-10 13:49:20 +02:00
Tor Harald Sandve 305de4016e oil target may be limited by LRAT as well 2021-09-10 13:19:07 +02:00
Tor Harald Sandve a1e70711a6 Handle empty region in average calculator 2021-09-09 08:17:45 +02:00
Tor Harald Sandve f3513a31eb add option for relaxed well convergence for the last netwon iterations 2021-09-08 09:58:14 +02:00
Tor Harald Sandve adda160098 clean-up 2021-09-07 09:47:41 +02:00
Tor Harald Sandve f497fa0fd7 add support for region = 0 i.e. field 2021-09-07 08:53:09 +02:00
Tor Harald Sandve f9832d8830 split RateConverter 2021-09-07 08:53:09 +02:00
Tor Harald Sandve 9d2f26f7e8 Add support for gpmaint 2021-09-07 08:52:52 +02:00
Tor Harald Sandve 7c8a39fdb6 fix after rebase 2021-08-26 10:32:58 +02:00
Tor Harald Sandve 514c2a67a9 always compute potentials 2021-08-26 10:29:25 +02:00
Tor Harald Sandve 7e3cca1316 iterate to get more accurate potentials for stw wells 2021-08-26 10:29:25 +02:00
Tor Harald Sandve 002256a045 return fraction 1.0 if only one well under group control even in cases where the guide rate is zero 2021-08-26 08:27:06 +02:00
Tor Harald Sandve 0b1a909ee2 guards for one-phase flow 2021-08-24 12:06:03 +02:00
Tor Harald Sandve 31ac5378cf fix case where wells are shut behind our back 2021-08-19 13:08:33 +02:00
Tor Harald Sandve bc70fd5540 This basically reverts changes applied in PR 3095.
With this gefac is only applied with accumulating rates from the level below
2021-08-19 08:16:25 +02:00
Tor Harald Sandve 0f58343c48 Change default MaxNewtonIterationsWithInnerWellIterations to 8 2021-08-18 08:41:37 +02:00
Tor Harald Sandve 5cb81d36c9 re-compute potentials for pressure controlled wells with trivial rates 2021-08-09 13:41:50 +02:00
Tor Harald Sandve cf61417b6d move update well test state to after potentials are calculated 2021-08-09 13:21:10 +02:00
Tor Harald Sandve 153cd678c6 Add a derivative free version of the well rate calculations 2021-08-04 11:32:50 +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 60f59cd6e6 Potentially reduce gaslift when under well is under group control
Current implemention only support ORAT and GRAT controlled groups
2021-06-30 09:59:09 +02:00
Tor Harald Sandve 4aaf86d5ef make sure the current well are included in the local fraction sum 2021-06-28 11:47:13 +02:00
Tor Harald Sandve 5368343512 handle GRUP in wellState from target 2021-06-23 14:46:35 +02:00
Tor Harald Sandve c3cf59327d scale guiderates from si 2021-06-17 23:56:02 +02:00
Tor Harald Sandve b5e29684f2 shut/stop unsolvable wells 2021-06-17 11:50:31 +02:00
Tor Harald Sandve eb4e25c3f6 Change wellStateFromTarget to virtual to make sure the MSW part is run 2021-06-16 15:53:34 +02:00
Tor Harald Sandve b2341a84d6 scale well rates after group switching 2021-06-15 09:29:24 +02:00
Tor Harald Sandve 96091f4313 change get param from bool to int 2021-06-11 08:09:35 +02:00
Tor Harald Sandve a55fa81b2f relax ACTIONX_M1 parallel test 2021-06-10 18:44:22 +02:00
Tor Harald Sandve 28a567550b removed dissolved gas and vapporized oil from RESV injection rates 2021-06-08 20:17:01 +02:00
Tor Harald Sandve 3ca6e215dc Change the inner iterations logic
This replace the Boolean switch to enable inner iterations with a
int that controls for which maximum number of newton iterations
inner iterations applies.

Default is set to 3
2021-06-04 10:51:15 +02:00
Tor Harald Sandve 8c9a7db8c9 Scale target with resv conversion factor 2021-06-04 09:27:51 +02:00
Tor Harald Sandve 3422e18583 Optional passing of the temperature vector to the restart machinary
If enableTemperature and --enable-opm-restart-file=true the temperature is passed to or read from the restart file
2021-06-02 11:53:57 +02:00
Tor Harald Sandve 06595c6dfc fix reduction rate for injection groups 2021-05-27 13:16:28 +02:00
Tor Harald Sandve cccece4104 use rates for potentials for pressure controlled (bhp or thp) controled wells 2021-05-26 13:54:14 +02:00
Tor Harald Sandve 97d9de4339 Avoid division by small rate in divisor in VFP table fraction WFR/GFR.
A threshold of 1e-12 is used to "define" small rate
2021-05-26 10:03:28 +02:00
Tor Harald Sandve bf87a1b519 Add SPE9_CP_GROUP_RESV to the test suite 2021-05-19 09:44:48 +02:00
Tor Harald Sandve ce5e3ac075 remove ElemType and zero() 2021-05-19 09:00:53 +02:00
Tor Harald Sandve 93237ec345 FIX wrong type RESV group control 2021-05-19 09:00:53 +02:00
Tor Harald Sandve 89e5b6758b fix building with dunefem 2021-05-18 15:31:57 +02:00
Tor Harald Sandve 4cf08deede BUGFIX fix direction of the resv check 2021-05-18 10:45:10 +02:00
Tor Harald Sandve f091781ee2 explicity add gridView from Dune::Fem in collectDataToIORank 2021-05-11 09:40:19 +02:00
Tor Harald Sandve 80413e0794 add useInnerIteration method and move assembleWellEq to the well interface to avoid code duplication 2021-05-10 09:41:18 +02:00
Tor Harald Sandve 62d902435a move solveWellEquation inside prepareTimeStep 2021-05-07 08:51:15 +02:00
Tor Harald Sandve 1cd6ea14a9 only compute well potential when needed 2021-05-06 12:59:02 +02:00
Tor Harald Sandve 687a2ca977 Improve initialization of the well rates for trivial rates
This also applies for rates with opposite direction.
2021-05-06 08:48:30 +02:00
Tor Harald Sandve bc9034e325 remove unused calculateBhpWithTHPTarget 2021-05-05 09:51:43 +02:00