Commit Graph

54 Commits

Author SHA1 Message Date
Tor Harald Sandve
adda160098 clean-up 2021-09-07 09:47:41 +02:00
Tor Harald Sandve
9d2f26f7e8 Add support for gpmaint 2021-09-07 08:52:52 +02:00
Tor Harald Sandve
c4c0173d2b
Merge pull request #3486 from totto82/handleTrivialGR
always return fraction 1.0 if only one well is under group control
2021-08-26 10:09:55 +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
Joakim Hove
5a721b8cd2 Remove WellMap from WellState 2021-08-24 13:25:02 +02:00
Joakim Hove
8b652c821b Use SingleWellState for reservoir rates 2021-08-24 12:46:24 +02:00
Joakim Hove
755de65eb4 Use SingleWellState to manage well surface rates 2021-08-24 12:46:24 +02:00
Joakim Hove
8937c9cba9 Refactor sumWellRates to accept bool argument 2021-08-24 12:46:24 +02:00
Joakim Hove
2f504536f4 Add well potentials to SingleWellState 2021-08-23 12:05:26 +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
Joakim Hove
581f571c9d Use SingleWellState for production and injection control 2021-08-15 09:07:39 +02:00
Kai Bao
12fa7a4ac8 putting all the guide rate update function in one single function
to make sure we only do once checking of the expiration of the guide
rates.
2021-06-29 11:41:26 +02:00
Bård Skaflestad
c101ed10f4
Merge pull request #3389 from totto82/scaleGuideRates
scale guiderates from si
2021-06-23 16:53:12 +02:00
Tor Harald Sandve
c3cf59327d scale guiderates from si 2021-06-17 23:56:02 +02:00
Tor Harald Sandve
b2341a84d6 scale well rates after group switching 2021-06-15 09:29:24 +02:00
Joakim Hove
32a6f32660 Use WellContainer to manage perf phase rate 2021-06-05 07:50:56 +02:00
Tor Harald Sandve
06595c6dfc fix reduction rate for injection groups 2021-05-27 13:16:28 +02:00
Joakim Hove
23180e06d2 Rename WellStateFullyImplicitBlackoil -> WellState 2021-05-21 15:07:21 +02:00
Joakim Hove
506a349085
Use wellcontainer2 (#3255)
Use WellContainer<> to manage members in WellState
2021-05-20 16:16:12 +02:00
Bård Skaflestad
f8e2aa74de
Merge pull request #3207 from akva2/targetcalc_comp_unit
TargetCalculator: move to separate compile unit
2021-05-05 18:53:07 +02:00
Arne Morten Kvarving
d4b67e9af0 TargetCalculator: move to separate compile unit
use explicit instantation to avoid some templates being
instanced a lot of places in a lot of objects.
2021-05-04 08:42:02 +02:00
Arne Morten Kvarving
a61c453a2a WellGroupHelpers: make templates private
use explicit template instantation. to avoid rebuilding
this code over and over (minor), and to avoid includes in headers.
2021-05-04 08:21:32 +02:00
Bård Skaflestad
7be6e5bbf1
Merge pull request #3196 from akva2/use_forwarding
Use forwarding where possible in some headers
2021-04-30 16:00:41 +02:00
Arne Morten Kvarving
e0a6e56588 WellGroupHelpers: use forwarding 2021-04-30 13:29:00 +02:00
Arne Morten Kvarving
5dd5f5a8f4 FractionCalculator: remove unused summary_state member 2021-04-30 11:02:50 +02:00
Arne Morten Kvarving
8ff32b594a TargetCalculator: remove unused wellstate member 2021-04-30 11:02:50 +02:00
Joakim Hove
e1d117c59f Extract group state and create WGState to manage well & group state 2021-04-27 10:55:38 +02:00
Tor Harald Sandve
61de5689bd cleanup: add and remove comments 2021-03-18 14:56:45 +01:00
Tor Harald Sandve
58fa3eaf31 replace asserts with OPM_DEFLOG_THROW 2021-03-18 11:58:05 +01:00
Tor Harald Sandve
6bac5da27c adapt to changes in the guiderate interface 2021-03-16 15:56:31 +01:00
Tor Harald Sandve
f4ac7f555b Add support for explicit guiderate for injection groups
With this commit the guiderate logic used for the production groups is also used for injectors
This allows for setting guiderates explicit at different group levels
Only RATE, NETV and VOID guiderate type is suppored.
2021-03-16 15:56:31 +01:00
Markus Blatt
d1f65451f1 Honor top most group efficiency factor in checkGroupConstraints{Inj,Prod} 2021-03-02 11:32:27 +01:00
Markus Blatt
0d2b9629b0 Document efficiencyFactor in checkGroupConstraints{Inj,Prod}
Reading recursion is quite hard and a comment might help others.
2021-03-02 11:31:04 +01:00
Markus Blatt
39546864ab Honor GEFAC of topmost group when summing solvent rates. 2021-03-01 11:16:29 +01:00
Markus Blatt
1d9f13e310 Honor GEFAC for the top most group when calculating well phase rates.
Previously GEFAC was not applied here.
2021-03-01 11:15:57 +01:00
Joakim Hove
b32f3f7546 Manage GConSale and GConSump with ScheduleState object 2021-01-12 18:29:59 +01:00
Joakim Hove
237eb2b7ee Fetch events from ScheduleState 2021-01-11 17:42:30 +01:00
Atgeirr Flø Rasmussen
6e87ec6266
Merge pull request #2955 from blattms/stdwell-comm-rebase-split-pwell-info
Last part of current distributed standard wells.
2020-12-10 08:56:00 +01:00
Markus Blatt
b97385c963 Fix and move changes to commented code to code to WellGroupHlper.hpp 2020-12-09 12:29:56 +01:00
Atgeirr Flø Rasmussen
f6353535c9
Merge pull request #2973 from blattms/include-config.h
[bugfix] Include config.h in WellGroupHelpers.cpp
2020-12-09 07:36:33 +01:00
Markus Blatt
4f93b2b7c6 Include config.h in WellGroupHelpers.cpp
as should be done in all cpp files.
2020-12-08 21:21:02 +01:00
Markus Blatt
fd4db9b933 Only sum rates for owned wells in WellGroupHelpers.
Well rates of distributed wells might be stored on multiple processes
but should be summed only once. Hence only the owner does the
summation with this commit.
2020-12-07 15:40:51 +01:00
Atgeirr Flø Rasmussen
8716dbfcfd Add the option to include gas lift for network calculations. 2020-11-19 14:19:26 +01:00
Atgeirr Flø Rasmussen
7e87ea3200 Refactor to put updateWellStateRates() in base class. 2020-10-15 14:15:05 +02:00
Atgeirr Flø Rasmussen
52c695937b Implement extended network model. 2020-10-15 10:54:03 +02:00
Bård Skaflestad
e1ce1c9124 Centralize Rate Vector Derivation for Guide Rates
This commit creates a single implementation function for deriving
'RateVector' objects that go into the guiderate calculation.  In
particular, we now use the same implementation function for both the
well and the group levels.  While here, also expose the group level
derivation as a free function and reimplement the FractionCalculator
version in terms of this free function.  Finally, remove the
previous attempt at such a free function taking only the group name.
This function no longer exists in isolation and is only accessible
through the FractionCalculator.

This is in preparation of reporting guiderate values to the output
layer (summary and restart files).
2020-09-02 17:22:04 +02:00
Tor Harald Sandve
85e95fb87d Implement min/max for GCONSALE
Only default action RATE is implemented for violation of maximum sales target
2020-05-05 14:24:17 +02:00
Atgeirr Flø Rasmussen
c4e020c179
Merge pull request #2556 from totto82/test_atg
Fix how the group reduction works
2020-04-24 11:13:22 +02:00
Tor Harald Sandve
e9476e116e make sure the current_rate is added at the right level 2020-04-23 20:54:59 +02:00
Tor Harald Sandve
3b479af9c4 Fix the fix on how the group reduction works 2020-04-23 09:45:16 +02:00