Commit Graph
1752 Commits
Author SHA1 Message Date
Joakim Hove 134834cefa Pass VFP ALQ type to enable unit conversion for ALQ values 2020-10-16 12:16:33 +02:00
Joakim Hove 2644e3bd78 Add test (safety belt) for VFP dimension conversion 2020-10-16 12:16:33 +02:00
Joakim Hove 451eefbda5 UDQContext - differentiate between missing well and invalid variable 2020-10-16 11:24:21 +02:00
Joakim Hove c11d2eee37 Merge pull request #2024 from joakim-hove/summary-state-has-well-var
Add SummaryState functions has_well_var() and has_group_var()
2020-10-16 11:23:12 +02:00
Joakim Hove 0cdfdca0f7 Add SummaryState functions has_well_var() and has_group_var() 2020-10-15 13:01:52 +02:00
Joakim Hove a2f72f0953 Count of abondoned wells should handle both STOP and SHUT 2020-10-14 16:08:11 +02:00
Joakim Hove 6e82f3cb7a Merge pull request #2021 from joakim-hove/no-wells-message
No wells message
2020-10-14 14:23:24 +02:00
Joakim Hove 7f8578ea96 Merge pull request #2020 from joakim-hove/fmwia
Fmwia
2020-10-14 14:22:38 +02:00
Joakim Hove e3959c5fa1 Implement number of abondoned injectors: FMWIA 2020-10-14 08:43:03 +02:00
Joakim Hove 2d036144cc Raise OpmInputError for unbalanced quotes 2020-10-14 08:40:10 +02:00
Joakim Hove e1698f7be8 Rename test well RFT -> RFTP 2020-10-14 00:12:50 +02:00
Joakim Hove 53fe0f2d11 Add guide rate delay and damping to rst header class 2020-10-13 13:11:04 +02:00
Bård Skaflestad 6f20858d73 Record Event if WellConnections Change
This is different from COMPLETION_CHANGE which is unconditionally
recorded when processing COMPDAT.  This event is recorded only when
the Well's internal WellConnections structure actually changes and
informs clients that they may need to rerun any dynamic WELPI
scaling.  Such scaling will not be automatically forwarded onto the
new WellConnections structure.

This is arguably a hack.
2020-10-12 15:10:28 +02:00
Bård Skaflestad 810a93ba87 Ensure *HEAD Arrays Have Sufficient Size
The regression test program depends on this.
2020-10-12 13:49:53 +02:00
Bård Skaflestad 6708273616 Merge pull request #2007 from joakim-hove/rst-cmp
Use restart object in regression testing
2020-10-12 11:47:09 +02:00
Joakim Hove 206243c78d Compare string and integere members from well using RestartIO data 2020-10-12 10:11:07 +02:00
Joakim Hove 36e03cf6b9 Use ParserKeyword::prohibits for COORD / GDFILE / ZCORN 2020-10-10 08:30:48 +02:00
Bård Skaflestad fa7d8bc28c Add Support Infrastructure for WELPI Feature
This commit adds logic implementing the static parts of the WELPI
keyword.  We internalize the keyword data, record appropriate events
and provide hooks for dynamically adjusting the per-connection
transmissibility factor (Connection::CF()) when those events occur.
We implement support at three levels

  - WellConnections:
    Add new public member functions prepareWellPIScaling and
    applyWellPIScaling which, respectively, creates bookkeeping
    data to track those connections which are subject to CF scaling
    and actually applies that CF scaling.

  - Well:
    Add new data member 'productivity_index' which holds the 'WELPI'
    data value from the input keyword (converted to SI) and new
    member functions updateWellProductivityIndex and
    applyWellProdIndexScaling.  The first follows the 'update*'
    protocol (return 'true' if state change) and assigns new values
    to 'productivity_index' while the second uses the stored PI
    value and a dynamically calculated effective PI value to rescale
    the pertinent connections' CF value.

  - Schedule:
    Add new member function handleWELPI which internalizes the WELPI
    keyword and its data and records WELPI events for subsequent
    playback in the simulator layer.

Also add a set of unit tests to exercise the new features at all
levels.
2020-10-08 11:19:03 +02:00
Bård Skaflestad de5e3d90cd Miscellaneous Cleanup Changes
In particular, include standard library headers as needed, fix
function declarations (operator<<() for Well::WellProductionProperties),
and make a few helper functions 'static' to avoid warnings of the
form "no previous declaration for".

For the Schedule's keyword handlers, also switch to storing member
function pointers directly instead of std::function objects.  This
saves space and does not incur function pointer conversions.  Use
std::invoke to call those handlers to avoid having to spell out the
'->*' operator.
2020-10-08 11:19:03 +02:00
Bård Skaflestad a5a18fea9e Add Convenience Predicate WellConnections::empty
Replace expressions comparing size() to 0 with calls to empty().
2020-10-07 22:29:18 +02:00
Joakim Hove f02ecb472f Store Value::Shut == -1000 for shut wells in IWEL 2020-10-07 18:38:46 +02:00
Joakim Hove a33fd2483f Updates to well control mode reported in IWEL
With this commit the IWEL[ActWCtrl] is assigned a value independently of the
wells OPEN / SHUT status.

With this PR the index enum value Status is used instead of the previously used
item11. Also numerical constants are introduced for eclipse status values for
Shut, Stop, Open and Auto.
2020-10-07 18:28:11 +02:00
Joakim Hove 23faea7b81 Merge pull request #1996 from wito/required-keywords
Required and Prohibited Keywords
2020-10-07 09:06:42 +02:00
Bård Skaflestad 7823045b02 Merge pull request #1995 from bska/prepare-dynamic-ctf
Summary/Restart: Get CTF From Simulator
2020-10-06 14:32:07 +02:00
Williham Williham Totland 90d980a4f6 Adds manipulation of the ParseContext to tests. 2020-10-06 09:58:46 +02:00
Arne Morten Kvarving 62c067f462 fixed: anonymize globals to avoid shadowing warnings 2020-10-06 08:23:11 +02:00
Bård Skaflestad 4956e880a4 Summary/Restart: Get CTF From Simulator
This commit switches to getting the output files' connection
transmissibility factor from Opm::data::Connection instead of
Opm::Connection.  This is in preparation for implementing the WELPI
feature, in which the CTFs are occasionally adjusted based on the
dynamic simulation state.
2020-10-05 23:34:01 +02:00
Bård Skaflestad 33d09936c3 Merge pull request #1719 from GitPaean/aquifer_keywords
adding aquifer summary keywords
2020-10-05 22:49:32 +02:00
Joakim Hove be898b5534 Merge pull request #1989 from wito/tablemanager-exceptions
Implements OpmInputError in TableManager
2020-10-05 17:02:42 +02:00
Williham Williham Totland 7aba0cd976 Implements required and prohibited keywords. 2020-10-05 13:34:35 +02:00
Bård Skaflestad fcdc57d92b Merge pull request #1994 from joakim-hove/rst-alq
Small Changes in restart <-> Schedule interaction
2020-10-05 13:07:15 +02:00
Williham Williham Totland c43600337b Throws exception with nesting, and generalises tests to account for same. 2020-10-05 11:06:19 +02:00
Williham Williham Totland d0c5fa042c Adjusts the defaultMessage format string. 2020-10-05 09:26:25 +02:00
Williham Williham Totland 7a8347f1ab Unifies interface of OpmInputError::OpmInputError() 2020-10-05 08:26:51 +02:00
Kai Bao aa639869be adding the development to test ANALYTICAL_AQUIFERS 2020-10-05 07:37:13 +02:00
Joakim Hove 0f21752a7e Add test for unsupported keyword in FieldProps operations 2020-10-05 07:28:07 +02:00
Williham Williham Totland 3af6fac35d Adds a standard-format exception message to OpmInputError. 2020-10-05 07:28:07 +02:00
Kai Bao 31e5c494a8 adding aquifer keywords to the summary_ALL test in SummaryConfigTests 2020-10-05 00:28:11 +02:00
Joakim Hove aa54bc67de Load group->parent_group when loading from restart file 2020-10-04 16:00:50 +02:00
Kai Bao e86e8796ec adding a small test for aquifer keywords 2020-10-02 22:32:23 +02:00
Tor Harald Sandve 8210bcde34 Merge pull request #1968 from hakonhagland/wglir
Add support for WGLIR.
2020-10-02 14:48:18 +02:00
Kai Bao 6093a80dff fixing the compilation due to interface change 2020-10-02 14:09:01 +02:00
Kai Bao fd773423b0 adding the following aquifer summary keywords
AAQR, AAQT, AAQP
2020-10-02 13:18:51 +02:00
Joakim Hove 0ab50fbc95 Merge pull request #1977 from wito/test-warning-noise-fix
Test Compilation Warning Noise Fix
2020-10-02 07:56:14 +02:00
Joakim Hove 96ce078dfd Merge pull request #1983 from joakim-hove/private-fmt
Mkae sure fmtlib is not a dependency in the public api
2020-10-01 15:24:15 +02:00
Joakim Hove fbf88e8ce1 Merge pull request #1984 from joakim-hove/remove-value
Remove homemade optional - use std::optional
2020-10-01 15:23:55 +02:00
Joakim Hove 6dc84b67df Remove homemade optional - use std::optional 2020-10-01 13:53:58 +02:00
Joakim Hove 8c351440e8 Mkae sure fmtlib is not a dependency in the public api 2020-09-30 18:17:57 +02:00
Joakim Hove 42f1278db3 Changes in restart TimeMap and Schedule::iterateSection
This commit changes two aspects of restarts where well and group information is
assembled from the restart file:

 o We require the restart date to be present in the Schedule file as a DATES
   keyword.

 o SKIPREST behavior is implemented unconditionally for restarts with restart
   files, even if the SKIPREST keyword is not present.
2020-09-29 23:00:16 +02:00
Håkon Hægland 7db5d2fd5c Added WGLIR to SummaryConfigTests.cpp 2020-09-29 15:52:28 +02:00