Commit Graph

972 Commits

Author SHA1 Message Date
Joakim Hove
8e55f3138b Add multi record test 2020-09-27 10:16:32 +02:00
Joakim Hove
b95fbc4919 Rewrite test to iterate over cartesian coordinates 2020-09-27 10:16:32 +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
2e20dc5d43 Merge pull request #1923 from totto82/co2storage
Add CO2STOR keyword in Runspec section
2020-09-23 14:36:18 +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
719af02142 Add custom exception OpmInputError 2020-09-22 13:48:26 +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
Joakim Hove
11d5128cbf Use KeywordLocation instead of passing keyword and filename separately 2020-09-22 09:55:45 +02:00
Bård Skaflestad
dbfd013cf4 Add Means of Retrieving Node Names from Extended Network
This commit adds a new member function

    ExtNetwork::node_names() const

which collects the names (std::string) of all nodes in a network.
The immediate use case is creating summary config nodes for network
level quantities specified without explicit lists of nodes, e.g.,

    GPR
    /

Add a simple unit test for demonstration.
2020-09-20 17:46:01 +02:00
Markus Blatt
9343165bee Move factored out stuff to FieldProps namespace.
- FieldData
- ScalarOperation
- TranCalculator
- keywords
2020-09-18 16:20:33 +02:00
Markus Blatt
d3d91c2a08 Added ADD modifier for TranCalculator. 2020-09-17 16:40:10 +02:00
Markus Blatt
e6893caa89 Added support for MINVALUE to calculator. 2020-09-17 16:33:31 +02:00
Markus Blatt
5ea65651ac Fix test for MAXVALUE. 2020-09-17 16:02:25 +02:00
Markus Blatt
6a81e4bb63 Complete checks for TransCalculator. 2020-09-17 12:54:15 +02:00
Markus Blatt
d83790164d make tran_active non-throwing. 2020-09-17 12:54:15 +02:00
Markus Blatt
967f63479d Move FieldData to its own header for usage from simulator.
We need to refactor to make FieldData accessible from the simulator
for running in parallel with the TranCalculator.
2020-09-17 11:46:17 +02:00
Joakim Hove
8499c9d1cd Add tran_active() query function 2020-09-17 11:46:17 +02:00
Joakim Hove
4bd9b7212f Add serialization of FieldProps TRAN calculators 2020-09-17 11:46:17 +02:00
Joakim Hove
ecee4a7d36 Adds a calculator for modifying field properties in the edit section.
Previously modifications were applied directly to the field
properties. Unfortunately, for unset TRANX this resulted in
modifying 1.0 even if the simulator is calculating
transmissibilities itself. This was one of the reasons
why we got wrong results (others are in the simulator code).

Now these operations recorded in a calculator which can later be
applied to compressed arrays using apply_tran.
2020-09-17 11:40:56 +02:00
Bård Skaflestad
df1f03e4a8 SatFunc: Add Means of Retrieving Select Function Values
This commit introduces a new helper structure, RawFunctionValues,
which collects unscaled saturation function values that are needed
for vertical scaling of saturation functions using keywords such as

    KRO, KRORG, KRGR, PCW

and their hysteretic and directional counterparts.  We also
introduce a new helper function, getRawFunctionValues, which
extracts those values from the function tables in TableManager.

Add a set of unit tests to exercise the new feature.
2020-09-17 08:33:42 +02:00
Bård Skaflestad
07780a793f Field Props Test: Fix Minor Compiler Warnings
In particular, fix a few instances of "signed vs. unsigned"
comparisons, one "no previous declaration for", and include the
<algorithm> header for std::find().
2020-09-17 08:16:37 +02:00
Bård Skaflestad
7a2350bc3c Merge pull request #1922 from joakim-hove/dynamicstate-update-equal
Dynamicstate update equal
2020-09-17 08:03:29 +02:00
Bård Skaflestad
60f6c26456 Merge pull request #1924 from joakim-hove/keyword-location
Keyword location
2020-09-16 23:35:09 +02:00
Joakim Hove
d283f1858f Add keyword member to KeyworLocation 2020-09-16 14:24:06 +02:00
Joakim Hove
bef5a4c27b Renamed class Location -> KeywordLocation 2020-09-16 14:06:54 +02:00
Joakim Hove
a023d4b437 DynamicState::find will return std::optional<std::size_t> 2020-09-16 11:59:03 +02:00
Joakim Hove
e03a97b539 DynamicState::update_equal() will return index of next value 2020-09-16 09:55:09 +02:00
Arne Morten Kvarving
518c219838 remove unused variable 2020-09-14 12:23:31 +02:00
Joakim Hove
db64c858d1 Add method SummaryConfig::keywords( pattern ) 2020-09-14 09:17:53 +02:00
Joakim Hove
20a6a522dc Merge pull request #1891 from joakim-hove/summary-region
Add basic support for xxx_REG summary keywords
2020-09-10 09:23:33 +02:00
Joakim Hove
c3f94834c3 Add wildcard matching of keywords in SummaryConfig 2020-09-10 08:23:42 +02:00
Joakim Hove
5976efa953 Add fip regioin name to summaryconfig node 2020-09-10 08:23:42 +02:00
Bård Skaflestad
53ce21cf9e Merge pull request #1911 from joakim-hove/udq-assign
Udq assign
2020-09-09 23:29:09 +02:00
Joakim Hove
03d387c12d Enable global storage for keywords 2020-09-09 21:41:08 +02:00
Joakim Hove
5a060910a3 Differentiate better between UDQ ASSIGN and UDQ DEFINE
A quite typical situation is that a UDQ keyword is first initialized with UDQ
ASSIGN statement, and then subsequently a formula for updates every timestep is
entered with UDQ DEFINE:

  UDQ
     ASSIGN FU_VAR1 0 /
     DEFINE FU_VAR1 FU_VAR1 + 1 /
  /

Then the assign statement should be run once, and the define formula should be
evaluated for every subsequent timestep.
2020-09-09 21:39:29 +02:00
Joakim Hove
fc1e245ea4 Add TIMESTEP as context variable in summary eval 2020-09-09 19:42:42 +02:00
Joakim Hove
a4d8379687 Support abondoned well keyword FMWPA in Summary 2020-09-09 17:10:53 +02:00
Joakim Hove
2f3ba50ca6 Add boolean flag to indicate whether a well has been an open producer 2020-09-09 15:07:55 +02:00
Joakim Hove
4a9ec1403e UDQ: get from an unknown summary variable throws std::out_of_range 2020-09-08 08:23:45 +02:00
Joakim Hove
8d11a04033 Add report_step argument to UDQConfig::eval() 2020-09-08 08:23:45 +02:00
Joakim Hove
42fcb4507f FieldProps::get_global<T> will fill with correct default value 2020-09-05 11:52:22 +02:00
Bård Skaflestad
1b7fab4bd1 Merge pull request #1904 from joakim-hove/box-global-list
Box global list
2020-09-03 23:51:08 +02:00
Joakim Hove
ae049a927f Add accessor method for *all* cells in a Box 2020-09-03 21:12:29 +02:00
Joakim Hove
a5bb313394 Remove unused index member from Box class 2020-09-03 16:49:29 +02:00
Joakim Hove
11e70ca779 Handle undefined UDQ expressions 2020-09-02 23:03:03 +02:00
Arne Morten Kvarving
acad356e2d remove unused variable 2020-09-01 15:25:44 +02:00
Joakim Hove
4b3304730c Serializer class: SummaryState & UDQState 2020-09-01 13:15:42 +02:00
Joakim Hove
53f78a02fe Internalize WSEGITER settings in Tuning implementation 2020-08-31 18:24:09 +02:00