Commit Graph

494 Commits

Author SHA1 Message Date
Bård Skaflestad
7dd3c344cd Emit Region Level Average Pressure Weighted by HC Volume
The simulator already calculates the requisite values, but due to
the requisite summary keyword RPRH not being listed among the known
region level vectors the output layer did not write the values to
the summary file.  This commit adds the requisite table entry.
2023-09-21 11:53:13 +02:00
Bård Skaflestad
9a3e8dba23 Normalise Region Level Summary Keywords for Lookup Purposes
Region level summary keywords may have suffixes which refer to user
defined region sets ('FIP*' keyword).  This commit prunes those
suffixes when performing function lookup, so that we do not get
false negatives.

To this end, introduce a new helper function

  EclIO::SummaryNode::normalise_region_keyword()

and use this both when determining the summary keyword type (rate,
cumulative, pressure &c) and when looking up evaluation functions
for region level summary vectors.  The new helper could arguably
have been integrated into the existing 'normalise_keyword()' helper
function, but that would have necessitated a different change
elsewhere in the code base.  For now, we keep this helper as a
separate function.
2023-09-13 18:00:01 +02:00
Vegard Kippe
42434dd038 Adding support for the summary vectors BFLOWI|J|K 2023-09-13 09:15:03 +02:00
Kai Bao
63a2c77063 optimizing filtration summary keyword output evaluation 2023-08-29 22:29:41 +02:00
Kai Bao
48b759178c fixing the parallel running and testing related to filtrate 2023-08-29 09:08:45 +02:00
Kai Bao
2d35b1e20c adding support for the filtrate summary keywords 2023-08-29 09:08:45 +02:00
Bård Skaflestad
dbaf600fcf Emit WBPn Summary Vectors to Summary Result File
This commit hooks the WBPn result vectors up to the summary file
writing process.
2023-07-11 13:15:43 +02:00
Bård Skaflestad
7f80ae8e2a Add Summary Output of Segment Level Fluid Densities
In particular, recognize the summary vectors

  - SDENx -- Phase density of phase 'x' (segment conditions)
  - SDENM -- Fluid mixture density without flowing fraction exponents
  - SMDEN -- Fluid mixture density with flowing fraction exponents
2023-07-07 16:26:58 +02:00
Bård Skaflestad
6dae660cc9 Add Summary Output for Block Level Phase Densities
In particular, recognize block level summary vectors

    BxDEN, BDENx

for the phase densities of phase 'x' (O, G, W).
2023-07-07 16:26:58 +02:00
Bård Skaflestad
e7226d4ca8 Add Transport Protocol for Segment Level Phase Densities
This commit adds the requisite backing storage and parser support
for capturing and transporting simulator-level calculation of phase
and mixture density value for purpose of summary file output.  To
this end, make 'SegmentQuantity' into a template on a set of defined
items and make SegmentPhaseQuantity into a specialisation of this
template.  Add a new specialisation, SegmentPhaseDensity, which
holds phase densities (oil, gas, water), and fluid mixture densities
with and without flowing fraction exponents.

These will be used to transport the values needed to output segment
level summary vectors

    SDENx -- Phase density of phase 'x' (O, G, W)
    SDENM -- Fluid mixture density without flowing fraction exponents
    SMDEN -- Fluid mixture density with flowing fraction exponents
2023-07-05 11:31:10 +02:00
Bård Skaflestad
5f3e6f9084 Group Block Level Summary Vectors by Phase
Mostly to aid future maintenance.  While here, also re-indent the
other unit tables and add a type alias (UnitTable) to avoid spelling
out the 'unordered_map<>' type repeatedly.
2023-07-05 10:57:53 +02:00
Bård Skaflestad
5b6f064804 Add More Segment Level Summary Vectors
In particular, add support for

   SxFT  - Cumulative flow of phase 'x'
   SxFV  - Free flow velocity of phase 'x'
   SxHF  - Free flow holdup fraction of phase 'x'
   SxVIS - Phase viscosity of phase 'x'

The last three of these were added to the RFT file in 802a401a8,
but are also useful in the summary output file.  In the interest of
avoiding duplicate logic, refactor the existing segment-related
quantity calculation/extraction in terms of callbacks.
2023-06-30 16:42:53 +02:00
Bård Skaflestad
53f946e776 Don't Generate History Rates for Shut/Stopped Wells
The *_history() helper functions assumed that all wells would be
flowing.  This is an incorrect assumption and would lead to, e.g.,
field-level observed rates being non-zero even if all wells were
stopped/shut.

This commit adds a check for non-flowing wells, and omits flow rate
contributions in that case.
2023-06-21 13:54:47 +02:00
Bård Skaflestad
e6590f2169 Fix A Couple of Compiler and Static Code Analysis Warnings
In particular

  * Tag a single argument constructor as 'explicit',
  * Remove an unused private function
  * Fix mismatched tags (struct vs. class) in forward declaration
  * Return 'false' in an impossible updateHyst() case

While here, also use a real UnitSystem object instead of creating
a METRIC system just to infer unit strings.
2023-06-14 13:31:41 +02:00
Bård Skaflestad
89bc182876 Prepare for Revised Implementation of WBPn
This initial commit changes the Summary class's API for consuming
block-averaged well level pressure values (summary keywords WBPn).
The former approach was intended to consume a collection of source
values--pressures, densities, and pore-volumes--and then to defer
calculation of the WBPn summary vectors to the Summary class.

This commit introduces a 'WellBlockAvgPress' container class which
holds precomputed WBPn results and the intention is to move the
calculation to the simulator side for greater parallelism.
2023-06-09 13:29:10 +02:00
Tor Harald Sandve
0221ac9932 add missing FPRP and RPRP 2023-06-08 10:23:53 +02:00
Kai Bao
b16f2ed8be update summary quantities even there is no wells associated with it
then it should get a zero. otherwise, the old values will be used.
2023-05-25 09:10:02 +02:00
goncalvesmachadoc
21e4e9d2f1 add_wwgr 2023-04-27 12:03:25 +02:00
Bård Skaflestad
32b104f828 Merge pull request #3449 from totto82/output_moles
add moles unit to unitsystem
2023-03-16 12:33:16 +01:00
Tor Harald Sandve
932ed862d5 add moles unit to unitsystem 2023-03-16 09:18:39 +01:00
Kai Bao
ded3edd3bf WMCTL is zero for wells with status STOP 2023-03-10 15:12:14 +01:00
Tor Harald Sandve
89850adb09 Add WCD, GCDI, GCDM, WIPG, WIPL summary for F and R 2023-02-23 09:17:39 +01:00
Bård Skaflestad
93b340cede Store Per-Segment Summary Vectors Separately
Enables easier access for UDQ/ACTIONX purposes.

While here, also move the serializationTestObject() member
function's implementation to the .cpp file.
2023-02-10 15:26:27 +01:00
Arne Morten Kvarving
abce488f3b Summary.hpp: forward PAvgCalculatorCollection 2023-01-19 13:19:27 +01:00
Arne Morten Kvarving
574407746d Well.hpp: forward WellSegments 2023-01-12 14:37:46 +01:00
Arne Morten Kvarving
cc68336d22 Well.hpp: forward WellConnections 2023-01-12 12:24:38 +01:00
Arne Morten Kvarving
5e74b915b5 ScheduleState.hpp: forward Action::Actions 2023-01-11 13:51:28 +01:00
Arne Morten Kvarving
dd48e54b02 Schedule: forward GasLiftOpt 2023-01-10 09:52:50 +01:00
Arne Morten Kvarving
118886cb65 replace Runspec.hpp with Phase.hpp where appropriate 2023-01-05 13:10:57 +01:00
Arne Morten Kvarving
4201a24de2 remove unnecessary <sstream> includes 2023-01-04 09:21:32 +01:00
Bård Skaflestad
dbd2acee71 Recognize Additional Per-Segment Summary Vector Keywords
In particular, add parser and summary output support for the free
vs. solution flow rates of gas and oil as well as the dissolved
gas/oil ratio, the vaporised oil/gas ratio, and the water/gas ratio.
2022-11-25 13:02:27 +01:00
Bård Skaflestad
51ecf87682 fixed: avoid use of uninitialized SummaryNode::number_
SummaryNode::number_ does not have a value for all
summary keywords.
2022-09-30 16:52:34 +02:00
Bård Skaflestad
03a94a7288 Add New Summary Node Category of Completion
This enables detecting the last remaining case that has a valid NUMS
entry despite nominally being a well-level keyword.
2022-09-27 18:16:47 +02:00
Arne Morten Kvarving
5df933460b changed: remove (basically) empty Well(Injection|Production)Properties.hpp 2022-08-11 11:47:54 +02:00
Bård Skaflestad
0a287ca914 Add Well and Group Level Efficiency Factor Summary Vectors
This commit adds support for the GEFF, WEFF, and WEFFG summary
vectors that report the efficiency factors at the well (WEFAC) and
group (GEFAC) levels.  WEFFG additionally accounts for efficiency
factors in a well's superior groups in the group tree.
2022-06-22 11:52:58 +02:00
Cintia Goncalves Machado
43dafbc995 Output FOE
Keyword is implemented, but missing in Summary.cpp. Small fix also to be pushed in opm-simulators.
2022-06-13 15:20:33 +02:00
Torbjørn Skille
d34910c27d Minimum time interval between update of ESMRY file
The ESMRY file need a complete rewrite every time this is being updated.
This will makes the file more available for reading by other processes.
2022-06-02 14:10:14 +02:00
Bård Skaflestad
c5b9c8ea18 Add Support for Block-Level Component-in-Place Summary Values
This commit outputs the various BxIP* summary output values such as
BOIP (block-level oil-in-place) and BGIPL (block-level gas-in-place
in liquid phase).  While here, also add support for outputting the
block-level dissolved gas-oil-ratio (BRS) and vaporised
oil-gas-ratio (BRV).
2022-05-23 14:51:30 +02:00
Markus Blatt
68438e3f79 Improve error message for unsupported categories for UDQ/ACTIONX
We now print
"Keyword category 'Region' (e.g., summary keywords RPR) not supported
by ACTIONX."
instead of
"make_default_nodes does not yet support: RPR"
2022-05-05 15:43:44 +02:00
goncalvesmachadoc
1d3cb8b2bb addBXPVs 2022-04-29 20:26:31 +02:00
Bård Skaflestad
3e1031b1d5 Support Block Level Solvent Saturation Summary Output
This commit recognises the summary vector "BNSAT" as a supported
keyword.  This, in turn, enables retrieving the simulator's solvent
saturation values at the block level as a time series.
2022-04-05 15:45:30 +02:00
Bård Skaflestad
20de64e739 Recognize Block Level Water and Gas Pressure Summary Vectors
This commit adds support for the BWPR and BGPR summary vectors that
output block-level phase pressures for water (BWPR) and gas (BGPR)
to the summary file.
2022-02-28 23:03:26 +01:00
Bård Skaflestad
369b6ee637 Add Summary Evaluation Functions For Inter-Region Flows
This commit adds the glue code necessary to extract the pertinent
flow rate values from an inter-region flow rate map and then
accumulating those into the SummaryState.  We multiply with the
timestep size if we're computing a cumulative total volume.

Add basic unit test for this part of Summary::eval().
2022-02-23 11:57:34 +01:00
Bård Skaflestad
0275a00b0f Fix Misspelled Function Name 2022-02-21 22:20:20 +01:00
Bård Skaflestad
31cddd2d86 Merge pull request #2962 from goncalvesmachadoc/btemp
add BTCNFHEA
2022-02-21 22:18:11 +01:00
goncalvesmachadoc
187149dc1a add BTCNFHEA 2022-02-21 17:35:04 +01:00
Bård Skaflestad
819571a8db Make Summary Evaluation API Aware of Inter-Region Flows
This commit adds a new parameter, interreg_flows, to the eval()
member function of class Opm::Summary.  This is in preparation of
adding summary file output of inter-region flow rates and
cumulatives-e.g., the ROFT summary vectors.
2022-02-16 23:28:46 +01:00
Tor Harald Sandve
646fa507f6 Add NLINEARS 2022-02-03 14:35:07 +01:00
Bård Skaflestad
8a72cfce36 Save and Reload Free/Solution Gas/Oil Cumulatives in Restart
This commit ensures that the field, group, and well level cumulative
production curves of solution/free oil and gas are continuous in a
restarted simulation run.

Thanks to Torbjørn Skille for identifying the appropriate locations
in XGRP/XWEL for outputting these items.
2022-01-10 20:57:59 +01:00
Bård Skaflestad
21e067beaa Fix Unit of Measure for Dissolved Gas Flow Rates
These quantities are reported in surface volume gas flow rate units.
2022-01-06 15:01:19 +01:00