Commit Graph

51 Commits

Author SHA1 Message Date
Bård Skaflestad
32fa286f8e GuideRateValue: Insert Copyright Notice
Missed in commit 4f7d41ee1.

Pointy Hat: [at]bska.
2020-07-10 17:52:38 +02:00
Bård Skaflestad
4f7d41ee10 Output: Add Container for Transporting Guiderate Values
This commit introduces a container

    Opm::data::GuideRateValue

that packages a 'std::array' and 'std::bitset' into that array.
This container is intended as the main vehicle for transporting
per-phase guiderate values (Oil, Gas, Water, and Resvoir Voidage
Volume supported initially) calculated by the simulator to the
output layer.  We support the serialization operations read and
write in order to plug into the collective communications layer used
in the simulator.

Add unit tests to exercise the new container.
2020-07-09 16:44:15 +02:00
Joakim Hove
305b2a166a Add data::GroupValues member to RestartValue 2020-07-03 16:40:42 +02:00
Bård Skaflestad
68b4f38464 Make Structure for Per-Group Summary Data from Simulator
This commit adds a level of indirection to the current per-group
summary quantities that is directly assigned by the simulator.  In
particular, introduce a new structure named

    GroupData

that contains a 'GroupConstraints' object and make the per-group
values into 'map<string, GroupData>' rather than the current
'map<string, GroupConstraints>'.  This is in preparation of adding
support for reporting group-level production/injection guiderates
(Gx[IP]GR) to the summary file.

Update tests and APIs accordingly.
2020-07-02 10:57:46 +02:00
Tor Harald Sandve
42e55ec342 Add brine output 2020-06-30 16:19:16 +02:00
Bård Skaflestad
a4a04ebf51 Restart Tag System: Introduce Tag for OPM Extended Vectors
This is intended to supersede the RESTART_AUXILIARY tag.  There is
no practical difference between vectors that are needed for restart
and vectors that are not needed for restart.  They all go into the
SOLUTION section of a restart file.

Vectors tagged as RESTART_OPM_EXTENDED will not be output unless the
user does requests OPM-extended restart files.
2020-06-11 14:31:53 +02:00
Joakim Hove
9956492730 Remove unused function from Group output data 2020-04-28 16:17:43 +02:00
Kai Bao
e09b0a2de4 addressing reviewing comments from OPM/opm-common#1695 2020-04-17 01:06:22 +02:00
Kai Bao
34ca02c253 adding summary keywords for MSW
SPRD, SPRDH, SPRDF, SPRDA
2020-04-17 00:38:21 +02:00
Joakim Hove
02a5501c0b Add method out::Well::find_connection(std::size_t global_index) 2020-03-23 13:43:50 +01:00
Jostein Alvestad
a4d3ec33f1 correction to buffer.write in opm/data/Groups 2020-03-18 14:13:05 +01:00
Jostein Alvestad
a18439bbcc intital changes for adding opm/output/data/Groups 2020-03-16 13:35:25 +01:00
Bård Skaflestad
38f458a672 Add Restart Infrastructure for Well's Active Control
This commit introduces a new protocol for communicating a well's
active constraint (i.e., its current target control mode) between
the running simulator and the restart file.  In particular, we add a
new type

    Opm::data::CurrentControl

whose data members indicate if the well is a producer or injector
and, depending on that state, carries information about the
pertinent active control mode.  The 'prod' member should be defined
for producing wells and the 'inj' member should be defined for
injectors.  Default-constructed objects of this type are 'invalid'
and not output to the restart file.  Add a CurrentControl member to
the Opm::data::Well type to enable communicating this information
using existing restart interfaces.

Expand existing unit tests to exercise the new data member.
2020-02-06 12:01:41 +01:00
Joakim Hove
27da0024af Merge pull request #1288 from joakim-hove/flowing
Determine that wells are flowing from nonzero rates
2019-12-05 10:09:39 +01:00
Bård Skaflestad
25931145e0 Aquifer Restart: Load Values Pertinent to Fetkovich Model
This commit expands the basic aquifer restart support to also
include essential values for the Fetkovich analtic model.  In
particular, we now also load the initial aquifer pressure and the
initial aquifer volume directly from the SAAQ restart vector, but
only if we know that the aquifer in question is of Fetkovich type.
2019-12-04 19:57:14 +01:00
Bård Skaflestad
7b3de57e92 Load Restart: Support Basic Quantities from Analytic Aquifers
This adds a basic protocol for retrieving simple scalar data for
each analytic aquifer, specifically from XAAQ.  At the moment we
only support retrieving the aquifer pressure and the total produced
liquid volume from the aquifer and into the reservoir model.
2019-12-04 17:43:27 +01:00
Joakim Hove
3deef64d19 Use numerical flow rates to determine Well::flowing() 2019-12-04 17:15:30 +01:00
Arne Morten Kvarving
ef9bc3cf3f Merge pull request #1265 from akva2/comparison_operators_output_structures
added: comparison operators for various output structures
2019-11-28 15:19:23 +01:00
Arne Morten Kvarving
6600994104 added: comparison operators for various output structures 2019-11-28 13:30:48 +01:00
Arne Morten Kvarving
a34bc76b46 added: serialize the whole connection struct to OPM_XWEL 2019-11-27 14:13:31 +01:00
Tor Harald Sandve
5d3125c532 Add output of well phase potential 2018-11-07 15:38:23 +01:00
Tor Harald Sandve
2d5d0953ee Add support for output of well productivity index 2018-11-02 15:57:21 +01:00
Bård Skaflestad
47141dfabf data::Wells: Remove a few blank lines
Suggested by: [at]joakim-hove
2018-10-25 09:09:31 +02:00
Jostein Alvestad
fe060c7f48 Changes to contribute to write segment data to summary file 2018-10-25 09:09:31 +02:00
Bård Skaflestad
80154e8f5f Serialization: Add Initial Support for Segment Information
This commit extends Opm::data::Wells to include a set of output
vectors for well segment information.  At present we define output
structures for segment rates and segment pressures.  The immediate
use case is properly assigning restart vector items RSEG[8 .. 11],
but these same values are also usable for outputting the summary
vectors SPR, SOFR, SGFR, and SWFR.  Future expansion is likely.
2018-10-25 09:09:31 +02:00
Bård Skaflestad
48047f8c7a Restart Output (Wells): Store Effective 'Kh' Product
Mostly to forward to SCON array.

While here, also fix 'Missing initializer' warnings in the
'get_completions' unit test.
2018-07-10 17:37:49 +02:00
Joakim Hove
3975db2ff3 Rename CompletionSet -> ConnectionSet 2018-06-11 14:03:32 +02: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
55ed844438 Add cell data in perforation cells to data::well::completion
With this no cell data is needed in opm-output
2018-02-07 14:32:01 +01:00
Tor Harald Sandve
5822c362f5 Communicate well data 2018-02-06 14:47:35 +01:00
Sveinung Rundhovde
ffb85c98bf Add support for GVPR keyword 2017-12-19 10:22:55 +01:00
Andreas Lauser
30ebb323d7 wells: add support for energy 2017-11-29 14:02:41 +01:00
Sveinung Styve Rundhovde (IT SI SIB)
ff3d0cda28 Add vaporized_oil to Rates 2017-11-17 09:36:05 +01:00
Lars Petter Øren Hauge
0695ac5894 Add dissolved_gas to Rates 2017-11-15 12:02:42 +01:00
Arne Morten Kvarving
2a3afbe846 initialize values to avoid maybe-unitialize-use-warnings 2017-06-09 12:11:35 +02:00
Arne Morten Kvarving
bc3eac293f make constructors explicit 2017-06-08 17:15:38 +02:00
Arne Morten Kvarving
8a90f30ed8 add (default) constructor to Rates 2017-06-08 17:14:33 +02:00
babrodtk
1ec5baeb2e Fixed auxillary=>auxiliary 2017-02-15 14:50:17 +01:00
Joakim Hove
d64a040a2c Document enum TargetType. 2016-11-16 16:29:30 +01:00
Jørgen Kvalsvik
99df6acb8d Remove deprecated SimDataContainer pointer 2016-11-10 11:01:27 +01:00
Jørgen Kvalsvik
c167dc4e62 {F,G}MW{IN,PR} support
Add support for the FMWIN, FMWPR, GMWIN and GMWPR keywords.
2016-11-02 12:18:39 +01:00
Jørgen Kvalsvik
f2c895c701 Return zero for non-existing well/completion
To be consistent with the general summary behaviour and more input
tolerant, 0.0 is returned when some phase, completion or well is
requested that isn't provided by the simulator.

Solves the issue discussed in https://github.com/OPM/opm-output/pull/122
and extends the test input deck to trigger this behaviour.
2016-10-31 11:49:56 +01:00
Joakim Hove
08d89858af Extended data::Wells to inherit from std::map. 2016-10-26 19:50:17 +02:00
Jørgen Kvalsvik
30ef5a6099 data::Well::Completion is vector, not map
The data exchanged in data::Well::Completions is now a vector, more
closely matching the disk format and the order exposed by the simulator.
Zero'd wells and complations are still written for shut wells, or wells
the simulator does not provide any information for; however, all
non-closed wells (according to the schedule) will be restored. The
completions are written and restored in the same order as CompletionSet
from parser.
2016-10-24 16:52:26 +02:00
Jørgen Kvalsvik
ac9ed4ec5c OPM_IWEL Restart support 2016-10-21 12:50:17 +02:00
Jørgen Kvalsvik
b43461cb49 Prefer named data members over vectors in OPM_XWEL
Change the structure used to populate OPM_XWEL to use a plain map of
data::Wells objects rather than dumping a series of vectors to
data::Wells. Tests are added for serialising and restoring wells.
2016-10-21 12:50:17 +02:00
Jørgen Kvalsvik
38f9103e43 Widen rates bitmask to 32 bits. 2016-10-21 12:13:20 +02:00
Jørgen Kvalsvik
8ac5dc553f Implement Solution via std::map 2016-10-17 07:06:23 +02:00
Joakim Hove
79e7ce643d Using data::Solution for simulator <-> output.
Will use one common container for both the solution data required for the
restart, e.g. PRESSURE and SWAT and also the auxillary data like KRG and
FIP which is intended as extra information in the restart file, or
alternatively the summary file.
2016-10-17 07:04:06 +02:00
Joakim Hove
c60f21af84 New class for simulator -> output data exchange. 2016-10-17 06:59:00 +02:00