Commit Graph

38 Commits

Author SHA1 Message Date
Bård Skaflestad
19ecc3d30e Consider Active Phases When Initializing Satfunc Endpoints
This commit passes the run's notion of its active phases, an object
of type Opm::Phases, through to the initialisation layer for the
saturation functions' scaling properties.  In particular, this
allows us to discriminate between the phases and to not index into
tables or properties that would not be appropriate (e.g., maximum
gas saturation (SGU) in a simulation run without active gas).

Moreover, we now have enough information to know to look for SOF2 in
two-phase run using family II saturation function keywords.  These
changes are necessary in order to extend Flow's support for the
FILLEPS output request to two-phase runs.
2020-01-29 16:34:15 +01:00
Joakim Hove
ecb5fce19b Only active cells (#1298)
Use FieldProps implementation for 3D properties
2020-01-13 15:46:06 +01:00
Arne Morten Kvarving
e7e2458951 make Action::AST constructible from variables
also add accessors and equality operator
2020-01-03 13:20:36 +01:00
Steinar Foss
4b5ef93293 added enum class FuncType for ASTNode.
ActionParserNode takes functype arg.

ActionParser getfunc.

ASTNode constr take func_type-arg.

ASTNode: throws exception if not FunctionType well.

FuncType: expanded list.

ActionParser: gettype distnguishes types.

ACTIONX.cpp: added test with group*.

parseKeywordCategory made public.

ActionParser: uses parseCategory.
2019-12-04 16:24:58 +01:00
Joakim Hove
198b208258 Test use of FieldPropsManager in WellConnections 2019-11-29 16:42:29 +01:00
Steinar Foss
239d562581 testfile ACTIONC.cpp: removed 'if 0'.
test ACTIONX, uncommented TestActions.

ACTIONX tests: uncommented all.
2019-11-15 15:24:16 +01:00
Joakim Hove
f33c4f749e Add copy constructor + contains() method to Action::Result 2019-11-04 12:54:14 +01:00
Joakim Hove
781ced7294 Use struct Location to record file position for keywords 2019-10-17 23:57:01 +02:00
Joakim Hove
2be6235ab7 Add small struct DeckKeyword::Location to simplify error reporting 2019-10-17 23:56:34 +02:00
Bård Skaflestad
c013639b51 Make Most Unit Tests Independent of LibECL
This commit switches a set of OPM-Common's unit tests away from
using direct calls to libecl functions and into using base types
from OPM-Common itself (along with Boost.Filesystem).

In particular summary related queries are replaced by calls to ESmry
member functions (wrapped in libecl-like interfaces to minimise code
changes).  We disable checks on unit strings since ESmry currently
does not have a way of associating those with individual variables.
2019-10-14 06:13:38 -05:00
Joakim Hove
ff69737b99 Add start_time argument to SummaryState 2019-09-19 22:09:15 +02:00
Joakim Hove
4078451840 Action::Condition has lhs and rhs member properties 2019-09-14 08:26:51 +02:00
Joakim Hove
8efe3cf6a6 Remove unused member Condition::expression 2019-09-13 19:24:53 +02:00
Joakim Hove
546cd46926 Add cmp_string() method to Action::Condition class 2019-09-13 19:22:02 +02:00
Joakim Hove
6683ac1be6 Accept <= and >= in the ActionX::Condition 2019-09-07 18:17:05 +02:00
Joakim Hove
af2a09bde5 Make sure actionx keywords can be redefined 2019-09-03 13:47:30 +02:00
Joakim Hove
2aa10a0435 Internalize ActionX conditions to enable restart 2019-09-03 13:47:30 +02:00
Joakim Hove
208c1a7143 Convert Schedule::Actions to a DynamicState<Actions> 2019-09-03 13:47:30 +02:00
Joakim Hove
359955efc3 Action: capture matching wells correctly + large refactor
With this commit the result of a ACTIONX evaluation goes to the new type
Action::Result which in addition to the overall thruthness of the expression
keeps track of the list of matching wells.

Introduced a new namespace Action for everything related to the ACTIONX
implemenentation.
2019-08-09 15:43:58 +02:00
Joakim Hove
9e288a9d78 Refactor SummaryState
- Change SummaryState::add() -> SummaryState::update(), the
   SummaryState::update() method is semantically aware of totals.

 - Add an internal variable to the SummaryState class to keep track of the
   elapsed simulation time.
2019-05-13 11:06:32 +02:00
Joakim Hove
15a7d7597d Update ASTNode::eval() to handle Well selectors like 'P*' 2019-03-07 11:35:55 +01:00
Joakim Hove
d82be29745 ACTIONX: Works with WELOPEN and msim 2019-02-02 17:35:56 +01:00
Joakim Hove
d9585d6585 Reorganized the ACTIONX implementation - made large parts private 2019-01-21 18:07:24 +01:00
Joakim Hove
586f296de0 The matching wells are compined with && or || 2019-01-17 11:33:57 +01:00
Joakim Hove
fc0e61518b Merge pull request #566 from joakim-hove/capture-wells
Add functionality to capture matching wells when evaluating ACTIONX
2019-01-09 18:05:56 +01:00
Joakim Hove
2cd6fa2f49 Add overloads without ParseContext and ErrorGuard - update all tests 2019-01-04 13:59:28 +01:00
Joakim Hove
15c473e3bb Implement support for well capture when evaluating ACTIONX 2019-01-02 14:03:25 +01:00
Joakim Hove
6465b5b23c Add small class ActionValue to hold action eval result 2019-01-02 14:03:25 +01:00
Joakim Hove
9e93dc5af2 Add method wells() to ActionContext class 2019-01-02 11:30:56 +01:00
Joakim Hove
6921801eec Add method Schedule::evalActions() to evaluate ACTIONX 2018-11-19 09:57:06 +01:00
Joakim Hove
36c3080f85 ActionContext internalizes a SummaryState object 2018-11-09 21:58:36 +01:00
Joakim Hove
212a1fde5f Parse condition part in ACTIONX 2018-11-09 20:19:34 +01:00
Tor Harald Sandve
e2d748906e Fix failure in actionx test after rebase 2018-11-05 13:48:36 +01:00
Tor Harald Sandve
95179f393c Fix vappars and dr[sv]dt logic
The simulator should either use VAPPERS or dr[sv]dt, both the
combination drsdt and drvdt is allowed.
2018-11-05 13:38:42 +01:00
Joakim Hove
68e6926355 Add Actions container and ActionContext for eval 2018-11-02 10:55:29 +01:00
Joakim Hove
b8c5d8c129 Add whitelist of keywords allowed in ACTIONX block 2018-10-27 15:59:32 +02:00
Joakim Hove
451d52c18a Refactor iteration over Schedule section to for ACTIONX 2018-08-10 11:30:07 +02:00
Joakim Hove
bbb5e27e90 Add basic ACTIONX keyword 2018-08-10 11:29:46 +02:00