Commit Graph

1238 Commits

Author SHA1 Message Date
Joakim Hove
87cfbb4f75 Let the opm-eclkwtest also create EclipseState 2015-01-02 16:53:26 +01:00
Joakim Hove
b1a30272a2 Added hasValue() protection 2015-01-02 16:53:26 +01:00
Joakim Hove
ecac5fc691 Added DeckItem::hasValue() method 2015-01-02 16:53:25 +01:00
Joakim Hove
c3ae6164fa Added comment about default 2015-01-02 16:53:25 +01:00
Joakim Hove
6e8230db2f Set default phase to OIL in EHYSTR keyword 2015-01-02 16:53:25 +01:00
Joakim Hove
2ba6d909b5 Revert "Revert "Revert "add default values required to make it possible to terminate keywords early"""
This reverts commit a42aece4319c0e5346fc375ff0613b02a68901d4.
2015-01-02 16:51:30 +01:00
Joakim Hove
cf97b3bbe6 Revert "Revert "make the parsing stage pass even if non-defaultable items have been defaulted""
This reverts commit 13d31809e8ca7b9f283bf29a0871110071263449.
2015-01-02 16:51:15 +01:00
Joakim Hove
6d140840ee Revert "add pseudo default values for more items"
This reverts commit 317bbdb2fdded13719d9a91e493757e8c1a94a4c.
2015-01-02 16:51:02 +01:00
Andreas Lauser
17fdbfb9a8 add pseudo default values for more items
this is required by the Norne deck. the EQLOPTS keyword seems weird,
though, because its records seem to have a variable number of items...

for most of these the RM says that if nothing is specified, a value of
another item should be used. some items even have legitimate
defaults, but they are only mentioned in the prose of the RM's item
description. (e.g.the wetting_phase_flag item of the EHYSTR keyword...)
2014-12-19 23:02:21 +01:00
Andreas Lauser
e0706524e0 Revert "make the parsing stage pass even if non-defaultable items have been defaulted"
This reverts commit 5ce5a3539641ac6eac9362d9c2b8a09084f9c35b.
2014-12-19 19:02:53 +01:00
Andreas Lauser
86b617794b Revert "Revert "add default values required to make it possible to terminate keywords early""
This reverts commit 41dbe397db56e547f254f3b0302440b8f7a00db5.
2014-12-19 19:02:44 +01:00
Andreas Lauser
e12a0aab1b parser main loop: handle unknown sized keywords in a better way 2014-12-19 10:59:12 +01:00
Joakim Hove
85f247fd2a Minor rebase fixup 2014-12-18 18:02:15 +01:00
Joakim Hove
e56a136565 Added support for COPYREG keyword 2014-12-18 18:02:15 +01:00
Joakim Hove
a92ff43237 Added COPYREG keyword 2014-12-18 18:02:14 +01:00
Joakim Hove
a4620f5ed0 Added support for ADDREG keyword 2014-12-18 18:02:14 +01:00
Joakim Hove
275d69255f Added ADDREG keyword 2014-12-18 18:02:13 +01:00
Joakim Hove
9ddd8e83c0 Added GridProperty::maskedAdd() and maskedCopy() 2014-12-18 18:02:13 +01:00
Joakim Hove
233b9b9e32 Added support for MULTIREG keyword in EclipseState 2014-12-18 18:02:12 +01:00
Joakim Hove
22bba69159 Added MULTIREG keyword. 2014-12-18 18:02:12 +01:00
Joakim Hove
d75c830388 Added GridProperty::maskedMultiply() method 2014-12-18 18:02:11 +01:00
Joakim Hove
ed89b8ee9d Added test for EQUAL. 2014-12-18 18:02:11 +01:00
Joakim Hove
be08d6df2a Added support for EQUALREG in EclipseState 2014-12-18 18:02:10 +01:00
Joakim Hove
06f2715d10 Added method GridProperties::getInitializedKeyword()
The getKeyword() method will autocreate and initialize a keyword if you
ask for one which is supported, but has not yet been accessed. The new
getInitializedkeyword() method will raise an exception if the keyword
has not already been initialized.
2014-12-18 18:02:10 +01:00
Joakim Hove
7588096c08 Added GridProperty::getDimensionString() 2014-12-18 18:02:09 +01:00
Joakim Hove
a100d94608 Added const to GridProperty::containsNan() 2014-12-18 18:02:09 +01:00
Joakim Hove
867fdb2de5 Added maskedSet() and initMask() GridProperties<T> 2014-12-18 18:02:08 +01:00
Joakim Hove
60ad53c7d1 Added EQUALREG json configuration 2014-12-18 18:02:08 +01:00
Andreas Lauser
de3b3e2772 Revert "add default values required to make it possible to terminate keywords early"
This is not necessary anymore with approach of the previous commit...
2014-12-18 11:43:52 +01:00
Andreas Lauser
231cf39d47 make the parsing stage pass even if non-defaultable items have been defaulted
... but throw later when trying to access the data of the item in
question.

Note that this was demanded by [at] joakim-hove and that I do not want
to be held responsible for any issues which are caused by this
approach. (read: please direct your barks to Joakim if you fell on
your nose because of this...)
2014-12-18 11:43:52 +01:00
Andreas Lauser
0262b333fd make items which do not have a default un-defaultable
this was a much more common problem than it seemed initially...
2014-12-18 11:43:52 +01:00
Andreas Lauser
74d2cca3a4 add default values required to make it possible to terminate keywords early
for many of them the RM says "default is undefined" but that I've come
to the conclusion that this doesn't mean that no default could be
applied, but that the simulator is allowed to screw up if the values
of them are accessed. (Note that in this sense this change is no
change from the current situation, but makes the screw-up more
explicit.)

In particular, note the GRIDUNIT keyword which had some serious JSON
syntax errors in it but so far the unit tests worked anyway for some
reason...
2014-12-17 16:37:17 +01:00
Joakim Hove
1f111668ac Removed stale comments - problem has been fixed. 2014-12-15 17:36:11 +01:00
Joakim Hove
b585655a5c Changes in the log class:
1. Moved to from eclipse/Parser -> eclipse/Log
 2. Renamed ParserLog -> OpmLog
2014-12-15 17:36:10 +01:00
Andreas Lauser
cf7e293635 make the build fail if a JSON keyword definition file could not be parsed 2014-12-15 17:19:32 +01:00
Andreas Lauser
b8a5280428 fix the unit for transmissibility when using the metric unit system
I don't know why exactly this happend, but anyway thanks to [at] bska
for catching it...
2014-12-12 12:21:38 +01:00
Andreas Lauser
c1988ad8a3 get rid of the 'strict parsing' concept
this is the 'Joakim-style' variant of the patch, i.e., an exception
will always be thrown if an unknown keyword is encountered.
2014-12-11 12:43:12 +01:00
Joakim Hove
994932738d Merge pull request #339 from andlaus/low_level_improvments
Low level improvments
2014-12-11 11:49:32 +01:00
Andreas Lauser
d87a49a178 add grid properties for the TRAN[XYZ] keywords 2014-12-10 22:19:26 +01:00
Andreas Lauser
982ad52d10 add the TRAN[XYZ] keywords
these are required to directly specify the transmissibility of
neighboring connections.
2014-12-10 16:59:15 +01:00
Andreas Lauser
9d8406e799 add the NNC keyword
this can be used to directly specify transmissibilities for
NNCs. Note that this keyword is quite a mess for everything after
the mandatory items according to the documentation.
2014-12-10 16:59:15 +01:00
Andreas Lauser
764dd03153 add a "Transmissibility" unit
this is required because Eclipse is inconsistent when specifying
transmissiblities: the only difference between transmissibilities in
metric and field units is that the pressures are in bars instead of
PSI, i.e. the numerator for metric units is still given in centi-Poise
times bbl. This makes it impossible to specify the transmissibilities
in terms of their constituting bits...
2014-12-10 16:58:37 +01:00
Joakim Hove
89f3a29e49 Merge pull request #344 from andlaus/more_useful_exception_messages
ParserKeyword: make the exception messages more verbose
2014-12-09 16:20:16 +01:00
Joakim Hove
fa3686a526 Merge pull request #235 from andlaus/add_NOGRAV
add the NOGRAV flag keyword
2014-12-09 14:06:58 +01:00
Andreas Lauser
9510b976d5 ParserKeyword: make the exception messages more verbose
mostly, include the keyword names, so that the user can fix these
errors without using gdb. (Not that I mind gdb, but I have been told
that gdb is a big no-no. ;)

(this patch also fixes a few typos...)
2014-12-09 13:25:49 +01:00
Andreas Lauser
92250423a1 add the NOGRAV flag keyword
according to [at] bska this is from Frontsim and should be supported.
2014-12-09 13:22:12 +01:00
Andreas Lauser
0cba93a283 address the review comment of #373 2014-12-09 12:41:04 +01:00
Tor Harald Sandve
bb40baa96f Make MULTREGT work for NNC.
The region multipliers are no longer added  to the cartesian logical
MULT[XYZ] structure. Instead a new method
getRegionMultiplier(globalIndex1, globalIndex2,FaceDir) is added that
return the multiplier between globalIndex1 cell and globalIndex2 cell.
The face direction is added to support directional dependent MULTREGT
input. This implementation of MULTREGT also supports restricting the
multipliers to only apply for NNC or NONNNC.
2014-12-09 12:14:36 +01:00
Andreas Lauser
1fdc60e73b Well(Injection|Production)Properties: adapt it to the naming and style conventions of the rest of the module
this patch only changes the conventions which are internal to the
code, i.e., users of these classes do not need to be adapted...
2014-12-09 12:05:27 +01:00
Joakim Hove
b924f6cd02 DeckKeyword is immutable. 2014-12-09 11:56:05 +01:00