Commit Graph

1444 Commits

Author SHA1 Message Date
Jørgen Kvalsvik
e8d018e045 Schedule.timeMap is no longer shared_ptr 2016-12-01 16:17:25 +01:00
Jørgen Kvalsvik
21eb728966 Only increment complnum when a completion is new
Fixes a bug where completions specified after a record just updated a
completion would be assigned a too high completion number.

COMPDAT can be used to re-specify some properties of connections, in
which case they're not actually new completions and the completion
number shouldn't change.
2016-12-01 14:10:07 +01:00
Jørgen Kvalsvik
b7ad522043 Register completion number from COMPDAT
Connections are given a completion number starting at 1 implicitly when
they're first defined by the COMPDAT keyword. Until now this number has
been ignored.

The number itself isn't *used* for anything with this patch, just stored
and accessible.
2016-11-30 19:27:38 +01:00
Arne Morten Kvarving
4ede95d587 removed unused variable 2016-11-29 21:37:18 +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
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
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
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
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
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
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
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
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
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
Jørgen Kvalsvik
7652e0fcb5 TableColumn stores ColumnSchema, not pointer 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
Jørgen Kvalsvik
6f35591fad Make IOConfig::getOutputEnabled const 2016-10-19 20:38:28 +02:00
Jørgen Kvalsvik
37c04328ca Remove shared_ptr typedefs 2016-10-19 20:38:28 +02:00
Jørgen Kvalsvik
f2e509f59f UnitSystem named constructors with automatic storage 2016-10-19 20:38:28 +02:00
Jørgen Kvalsvik
0e7752c499 Make group no longer use shared_ptr 2016-10-19 20:38:28 +02:00
Jørgen Kvalsvik
f9cb516b99 Remove DeckPtr+ParserPtr aliases
Remove the deprecated DeckPtr and ParserPtr aliases and removes
shared_ptr<Deck> and friends from all interfaces.
2016-10-19 20:38:28 +02:00
Jørgen Kvalsvik
0059446147 Make Completion+CompletionSet no longer use shared_ptr 2016-10-19 20:38:28 +02:00