Commit Graph

137 Commits

Author SHA1 Message Date
Tor Harald Sandve
09b445f69d support nupcol 2019-08-30 13:07:13 +02:00
Steinar Foss
7f484b736d ScheduleTests: removed whitespace. 2019-08-22 12:15:42 +02:00
Steinar Foss
30b44ef233 SheduleEnums: GuideRateDef as enum class.
...
2019-08-22 12:00:50 +02:00
Steinar Foss
9a6065509b kw GCONPROD: GUIDE_RATE_DEF INJ, POTN, FORM handled as warning.
added enum guide_ref_enum.

...

field.

.tt
2019-08-21 12:46:50 +02:00
Steinar Foss
6e93c5ee1f kw GCONPROD: reads GUIDE_RATE.
group2: production_properties: added guide_rate.

..

GCONPROD reads meaningless GUIDE_RATE.

guide_rate_def.

..2

...
2019-08-19 15:41:32 +02:00
Atgeirr Flø Rasmussen
eb1d00f9dc
Merge pull request #941 from atgeirr/make-prodinjprops-public
Make two headers public again.
2019-08-13 12:28:35 +02:00
Atgeirr Flø Rasmussen
d20c58da07 Make two headers public again. 2019-08-13 11:56:17 +02:00
Joakim Hove
49d32a02fb Add ParseContext behaviour to trimming of well/group names 2019-08-12 11:01:14 +02:00
Joakim Hove
f63c408ba4 Add has_control() functionality to group 2019-08-08 18:43:19 +02:00
Joakim Hove
6016cd43b3 Evaluate UDA variuables for group rates 2019-08-08 06:52:48 +02:00
Joakim Hove
7c856f681d Use new classes Group2 and GTNode 2019-08-06 22:59:16 +02:00
Joakim Hove
2d66d15d96 Refactor GroupTree - create on demand 2019-07-30 09:37:55 +02:00
Joakim Hove
5a39b0e249 Remove #define INVALID_GROUP_RATE - just use 0 2019-07-22 09:21:01 +02:00
Joakim Hove
160f0f83e1 Remove Schedule::getGroups() 2019-07-15 06:01:44 +02:00
Joakim Hove
6426644ce4 Add method Schedule::groupNames() 2019-07-15 06:01:44 +02:00
Joakim Hove
88afb50d09
Merge pull request #881 from joakim-hove/group2
WIP: Group2
2019-07-06 07:30:25 +02:00
Atgeirr Flø Rasmussen
5144456aa4 Address review comments.
- Use const reference to the dynamic state in handleWFOAM() and handleWPOLYMER().
 - Throw if trying to set foam or polymer injection properties on a production well.
 - Update some tests that failed due to the point above.
2019-07-04 09:23:11 +02:00
Atgeirr Flø Rasmussen
5f8d24c431 Add tests for WFOAM. 2019-07-03 12:39:35 +02:00
Joakim Hove
fe83324746 Moved Group related files to Group/ folder in filesystem 2019-07-03 11:15:51 +02:00
Kai Bao
ca7fe55934 silencing shadowing warnings 2019-06-25 13:16:41 +02:00
Joakim Hove
6eea66a332 Use UDAValue for rates and pressure limits in WCONPROD & WCONINJE 2019-06-24 12:54:07 +02:00
Joakim Hove
65f8812e46
Merge pull request #847 from joakim-hove/rft-first-open-bug
Fix bug in RFTConfig first open - for WRFTPLT keyword
2019-06-24 10:02:03 +02:00
Joakim Hove
cbc7394d60 Use UDA for WCONPROD::RESV 2019-06-24 08:29:14 +02:00
Joakim Hove
41a74beb3e Fix bug in RFTConfig first open - for WRFTPLT keyword 2019-06-23 10:21:40 +02:00
Joakim Hove
418241137c Rebase fixup 2019-05-24 15:31:27 +02:00
Joakim Hove
01db100439 WellProductionProperties and WellInjectionProperties are private 2019-05-24 15:31:27 +02:00
Joakim Hove
73667596fc Add some testing 2019-05-24 15:31:27 +02:00
Joakim Hove
94b160258e Remove old well implementation 2019-05-22 21:44:50 +02:00
Kai Bao
de17c851bc clearning existing controls when handleWCONPROD 2019-05-11 14:07:15 +02:00
Joakim Hove
1c82a8ad39 Add alternative well implementation Well2 2019-05-09 09:20:23 +02:00
Joakim Hove
0f3dabc3aa Internalize a global WHISTCTL setting in the Schedule object 2019-05-02 16:01:29 +02:00
Kai Bao
8687a8a709 modifying the ScheduleTests to handle control mode change with WCONHIST 2019-05-02 09:25:52 +02:00
Joakim Hove
eff44e4fdc White space 2019-04-18 08:29:10 +02:00
Joakim Hove
5e76f624ef Remove Schedule::getWells(group, step) 2019-04-17 14:47:00 +02:00
Joakim Hove
b5dbc3d8e5 Delete unused code for ?CON serialization 2019-04-17 14:28:58 +02:00
Joakim Hove
a9bb73559d Use RFTConfig instead of per well RFT configuration 2019-04-03 19:46:08 +02:00
Joakim Hove
be36439600 Add class RFTConfig to manage when RFTs should be created 2019-04-03 19:46:07 +02:00
Joakim Hove
94fae0da30 Remove Schedule::getWells(pattern) 2019-03-24 07:54:39 +01:00
Joakim Hove
19dde5e6d3 Add Schedule::wellNames() overloads 2019-03-24 07:54:33 +01:00
Joakim Hove
858e06044e Move well specific event logging from Well to Schedule 2019-03-21 13:08:25 +01:00
Joakim Hove
b741a73957
Merge pull request #679 from joakim-hove/remove-totno-conn
Removed well property total number of connections
2019-03-19 16:52:50 +01:00
Joakim Hove
eb15695ed0 Removed well property total number of connections
For the output code the total number of connections entered in the input deck is
required, we therefor keep track of the number of connections filtered out due
to inactive cells - and return the total in WellConnection::inputSize()
2019-03-18 15:44:18 +01:00
Joakim Hove
75e196cdd8 Add PERM values to testdata 2019-03-18 14:46:03 +01:00
Joakim Hove
00cc2b9075 Remove unused keywords from test input 2019-03-18 11:24:02 +01:00
Joakim Hove
53c29e56d4 Wellname pattern '*' should not be interpreted as WLIST 2019-03-18 10:44:11 +01:00
Joakim Hove
c5935c97f6 Implement Schedule::wellNames() 2019-03-17 07:26:40 +01:00
Joakim Hove
04d42c2f4e Move well and well related files to Well/ subfolder 2019-03-08 07:15:49 +01:00
Joakim Hove
ebe2f28c67 Initial completion number set to connection number 2019-01-31 12:40:39 +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
aa63d772d7
Merge pull request #593 from GitPaean/fixing_history_mode_part_2
fixing the BHP limit for the history matching wells
2019-01-11 18:04:45 +01:00
Joakim Hove
2cd6fa2f49 Add overloads without ParseContext and ErrorGuard - update all tests 2019-01-04 13:59:28 +01:00
Kai Bao
1b1f7b807d re-organizing the handleWCONINH from Schedule 2019-01-03 13:26:29 +01:00
Kai Bao
875626b738 handling the transition between injector and producer 2019-01-03 09:47:11 +01:00
Kai Bao
7e05d51e6f handle the WELTARG with WCONINJH 2019-01-03 09:47:11 +01:00
Joakim Hove
039fdb70de
Merge pull request #520 from GitPaean/adding_injectivity_keywords_june
Adding injectivity keywords
2018-11-23 10:56:18 +01:00
Kai Bao
6858bd4578 adding the ScheduleTests for the following keywords
WPMITAB and WSKPTAB
2018-11-19 12:27:52 +01:00
Joakim Hove
6921801eec Add method Schedule::evalActions() to evaluate ACTIONX 2018-11-19 09:57:06 +01:00
Arne Morten Kvarving
3cbc40bd4d remove unused variable 2018-11-07 09:46:10 +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
4a5b71d8c1 Include Peaceman calculation in Connection class
- The calculation of well connection transmissibility CF and effective
   permeability is calculated.

 - The Connection objects are immutable; should never be updated.

 - The properties of the Connection class are just plain properties, have
   removed getter methods and the use of Value<double>.
2018-09-09 11:16:42 +02:00
Joakim Hove
bcfb195a83 Rename completionIdx -> complnum and size_t -> int 2018-06-26 12:36:49 +02:00
Joakim Hove
0327393951 Add function to get completions 2018-06-26 12:35:30 +02:00
Joakim Hove
ad2af10c5a New implementation of WELLPI 2018-06-26 12:35:30 +02:00
Joakim Hove
5bce16c4e9 Reenable COMPLUMP tests 2018-06-26 12:35:30 +02:00
Joakim Hove
9d16cc8ec4 New implementation of WELOPEN 2018-06-26 12:35:30 +02:00
Joakim Hove
1f1ecebec5 New implementation of COMPLUMP 2018-06-26 12:35:30 +02:00
Joakim Hove
363b8589e6 Change handleCOMPDAT implementation 2018-06-26 12:35:30 +02:00
Joakim Hove
93f7f50eb7 Temporarily disable COMPLUMP test 2018-06-26 12:35:30 +02:00
Joakim Hove
dc318f731f Rename ConnectionSet > WellConnections 2018-06-20 11:35:11 +02:00
Joakim Hove
3975db2ff3 Rename CompletionSet -> ConnectionSet 2018-06-11 14:03:32 +02:00
Joakim Hove
5008501318 Add WellTestConfiguration to Schedule 2018-05-16 00:57:54 +02:00
Lars Petter Øren Hauge
675858f1e0 Handle wildcard in group keywords
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.
2018-05-14 09:26:22 +02:00
Lars Petter Øren Hauge
580a64563f Add INVALID_WELL context to W(INJ)TEMP
Handle well template (e.g. W*) in the .DATA file for WTEMP and WINJTEMP
and add INVALID_WELL_CONTEXT
2018-05-14 09:26:22 +02:00
Lars Petter Øren Hauge
e6b57fa422 Handle well template for COMPDAT
Allow well template (e.g 'W*') when defining completion records in the
.DATA file under COMPDAT
2018-05-14 09:26:22 +02:00
Lars Petter Øren Hauge
f2cb5fe9de Add INVALID_WELL parse context
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".
2018-05-14 09:26:21 +02:00
Joakim Hove
e5c4c2b504 Handle changes to VFP tables during simulation
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.
2018-04-12 19:02:15 +02:00
Joakim Hove
f5a80f807f Using OrderedMap as container for groups 2018-03-18 19:33:58 +01:00
Joakim Hove
3a590a0cab Added ability to filter out completions in inactive cells. 2018-02-07 11:22:35 +01:00
Sveinung Styve Rundhovde (IT SI SIB)
ff193322e4 Add support for WTHPH+WBHPH keywords 2017-12-01 13:20:31 +01:00
Tor Harald Sandve
7aaad448d4 Add support for WEFAC 2017-11-21 09:55:07 +01:00
Joakim Hove
612e255d4f Extracted Schedule and SummaryConfig, 2017-10-24 09:27:42 +02:00
Tor Harald Sandve
eb4f0b68d6 Fix shut well logic when WELOPEN and COMPDAT is combined
Do not shut well if all completions are shut using WELOPEN but new
completions are opened using COMPDAT in the same time step.
2017-10-03 08:26:09 +02:00
Joakim Hove
44d4aa64cc Added Schedule::getWells( group, time) overload
The new Schedule::getWells( group, time) overload will recursively scan
th group tree rooted at 'group' and return all the wells in that tree.
2017-07-25 20:19:12 +02:00
Joakim Hove
e802737ec4 Changed from boost datetim to std::time_t. 2017-06-19 10:54:33 +02:00
Jørgen Kvalsvik
477fa5a988 Combine test files, reduce number of targets
In an effort to reduce the numbers of targets built, and consequently
the repeated work and overhead of compiling boost test, a series of
test programs are combined to larger modules.

Every target typically has a constant cost of 3-6s, depending on the
computer, just for the make to set up dependencies and for the compiler
to parse and compile the testing framework and other dependencies. Each
set of tests typically add very little, so significant savings are
achieved by merging targets.

When tested on a 2015 i5m laptop, this reduced serial, single-core
compile time from ~14m45s to ~11m15s.
2017-06-01 15:29:23 +02:00
Jørgen Kvalsvik
e884b0664c Redesign cmake
Tune the makefile according to new principles, which adds a few bells
and whistles and for clarity.

Synopsis:

* The dependency on opm-common is completely gone. This is reflected in
  travis and appveyor as well. No non-kitware cmake modules are used.
* Directories are flattened, quite a bit - source code is located in the
  lib/ directory if it belongs to opm-parser, and external/ if third
  party.
* The sibling build feature is implemented through cmake's
  export(PACKAGE) rather than implicitly looking through source files.
* Targets explicitly set required public and private include
  directories, compile options and definitions, which cmake will handle
  and propagate
* opm-parser-config.cmake for downstream users is now provided.
* Dependencies are set up using targets. In the future, when cmake 3.x+
  can be used, these should be either targets from newer Find modules,
  or interface libraries.
* Fewer system specific assumptions are coded in, instead we assume
  cmake or users set up system specific details.
* All module wide configuration and looking up libraries is handled in
  the root makefile - all sub directories only set up libraries and
  compile options for the module in question.
* Targets are defined and links handled transitively because cmake now
  is told about them. ${module_LIBRARIES} variables are gone.

This is largely guided by the principles outlined in
https://rix0r.nl/blog/2015/08/13/cmake-guide/

Most source files are just moved - if they have some content change then
it's nothing more than include fixes or similar in order to make them
compile.
2017-06-01 15:29:23 +02:00