Commit Graph

9148 Commits

Author SHA1 Message Date
Williham Williham Totland
d5cd8cf78e Removes extraneous scope blocks. 2020-09-25 15:06:08 +02:00
Williham Williham Totland
6d6b10a9fa Normalises indentation and whitespace. 2020-09-25 15:06:08 +02:00
Williham Williham Totland
c17824cead Removes using namespace shortcuts. 2020-09-25 15:06:08 +02:00
Williham Williham Totland
0d962fc585 Removes some unnecessary includes. 2020-09-25 15:06:08 +02:00
Atgeirr Flø Rasmussen
fbe723a874
Merge pull request #1952 from joakim-hove/cir-negative
Cir negative
2020-09-25 14:06:22 +02:00
Joakim Hove
ab68722eca
Merge pull request #1960 from wito/schedule-keyword-handlers
Moves keyword handlers from Schedule.cpp to KeywordHandlers.cpp
2020-09-25 13:45:05 +02:00
Joakim Hove
629b561f75
Merge pull request #1957 from totto82/salinity
Add keyword SALINITY with unit molality
2020-09-25 12:28:19 +02:00
Williham Williham Totland
86eb1bf94e Renames handleEXIT to applyEXIT. 2020-09-25 10:12:55 +02:00
Williham Williham Totland
5c49832cd1 Extracts keyword handlers into KeywordHandlers.cpp 2020-09-25 10:02:52 +02:00
Joakim Hove
003537ea77
Merge pull request #1959 from akva2/janitoring
add missing initializer to quell warning
2020-09-25 09:52:52 +02:00
Tor Harald Sandve
dfdb844d69 add SALINITY. Unit is molality [mol/kg] for all unit systems 2020-09-25 09:39:11 +02:00
Arne Morten Kvarving
617440485f remove unused variable 2020-09-25 09:21:09 +02:00
Arne Morten Kvarving
99a6fc30a1 throw to avoid no return value warning 2020-09-25 09:20:57 +02:00
Arne Morten Kvarving
50de318947 add missing initializer to quell warning 2020-09-25 09:18:46 +02:00
Joakim Hove
b6f192b7f2
Merge pull request #1958 from joakim-hove/smry-cmp-verbose
Add error message when comparing summary and rsm files
2020-09-25 08:50:32 +02:00
Joakim Hove
2985072083 Add error message when comparing summary and rsm files 2020-09-24 16:45:59 +02:00
Bård Skaflestad
3db68b0731
Merge pull request #1955 from jalvestad/rstfile-imp-v3t
Handle WSEGITER keyword data and WELSEGS keyword item 6 for Eclipse compatible restart file
2020-09-24 14:49:34 +02:00
Jostein Alvestad
1b488037e1 added / changed comments to well.hpp to clarify their meaning 2020-09-24 14:37:10 +02:00
Joakim Hove
b9f95089b9
Merge pull request #1949 from joakim-hove/error-prepare
Error prepare
2020-09-24 07:33:22 +02:00
Joakim Hove
c7d8d17bf0
Merge pull request #1938 from bska/support-nonmonotone-bo
Support Non-Monotonic Saturated Oil FVF in PVTO
2020-09-24 07:19:45 +02:00
Bård Skaflestad
1dd1b71095 PVTO: Switch to Using {fmt} Backend for Formatting
This commit switches the custom diagnostic message formatting based
on std::ostringstream to using a formatter implemented in terms of
the fmt::format function.  This removes the custom indentation from
earlier.  Note that we output at most four records to the console,
including a message limit notification if applicable, and that this
limit is currently not adjustable by the user.  We do on the other
hand output all flipped records to the .PRT file.

New Example Diagnostic Output:

  * To the Console

    Warning: Non-Monotonic Oil Formation Volume Factor Detected in Keyword PVTO, PVTNUM=1
    In /path/to/PVTO.INCL line 6
    Record  9: FVF 1.234 at RS 123.456 is not greater than FVF 2.345 at RS 121.212
    Record 10: FVF 1.233 at RS 123.457 is not greater than FVF 1.234 at RS 123.456
    Record 11: FVF 1.233 at RS 123.460 is not greater than FVF 1.233 at RS 123.457
    Report limit reached, see PRT-file for additional records.

  * In the PRT File (Unlimited Records)

    Warning: Non-Monotonic Oil Formation Volume Factor Detected in Keyword PVTO, PVTNUM=1
    In /path/to/PVTO.INCL line 6
    Record  9: FVF 1.234 at RS 123.456 is not greater than FVF 2.345 at RS 121.212
    Record 10: FVF 1.233 at RS 123.457 is not greater than FVF 1.234 at RS 123.456
    Record 11: FVF 1.233 at RS 123.460 is not greater than FVF 1.233 at RS 123.457
    Record 12: FVF 1.233 at RS 123.461 is not greater than FVF 1.233 at RS 123.460
    Record 13: FVF 1.233 at RS 123.470 is not greater than FVF 1.233 at RS 123.461

The length of each 'Record' line is 78 characters as of this change
(assuming METRIC conventions, FIELD conventions not tested).  The
length of the 'In ...' line depends on the number of characters in
the full filepath.
2020-09-24 00:43:03 +02:00
Bård Skaflestad
db07a19c68 PVTO: Relax Requirement that Saturated FVF be Strictly Increasing
Such cases do happen in real field models and we should diagnose the
existence of non-increasing BO as a function of RS, but we should
not terminate the simulation run.
2020-09-24 00:43:02 +02:00
Bård Skaflestad
1311afb261 PVTO: Add Means of Identifying Non-Monotonic Saturated FVFs
This commit introduces a way of diagnosing an uncommon but possible
issue in the PVTO table.  If the formation volume factor (BO) in the
saturated table (record 1 of each subtable) does not increase
monotonically as a function of the dissolved gas/oil ratio (RS),
then there is a risk that the simulation run will have convergence
problems.

We add a special purpose member function

    PvtoTable::nonMonotonicSaturatedFVF

which checks for this condition and returns a vector records for
which the condition is true.  The new member function

    TableManager::checkPVTOMonotonicity

then collates these records into a formatted string which is printed
to the console and the .PRT file.

Example Diagnostic Output:

    Warning: Non-Monotonic Oil Formation Volume Factor Detected
      * PVTO [PVTNUM = 1]
        Record  9: FVF 1.23 at RS 123 is not greater than FVF 2.34 at RS 120
        Record 10: FVF 1.22 at RS 125 is not greater than FVF 1.23 at RS 123
        Record 11: FVF 1.21 at RS 125 is not greater than FVF 1.22 at RS 125
2020-09-24 00:43:02 +02:00
Bård Skaflestad
b5b1588a17 PVTXTable: Fix Documentation
In particular, refer to "pvtnum" instead of "satnum".  While here,
also include a number of headers that are needed for idempotency.
2020-09-24 00:43:02 +02:00
Joakim Hove
4114302055
Merge pull request #1954 from akva2/mark_libfmt_system
changed: mark libfmt headers as system to avoid warnings
2020-09-23 23:06:45 +02:00
Joakim Hove
2e20dc5d43
Merge pull request #1923 from totto82/co2storage
Add CO2STOR keyword in Runspec section
2020-09-23 14:36:18 +02:00
Joakim Hove
7d226bf600
Merge pull request #1926 from joakim-hove/udq-in-actionx
Udq in actionx
2020-09-23 14:35:01 +02:00
Arne Morten Kvarving
70d13b7427 changed: mark libfmt headers as system to avoid warnings 2020-09-23 14:05:50 +02:00
Joakim Hove
341d14519b Allow negative injection rates for completions 2020-09-23 13:17:55 +02:00
Arne Morten Kvarving
ef412cd759 added: put a GPMaint instance in Group's serializeObject()
now the serialization is tested.
2020-09-23 13:04:10 +02:00
Jostein Alvestad
dc97e71350 various updates of unit tests 2020-09-23 13:03:21 +02:00
Jostein Alvestad
2efa272f6e removed comments 2020-09-23 13:03:19 +02:00
Jostein Alvestad
e8803220ca added changes to account for WSEGITER parameters to the Ecl-rst-file 2020-09-23 13:03:18 +02:00
Jostein Alvestad
772cc7b265 initial changes to add WSEGITER keyw-data to restart file 2020-09-23 13:03:16 +02:00
Jostein Alvestad
9a2410ddb2 corrections to IWEL for pressure loss model and multiphase model 2020-09-23 13:03:14 +02:00
Joakim Hove
6eb9eb8414
Merge pull request #1950 from joakim-hove/deckoutput-dont-split
Special case output of UDQ and ACTIONX keywords - no split
2020-09-23 12:29:42 +02:00
Joakim Hove
9887cc01af
Merge pull request #1882 from bska/add-guiderate-restart
Unconditionally Output Guiderates to Restart File
2020-09-23 12:00:27 +02:00
Joakim Hove
aefa3cd9d2 Support defining new UDQ keywords inside ACTIONX block 2020-09-23 11:30:09 +02:00
Joakim Hove
59b59ce3ee Add location member to Welldims class 2020-09-23 11:06:03 +02:00
Bård Skaflestad
7875aedd7f Required Vectors: Simplify Well/Group Loop Bodies
Pass along the set of category-specific "extra" vectors to
'makeEntities' to avoid repeating the "extra" calls at each of the
well, group, and field levels.
2020-09-22 22:23:05 +02:00
Bård Skaflestad
e57c98d475 Output Guiderate Values to Restart File
This commit ensures that we also always output guiderate values to
the restart file.  Always calculating these summary quantities we
leverage the restart output support added in commit 317d1ba14 (i.e.,
in PR #1792).
2020-09-22 22:23:05 +02:00
Markus Blatt
d60a91c3dd
Merge pull request #1932 from blattms/tran-calculator-2
Adds a calculator for modifying transmissibilities.
2020-09-22 19:56:12 +02:00
Joakim Hove
b184b0e9e5
Merge pull request #1942 from joakim-hove/opm-error
Opm error
2020-09-22 18:01:14 +02:00
Tor Harald Sandve
f3e209b740 Add CO2STOR keyword in Runspec section 2020-09-22 14:53:35 +02:00
Joakim Hove
0bbcee1cc8
Merge pull request #1944 from bska/nodepress-summary-output-2
Add Support for 'GPR' (Network Node Pressure) Summary Keyword
2020-09-22 14:44:14 +02:00
Joakim Hove
d300e54700 Special case output of UDQ and ACTIONX keywords - no split 2020-09-22 14:22:06 +02:00
Joakim Hove
719af02142 Add custom exception OpmInputError 2020-09-22 13:48:26 +02:00
Joakim Hove
f604f94e89 Document format placeholders in KeywordLocation 2020-09-22 12:38:09 +02:00
Bård Skaflestad
2d3432a9e0 Summary: Add Support for 'GPR' (Network Node Pressure) Keyword
This commit adds an evaluation function for the GPR summary vector.
We assume that the actual value is calculated elsewhere and passed
in unchanged from the caller of Summary::eval().  We therefore need
only convert the value to output units and hook this procedure up to
the table of known output functions.

Add a simple unit test for demonstration.
2020-09-22 10:08:44 +02:00
Bård Skaflestad
d46628e8a1 Summary Config: Recognize Subset of Node-Level Keywords
This commit adds support for recognizing a small subset of the
summary quantities that are reported at the node level of an
extended network--especially the 'GPR' keyword.

Briefly, we add a new 'Node' config category and a processor for
this category which knows about the distinction between nodes and
groups.  It uses member function ExtNetwork::node_names() to produce
configuration nodes whose named entity is the node rather than a
group.  Deriving this list of node names across all timesteps is
potentially expensive, so perform this operation at most once and
pass the result into the processor from the SummaryConfig
constructor.

Add a simple unit test for demonstration purposes.
2020-09-22 10:08:44 +02:00