Commit Graph

150 Commits

Author SHA1 Message Date
Joakim Hove
7695abfe25 Move wellMap() and numWells() accessors 2021-05-21 14:57:38 +02:00
Joakim Hove
6ac9e722fc Move reportConnections 2021-05-21 14:57:38 +02:00
Joakim Hove
5b86ecd3e2 Move WellState::report to WellStateFullyImplicitBlackOil 2021-05-21 14:57:38 +02:00
Joakim Hove
506a349085
Use wellcontainer2 (#3255)
Use WellContainer<> to manage members in WellState
2021-05-20 16:16:12 +02:00
Joakim Hove
203cc2ff73 Update WellState::temperature() 2021-05-19 10:05:11 +02:00
Joakim Hove
6af03f4a6a Update WellState::thp() 2021-05-19 10:05:11 +02:00
Joakim Hove
3ec7feba75 Update WellState::bhp() 2021-05-19 10:05:11 +02:00
Arne Morten Kvarving
80a05ceb33 cosmetics
- do not indent for namespace
- move constructors and destructors to top
- use public/protected/private order
2021-05-13 00:38:08 +02:00
Arne Morten Kvarving
2c1a6ae8cb replace typedef with using statements 2021-05-13 00:38:08 +02:00
Arne Morten Kvarving
a032c5a80e changed: put WellState in separate compile unit 2021-05-13 00:38:08 +02:00
Joakim Hove
b5580f39fa Let the perforation index run over the indices for one well 2021-05-11 22:38:11 +02:00
Joakim Hove
21751d87fc Remove unused getXXXXOffset() methods 2021-05-10 10:07:05 +02:00
Joakim Hove
a68589eb9a WellState will internalize PhaseUsage member 2021-04-27 00:11:04 +02:00
Joakim Hove
c8db0d1090 Assign number of phases in WellState constructor 2021-04-21 13:07:57 +02:00
Tor Harald Sandve
e69b097ac5 fix for distributed wells 2021-04-15 14:00:28 +02:00
Joakim Hove
90a9ed49a2 Add function WellState::updateStatus() 2021-03-29 16:20:10 +02:00
Joakim Hove
f0c738ea34 Reflect Well Object's Status Flag in Well State 2021-03-20 20:33:28 +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
Paul Egberts
646dafe78f introduced computeWellTemperature() to be called at each timestep 2021-03-08 15:11:50 +01:00
Paul Egberts
59b6e21cc3 fixed num_perf_this_well declaration 2021-02-22 21:39:34 +01:00
Paul Egberts
42f426c7fd rebasing thermaloutput 2021-02-22 18:47:13 +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
Tor Harald Sandve
33e3102983 output stopped wells 2020-12-21 13:51:21 +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
Joakim Hove
f5f3d8a98e Introduce WellState::stopWell() 2020-12-10 09:54:37 +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
Joakim Hove
bd3fa0af88 Use enum Well::Status for well status in WellState 2020-12-10 08:11:19 +01:00
Markus Blatt
1d9d04161d Use std::partial_sum to calculate displacements. 2020-12-09 12:30:48 +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
Markus Blatt
44bd18ea78 Used remove_reference_t 2020-12-07 20:41:15 +01:00
Markus Blatt
b6c1a1533c Use vector::empty() instead of size() to test for entries. 2020-12-07 20:41:15 +01:00
Markus Blatt
a9df5065ae Use global number of perforations when initializing well.
The local number of perforations is not correct anymore
for distributed wells.
2020-12-07 16:32:33 +01:00
Markus Blatt
91e951420f [bugfix] Pass references to gatherVectorOnRoot 2020-12-07 15:40:51 +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
Markus Blatt
472623d4a3 Output report for distributed wells only on owner.
For this we need to gather the connection data from
both WellState and WellStateFullyImplicitBlackoil.
2020-12-07 15:40:51 +01:00
Markus Blatt
580ef249b3 Skip wells not owned when communicating goup rates. 2020-12-07 15:40:50 +01:00
Markus Blatt
4edca71a1b Correct pressure and pvt region index for distributed wells.
To get this we need to determine which process has the
very first open well connection and use that to broadcast
pressure and pvt region index.
2020-12-07 15:40:50 +01:00
Bård Skaflestad
c800c5376d Add Special-Purpose Operation to Reset WellState CTFs
This commit adds a new member function

    WellState::resetConnectionTransFactors

which overwrites the transmissibility factor of 'well_perf_data_'
pertaining to a particular well.  This is to keep the values in
sync following a rescaling operation such as WELPI.
2020-12-04 15:16:24 +01:00
Paul Egberts
9ecd153099 fix temperature reporting for injectors 2020-10-14 17:52:04 +02:00
Bård Skaflestad
e39333895c Provide Simulator's Dynamic CTF in data::Connection
This is in preparation of implementing the WELPI feature.
2020-10-05 23:14:24 +02:00
Jostein Alvestad
6a659339f1 various corrections to code and coding style 2020-03-16 10:39:56 +01:00
Jostein Alvestad
0dcacb41d4 intial changes to add current group controls to summary 2020-03-16 10:39:51 +01:00
Joakim Hove
9268bcb2ac InjectorType enum is moved out from Well class 2020-03-03 09:08:02 +01:00
Tor Harald Sandve
77d52e5b53 communicate group rates and add test 2020-01-02 13:57:12 +01:00
Atgeirr Flø Rasmussen
c8e1f61050 Ensure open_for_output_ flag is set to true in init(). 2019-12-13 10:59:24 +01:00
Joakim Hove
ce9108a9d2 Refactor WellState SHUT
- Move some WellState shut code to separate method.
- Add bool flag open_for_output_ to WellState to ensure that shut wells do not
  create output.
2019-12-03 19:37:44 +01:00
Atgeirr Flø Rasmussen
bddeaba880 Delete obsolete include directives and functions.
Also make other minor adjustments, in particular moving the function
getCubeDim() from WellsManagerDetail to WellHelpers.hpp.
2019-11-25 10:58:44 +01:00
Atgeirr Flø Rasmussen
87188f5862 Avoid using the Wells struct. 2019-11-25 08:36:18 +01:00
Atgeirr Flø Rasmussen
8438e84db1 Handle two possible cases where current control is -1. 2019-08-12 14:49:52 +02:00
Atgeirr Flø Rasmussen
5749a7150c Move files out of opm/core/simulator. 2019-06-20 11:00:52 +02:00