Commit Graph

2900 Commits

Author SHA1 Message Date
Jørgen Kvalsvik
18de2c0751 Correct unit for Field gas-oil+oil-gas ratio
The FIELD units don't use identity in their converison from SI, as the
unit is Mscf/stb rather than m3/m3.
2016-11-29 13:52:50 +01:00
Joakim Hove
c022809073 Added functionality to "fix" ZCORN problems. 2016-11-23 14:59:48 +01:00
Joakim Hove
d01cf74dc8 Merge pull request #987 from jokva/move-head-i-loc
Well.headI/J can change on timesteps
2016-11-22 23:12:03 +01:00
Jørgen Kvalsvik
d6f51c5508 Well.refDepth can change on timesteps
The reference depth is not a static property on first creation, but can
change on subsequent WELSPECs. Wrap the ref depth in DynamicState to
handle this.
2016-11-22 14:21:19 +01:00
Jørgen Kvalsvik
5c1cf47966 Well.headI/J can change on timesteps
Well.headI and Well.headJ was assumed to be fixed on first declaration,
and that all subsequent changes of this position was an error. This
turns out not to be the case, so the I/J positions are made dynamic.
2016-11-22 14:13:07 +01:00
Markus Blatt
465af132e4 Fixes warning about parameters shadowing members of this.
/home/mblatt/src/dune/opm/opm-parser/opm/parser/eclipse/EclipseState/Schedule/GroupTree.cpp: In member function ‘void Opm::GroupTree::update(const string&, const string&)’:
/home/mblatt/src/dune/opm/opm-parser/opm/parser/eclipse/EclipseState/Schedule/GroupTree.cpp:39:76: warning: declaration of ‘parent’ shadows a member of 'this' [-Wshadow]
 void GroupTree::update( const std::string& name, const std::string& parent ) {
                                                                            ^
/home/mblatt/src/dune/opm/opm-parser/opm/parser/eclipse/EclipseState/Schedule/GroupTree.cpp: In member function ‘std::vector<std::basic_string<char> > Opm::GroupTree::children(const string&) const’:
/home/mblatt/src/dune/opm/opm-parser/opm/parser/eclipse/EclipseState/Schedule/GroupTree.cpp:76:77: warning: declaration of ‘parent’ shadows a member of 'this' [-Wshadow]
 std::vector< std::string > GroupTree::children( const std::string& parent ) const {
2016-11-21 10:13:55 +01:00
Joakim Hove
62edf9a394 Merge pull request #983 from joakim-hove/runspec-tabdims
Changes in Tabdims construction:
2016-11-18 10:48:30 +01:00
Joakim Hove
5ebddba40e Changes in Tabdims construction:
1. Removed Tabdims(int,int,int, ....) constructor and added
    Tabdims(Deck) constructor.

 2. Added Tabdims member to Runspec( ) object.

 3. Changed std_shared_ptr<Tabdims> to Tabdims member in TableManager.
2016-11-18 10:48:02 +01:00
Jørgen Kvalsvik
e5b5c3c1c4 Simplified DynamicVector implementation 2016-11-17 14:55:23 +01:00
Jørgen Kvalsvik
6826043b02 Replace WellSet pointers with set-of-names
The WellSet class is replaced by std::set, allowing predictable copy
semantics of Group. This change has rather few consequences as accessing
a well through a wellset was hardly ever done.

Getting hold of the corresponding well instance will now have to be done
via a Schedule instance - however, this simplifies the dependency graph
by severing the edge between the Group object and Well objects.
2016-11-17 12:48:42 +01:00
Joakim Hove
b13ec43635 Added inner table iterators to PvtxTable. 2016-11-16 19:53:54 +01:00
Joakim Hove
a7ff6c064d Merge pull request #976 from jokva/group-tree-as-implicit-tree
Replace explicit GroupTree with ordered strings
2016-11-16 13:25:19 +01:00
Jørgen Kvalsvik
70e7b02043 DeckItem.push_back overload for size = 1
DeckItem.push_back using insert for 1 element turns out to be very
expensive and caused a performance degredation.
2016-11-15 15:33:27 +01:00
Jørgen Kvalsvik
cc677580f2 Replace TimeMap member with int in Well 2016-11-15 15:33:02 +01:00
Jørgen Kvalsvik
0b7ca057dd Remove internal shared_ptrs in Well 2016-11-15 15:33:02 +01:00
Jørgen Kvalsvik
827adad4db Make DynamicState.find const
Probably an oversight in the original design; it has always had const
behaviour.
2016-11-15 15:33:02 +01:00
Joakim Hove
76f5a4d78b Handle keyword OPERATE. 2016-11-15 08:45:04 +01:00
Joakim Hove
0b9843bc10 Added defaults + some rename in keyword OPERATE. 2016-11-15 08:45:04 +01:00
Joakim Hove
2b53bc4c43 Add begin() and end() to Box. 2016-11-15 08:45:04 +01:00
Jørgen Kvalsvik
bfa108deef Replace explicit GroupTree with ordered strings
Replaces The GroupTree + GroupTreeNode classes building an explicit tree
of named nodes with a sorted vector of { name, parent-name } pairs that
builds an implicit tree. Provides the same semantics as the previous
group tree implementation, but with less code and copying for free.
2016-11-11 13:21:20 +01:00
Jørgen Kvalsvik
6869210730 Only give needed source files to createKeywordList
The ahead-of-time JSON-to-C++-object compilation step does not need all
the source files as it was passed. Reduces the set of source files
compiled into the createKeywordList binary to just the files it needs.
2016-11-11 13:15:13 +01:00
Arne Morten Kvarving
10b2218c0c fixed: missing installation of Typetools.hpp 2016-11-11 11:24:36 +01:00
Joakim Hove
f3f87b5935 Merge pull request #950 from jokva/stack-allocd-items
Stack allocd items
2016-11-11 11:07:43 +01:00
Pål Grønås Drange
d8400f05bd Minor fixes unrelated to PR:
* Implemented missing method "name" in TableColumn.cpp
* add inline to method in RestartConfig to remove warning
* Whitespace changes
2016-11-09 12:29:08 +01:00
Jørgen Kvalsvik
a22196546a ParserItem no longer requires heap alloc
Redesign of ParserItem so that its sum type nature no longer mandates
indirection, but rather a tag check on all operations. Because of this,
ParserRecords can now store ParserItems directly, and iterators are no
longer iterators to pointers, but behave like normal vector iterators.
2016-11-07 12:24:38 +01:00
Jørgen Kvalsvik
fdb772e075 DeckItem without internal inheritance.
Replaces the internal inheritance + unique_ptr scheme to a flat sum type
similar scheme that uses a tag to determine which operations are legal,
rather than using the indirection itself as a tag.
2016-11-07 12:24:38 +01:00
Joakim Hove
63a04b6d0a Merge pull request #953 from ANerd/cond_prod_control
Only add present phases from WCONHIST
2016-11-03 15:44:30 +01:00
Anders Matheson
82b989079e Get phases from deck in Schedule python interface 2016-11-03 13:12:34 +01:00
Anders Matheson
276a599e30 Assume all phases in Schedule for python bindings 2016-11-03 10:31:41 +01:00
Markus Blatt
e20f521151 Support externally installed cJSON.
Using an external cJSON installed under /usr/include was not possible before
as the cJSON headers within opm were still used due to relative paths.
With this commit move the copied cJSON source to external/cjson and
thus prevent them to be found if an externally installed cJSON is there.
2016-11-02 20:10:35 +01:00
Joakim Hove
49a6166340 Merge pull request #963 from jokva/ignore-skiprest
Ignore SKIPREST
2016-11-02 18:00:23 +01:00
Anders Matheson
eacbade0c1 Remove default Phases from Schedule constructor 2016-11-02 15:50:39 +01:00
Joakim Hove
3449615a03 Merge pull request #962 from jokva/no-field-group-in-summary
Do not add FIELD group to summary
2016-11-02 15:35:32 +01:00
Jørgen Kvalsvik
066aba3f38 Ignore SKIPREST
The SKIPREST keyword is really only needed in eclipse - since we parse
through the entire deck and create a complete internal representation
with random access, we don't need to actually skip parts of the input.

The old behaviour was to mimic some possible failure modes for eclipse,
however this has caused issues for no real benefit.

refs:
* https://github.com/OPM/opm-parser/issues/773
* https://github.com/OPM/opm-parser/issues/960
2016-11-02 13:55:05 +01:00
Anders Matheson
6d0d17a895 Only add present phases from WCONHIST 2016-11-02 13:44:33 +01:00
Kai Bao
b001de2074 only using WHISTCTL for non-prediction mode. 2016-11-02 12:49:08 +01:00
Joakim Hove
f5eb4763ea Merge pull request #958 from jokva/phase-information-and-runspec
Phase information and runspec
2016-11-02 11:52:12 +01:00
Jørgen Kvalsvik
46de9696f7 Do not add FIELD group to summary 2016-11-02 10:19:15 +01:00
Jørgen Kvalsvik
21aaceaed9 Runspec object; move phases from TableManager
There has never really been a natural home for initial properties that
aren't InitConfig, meaning information such as phases in the deck and
other runspec information hasn't had a natural home.

This patch introduces the Runspec object on EclipseState for phase
information and other similar properties that are interesting and static
for when setting up parameters etc. for simulation, that aren't all that
interesting once simulation starts.

An additional benefit is a leaner implementation for the phase enum and
some stricter semantics via enum classes.
2016-11-01 16:41:19 +01:00
Kai Bao
eba6b7be75 fixing the runScheduleCrateFromDeck test. 2016-11-01 15:44:35 +01:00
Kai Bao
86851e2fed completing the keywrods GCONPROD
And putting a E300 version in 001_Eclipse300.
2016-11-01 13:48:20 +01:00
Kai Bao
879f7b504e adding a keyword WSEGITER.
K-model needs it while not sure if it is used actually.
2016-11-01 12:36:24 +01:00
Jørgen Kvalsvik
4ad9b17449 Remove shared_ptr constructor in Schedule 2016-10-31 16:18:24 +01:00
Kai Bao
eb6c8aa1dc always applying the BHP limit from WCONINJE. 2016-10-31 15:40:54 +01:00
Jørgen Kvalsvik
c07878800f changelog 2016-10 2016-10-28 20:00:03 +02:00
Joakim Hove
6e12cc461f Merge pull request #952 from atgeirr/fix-contructor-bug
Make constructor explicit, fix operator<<.
2016-10-25 15:58:15 +02:00
Atgeirr Flø Rasmussen
d34711d600 Make constructor explicit, fix operator<<. 2016-10-25 11:39:43 +02:00
Jørgen Kvalsvik
a89adafb4b Reference MessageLimit functions. 2016-10-24 17:06:50 +02:00
Joakim Hove
3eeb2e2027 Merge pull request #949 from jokva/appveyor-opm-data
appveyor clones opm-data
2016-10-24 13:40:24 +02:00
Joakim Hove
18fbbeecd3 Changes to MessageLimits:
1. Will retain already set values when only some items are set.
 2. Will parse the sections before the SCHEDULE section to create a
    correctly initialized MessageLimits object.
2016-10-24 13:00:04 +02:00