Joakim Hove
4b69d12335
Use PerfData for perforation rates
2021-06-10 07:18:46 +02:00
Joakim Hove
b6318ac017
Add WellContainer<PerfData> to WellState
2021-06-10 07:18:46 +02:00
Joakim Hove
023edc67e5
Remove first perf member from Well classes
2021-06-08 14:24:26 +02:00
Joakim Hove
32a6f32660
Use WellContainer to manage perf phase rate
2021-06-05 07:50:56 +02:00
Joakim Hove
6a21371b59
Use WellContainer to manage perf phase rates
2021-06-04 18:23:20 +02:00
Joakim Hove
76292552ec
Use WellContainer for perf rate of polymer/solvent/brine
2021-06-04 18:23:20 +02:00
Joakim Hove
104036d4b8
Use WellContainer for perf water velocity
2021-06-04 18:23:20 +02:00
Joakim Hove
a2009b1189
Use WellContainer for perforation throughput
2021-06-04 18:23:20 +02:00
Joakim Hove
b0fd14a597
Use WellContainer<> for perforation skin pressure
2021-06-04 18:23:20 +02:00
Joakim Hove
1a6737aff3
Use well index for perforation rates
2021-06-03 13:29:45 +02:00
Joakim Hove
739f6ad28a
Use well index for solvent perf rates
2021-06-03 13:21:23 +02:00
Joakim Hove
a2195f367d
Use well index for brine perf rates
2021-06-03 13:21:23 +02:00
Joakim Hove
fa829cce7a
Use well index for polymer perforation rates
2021-06-03 13:21:23 +02:00
Joakim Hove
f62b0a5d1e
Use well index for well water perf velocity
2021-06-03 13:21:23 +02:00
Joakim Hove
8f9a3f0140
Use Well index for perf skin pressure
2021-06-03 13:21:23 +02:00
Joakim Hove
89ae75b46c
Use well index to access WellState::perfThroughput()
2021-06-03 13:21:23 +02:00
Joakim Hove
59f36eacc0
Remove WellState::top_segment_index
2021-06-03 10:46:26 +02:00
Joakim Hove
5d8a4c5751
Remove WellState member nseg_
2021-06-03 10:46:26 +02:00
Joakim Hove
19ba223c2a
Use SegmentState for segment_number()
2021-06-03 10:46:26 +02:00
Joakim Hove
ac12c8b3a4
Use SegmentState for rates
2021-06-03 10:46:26 +02:00
Joakim Hove
eac69061c2
Use SegmentState when copying pressure
2021-06-03 10:46:04 +02:00
Joakim Hove
eb937e8ba2
Use SegmentState as backing store for segment pressure
2021-06-03 10:46:04 +02:00
Joakim Hove
7d89c6e09c
Add std::string overload for WellState::segments()
2021-06-03 10:46:04 +02:00
Joakim Hove
3fd6d7781b
Remove WellState::segPressDrop()
2021-06-03 10:46:04 +02:00
Joakim Hove
6a859c0664
Segmentstate for accelarition pressure drop
2021-06-03 10:46:04 +02:00
Joakim Hove
33f18279d7
Use segmentstate for hydrostatic pressure drop
2021-06-03 10:46:04 +02:00
Joakim Hove
9801469488
Use segmentstate for friction pressure
2021-06-03 10:46:04 +02:00
Joakim Hove
45e7c8c982
Add WellContainer<SegmentState> member
2021-06-03 10:46:04 +02:00
Joakim Hove
c5a7b49c3d
Use perfrates.size() instead of storing num_perf explicitly
2021-06-02 10:21:02 +02:00
Joakim Hove
2d67d085ef
Remove segment pressure drop as separate variable
2021-05-31 09:10:33 +02:00
Joakim Hove
db49c8aeef
Merge pull request #3309 from joakim-hove/wellrates-at
...
Make sure all wells are added to the well_rates map
2021-05-29 07:53:45 +02:00
Joakim Hove
a1b45b06e4
Use well index for segment acceleration pressure loss
2021-05-28 07:32:30 +02:00
Joakim Hove
960de96d75
Use well index for segment hydrostatic pressure drop
2021-05-28 07:32:30 +02:00
Joakim Hove
ee1a1c6afc
Use well index for segment friction pressure drop
2021-05-28 07:32:29 +02:00
Joakim Hove
92e31b4ee3
Use well index for segment pressure drop
2021-05-28 07:32:29 +02:00
Joakim Hove
dac62bbab3
WellState::well_rates is only updated by well owner
2021-05-27 15:03:24 +02:00
Joakim Hove
509fe67ff5
Make sure all wells are added to the well_rates map
2021-05-27 15:03:24 +02:00
Joakim Hove
5ac53f8106
Use well index for segment rates
2021-05-27 10:45:33 +02:00
Joakim Hove
34ef516472
Use well index for segment pressure
2021-05-27 10:45:33 +02:00
Joakim Hove
9b2de5bbf9
Merge pull request #3293 from joakim-hove/wellcontainer-bhp
...
Use WellContainer<double> for bhp/thp/temperature
2021-05-26 07:26:41 +02:00
Joakim Hove
c400b6eeef
Merge pull request #3290 from joakim-hove/wellcontainer-rsrv
...
Use WellContainer<double> for RS / RV
2021-05-26 07:22:51 +02:00
Joakim Hove
987fcc3b61
Use WellContainer<double> for bhp/thp/temperature
2021-05-25 11:25:07 +02:00
Joakim Hove
b948162962
Assemble all non-wellcontainer WellState members
2021-05-25 07:47:31 +02:00
Joakim Hove
b34c161805
Use WellContainer<double> for RS / RV
2021-05-24 10:01:00 +02:00
Joakim Hove
23180e06d2
Rename WellStateFullyImplicitBlackoil -> WellState
2021-05-21 15:07:21 +02:00
Joakim Hove
fc3c044a4e
Remove WellState as base class
2021-05-21 14:57:38 +02:00
Joakim Hove
3dcb0742d0
Moved init and initSingleWell and removed WellState.cpp
2021-05-21 14:57:38 +02:00
Joakim Hove
e26e3950b6
Move rates and perf pressure
2021-05-21 14:57:38 +02:00
Joakim Hove
7b5c085bb5
Move bhp / thp / temperatur api
2021-05-21 14:57:38 +02:00
Joakim Hove
4418fcc477
Move phase access
2021-05-21 14:57:38 +02:00
Joakim Hove
7cb7b0eb82
Moved well status routines
2021-05-21 14:57:38 +02:00
Joakim Hove
0f8dec5224
Move parallelWellInfo()
2021-05-21 14:57:38 +02:00
Joakim Hove
40e8632f24
Move resetConnectionFactors()
2021-05-21 14:57:38 +02:00
Joakim Hove
a891a44756
Move wellIsOwned()
2021-05-21 14:57:38 +02:00
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