Commit Graph

128 Commits

Author SHA1 Message Date
Joakim Hove
7b896359f6 Part 2: Use Opm::time_point 2021-03-03 15:13:34 +01:00
Joakim Hove
bcffaefa7a Use ScheduleState for wells++
Use SchedueleState for wells, in addition to the members UDQConfig, GasLiftOpt
and GuideRateConfig.
2021-02-10 07:22:46 +01:00
Joakim Hove
08cb85e08e Add temporary disabled Schedule::unique<UDQConfig>() test 2021-02-04 11:11:40 +01:00
Joakim Hove
acb1284efd Use small wrapper to manage shared pointers in ScheduleState 2021-01-29 11:42:36 +01:00
Joakim Hove
a4ca61dc4e Renamed WellOrder -> NameOrder 2021-01-28 19:49:05 +01:00
Joakim Hove
56c7e89bbd Use WellOrder to construct WellMatcher 2021-01-25 10:20:57 +01:00
Joakim Hove
344972624a Use ScheduleState to manage UDQActive 2021-01-15 09:19:33 +01:00
Joakim Hove
fa3b740d1d UDQ Cast can cast to both lhs type and rhs type 2020-11-24 11:48:17 +01:00
Joakim Hove
b2da0228b1 Support UDQ UPDATE action 2020-11-15 10:03:34 +01:00
Joakim Hove
e0e5ed1f91 Make sure UDQ can use also special summary values like TIME 2020-11-15 10:02:34 +01:00
Joakim Hove
47543641ee Testing of negative prefix 2020-11-05 15:38:23 +01:00
Joakim Hove
6c449a48b1 Merge pull request #2069 from joakim-hove/udq-wlist
Udq wlist
2020-11-03 11:22:02 +01:00
Joakim Hove
14df089f14 Use WellMatcher() in Schedule::wellNames() 2020-10-31 09:04:32 +01:00
Joakim Hove
7ef7e3017e Add class WellMatcher and use it UDQ evaluation 2020-10-30 22:17:59 +01:00
Joakim Hove
9bec2673ad Explicitly delete UDAValue::operator=() 2020-10-30 17:19:02 +01:00
Joakim Hove
d301274e89 Improve warning for UDQ missing unit 2020-10-27 18:50:47 +01:00
Joakim Hove
e9dadcf93e Extract leading sign when extract UDQ factor 2020-10-27 14:17:12 +01:00
Joakim Hove
b53acbc6a7 Add functionality to extract required summary keys from UDQConfig 2020-10-23 16:05:55 +02:00
Joakim Hove
80a023794e Ensure that division is left assosiative in UDQ parser 2020-10-22 14:40:32 +02:00
Joakim Hove
ee7f50a51d Merge pull request #2037 from joakim-hove/udq-define-order
Make sure UDQ define statements are evaluated in definition order
2020-10-21 17:32:55 +02:00
Joakim Hove
413a16157c Make sure UDQ define statements are evaluated in definition order 2020-10-21 13:49:07 +02:00
Joakim Hove
2289ba165b Update SummaryState in UDQContext 2020-10-20 22:22:21 +02:00
Joakim Hove
5ff65747f3 Rename summary variable in test 2020-10-20 20:02:19 +02:00
Joakim Hove
451eefbda5 UDQContext - differentiate between missing well and invalid variable 2020-10-16 11:24:21 +02:00
Williham Williham Totland
c43600337b Throws exception with nesting, and generalises tests to account for same. 2020-10-05 11:06:19 +02:00
Joakim Hove
0ab50fbc95 Merge pull request #1977 from wito/test-warning-noise-fix
Test Compilation Warning Noise Fix
2020-10-02 07:56:14 +02:00
Joakim Hove
0512ab88b4 ParseContext will throw OpmInputError 2020-09-29 15:37:14 +02:00
Williham Williham Totland
6d2f8cca5c Adds type information to integer literals. 2020-09-29 13:54:21 +02:00
Joakim Hove
e01400fa18 Add KeywordLocation argument to ParseContext::handleError() 2020-09-29 09:56:07 +02:00
Joakim Hove
5a060910a3 Differentiate better between UDQ ASSIGN and UDQ DEFINE
A quite typical situation is that a UDQ keyword is first initialized with UDQ
ASSIGN statement, and then subsequently a formula for updates every timestep is
entered with UDQ DEFINE:

  UDQ
     ASSIGN FU_VAR1 0 /
     DEFINE FU_VAR1 FU_VAR1 + 1 /
  /

Then the assign statement should be run once, and the define formula should be
evaluated for every subsequent timestep.
2020-09-09 21:39:29 +02:00
Joakim Hove
fc1e245ea4 Add TIMESTEP as context variable in summary eval 2020-09-09 19:42:42 +02:00
Joakim Hove
4a9ec1403e UDQ: get from an unknown summary variable throws std::out_of_range 2020-09-08 08:23:45 +02:00
Joakim Hove
8d11a04033 Add report_step argument to UDQConfig::eval() 2020-09-08 08:23:45 +02:00
Joakim Hove
11e70ca779 Handle undefined UDQ expressions 2020-09-02 23:03:03 +02:00
Arne Morten Kvarving
acad356e2d remove unused variable 2020-09-01 15:25:44 +02:00
Joakim Hove
4b3304730c Serializer class: SummaryState & UDQState 2020-09-01 13:15:42 +02:00
Joakim Hove
0161f50255 Add UDQState 2020-08-27 17:25:51 +02:00
Joakim Hove
168aa5602d Make sure DEFINE statements are evaluated in input order 2020-08-27 15:24:32 +02:00
Joakim Hove
718e00ca1f Correctly parse and handle UADD / UMUL / UMIN / UMAX set operations 2020-08-27 15:24:32 +02:00
Joakim Hove
6c2563c5a5 Fix tokenizer bug with mix of '*' and *
The token '*' should be interpreted as all wells/groups for a variable like WOPR
or GGPR, whereas the naked * is a multiplication sign. This commit fixes a bug
where the all wells/groups token '*' would be incorrectly interpreted as a
multiplication sign.
2020-08-23 08:31:15 +02:00
Joakim Hove
9fd29db2de Add case with literal in scientific form 2020-06-30 13:04:49 +02:00
Joakim Hove
f09b534e1d Hack around UDQ parser which does not accept leading '-' 2020-06-30 13:01:00 +02:00
Joakim Hove
fc4511d365 Fix UDQParsing code to handle numerical values on scientific form 2020-06-30 12:51:59 +02:00
Joakim Hove
082820380d Ensure that all values in UDQSet are finite 2020-06-12 09:12:55 +02:00
Joakim Hove
213c6fb6ad Add function SummaryState::update_udq() to add variables from UDQSet 2020-06-12 09:12:55 +02:00
Joakim Hove
90d1d992e5 Ensure that evaluated UDQSet have the correct name 2020-06-12 09:12:55 +02:00
Joakim Hove
fd5a42801f Make sure the UDQ usage in GCONPROD is recorded 2020-05-15 08:27:52 +02:00
Joakim Hove
3077f7aff8 Introduce class RawString
The RawString class is introduced as a string which can hold the literals '*',
'/' and '''. The RawString class is used to hold the content of UDQ and ACTIONX
keywords.
2020-04-21 06:51:25 +02:00
Joakim Hove
750e7b8b24 Default construct UDQ keywords with value 0 when defined with UNIT 2020-04-12 08:38:59 +02:00
Joakim Hove
5444eade2f Use std::shared_ptr<Python> for Python argument in Schedule 2020-03-31 10:26:55 +02:00