Added function getGroups(pattern) to allow records with wildcard.
Included the functionality for GCONPROD, GCONINJE and GEFAC - currently
the only group keywords that should accept wildcards.
Handle invalid wellpatterns for WCONPROD.
Given a deck with:
----
WELSPECS
'PROD' 'G1' 10 10 8400 'OIL' /
/
COMPDAT
'PROD' 10 10 3 3 'OPEN' 1* 1* 0.5 /
/
WCONPROD
'SOMETHINGELSE' 'OPEN' 'ORAT' 20000 4* 1000 /
/
----
OPM will now by default abort and inform the user that no well match
"SOMETHINGELSE".
Handle invalid wellpatterns for COMPDAT.
Given a deck with:
----
WELSPECS
'PROD' 'G1' 10 10 8400 'OIL' /
/
COMPDAT
'SOMETHINGELSE' 10 10 3 3 'OPEN' 1* 1* 0.5 /
/
----
OPM will now by default abort and inform the user that no well match
"SOMETHINGELSE".
With this commit the VFP tables are stored internally in DynamicState<VFPxTable>
container, this facilitates updates to the VFP tables during the simulation. In
addition the default constructor and the ::init( ) method has been removed from
the VFPxTable implementations.
Pass eclGridProperties from EclipseState to Completions in order to set
default saturation table. Most changes are due to interface change in
Schedule(...)
Support for COMPLUMP. a keyword to re-assign completion numbers that can
be used with keywords such as WELOPEN.
Some helper functions were moved out of handleWELOPEN and reused in
handleCOMPLUMP.
No longer chokes when WELOPEN is given its last two parameters, C1 and
C2 for completion number begin/end. Instead, these now weigh in on
whether or not a well matches the criteria for opening or closing.
Includes some test fixes and some restructuring of handleWELOPEN.
Obsolete verifications of throwing on COMPLUMP have been removed.
Extend the interface of OilVaporizationProperties to not rely on
checking the enum for existence checks. This facilities checking
hasOilVaporizationProperties which rely on DynamicState.size.
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.
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.
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.
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.