Tor Harald Sandve
8882b8027a
Merge pull request #3115 from totto82/onlyComputeGuideRateOnce
...
only compute guiderates at the beginning of a timestep
2021-03-23 08:43:47 +01:00
Joakim Hove
e2d75b608b
Rename well filter -> not_on_process_()
2021-03-20 20:33:28 +01:00
Joakim Hove
634f0d61d8
Deferred logger will throw "correct" exception
2021-03-19 14:05:55 +01:00
Tor Harald Sandve
78d351676f
only update guide rates at the beginning of a timestep
2021-03-19 11:09:14 +01:00
Bård Skaflestad
b982ad0fd2
Record Dynamic Well Status in 'wellData()' Output
...
This commit sets the 'data::Well::dynamicStatus' based on the
dynamically updated 'Schedule' object (i.e., from ACTIONX and
similar) and the results of well/operability testing (WECON and/or
WTEST). If a well is closed due to economic limits (WECON) we still
provide summary-style data at the timestep that closed the well, but
omit this data at later steps until the well reopens.
We add a new parameter to WellState::report() to distinguish these
situations.
This is in preparation of making the 'BlackoilWellModel' manage both
open and shut wells alike.
2021-03-18 17:28:28 +01:00
Bård Skaflestad
65edfb702c
Preparations for Recording Dynamic Well State
...
Coalesce blocks with same conditions, split long lines, and apply
'const' where appropriate. While here, also tighten the "rate = 0"
criterion to include denormalised numbers.
2021-03-18 17:28:28 +01:00
Joakim Hove
cd7c4d9927
Merge pull request #3112 from totto82/refact_ginj
...
Add support for explicit guiderate for injection groups
2021-03-18 17:03:53 +01: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
Tor Harald Sandve
c29b61ff99
Merge pull request #3074 from plgbrts/thermaloutput
...
Temperature output for producers
2021-03-15 13:54:18 +01:00
Joakim Hove
8adea8c68a
Merge pull request #3102 from totto82/validControls2
...
make sure wells has valid controls
2021-03-15 09:43:22 +01:00
Tor Harald Sandve
858856adec
update solution for WAG injectors
2021-03-09 13:37:03 +01:00
Paul Egberts
646dafe78f
introduced computeWellTemperature() to be called at each timestep
2021-03-08 15:11:50 +01:00
Tor Harald Sandve
f861188d60
make sure wells has valid controls
2021-03-08 08:44:55 +01:00
Joakim Hove
9ad5d69744
Utilize private restartconfig
2021-03-07 09:31:10 +01:00
Bård Skaflestad
d78f5dc259
Merge pull request #3083 from totto82/fixMPIThrow
...
Fix MPI issues in the well model
2021-03-02 12:04:39 +01:00
Tor Harald Sandve
09ff71ae31
only log changes of group controls on rank 0
2021-02-26 14:16:38 +01:00
Tor Harald Sandve
1627e421d7
communicate group data before well testing
2021-02-25 11:08:55 +01:00
Paul Egberts
3ff3d549ed
temperature output as weighted sum of well block temperatures based on specific heat capacity of the phases
2021-02-22 18:41:25 +01:00
Joakim Hove
ff51c2d7ee
Handle WELLPI keyword in ACTIONX
...
When an ACTIONX has evaluated to True we inspect the keyword payload and if it
contains WELPI we query the well model for current wellpi values and pass that
along as context to the Schedule::applyAction()
2021-02-18 16:53:50 +01:00
Joakim Hove
99a61e120b
Implement BlackoilWellModel::hasWell() method
2021-02-13 10:37:45 +01:00
Joakim Hove
0299af26ed
Extract method wellPI() from existing lambda implementation
2021-02-12 11:49:04 +01:00
Joakim Hove
89eb6e5659
Extract functionality to update ecl wells to separate function
2021-02-10 15:17:36 +01:00
Joakim Hove
d9f29945aa
Pass unscaled newWellPI to Schedule::applyWellProdIndexScaling()
2021-02-05 12:53:00 +01:00
Arne Morten Kvarving
9b74b5dfac
changed: this is known on compile time
...
use info to disable code
2021-01-28 14:33:56 +01:00
Arne Morten Kvarving
77692c1f99
quell unused parameter warning
2021-01-28 12:52:19 +01:00
Kai Bao
d8f8b9f0cc
Merge pull request #3028 from totto82/quarryPerfLengthAndRadius
...
get connection length and radius from the connection object
2021-01-28 11:21:21 +01:00
Tor Harald Sandve
9277b2edee
get connection length and radius from the connection object
2021-01-25 14:08:59 +01:00
Tor Harald Sandve
36ba423d42
Add guard around solve well equation.
2021-01-20 08:46:58 +01:00
Tor Harald Sandve
62e485cbea
adapt to changes in the schedule class
2021-01-18 15:12:17 +01:00
Tor Harald Sandve
b6fe8cbd77
only update individual wells after solve eq
2021-01-18 15:12:17 +01:00
Tor Harald Sandve
27bea2fa4f
Solve well equation for the first iteration
2021-01-18 15:12:17 +01:00
Tor Harald Sandve
fbcd230eb2
substitute solveWellEq with one inner solve for newly opened wells
2021-01-18 15:12:17 +01:00
Atgeirr Flø Rasmussen
3a0dbdc6e7
Merge pull request #2993 from blattms/stdwell-comm-rebase-split-cont-clean
...
Final fixes to make distributed wells work for Norne.
2021-01-15 15:42:45 +01:00
Joakim Hove
17fcdfc87a
Use ScheduleState to handle VFP propertes + simplifications
2021-01-14 19:22:34 +01:00
Joakim Hove
5b129a3304
Use ScheduleState to manage network properties
2021-01-13 00:58:03 +01:00
Joakim Hove
b32f3f7546
Manage GConSale and GConSump with ScheduleState object
2021-01-12 18:29:59 +01:00
Joakim Hove
c1a1bf8683
Use ScheduleState to manage well test configuration
2021-01-12 14:08:41 +01:00
Joakim Hove
237eb2b7ee
Fetch events from ScheduleState
2021-01-11 17:42:30 +01:00
Joakim Hove
c1e10d81ba
Use ScheduleState to access nupcol
2021-01-06 15:10:05 +01:00
Markus Blatt
69fd6495c0
Added factory to construct the global representation of perf data.
...
Some of our computations are heavily serial and need a complete
representation of the data attached to all perforation no matter
whether a perforation lives on the local partition or not. This commit
adds a factory that allows to easily create such a representaion and
helps writing data back to the local representation.
2020-12-18 14:48:19 +01:00
Markus Blatt
53b51eeba7
Use int as global index type in IndexSet
...
That is what seems to be used by ECL schedule, too.
2020-12-18 14:48:19 +01:00
Markus Blatt
354ae1f319
Merge pull request #2976 from blattms/stdwell-comm-works-on-spe9
...
Make distributed standard well work on SPE9.
2020-12-11 13:43:03 +01:00
Markus Blatt
02bab0957d
Merge pull request #2982 from totto82/fixPot
...
move the try-catch inside the compute potential loop
2020-12-11 11:24:21 +01:00
Tor Harald Sandve
2deee380f9
move the try-catch inside the compute potential loop
2020-12-11 08:26:52 +01:00
Atgeirr Flø Rasmussen
2673af7db5
Merge pull request #2978 from joakim-hove/use-well-status
...
Use enum Well::Status for well status in WellState
2020-12-10 12:43:40 +01:00
Markus Blatt
35218bf042
Added possibility to communicate values from perforations below.
2020-12-10 11:06:28 +01:00
Joakim Hove
f5f3d8a98e
Introduce WellState::stopWell()
2020-12-10 09:54:37 +01:00