Commit Graph

2726 Commits

Author SHA1 Message Date
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
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
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
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
Jørgen Kvalsvik
9511d8252b Add Utility/Typetools
An enum and some utilities to build what's essentially sum types.
2016-10-23 15:47:20 +02:00
Joakim Hove
bd5c92737e Merge pull request #942 from GitPaean/efficiency_factor
efficiency factor should not be part of productiondata.
2016-10-21 16:42:26 +02:00
Joakim Hove
df9bdeabbc Merge pull request #946 from jokva/overflow-guarded-separator-check
Check for separator/quote table overflow
2016-10-21 16:41:40 +02:00
Jørgen Kvalsvik
0c1dae7016 Check for separator/quote table overflow
Just relying on the char data type is not sufficient to guard against
overflows, and several input decks would invoke undefined behaviour.
This code path is extremely hot, so we're essentially only reading the
least significant 7 bits to achieve branchless lookup.
2016-10-21 10:33:28 +02:00
Kai Bao
85b47dffad efficiency factor should not be part of productiondata.
It applies to both the injection wells and production wells in the group.
2016-10-21 09:48:31 +02:00
Andreas Lauser
d48da54ded PORV: fix the case where PORO contains some NaNs but the code should not choke anyway
thanks to @joakim-hove for catching this.
2016-10-21 09:21:04 +02:00
Andreas Lauser
3008e45367 fix the PORV grid property for clang with optimizations
for some reason, it looks like `std::find_if()` does not work on
ubuntu 16.10 with clang and enabled optimizations. since as far I can
see this 'if' is a minor performance improvement in non-time critical
code, let's just remove the condition.
2016-10-21 09:21:04 +02:00
Joakim Hove
17ff5847b4 Merge pull request #947 from jokva/heuristic-short-circuit-strip
Short circuit when line terminator is found first
2016-10-21 08:50:32 +02:00
Jørgen Kvalsvik
728a9c2e69 Short circuit when line terminator is found first
The termination logic would sometimes need to scan the full line to see
if some terminating condition was found inside quotes. Plenty of
comments in a file start on the first character of a line, meaning this
scan is unnecessary.
2016-10-20 15:11:44 +02:00
Jørgen Kvalsvik
7652e0fcb5 TableColumn stores ColumnSchema, not pointer 2016-10-19 20:38:28 +02:00
Jørgen Kvalsvik
4c13f6ad06 Use public parseFile in cparser.cc 2016-10-19 20:38:28 +02:00
Jørgen Kvalsvik
331d61cba5 Parser.parseFile() assumes default parse context 2016-10-19 20:38:28 +02:00
Jørgen Kvalsvik
066be72ce1 Small doc on GridProperty guarantees 2016-10-19 20:38:28 +02:00