Commit Graph

68 Commits

Author SHA1 Message Date
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