Commit Graph

9160 Commits

Author SHA1 Message Date
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
Bård Skaflestad
4aab3ca7d0 Parse Context: Add Context for Missing Network Node
Will be used in SummaryConfig for reporting the case of node-level
summary output being requested for unknown/missing network nodes.
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
Joakim Hove
fe2f5ee185 Keep track of maximum size of RawRecord 2020-09-22 09:55:45 +02:00
Joakim Hove
0530b9b1a3
Merge pull request #1943 from wito/schedule-keyword-functions
Schedule Keyword Handler Dispatch
2020-09-22 09:32:47 +02:00
Markus Blatt
57dde8051d
Merge pull request #1945 from blattms/fix-fmtlib
Also remove fmtlib from opm-common-prereqs.cmake
2020-09-22 07:53:25 +02:00
Williham Williham Totland
7a7920f3e7 Implements a new dispatcher for keywords in Schedule. 2020-09-21 19:22:11 +02:00
Markus Blatt
396bfbbcd2 Also remove fmtlib from opm-common-prereqs.cmake
Otherwise the user still needs to have an installed version on the system
in addition.
2020-09-21 15:46:01 +02:00
Joakim Hove
ee4ac770af
Merge pull request #1941 from joakim-hove/rm-sim-container
Remove unused class SimulationDataContainer
2020-09-21 11:15:36 +02:00
Atgeirr Flø Rasmussen
045f527c5d
Merge pull request #1940 from bska/nodepress-summary-output
Prepare for Outputting Network Node Pressure to Summary File
2020-09-21 09:21:59 +02:00
Joakim Hove
79ae4c7935 Remove unused class SimulationDataContainer 2020-09-21 08:18:51 +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
Bård Skaflestad
6ea0e73512 Prepare for Creating Network-Level Summary Output
This commit adds a level of indirection to the existing group-level
data (active controls and guiderates), and adds a new 'NodeData'
level to the 'data::' protocol for transporting values from the
simulator to the output layer.

Update all call sites and users accordingly.
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
Joakim Hove
ac40c65f64
Merge pull request #1933 from joakim-hove/throw-same
Rethrow the same exception
2020-09-18 15:28:05 +02:00
Joakim Hove
b8c4a2ed83
Merge pull request #1937 from joakim-hove/embed-fmtlib
Embed fmtlib
2020-09-18 15:26:44 +02:00
Joakim Hove
b09db0325d Use fmtlib for string formatting in opmhash 2020-09-18 11:23:43 +02:00
Joakim Hove
4e5aed45d7 Embed fmtlib source code 2020-09-18 11:23:30 +02:00
Joakim Hove
3004e14e9a Remove use fmtlib package from build system 2020-09-18 11:19:41 +02:00
Joakim Hove
f9d43e738a
Merge pull request #1936 from akva2/fix_packaging_libfmt
fix packaging files for libfmt
2020-09-18 10:14:05 +02:00
Arne Morten Kvarving
86d166756a fix packaging files for libfmt 2020-09-18 08:21:13 +02:00
Joakim Hove
f51533907f
Merge pull request #1935 from bska/final-runsum-only
Don't Write RSM File for Substeps
2020-09-18 07:22:17 +02:00
Bård Skaflestad
50e4f9439b Don't Write RSM File for Substeps
If the last report step happens to be split into multiple substeps
(e.g., convergence problems or TUNING settings &c), then we will
write the RSM file for each substep which will slow down the
process.  This commit explicitly ensures that we don't output the
RSM file unless it is the last substep of the final report step.
2020-09-18 01:43:20 +02:00
Markus Blatt
951bd69522 Allow access to field data assoicated with TranCalculator.
We need this in opm-simulators where we need to query the
FieldProperties associated with the TranCalculator (e.g. TRANX0). Previously,
this were listed by FieldPropertiesManager::keys() but calling
get_int_field_data with the keyword would raise an exception resulting
in a deadlock.

This commit allows passing true as an additional argument to prevent
this (it gets passed to all functions called). This allows for running
with edited transmissibilities in parallel.
2020-09-17 22:20:36 +02:00
Markus Blatt
98f0b36b21 indclude algoritm header in FieldData.hpp
needed for std::find_first_of.
2020-09-17 20:23:58 +02:00
Joakim Hove
629da97d61 Rethrow the same exception 2020-09-17 18:54:31 +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
7bdf49f15e Fixes MAXVALUE modifyer for transmissibility. 2020-09-17 16:26:06 +02:00
Markus Blatt
5ea65651ac Fix test for MAXVALUE. 2020-09-17 16:02:25 +02:00
Joakim Hove
403fd09e69
Merge pull request #1930 from joakim-hove/fmtlib
Add build dependency on fmtlib
2020-09-17 15:40:39 +02:00
Joakim Hove
9e7c808524 Add libfmt dependencies to package specifications 2020-09-17 15:31:16 +02:00
Joakim Hove
bafdbc35cc Add dependency to header only fmtlib 2020-09-17 14:57:40 +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
3a6cd37db1 Make apply_tran and deserialize_tran accessible as free functions.
In the simulator we are using different datastructures to hold them.
Hence we need to be able to apply and deserialize there.
2020-09-17 12:29:37 +02:00
Markus Blatt
e9be39d666 Add access for int and double FieldData.
This is needed for communication in the simulator. Previously,
that just used the data (std::vector), but the TranCaclulator
also needs the value_status to correctly. Hence this needs
to be communicated, too.
2020-09-17 11:46:17 +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
Markus Blatt
1bb4c937a2 Move TranCalculator to its own header.
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