Commit Graph

49 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
1a0f47f274 Add Group::isAvailableForGroupControl() method.
The method has very similar intended usage as the method of the
same name in the Well class.
2020-02-27 14:56:31 +01:00
Atgeirr Flø Rasmussen
f35529d7ff Silence warnings.
- One class vs struct declaration.
 - Unused variables in a test.
2020-02-21 10:49:41 +01:00
Joakim Hove
0b2dbf7fc2 GroupInjection is a map over phases + implement topup_phase 2020-02-14 09:30:58 +01:00
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
Joakim Hove
b7cebb1907 Refactored the handling of BHP / THP 2020-01-06 15:28:04 +01:00
Joakim Hove
198b208258 Test use of FieldPropsManager in WellConnections 2019-11-29 16:42:29 +01:00
Joakim Hove
613ec70dab Rename Well2 -> Well and Group2 -> Group 2019-11-13 23:19:26 +01:00
Steinar Foss
f75c3921e5 Schedule handles keyword GCONSUMP.
GConSump: added and linked soruce files.

gconsump added to dynamicstate.

added handleGCONSUMP.

GConSump: add.

GConSump: has.

GConSump: get.

GConSump: added UDA values.

GConSump: added network_node.
2019-11-06 15:12:25 +01:00
Steinar Foss
17d11e9a60 GConSaleGroup: MaxProcedure static, simplified get and add. 2019-11-04 13:59:54 +01:00
Steinar Foss
d2dce88411 Adding keyword GCONSALE to Schedule.
added files GConSale cpp/hpp.

Schedule: adde GConSale as DynamicState.

Shcedule: added function gConSale.

added function handleGCONSALE.

GConsale: added substruct GCONSALEGroup.

GConSale: empty records added.

GConSale: all values set to zero.

GCONSALE: values stored as UDA.

GConSale: UDAValues to SI.

GConSale: max_proc parsed.
2019-11-03 11:37:28 +01:00
Joakim Hove
ff69737b99 Add start_time argument to SummaryState 2019-09-19 22:09:15 +02:00
Joakim Hove
a1f35584a9 Add GuideRate state/cache object 2019-09-16 16:28:45 +02:00
Joakim Hove
7bdd294ec5 Refactor Well GuideRateTarget enum 2019-09-04 14:49:12 +02:00
Joakim Hove
af72086db8 Refactor enum for GuideRate target 2019-09-04 14:49:12 +02:00
Joakim Hove
9d442d3d4f Refactor Group injection enum 2019-09-04 14:49:12 +02:00
Joakim Hove
5d5bcf6f24 Refactor enum exceed action 2019-09-04 14:49:12 +02:00
Joakim Hove
9e6f8bd1c1 Move well production control enum to Well2 2019-09-04 14:49:12 +02:00
Joakim Hove
44bedf0f23 Adds GuideRateModel 2019-08-23 08:21:14 +02:00
Joakim Hove
e79b546544 Merge pull request #938 from joakim-hove/gconprod-exceed-action
GCONPROD: The exceed action should be unconditionally set to RATE
2019-08-14 16:30:17 +02:00
Atgeirr Flø Rasmussen
d20c58da07 Make two headers public again. 2019-08-13 11:56:17 +02:00
Joakim Hove
4334256c5b GCONPROD: The exceed action should be unconditionally set to RATE 2019-08-12 17:28:47 +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
ed4bf054fa Add UnitSystem member ot Group2 class 2019-08-05 18:37:01 +02:00
Joakim Hove
12294cb637 Initialize Group2 structure during Schedule construction 2019-07-30 09:36:48 +02:00
Joakim Hove
6324d5d6c8 Add enum GroupType 2019-07-19 07:20:21 +02:00
Joakim Hove
ffba2b114b Merge pull request #888 from joakim-hove/group-names
Add method Schedule::groupNames()
2019-07-15 07:42:22 +02:00
Joakim Hove
7559c31e43 Use Schedule::groupNames() intead of getGroups() 2019-07-15 06:01:44 +02:00
Joakim Hove
2248a1133d Remove unused group rate 2019-07-14 08:33:45 +02:00
Joakim Hove
a64745193d Add empty Group2 skeleton 2019-07-03 11:15:51 +02:00
Joakim Hove
fe83324746 Moved Group related files to Group/ folder in filesystem 2019-07-03 11:15:51 +02:00
Joakim Hove
7d0b6f1bf6 Add member udq_undefined to Well2 object 2019-06-19 13:24:21 +02:00
Joakim Hove
3961f724db Add UnitSsystem member to Well2 class 2019-06-08 12:39:22 +02:00
Joakim Hove
01db100439 WellProductionProperties and WellInjectionProperties are private 2019-05-24 15:31:27 +02:00
Joakim Hove
94b160258e Remove old well implementation 2019-05-22 21:44:50 +02:00
Joakim Hove
0f3dabc3aa Internalize a global WHISTCTL setting in the Schedule object 2019-05-02 16:01:29 +02:00
Joakim Hove
9c93a9349c Use wellname in Group::addWell() 2019-04-18 16:45:24 +02:00
Joakim Hove
04d42c2f4e Move well and well related files to Well/ subfolder 2019-03-08 07:15:49 +01:00
Joakim Hove
2cd6fa2f49 Add overloads without ParseContext and ErrorGuard - update all tests 2019-01-04 13:59:28 +01:00
Joakim Hove
089b58f101 Merge pull request #547 from totto82/productivity_index
Add support for output of well productivity index
2018-11-06 09:38:55 +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
Tor Harald Sandve
2d5d0953ee Add support for output of well productivity index 2018-11-02 15:57:21 +01:00
Jostein Alvestad
19bb0e0077 Additional changes to create restart group data in general and igrp data in particular 2018-09-19 16:01:53 +02:00
ReedMe
c9c6128bb4 add GRUPNET to group 2017-12-07 15:28:04 +01:00
Joakim Hove
612e255d4f Extracted Schedule and SummaryConfig, 2017-10-24 09:27:42 +02:00
Jens Ivar Jørdre
bbf29540a3 Update to new interface of TimeMap 2017-06-30 10:54:17 +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