Commit Graph

584 Commits

Author SHA1 Message Date
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
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
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
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
eacbade0c1 Remove default Phases from Schedule constructor 2016-11-02 15:50:39 +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
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
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
Jørgen Kvalsvik
37c04328ca Remove shared_ptr typedefs 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
Jørgen Kvalsvik
239ef7a34c Remove shared_ptr typedef in TimeMap 2016-10-19 20:38:28 +02:00
Jørgen Kvalsvik
4b51d9b0f5 Make Segment/Compsegs no longer use shared_ptr 2016-10-19 20:38:28 +02:00
Jørgen Kvalsvik
1906bf4d16 Make EclipseGrid no longer use shared_ptr 2016-10-19 20:38:28 +02:00
Jørgen Kvalsvik
c893a92aa6 Make Dimension+UnitSystem no longer use shared_ptr 2016-10-19 20:38:27 +02:00
Jørgen Kvalsvik
4b0e4c5cae Make Tuning no longer use shared_ptr 2016-10-19 20:38:27 +02:00
Jørgen Kvalsvik
4f0e6703f0 Remove DynamicState's reliance on TimeMap.
DynamicState assumes the time map is fully populated and stores only
its size (which is the only property it cares about).
2016-10-19 20:38:27 +02:00
Jørgen Kvalsvik
9ad3d78923 Remove DynamicVector's reliance on TimeMap.
DynamicVectors assumes the time map is fully populated and stores only
its size (which is the only property it cares about).
2016-10-19 20:38:27 +02:00
Atgeirr Flø Rasmussen
43e759d261 Merge pull request #936 from andlaus/opm-parser_units
fully move the units code from opm-core to opm-parser
2016-10-18 15:25:14 +02:00
Liu Ming
fce0bab79f Rename MesasgesLimits to MessageLimits. 2016-10-17 10:41:17 +08:00
Liu Ming
2f265f1407 Drop TimeMapConstPtr and temporary DynamicState object. 2016-10-17 09:22:54 +08:00
Liu Ming
7a73657e00 drop std::shared_ptr 2016-10-14 15:54:02 +08:00
Liu Ming
a25c5c0850 Merge remote-tracking branch 'opm/master' into get-messages 2016-10-14 13:48:49 +08:00
Liu Ming
c7b3e2cf57 Get MESSAGES limits from Schedule and update every time step. 2016-10-14 10:06:35 +08:00
Joakim Hove
a0c08ef4ba Added Well::getCompletions( ).
The new Well::getCompletions( ) method without argument will return all
the existing completions at the end of the simulation.
2016-10-12 10:34:09 +02:00
Andreas Lauser
a8b6047b1d fully move the units code from opm-core to opm-parser
this fixes some annoying inconsistencies (e.g., the recently
introduced 'dyne' unit was unavailable in the opm-core version) and
gets rid of some compiler abiguity errors if 'using namespace
Opm::details' was used by code inside the 'Opm' namespace.

Since opm-parser is a hard dependency of opm-core, the only measure
which must be taken by higher-level code is to include
'opm/parser/eclipse/Units/Units.hpp' instead of
'opm/parser/eclipse/Units/ConversionFactors.hpp' or
'opm/core/utility/Units.hpp'.

Note that a potentially better location for this code would be
opm-common, but this would break the Windows build of opm-parser.
2016-10-10 17:45:37 +02:00
Jørgen Kvalsvik
b932b0d2c2 fixup! Make Schedule.oilvaporization auto, not shared_ptr 2016-10-05 14:46:56 +02:00
Jørgen Kvalsvik
d5251d97e6 Make Schedule.groups auto, not a shared_ptr 2016-10-05 14:39:01 +02:00
Jørgen Kvalsvik
1638341a90 Default construction for OilVaporizationProperties
OilVaporizationProperties can now be default constructed, and its
storage has been changed from shared_ptr to value (which mandates the
support for default construction and equality/unequality).

The default constructed Property is considered unspecified and
operations on it will not make sense.
2016-10-05 14:11:57 +02:00
Jørgen Kvalsvik
a97890bce2 Make Schedule.grouptree auto, not a shared_ptr
Also makes the *contents* of the vector values, not shared_ptrs.
This introduces the copy constructor (as an alternative to deepcopy())
and comparison operators, mandated by DynamicState.
2016-10-05 10:36:35 +02:00
Jørgen Kvalsvik
fd26e24049 Make Schedule.oilvaporization auto, not shared_ptr 2016-10-05 10:36:21 +02:00
Jørgen Kvalsvik
5202c4ee6b Make Schedule.modifierDeck auto, not a shared_ptr 2016-10-05 10:12:46 +02:00
Jørgen Kvalsvik
81cbe53109 Make Schedule.events auto, not a shared_ptr 2016-10-05 10:09:45 +02:00
Jørgen Kvalsvik
f72b784a7e Make Schedule.tuning auto, not a shared_ptr 2016-10-05 10:04:36 +02:00
Jørgen Kvalsvik
6a0afc8a80 DynamicState::get returns const reference
dynamicstate.get returns a const reference rather than a by-value copy,
in order to be consistent with other container classes.

This introduces a problem for std::vector<bool> with its specialisation,
so all DynamicState<bool> instances has been replaced by
DynamicState<int> and explicit bool conversions.
2016-10-05 09:57:42 +02:00
Tor Harald Sandve
5d7d5be679 Add support for control mode in WHISTCTL
-- Control mode given by WHISTCTL overwrites control mode given in
WCONHIST
-- option for termination of run if changed to BHP control in not
implemented. But ParseContext is used to inform the user and make
throwing optional.
2016-09-29 08:29:57 +02:00
Pål Grønås Drange
9fe350e094 Made production group and injection group pure values 2016-09-28 07:39:24 +02:00
Kai Bao
7f49f5e53d fixing the group test. 2016-09-23 13:17:26 +02:00