Commit Graph

151 Commits

Author SHA1 Message Date
Bård Skaflestad
1c21ec9d5c Restart *WEL Arrays: Add Facility for Aggregating Vectors
This commit adds a new class that aggregates the *WEL vectors for
restart purposes.  Using the data sources

    - Simulation run's "Schedule" object
    - Simulation run's "UnitSystem" object
    - Current simulation step ("sim_step")
    - WellRates object from simulator at the end of sim_step
    - SummaryState object from Summary class at the end of sim_step

this class will fill in the (presently) known elements of the IWEL
(integers), SWEL (Real/float), XWEL (double precision), and ZWEL
arrays for output to a restart file.  We distinguish contributions
of data sources extracted directly from the simulation deck from
those computed dynamically by the simulator--mostly to separate
concerns and to enable independent testing.  If this introduces too
much computational overhead in actual simulation runs we can fuse
the member functions

    AggregateWellData::captureDeclaredWellData()
    AggregateWellData::captureDynamicWellData()

to reduce the number of loops over active wells.

The overall structure of this facility is that we have a single
templated function, wellLoop(), that calls user-defined "operations"
on each active well.  Each of these operations in turn define a
subset of one of the {I,S,X,Z}WEL arrays pertaining to the
particular well.  We furthermore put implementation functions into
namespaces according to the pertinent arrays.

Many thanks to my Equinor collaborators.
2018-07-12 10:44:27 +02:00
Joakim Hove
4144d761dd Merge pull request #431 from lars-petter-hauge/support_polymer_keys
Support polymer keys
2018-07-02 09:39:35 +02:00
Atgeirr Flø Rasmussen
986abc1bdc Silence various warnings (shadowing, unused args or funcs). 2018-06-29 10:56:13 +02:00
Lars Petter Øren Hauge
5c68a0aaa8 Support CCI(R/T) 2018-06-29 09:45:14 +02:00
Lars Petter Øren Hauge
7a91bebd61 Support FCI(R/T) 2018-06-29 09:45:14 +02:00
Lars Petter Øren Hauge
102bd6b728 Support GCI(R/T) 2018-06-29 09:45:14 +02:00
Lars Petter Øren Hauge
fc3bc714fc Support WCI(R/T) 2018-06-29 09:45:14 +02:00
Bård Skaflestad
c3a11a2fb5 Summary: Calculate Independent Set of Vectors for Restart
This commit ensures that the following set of vectors are stored/updated in

    Summary::add_timestep()

for all active wells and well groups (including FIELD):

    - Production rates for Oil, Water, Gas, and Reservoir Volume
      (i.e., (O|W|G|V)PR).

    - Cumulative production totals for Oil, Water, Gas, and
      Reservoir Volume (i.e., (O|W|G|V)PT).

    - Injection rates for Water and Gas (i.e., (W|G)IR).

    - Cumulative injection totals for Water and Gas ((W|G)IT).

    - Producing Water Cut (WCT).

    - Producing Gas/Oil ratio (GOR).

We additionally capture the well bottom-hole pressure (WBHP) for all
wells that are active at the pertinent simulation step (sim_step).

Add an accessor function

    const SummaryState& Summary::get_restart_vectors() const

that returns the 'prev_state' which contains these summary vectors
and add a set of unit tests to exercise the new interface.
2018-06-25 14:04:11 +02:00
Joakim Hove
3975db2ff3 Rename CompletionSet -> ConnectionSet 2018-06-11 14:03:32 +02:00
Joakim Hove
6168a35512 Add SummaryState class to hold on to summary state. 2018-05-23 06:49:23 +02:00
Lars Petter Øren Hauge
429c4e475c Remove deprecated comment
The handling of `time step - 1` was changed in
62b9548167
2018-05-14 09:26:22 +02:00
Tor Harald Sandve
d0979638bc fix fnpt rates 2018-05-08 11:25:47 +02:00
Joakim Hove
8058bab5ea Merge pull request #350 from joakim-hove/restart-embed-step
Embed restart_step in restarted summary writer.
2018-03-26 15:28:58 +02:00
Lars Petter Øren Hauge
8040f32db9 Add eff_fac for historic volumes 2018-03-22 16:04:28 +01:00
Joakim Hove
1e5b532e78 Using sim_step when evaluating flowing wells. 2018-03-14 09:50:14 +01:00
Lars Petter Øren Hauge
bbf2ae26f1 Match timestep for well info
Decrement timestep where necessary to avoid well post-configuration.

Consider the following:

.
.
.

WELLSPECS
 'W1'  'G1' ... /

TSTEP
 2*1 /

WELLSPECS
 'W1'  'G2' .../

TSTEP
 2*1 /

In that case the parent group of W1 is changed after two timesteps. At timestep
two the Group parent will indicate G2, while the GOPT:G2 at timestep two should
be reported for what has progressed up until timestep two.
2018-03-13 08:16:07 +01:00
Joakim Hove
f706d6e7c1 Embed restart_step in restarted summary writer. 2018-03-12 17:13:17 +01:00
Lars Petter Øren Hauge
fdb06aa77f Apply efficiency factors
Efficiency factors are multiplied when specified at multiple levels of
the well/group hierarchy.

The factors are included as follows:

* Well Rate        - No efficiency factor
* Well Total       - WEFAC & GEFAC (whole hierarchy)
* Group Rate       - WEFAC & GEFAC (only subgroups)
* Group Total      - WEFAC & GEFAC (whole hierarchy)
* Field Rate       - WEFAC & GEFAC (whole hierarchy)
* Field Total      - WEFAC & GEFAC (whole hierarchy)
* Region Rate      - WEFAC & GEFAC (whole hierarchy)
* Region Total     - WEFAC & GEFAC (whole hierarchy)
* Completion Rate  - No efficiency factor
* Completion Total - WEFAC & GEFAC (whole hierarchy)

Authored by Sveinung Rundhovde and Lars Petter Hauge
2018-02-20 10:26:54 +01:00
Sveinung Rundhovde
22ebda2ea7 Add wells to arguments for region keywords
Applying efficiency factor to region keywords requires a list of wells
having completions inside the region.

Authored by Sveinung Rundhovde and Lars Petter Hauge
2018-02-20 10:03:59 +01:00
Atgeirr Flø Rasmussen
05c904a04e Merge pull request #250 from totto82/MoveWell
Some more cleaning in the output code  in opm-output, ewoms and opm-simulator
2018-02-19 15:05:24 +01:00
Kai Bao
43cb8e5739 adding a few summary keywords
WWVIR, WGVPR and WGVIR
2018-02-13 19:39:30 +01:00
Tor Harald Sandve
206241c9ae Store global index instead of active index in well completions
Fix bug in output of completion related stuff when run on mulitiple
cores.
2018-02-08 14:11:04 +01:00
Tor Harald Sandve
3f85198032 Fix merge conflict 2018-02-06 14:47:35 +01:00
Tor Harald Sandve
cbf61996d7 Remove unused stuff 2018-02-06 14:47:35 +01:00
Tor Harald Sandve
dec7e0068d fix typo 2018-02-05 14:44:11 +01:00
Tor Harald Sandve
06b7afc9be Remove data::Solution cells from Summary 2018-02-05 14:23:19 +01:00
Tor Harald Sandve
890b2226b2 Get Block values from simulator
Avoids communication of the whole state
2018-02-05 14:23:19 +01:00
Tor Harald Sandve
ba29cfa81e Remove unused stuff 2018-02-05 14:23:19 +01:00
Tor Harald Sandve
45267477b4 Get Region and Field values from simulator
Avoid cell based computations in opm-output as it could slow down the
MPI run.
2018-02-05 14:19:50 +01:00
Joakim Hove
cb5a3bdcea Revert "Revert "Res vol keywords (WVPR + WVPT & WVPRT+FVPRT)"" 2018-02-02 12:11:23 +01:00
Joakim Hove
2f332ed702 Revert "Revert "Add support for keywords (WVIT+GVIR+GVIT) "" 2018-02-02 10:41:35 +01:00
Joakim Hove
a88561b010 Revert "Add support for keywords (WVIT+GVIR+GVIT) " 2018-02-02 09:00:04 +01:00
Joakim Hove
6094552b55 Revert "Res vol keywords (WVPR + WVPT & WVPRT+FVPRT)" 2018-02-02 08:59:15 +01:00
Joakim Hove
d39ad3a865 Merge pull request #238 from lars-petter-hauge/res_vol_keywords
Res vol keywords (WVPR + WVPT & WVPRT+FVPRT)
2018-01-31 23:58:23 +01:00
Sveinung Rundhovde
2d01813f01 Add support for GVIT keyword 2018-01-29 08:46:02 +01:00
Sveinung Rundhovde
db963b7286 Add support for GVIR keyword 2018-01-29 08:46:02 +01:00
Sveinung Rundhovde
c623452823 Add support for WVIT keyword 2018-01-29 08:46:02 +01:00
Lars Petter Øren Hauge
9a404c2e93 Support WVPRT+FVPRT 2018-01-26 08:03:19 +01:00
Lars Petter Øren Hauge
2343c5ada9 Support WVPR + WVPT 2018-01-26 08:02:44 +01:00
Lars Petter Øren Hauge
a8d6259514 Support FOPR(S/F) FOPT(S/F) 2018-01-23 14:36:56 +01:00
Lars Petter Øren Hauge
f8cb32c7d2 Support WOPRS+WOPRF 2018-01-23 08:16:15 +01:00
Lars Petter Øren Hauge
37709e9e04 Add support for FPRP 2018-01-17 08:54:38 +01:00
Sveinung Rundhovde
5993cb7764 Add support for FGIPG keyword 2018-01-04 14:52:07 +01:00
Sveinung Rundhovde
dcfb0a4e47 Add support for FOIPL keyword 2018-01-04 14:52:06 +01:00
Sveinung Rundhovde
d0bf9753d9 Add support for FWIP keyword 2018-01-04 14:52:06 +01:00
Lars Petter Øren Hauge
130ec2f0a8 Add support for FGPT(F/S) 2018-01-03 14:46:58 +01:00
Lars Petter Øren Hauge
afbe8081f6 Add support for FGPR(F/S) 2018-01-03 14:46:46 +01:00
Lars Petter Øren Hauge
257e5fd983 Add FV(I/P)(R/T) keywords 2018-01-03 13:56:15 +01:00
Sveinung Rundhovde
69c08ff677 Add support for GVPRT keyword 2017-12-20 16:32:19 +01:00
Sveinung Rundhovde
42befdfa4c Add suport for GVPT keyword 2017-12-19 10:23:02 +01:00