Commit Graph

1082 Commits

Author SHA1 Message Date
Steinar Foss
7199e1ede4 DeckValueTests: added test for DeckKeyword constructor taking DeckValue vectors.
DeckKeyword: new constructor takes recordlist.

DeckKeyword: invalid arg for wrong nr. of records.

DeckValue: type_tag replaces DeckValueEnum.

DeckValue: added as source for genkw.

DeckValue: default is unknown type.

DeckKeyword cosntr w/ record-lists works, but not for defaults.

DeckKeyword: added function add_deckvalue.

.. xx --

...

...

...

...

...

...

...

DeckValue: is<double> true also if integer.

...

...

last commit .m
2019-10-04 10:13:56 +02:00
Bård Skaflestad
3280f26f10 Merge pull request #1069 from joakim-hove/degenrate-cells
Degenrate cells
2019-10-03 19:26:23 +02:00
Joakim Hove
9167359570 Remove trailing whitespace in EclipseGrid files 2019-10-03 18:19:06 +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
Bård Skaflestad
c01dae67f9 Decouple Table Linearisation from LibECL
This commit makes the table linearisation code independent of
LibECL's "ecl_kw_magic.h" header.  In particular, we add a new set
of vector items (tabdims.hpp) that describe the items we currently
define and reimplement the member functions of the 'Tables' class in
terms of these items.

Update the unit test accordingly.
2019-10-02 23:11:56 +02:00
Bård Skaflestad
3db106dd5c Table Linearisation: Remove Original PVT Functions
This commit removes the original member functions

    void Tables::addPVTO()
    void Tables::addPVTW()
    void Tables::addPVTG()

since these are no longer needed.  The PVT tables are now defined in
terms of the 'addPVTTables()' member function

While here, also remove the fwrite() free function which was defined
in terms of LibECL types.

Update the unit test accordingly.
2019-10-02 00:47:35 +02:00
Joakim Hove
04eb33771c Merge pull request #1045 from joakim-hove/guide-rate-nnn
Guide rate nnn
2019-10-01 07:27:22 +02:00
Bård Skaflestad
c51842d65b Make UnitSystem Independent of LibECL
This commit decouples the UnitSystem class from the LibECL type
ert_ecl_unit_enum.  This, in turn, makes UnitSystem independent of
LibECL.

Update the unit test accordingly, and include <ert/util/util.h>
where needed.  This header was included transitively through
UnitSystem.hpp before.
2019-09-30 23:49:57 +02:00
Joakim Hove
6c34aee00e Use only one double vector in DeckItem 2019-09-30 18:51:35 +02:00
Joakim Hove
a55f691581 Improvements to GuideRate 2019-09-30 14:14:09 +02:00
Bård Skaflestad
70daf0f2c8 Decouple SummaryConfig From LibECL
This commit reimplements the SummaryNode class in order not to use
the ecl::smspec_node class from LibECL.  Consequently, we remove
class SummaryConfig's binding to LibECL.

Class SummaryNode maintains the same information as before.  We also
implement a "named constructor" strategy to assign data members that
only make sense for a subset of the node categories.  The previous
member function 'type' is renamed to 'category' to identify the
attachment category (e.g., Well, Group, Field, Block, Region).  In
turn, we introduce a new 'type' member function to identify the
parameter kind (e.g, pressure, rate, cumulative total, well count)
represented by a given node.  We furthermore capture whether or not
the node is a user defined quantity (i.e., a UDQ).

We reimplement the keyword classifier operations that are currently
needed as free functions named 'is_*()' in SummaryConfig.cpp.

Note that in addition to the renamed member functions of class
SummaryNode, this commit also switches the summary key strategy for
block parameters.  Rather than capturing the 'ijk' values
individually as "BOSAT:3,3,6", we now store the equivalent global
(Cartesian) index (i.e., as "BOSAT:523").  Code that directly
constructs block parameter keys must be updated accordingly.

Chase the API change in the 'Summary' constructor and update unit
tests as needed.
2019-09-30 13:59:34 +02:00
Joakim Hove
4416721686 Merge pull request #1048 from stefoss23/deck_value
introduced new class DeckValue.
2019-09-30 10:16:13 +02:00
Steinar Foss
dc636e244c DeckValue: removed reset method. 2019-09-29 14:29:33 +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
Steinar Foss
fd986cb397 DeckValue under namespace Opm. 2019-09-26 15:08:21 +02:00
Steinar Foss
af878ba229 introduced new class DeckValue.
added DeckValue.cpp.

completed DeckValue.
2019-09-26 14:12:05 +02:00
Steinar Foss
11d1c7d634 python: DeckKeyword constructor, w/ ParserKeyword arg.
parserkeyword can create deckkeyword.

python parserkeyword: removed create_deckkeyword.

DeckKeyword: member parser_keyword is shared_ptr.

python DeckKeyword constructor.

python: no exposure of ParserKeyword.

DeckKeyword: shared_ptr<ParserKeyword> -> ParskerKeyword.

python/cxx/deck_keyword.cpp: cosntructor takes arg const ParskerKeyword&.

test_parser.py: simplified test_pyinut.

...
2019-09-23 23:27:03 +02:00
Joakim Hove
3229c343f7 Merge pull request #1010 from joakim-hove/python-context
Python context
2019-09-23 22:04:24 +02:00
Joakim Hove
69ddffc966 Expose C++ objects to Python runtime 2019-09-23 21:31:45 +02:00
Bård Skaflestad
604c476554 Merge pull request #1041 from bska/fix-build-gcc49
Construct tuple<> Objects Explicitly
2019-09-23 19:01:34 +02:00
Bård Skaflestad
d4ab231124 Construct tuple<> Objects Explicitly
Needed in GCC 4.9 due to incomplete standard library implementation
of class template tuple<>--especially its conditionally implicit
constructors.
2019-09-23 17:38:40 +02:00
Bård Skaflestad
c429a8a800 Ensure ACTNUM Has Expect Number of Elements 2019-09-23 17:32:52 +02:00
Atgeirr Flø Rasmussen
a5e897bdc7 Merge pull request #1039 from akva2/janitoring
fixed: remove unused variable
2019-09-23 15:59:32 +02:00
Atgeirr Flø Rasmussen
6100a90e49 Merge pull request #1009 from tskille/EclipseGrid2
ERT/libecl routines used in the EclipseGrid class has been replace by…
2019-09-23 15:55:28 +02:00
Arne Morten Kvarving
b41865d268 fixed: remove unused variable 2019-09-23 15:36:45 +02:00
Joakim Hove
9eb0a01c7b Simplify ParserItem::dimensions() api 2019-09-21 20:47:46 +02:00
Torbjørn Skille
34410cbe41 ERT/libecl routines used in the EclipseGrid class has been replace by new member functions. Grid properties are
calculated and stored as private data members in EclipseGrid.

The API for the class is unchanged except for some minor changes for exportACTNUM, exportZCORN and exportCOORD.

These changes have triggered some very few modifications in the opm-grid and opm-simulators repo.
2019-09-20 14:21:23 +02:00
Bård Skaflestad
c3b0dab6e5 Merge pull request #1030 from joakim-hove/summary-state-time
Add std::time start_time argument to SummaryState
2019-09-20 13:32:26 +02:00
Bård Skaflestad
882ce83e91 Schedule: Add Query For Particular Group at Particular Time
This commit adds a new query method,

    bool Schedule::hasGroup(groupName, timeStep)

which report whether or not a particular named group exists at a
particular time step (zero-based report step index).  If this
function returns 'true', then it is always safe to call

    Schedule::getGroup2(groupName, timeStep)

with the same arguments.  Otherwise, the latter will throw an exception.

The new 'hasGroup' overload thus enables the same query types as the
existing 'hasWell' overload set.  The immediate use case for this
new overload is a reworking of the system for evaluating derived
summary parameters (e.g., FOPT or GGLR).

Add a new unit test to exercise the new overload.
2019-09-20 08:29:36 +02:00
Joakim Hove
727abd0907 Update DAY, MNTH and YEAR fields in SummaryState 2019-09-20 00:34:36 +02:00
Joakim Hove
ff69737b99 Add start_time argument to SummaryState 2019-09-19 22:09:15 +02:00
Bård Skaflestad
6c47cdb22f Add New RFT File Writer
This commit implements a new file writing function

    void Opm::RftIO::write()

that is intended to replace the current RFT output functionality
defined in terms of private class 'RFT' in EclipseIO.cpp.  We
support the basic RFT output consisting of

    - Timestamp (elapsed and date)
    - WELLETC metadata including all unit conventions
    - Connection cell (I,J,K), connection cell hostgrid (blank for
      main grid only), connection cell centre depth, connection cell
      pressure, and connection cell water and gas saturations

Connections in inactive cells are omitted.  Note that unit of
measure strings aren't implemented in terms of UnitSystem::name()
due to the strings being padded on the left for centering effect.

Add unit tests to exercise the new writer.
2019-09-18 16:48:53 +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
Joakim Hove
4388c9d72f Merge pull request #1015 from joakim-hove/actionx-restart
Actionx restart
2019-09-18 16:45:24 +02:00
Arne Morten Kvarving
6bbf1fcde2 remove unused UDQParams member in UDQContext 2019-09-18 13:21:00 +02:00
Joakim Hove
143d0d097a Merge pull request #1012 from joakim-hove/parser-value-semantics
Use ParserKeyword values in Parser instead std::unique_ptr<>
2019-09-17 13:53:46 +02:00
Tor Harald Sandve
efe7a97b1d Merge pull request #994 from joakim-hove/guide-rate
GuideRateConfig object
2019-09-17 13:12:24 +02:00
Joakim Hove
a1f35584a9 Add GuideRate state/cache object 2019-09-16 16:28:45 +02:00
Torbjørn Skille
0c526b39f5 EclFile update, fix on reading CHAR type from formatted eclfile 2019-09-16 14:02:42 +02:00
Joakim Hove
de7752b3e5 GuideRateConfig object 2019-09-16 10:52:35 +02:00
Joakim Hove
3070bf4a31 Change DeckKeyword constructor
The DeckKeyword::DeckKeyword(const std::string&) constructor has been removed
and the DeckKeyword now requires a ParserKeyword pointer in the constructor.
2019-09-16 00:47:34 +02:00
Joakim Hove
4078451840 Action::Condition has lhs and rhs member properties 2019-09-14 08:26:51 +02:00
Joakim Hove
8efe3cf6a6 Remove unused member Condition::expression 2019-09-13 19:24:53 +02:00
Joakim Hove
546cd46926 Add cmp_string() method to Action::Condition class 2019-09-13 19:22:02 +02:00
Joakim Hove
f3bd813f46 Use ParserKeyword values in Parser instead std::unique_ptr<> 2019-09-13 16:21:31 +02:00
Joakim Hove
6676eb9953 Merge pull request #984 from joakim-hove/python-runtime
Python runtime
2019-09-11 23:23:40 +02:00
Joakim Hove
c8e09ff751 Merge pull request #1001 from joakim-hove/add-parserkeyword-member
Add ParserKeyword member to DeckKeyword
2019-09-09 16:00:14 +02:00
Joakim Hove
15c2e69e9f Add ParserKeyword member to DeckKeyword 2019-09-09 11:12:59 +02:00
Joakim Hove
ab2ea1acf3 Add basic manager class fro Python interpreter 2019-09-09 10:58:26 +02:00
Joakim Hove
6683ac1be6 Accept <= and >= in the ActionX::Condition 2019-09-07 18:17:05 +02:00