Commit Graph

725 Commits

Author SHA1 Message Date
Jostein Alvestad
167b344506 Added adjustments and corrections
Corrections to code for compile errors for boost check of string-variables
and adjustments of code according to comments from maintainer (Joakim)
2019-03-05 14:26:29 +01:00
Jostein Alvestad
6b8e04460c Added some corrections / improvements 2019-03-05 14:26:28 +01:00
Jostein Alvestad
184ba02df8 Added unit tests to the code that writes the group and field data to the eclipse compatible restart file
The unit tests covers the group numbering structure stored in IGRP,
the summary data export in XGRP and the group name export
into ZGRP
2019-03-05 14:26:27 +01:00
Jostein Alvestad
6eff5158df Initial changes to implement unit tests for AggregateGroupData 2019-03-05 14:26:25 +01:00
Joakim Hove
010dd03c6d UDQ ASSIGN keywords will appear in Summary output 2019-02-25 11:15:12 +01:00
Joakim Hove
a91d47f191 Add name property to UDQSet 2019-02-25 11:15:12 +01:00
Joakim Hove
7425f8b988 Implement UDQ functions 2019-02-25 08:37:04 +01:00
Joakim Hove
945438b210 Add rng to UDQParams 2019-02-25 08:36:33 +01:00
Joakim Hove
b5542c4e56 Add UDQEnum type for the different variable types 2019-02-21 13:36:08 +01:00
Joakim Hove
40bd7b86b0 Renamed UDQ -> UDQInput 2019-02-21 13:36:08 +01:00
Joakim Hove
732c5ae4d2 Add class UDQAssign 2019-02-20 18:21:23 +01:00
Joakim Hove
999b06b0eb Add dervied class UDQWellSet : UDQSet 2019-02-20 18:21:23 +01:00
Joakim Hove
e27933270a Change UDQExpression() constructor to take enum 2019-02-20 18:21:23 +01:00
Joakim Hove
785d80b677 Use slash termination to determine size of keywords SKPRPOLY SKPRWAT 2019-02-20 16:57:10 +01:00
Joakim Hove
10a225785e Merge pull request #644 from joakim-hove/vfp-parse-error
Vfp parse error
2019-02-19 16:22:55 +01:00
Joakim Hove
946d1cb877 Add subdirectory Schedule/UDQ/ 2019-02-18 08:58:20 +01:00
Joakim Hove
a1b8303ac3 Add class UDQSet() to hold UDQ values 2019-02-18 08:58:20 +01:00
Joakim Hove
5b86ef115c Clear trailing part of string when looking for possible valid keyword 2019-02-17 15:55:55 +01:00
Joakim Hove
1fee73481e Merge pull request #633 from tskille/Ecl_IO
New class (EclIO) for formatted and binary eclipse format results files.
2019-02-17 15:53:35 +01:00
Torbjørn Skille
ff68195c4f 1) Updated test for EclFile. 2019-02-15 18:01:38 +01:00
Torbjørn Skille
1be3e88f58 New routines for reading binary eclipse format files
1) Start of new class EclFile which includes one anonomus namespace with routines for reading binary eclipse format files
  2) One very basic test of EclFile constructor included in test_EclFile.cpp
      - testing that file exist, throwing an exception if not.
2019-02-15 13:04:06 +01:00
Bård Skaflestad
849eb80e41 IWEL: Identify Items for Active and Requested Well Controls
This commit refines our understanding of IWEL items relating to well
constraints.  In particular Item 8 is the well's active control mode
as determined by the simulator from dynamic state variables.  On the
other hand, Item 16 is the constraint that is requested in the
simulation run input for prediction wells (keywords WCONINJE,
WCONPROD) while Item 50 is the requested constraint for wells
controlled by observed rates (WCONINJH, WCONHIST).

Special Note: This commit outputs the requested control mode to Item
8 and will need an update later once the simulator becomes aware of
the distinction.
2019-02-10 19:14:30 -06:00
Bård Skaflestad
e685eccdc9 Restart: Save/Restore Historical Cumulative Production
This commit adds support for saving and restoring cumulative
production quantities like WOPTH, GWPTH, FGPTH, GGITH, and WWITH.
While here, also cater to the case of wells alternating between
injecting gas and injecting water.  This means that we'll save and
restore cumulative gas/water injection for all injectors,
irrespective of current injecting phase.

Update unit tests accordingly.
2019-02-10 19:14:30 -06:00
Bård Skaflestad
9e97dde466 Restore Cumulative Summary Quantities in Restart
This commit hooks the new helper function restore_cumulative() up to
the gateway restart function

    RestartIO::load()

by changing the return type from "RestartValue" to

    std::pair<RestartValue, SummaryState>

with the pair's '.second' being restore_cumulative()'s return value.

Update callers including unit tests accordingly, specifically such
that the gateway function

    EclipseIO::loadRestart()

internally resets its Summary object's cumulative quantities using
'load().second'.  This is, strictly speaking, a violation of the
"const" qualifier on EclipseIO::loadRestart(), but the language
permits the usage because the 'impl' pointer in this case will be a
constant pointer to a mutable 'Impl' object.
2019-02-10 19:14:29 -06:00
Bård Skaflestad
bed76c330b Summary: Add Means of Resetting Cumulative Quantities
This commit introduces a new mutating operation on Summary objects,

    Summary::reset_cumulative_quantities(const SummaryState&)

which overwrites the values of cumulative ("total") summary
quantities with those of the input argument.  The only *intended*
use case is reinitialising cumulative quantities in the case of
simulation restart, but other uses may exist.

Add a test case to exercise the new interface.
2019-02-10 19:14:29 -06:00
Joakim Hove
96c02c9d35 UDQ - hooked up to the Summary Output 2019-02-08 06:42:38 +01:00
Joakim Hove
3d4b467a2f Add UDQContext class to be used while evaluating UDQ keywords 2019-02-08 06:34:05 +01:00
Bård Skaflestad
6cc65ada59 Add Tool for Checking Array Dimensions
This commit introduces a new function,

    Opm::checkConsistentArrayDimensions()

that inspects various dynamic array/table sizes and compares those
to the maximum dimensions requested in the relevant *DIMS keywords
of the RUNSPEC section.

At present we check only items one through four of WELLDIMS since
those are directly relevant for the ECLIPSE-compatible output code.
We leverage the ErrorGuard to integrate into the existing mechanism
for terminating a simulation run if there's a parse failure.
2019-02-07 14:29:08 +01:00
Bård Skaflestad
1bca0f6480 Merge pull request #637 from joakim-hove/long-keywords
Add ParseContext::PARSE_LONG_KEYWORD
2019-02-07 14:26:29 +01:00
Joakim Hove
b900441ac6 Merge pull request #610 from jalvestad/restart_hyster
Add changes to correct problems/errors with Eclipse restarts from flow  with hysteresis and well crossflow
2019-02-06 16:45:17 +01:00
Joakim Hove
65b629e423 Add ParseContext::PARSE_LONG_KEYWORD
The ParserContext error mode PARSE_LONG_KEYWORD is used to handle keywords
longer than 8 characters. The lenient option is to only consider the first 8
characters.
2019-02-04 17:17:00 +01:00
Bård Skaflestad
e9756c3ee5 Merge pull request #622 from joakim-hove/udq-units
UDQ - hook the configuration up in the Schedule object
2019-02-03 22:24:02 +01:00
Bård Skaflestad
ecca175ccd Merge pull request #615 from joakim-hove/msim-actionx
Msim actionx
2019-02-03 22:19:54 +01:00
Joakim Hove
d82be29745 ACTIONX: Works with WELOPEN and msim 2019-02-02 17:35:56 +01:00
Joakim Hove
42d08db25b Add UDQ configuration as DynamicState<> to schedule 2019-02-02 17:09:44 +01:00
Jostein Alvestad
c33f69fd1b Added changes to extend the eclipse restart file export to handle hysteresis option in eclipse 2019-02-01 08:33:13 +01:00
tskille
92b1b34dca new class Ecl_IO including 14 unit tests 2019-01-31 22:07:41 +01:00
Joakim Hove
bb5b2f4232 Merge pull request #629 from joakim-hove/initial-complump
Initial completion number set to connection number
2019-01-31 15:42:48 +01:00
Joakim Hove
ebe2f28c67 Initial completion number set to connection number 2019-01-31 12:40:39 +01:00
Arne Morten Kvarving
4e00897117 changed: add some harmless comparisons to test
to avoid unused variable compiler warnings
2019-01-31 10:26:48 +01:00
Joakim Hove
3c41d4c17a Merge pull request #626 from joakim-hove/MINVALUE-bug
Ensure units are applied with the MINVALUE and MAXVALUE keywords
2019-01-30 11:44:05 +01:00
Joakim Hove
ed9827bfcf Ensure units are applied with the MINVALUE and MAXVALUE keywords 2019-01-29 20:58:39 +01:00
Joakim Hove
fcadc69e49 Merge pull request #621 from joakim-hove/rename-UDQConfig
Renamed UDQConfig -> UDQParams
2019-01-28 17:40:39 +01:00
Joakim Hove
27eaeb2ec9 Renamed UDQConfig -> UDQParams 2019-01-28 16:53:01 +01:00
Joakim Hove
c874c8b6ea Add Schedule::simTime() method 2019-01-28 10:32:57 +01:00
Joakim Hove
4174602da2 Remove Schedule::evalAction() and add Schedule::actions() 2019-01-22 16:36:11 +01:00
Joakim Hove
59b4ca4b20 Change msim simulator to not hold Schedule object 2019-01-22 13:12:06 +01:00
Joakim Hove
261f7c3c03 Merge pull request #609 from joakim-hove/capture-wells-operation
Capture wells operation
2019-01-22 12:03:37 +01:00
Joakim Hove
d9585d6585 Reorganized the ACTIONX implementation - made large parts private 2019-01-21 18:07:24 +01:00
Tor Harald Sandve
a668248aa1 Fix TSTEP unit in LAB mode
If unit system is LAB, the TSTEP is interpreted as hours not days
2019-01-21 15:37:15 +01:00