Commit Graph

8879 Commits

Author SHA1 Message Date
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
Håkon Hægland
c7aa43a82b Rename some methods and variables.
Renames some methods and variables to reflect that the well is no
longer necessarily a StandardWell. It can be either a MultisegmentWell
or a StandardWell. This should avoid confusion about the nature of
the variable.
2022-02-15 10:21:09 +01:00
Håkon Hægland
54160827de Add gaslift optimization support for MSW.
Implements gas lift optimization support for multisegmented wells (MSW).
2022-02-14 21:38:50 +01:00
Markus Blatt
a520733d5b
Merge pull request #3774 from plgbrts/expli-salt
allow for explicit initialization of SALT and SALTP
2022-02-11 14:35:57 +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
Bård Skaflestad
57cc18cf1b
Merge pull request #3797 from totto82/add_total_gas
Add support for maximum total gas (alq + gas rate) in GLIFTOPT
2022-02-04 10:33:38 +01:00
Bård Skaflestad
e6ad6ec496
Merge pull request #3801 from totto82/add_performa
Add more performance summary output
2022-02-03 17:15:05 +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
Markus Blatt
3b8501469c
Merge pull request #3800 from Tongdongq/move-gpu-files
Move gpu files
2022-02-03 12:55:41 +01:00
Tor Harald Sandve
bb99d1437b reduce alq when alq + gas production target is violated 2022-02-03 12:11:03 +01:00
Tong Dong Qiu
c1cbf7a00f Fix ChowPatelIlu compilation errors,
introduced in recent PR
2022-02-03 10:42:27 +01:00
Tong Dong Qiu
6c8ada4cd2 Reduced header inclusion and updated comments 2022-02-03 10:42:22 +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
Tong Dong Qiu
275bfe2da4 Move cuda files to separate folder 2022-02-02 09:28:41 +01:00
Tong Dong Qiu
e81ca0526e Move opencl files to separate folder 2022-02-01 16:51:32 +01:00
Tor Harald Sandve
29ec104bb6
Merge pull request #3780 from hakonhagland/glift_swg_fx8
Refactor code in GasLiftSingleWellGeneric.cpp (part 3)
2022-02-01 11:11:17 +01:00
Håkon Hægland
65c323e1a4 Replace assert with warning.
Replace assert with warning when group rates exceeds target.
2022-01-31 01:52:36 +01:00
Håkon Hægland
8810fa65af Cleanup code in GasLiftSingleWellGeneric
Introduces two new data types BasicRates and LimitedRates to capture
oil, gas, and water rates, and whether they have been limited by well
or group targets. This reduces the number of variables that are passed
to and returned from various methods and thus makes the code easier to
read.
2022-01-31 01:39:20 +01:00
Markus Blatt
4407fdd3db std::regex_replace use $n for referencing and not \n. 2022-01-27 17:22:09 +01:00
Markus Blatt
710d648eda Prevent multiple *.?.dbg/prt files in production crashed parallel runs.
There was a fallout when skipping concating these files to the
default ones (PR #1708). We should also have deactivated creating
these files at all. As a result these files appeared in all parallel
runs that were aborted.

This change now prevents creating and logging to these files in
parallel in a default
run (--enable-parallel-logging-fallout-warning=false).

Developers can still activate logging and concating to see whether
everything is only logged on the io process by passing
--enable-parallel-logging-fallout-warning=true.

Closes 3725
2022-01-27 17:21:29 +01:00
Håkon Hægland
a14ed57921 Silence reorder warning in GasLiftCommon 2022-01-25 13:31:49 +01:00
Håkon Hægland
4970b0641e Improve debugging tools in gaslift code.
Introduces a gaslift debugging variable in ALQState in WellState. This
variable will persist between timesteps in contrast to when debugging
variables are defined in GasLiftSingleWell, GasLiftGroupState, or GasLiftStage2.

Currently only an integer variable debug_counter is added to ALQState,
which can be used as follows: First debugging is switched on globally
for BlackOilWellModel, GasLiftSingleWell, GasLiftGroupState, and
GasLiftStage2 by setting glift_debug to a true value in BlackOilWellModelGeneric.
Then, the following debugging code can be added to e.g. one of
GasLiftSingleWell, GasLiftGroupState, or GasLiftStage2 :

    auto count = debugUpdateGlobalCounter_();
    if (count == some_integer) {
        displayDebugMessage_("stop here");
    }

Here, the integer "some_integer" is determined typically by looking at
the debugging output of a previous run. This can be done since the
call to debugUpdateGlobalCounter_() will print out the current value
of the counter and then increment the counter by one. And it will be
easy to recognize these values in the debug ouput. If you find a place
in the output that looks suspect, just take a note of the counter
value in the output around that point and insert the value for
"some_integer", then after recompiling the code with the desired value
for "some_integer", it is now easy to set a breakpoint in GDB at the
line

    displayDebugMessage_("stop here").

shown in the above snippet. This should improve the ability to quickly
to set a breakpoint in GDB around at a given time and point in the simulation.
2022-01-23 20:37:26 +01:00
Tor Harald Sandve
2fdff5c1e4
Merge pull request #3758 from totto82/fixAssertInWECON
Handle case where no completions have ratio above the limit while the well has
2022-01-21 12:31:11 +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
Bård Skaflestad
9fc9f5421c
Merge pull request #3771 from totto82/fixUpdateGR
Update guiderates after with new rates from newly opened wells
2022-01-21 10:33:00 +01:00
Tor Harald Sandve
d1c2032e73 Update guiderates after with new rates from newly opened wells 2022-01-21 09:15:00 +01:00
Atgeirr Flø Rasmussen
357ba55de5
Merge pull request #3773 from GitPaean/return_zero_thp_zero_rate_inj
return zero thp value for extremely small injection rate
2022-01-20 14:49:25 +01:00
Tor Harald Sandve
a57f92527f
Merge pull request #3777 from totto82/support_min_wait_glift
support none trivial item 3 in LIFTOPT.
2022-01-19 14:58:50 +01:00
Atgeirr Flø Rasmussen
9f7d4f2fc2
Merge pull request #3760 from GitPaean/thp_fixing_model_2
fixing the failure that bhp could not be calculated with thp limit
2022-01-19 12:48:39 +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
Markus Blatt
3db9a4e3e5
Merge pull request #3750 from ducbueno/isai-ilu
Adds IncompleteSAI preconditioner to openclSolver
2022-01-18 12:38:39 +01:00
Tor Harald Sandve
bf77bbbc10
Merge pull request #3759 from plgbrts/saltp
Enable salt precipitation/dissolution
2022-01-18 12:02:32 +01:00
Paul Egberts
590920db6b allow for explicit initialization of SALT (salt concentration) and SALTP (precipitated salt) 2022-01-18 11:12:43 +01:00
Kai Bao
913ad21733 return zero thp value for extremely small injection rate
it is a finding from one of the test case.
2022-01-18 10:12:20 +01:00
Eduardo Bueno
1df9d2e51f Adds BISAI preconditioner to openclSolver 2022-01-17 13:57:29 -03:00
Arne Morten Kvarving
a82ad816c7 add fallback return (control reaches end of non-void function) 2022-01-17 13:59:47 +01:00
Paul Egberts
98c8e691c3 Allow for brine and precipitation/dissolution of salt 2022-01-14 11:46:40 +01:00
Paul Egberts
f69aa171fe removed some salt-precipitation related keywords from the unsupported keyword list 2022-01-14 11:46:39 +01:00
Bård Skaflestad
3317f10c4a
Merge pull request #3729 from goncalvesmachadoc/gaswater_brine
allow for gas-water + brine
2022-01-12 12:31:34 +01:00
Markus Blatt
790fa8044e
Merge pull request #3755 from blattms/fix-opencl-apply-stdwells-rebased
Fix opencl apply stdwells rebased (replaces #3746)
2022-01-11 19:18:03 +01:00
goncalvesmachadoc
300f536a19 add exit_failure for water+brine case 2022-01-11 14:23:37 +01:00
Bård Skaflestad
abf92eed52 Accumulate Dissolved Gas and Vaporized Oil Flow Rates Across Ranks
This is needed to get consistent estimates for the summary vectors

  * {F,G,W}OP{R,T}{F,S} -- Free/Vaporized Oil Production
  * {F,G,W}GP{R,T}{F,S} -- Free/Dissolved Gas Production

in the case of distributed wells.

Thanks to [at]blattms for the suggested fix.
2022-01-10 14:14:39 +01:00
Kai Bao
2b9b6e5155 addressing reviewing comments for PR#3760 2022-01-10 11:33:11 +01:00
Kai Bao
dec3100247 fixing a bug in funcion bisectBracket 2022-01-09 00:21:31 +01:00