Commit Graph

63 Commits

Author SHA1 Message Date
Williham Williham Totland
84c57ff37b Review Action: Renames Opm::EclIO::SummaryNode::name => wgname 2020-03-20 14:08:03 +01:00
Williham Williham Totland
861c098912 Implements Opm::EclIO::SummaryNode::unique_key(). 2020-03-20 14:08:03 +01:00
Williham Williham Totland
402f28f749 Adds Opm::EclIO::SummaryNode::Type::Mode. 2020-03-20 14:08:03 +01:00
Torbjørn Skille
e3ae38feb9 Adding support for large arrays using X231 format extension
- EclIO classes have been updated to support arrays with size beyond numeric limits for integers
- Output of arrays having 2^31 or more elements is facilitated by using a pair of headers
- The first header is of type X231, second should have the actual type
- The large array format extension is documented in the Eclipse File format manual
2020-03-16 18:58:25 +01:00
Joakim Hove
7e88f4b4c2 Merge pull request #1576 from joakim-hove/rst-msw-init
Rst msw init
2020-03-13 15:45:18 +01:00
Joakim Hove
f7b2e70282 Merge pull request #1577 from wito/summary-units
Adding support for inspecting units to Opm::EclIO::ESmry
2020-03-13 13:52:15 +01:00
Joakim Hove
d53826ed28 Add small static function inverse_peaceman 2020-03-13 12:16:51 +01:00
Williham Williham Totland
7297a9736a Implements Opm::EclIO::ESmry::get_unit. 2020-03-13 11:55:43 +01:00
Williham Williham Totland
af61d58606 Removes trailing whitespace. 2020-03-13 10:39:53 +01:00
Williham Williham Totland
46abd74eba Adds stub for Opm::EclIO::ESmry::get_unit 2020-03-13 10:36:49 +01:00
Joakim Hove
23bdbe51f2 Add wtype, drainage_radius and efficiency_factor members to rst::well 2020-03-12 18:11:25 +01:00
Joakim Hove
03be91a951 Add members cf_kind, cf, skin_factor and r0 to rst::connection 2020-03-12 18:11:25 +01:00
Joakim Hove
ee5f311a04 RestartIO::state - use internal UnitSystem member 2020-03-12 17:47:41 +01:00
Joakim Hove
39c96ac9de Add UnitSystem member to restart state 2020-03-09 14:59:30 +01:00
Joakim Hove
43ae6e6a0e Initialize Tuning object when loading from restart file 2020-03-06 15:52:28 +01:00
Joakim Hove
9ce0e6783d Add datum_depth as member to RstWell 2020-02-14 07:27:05 +01:00
Joakim Hove
9e72cd3c82 Restart well - store allow xlflow in bool 2020-02-14 06:43:25 +01:00
Joakim Hove
7da79ae532 Convert rst quantities to SI units 2020-02-14 06:43:25 +01:00
Arne Morten Kvarving
4f63172dc9 Merge pull request #1461 from akva2/use_std_filesystem
Replace boost::filesystem with std::filesystem
2020-02-13 15:01:02 +01:00
Arne Morten Kvarving
fb75bcd4e2 changed: use std::filesystem instead of boost::filesystem
since we still support g++-7, where filesystem is marked experimental,
we introduce a wrapper header and expose the namespace to use
as Opm::filesystem.

for gcc we unconditionally link with libstdc++fs in the python bindings.
the setup.py stuff links as c code, not c++ code, so it is not
automatically added on any gcc version. this might prove unportable
later.
2020-02-13 12:34:19 +01:00
Joakim Hove
9099c8a12a Merge pull request #1466 from joakim-hove/segments-updates2
Segments updates2
2020-02-13 11:45:05 +01:00
Joakim Hove
2d858c43e3 Use proper SegmentType enum in RstSegment class 2020-02-13 09:23:33 +01:00
Atgeirr Flø Rasmussen
74129a2866 Silence a few warnings, remove some end-of-line whitespace. 2020-02-13 09:13:29 +01:00
Joakim Hove
9bed25f035 Use common ICDStatus class for both Valve and SpiralICD 2020-02-12 15:09:26 +01:00
Joakim Hove
e2b58cecda Inetrnalize segment type in proper enum 2020-02-12 14:18:24 +01:00
Joakim Hove
42fc0666be Rst connection - use proper enums for direction and state 2020-02-06 11:59:10 +01:00
Joakim Hove
6afd05db1b Add group mamber to RstWell 2020-02-06 11:59:10 +01:00
Joakim Hove
6d3cb49c11 Add method get_well() to RstState 2020-02-06 11:59:10 +01:00
Joakim Hove
8480e37975 Add header member to RstState 2020-01-28 12:49:27 +01:00
Joakim Hove
69822e880f Add POD struct for state with wells and groups from restart file 2020-01-22 12:23:26 +01:00
Joakim Hove
66fd1d39e9 Small POD class for connections loaded from restart file 2020-01-14 23:04:57 +01:00
Joakim Hove
5fb03ec44f Make POD class RestartIO::Header which internalizes restart header 2020-01-11 06:54:01 +01:00
Torbjørn Skille
c6f8a41c43 updates of ERst api, supports multiple occurrences of array names 2019-11-05 15:01:17 +01:00
Joakim Hove
b5b54cf162 Merge pull request #1190 from joakim-hove/eclfile-preload
Add optional argument preload=false to EclFile constructor
2019-11-04 13:15:30 +01:00
Joakim Hove
74aa7bbd48 Add optional argument preload=false to EclFile constructor 2019-11-01 17:01:07 +01:00
Joakim Hove
290368985a Add size() method to EclFile 2019-10-30 09:31:10 +01:00
Torbjørn Skille
e36e87ccde Update of ESmry, now supporting non-unified result files. 2019-10-15 09:23:40 +02:00
Bård Skaflestad
d84b7e19ee ESmry: Add Way of Retrieving Ministep Index at Start of Report Step
This commit introduces a new member function

    int ESmry::miniStepIdxAtReportStep(rptStep)

which returns the zero-based ministep corresponding to the start of
the given report step (one-based indexing).  This will simplify
decoupling a few unit tests from libecl.
2019-10-14 06:13:38 -05:00
Bård Skaflestad
e598aa8cae Output Stream: Add File Creation for Summary Files
This commit adds a single function, createSummaryFile, that opens an
EclOutput object on a file named as an ECLIPSE summary file
(formatted vs. unformatted, unified vs. separate) and returns a
unique_ptr to this.

This is a step towards enabling new summary writer functionality.
2019-10-08 23:20:39 -05:00
Bård Skaflestad
5a5a87d602 EclOutput: Add Stream Flushing Operation
Calls '.flush()' on the contained 'ofstream' object.  Needed as a
means of ensuring that bits in the internal buffers of the I/O
system are promptly output to permanent storage.  This, in turn, is
needed in upcoming work on the summary writing feature.
2019-10-05 14:23:21 +02:00
Bård Skaflestad
080225d8e5 Add File Manager Stream for Summary Specification
This commit introduces a new OutputStream class for representing the
summary specification file (.SMSPEC).  The stream is constructed
with constant data (output directory, basename, start date &c), and
provides a single write() member function that outputs a summary
specification.

Each call to write rewinds the underlying stream's output position.
Class EclOutput grants friendship to the new output stream class in
order to support easy stream rewinding.

Add a unit test to exercise the new class.
2019-10-03 10:04:10 +02:00
Torbjørn Skille
7b2a7aa419 Changed EGrid API, function getCellCorners. Changed from std::vector<double> to std::array<double,8> 2019-09-28 17:46:04 +02:00
Bård Skaflestad
a281a3c6f4 Add RFT Output Stream
This commit introduces a new output stream, 'RFT', that is intended
as a new backend for writing RFT files.  At present this supports
integer, float, and PaddedOutputString<8> element types since those
are the types needed for basic RFT data.  We will extend the element
support if needed for PLT and/or Segment data.

We support formatted and unformatted output streams and distinguish
between opening a new stream and opening an existing output stream
(essentially between open modes ios_base::out and ios_base::app).

Add unit tests to exercise the possible combinations.
2019-09-18 16:48:53 +02:00
Torbjørn Skille
6f7d45750f changed from int to size_t for index. Changed loading of all data, reading data from disk array by array 2019-08-22 10:28:13 +02:00
Torbjørn Skille
6d79ab4715 EclFile - improved ascii read efficiency 2019-08-20 13:37:22 +02:00
Torbjørn Skille
51adb23728 Added new option (report steps only) for compareECL for comparing summary results 2019-07-01 16:37:49 +02:00
Bård Skaflestad
323e9903b4 File Output: Add Manager for 'INIT' File Based on EclOutput
This commit introduces a new file manager,

    Opm::EclIO::OutputStream::Init

that's intended to replace the low-level operations of Flow's INIT
file writer.  The implementation uses the 'EclOutput' class and is
very similar to that of the 'Restart' stream introduced in commit
992d3b0c.  The commonality between the two file managers might
possibly be extracted to a base class at a later time.

As of right now, the Init class supports outputting vectors of
'int', 'bool', 'float', and 'double'.  Additional types will be
supported when needed.
2019-06-24 09:52:56 +02:00
Atgeirr Flø Rasmussen
4018e4b70b This silences many, but not all shadowing warnings in opm-common.
Includes minor refactoring of ESMry and AggregateGroupData undertaken
with the aid of the original authors to ensure correctness.
2019-06-21 14:48:23 +02:00
Bård Skaflestad
a3074d12b5 Teach ERst About Separate Restart Files
This commit makes class 'Opm::EclIO::ERst' able to open separate
restart files (*.X000n, *.F000n).  Specifically, we refactor the
existing class constructor body into a new helper function
'initUnified'.  We add a new helper function 'initSeparate' that
builds the requisite indices in the case of a single report step,
and make the constructor body call 'initUnified' or 'initSeparate'
depending on whether or not the SEQNUM keyword exists in the restart
stream.

Add two new unit tests to exercise the new ability.
2019-06-04 11:01:13 +02:00
Bård Skaflestad
8d65ba4e49 OutputStream::Restart: Don't Mention 'prepareStep'
The member function does not exist.
2019-06-03 14:19:48 +02:00