Commit Graph

879 Commits

Author SHA1 Message Date
Joakim Hove
213c6fb6ad Add function SummaryState::update_udq() to add variables from UDQSet 2020-06-12 09:12:55 +02:00
Joakim Hove
90d1d992e5 Ensure that evaluated UDQSet have the correct name 2020-06-12 09:12:55 +02:00
Joakim Hove
b07bd377cd Merge pull request #1819 from joakim-hove/aicd
Aicd
2020-06-12 09:12:18 +02:00
Atgeirr Flø Rasmussen
e08a3666e3 Merge pull request #1818 from atgeirr/fix-nupcol-runspec
Handle NUPCOL in RUNSPEC correctly
2020-06-11 20:50:30 +02:00
Joakim Hove
224911bd10 Add implementation for autonomous ICD: AutoICD 2020-06-11 11:38:29 +02:00
Joakim Hove
0f032d6fca Merge pull request #1801 from joakim-hove/icd-variant
Use std::variant<> to hold ICD alternatives
2020-06-11 11:31:58 +02:00
Bård Skaflestad
abec96a387 Sat-Func Initializers: Add TOLCRIT Support
This commit makes the 'critical_*()' helper functions aware of the
TOLCRIT feature.  We now consider a phase to be immobile at a one
saturation value if its relative permeability at that saturation is
less than or equal to TOLCRIT.  TOLCRIT mirrors E100's default value
of 1.0e-6 unless otherwise specified in the PROPS section.

All table scanners are implemented in terms of the expression

    std::lower_bound(begin, end, tolcrit, predicate)

which ultimately returns the first position in [begin, end) for
which

    predicate(*iter, tolcrit)

is false.  Using predicate = std::greater<>{} thus determines the
first position in the sequence for which the elements is less than
or equal to 'tolcrit'.  Similarly, a predicate equivalent to '<='
returns the first position for which the elements is strictly
greater than 'tolcrit'.

Add a set of unit tests to demonstrate and exercise the new feature.
2020-06-10 14:33:01 +02:00
Bård Skaflestad
83429bf908 Sat-Func Initializers: Pass TOLCRIT to Table-Scanning Layer
This is a pure API change.  The TOLCRIT value is not yet used as
part of determining the critical saturations.

While here, also add a unit test for getRawTableEndPoints() and
update the existing sat-func property unit tests to explicitly pass
TOLCRIT = 0 in preparation of adding actual TOLCRIT support.
2020-06-10 14:33:01 +02:00
Atgeirr Flø Rasmussen
80f6a5d1ed Add failing test for NUPCOL in RUNSPEC. 2020-06-10 13:17:04 +02:00
Joakim Hove
afd5c3153a Use value based semantics for Segment -> valve 2020-06-10 06:35:03 +02:00
Joakim Hove
b1250c2f7a Use std::variant<> to hold ICD alternatives 2020-06-10 06:35:03 +02:00
Joakim Hove
6b468787c8 Refactor COMPSEGS handling
When handling the COMPSEGS keyword the connections are updated with segment
number and the segments are updated with total perforated length. The new
Compsegs::processCOMPSEGS() function will create new updated copies of both
WellSegments and WellConnections.
2020-06-04 16:57:40 +02:00
Joakim Hove
7df0577a58 Rename SpiralICD -> SICD 2020-05-28 11:03:24 +02:00
Joakim Hove
66acfb5249 When defining branch properties: vfp == 0 should delete branch 2020-05-15 14:21:44 +02:00
Joakim Hove
fd5a42801f Make sure the UDQ usage in GCONPROD is recorded 2020-05-15 08:27:52 +02:00
Joakim Hove
ebdffa2abb Ensure correct SI conversion for the scalar data in OPERATE keyword 2020-05-11 15:45:01 +02:00
Joakim Hove
64fb589ec6 Use string based parent *name* in GTNode instead of pointer 2020-05-07 20:08:39 +02:00
Joakim Hove
7fe89422e2 Internalize keywords for gas lift optimization 2020-05-07 16:29:42 +02:00
Joakim Hove
3c879dd5dc ActionResult will not access wells if overall false 2020-05-06 12:48:38 +02:00
Joakim Hove
9a4c8f754e Change type of new value argument in WELTARG to UDA 2020-05-04 08:29:34 +02:00
Joakim Hove
ef77be1508 Refactor ScheduleTests to use fixture function 2020-05-04 08:29:34 +02:00
Joakim Hove
8b70e42e0f Connection - Segment interaction implemented with optional pair 2020-04-30 14:54:21 +02:00
Joakim Hove
c7008d329a Add class ExtNetwork for extended networks 2020-04-29 15:45:18 +02:00
Bård Skaflestad
79bb8386d3 Sat-Func Initializers: Add End-Point Unit Tests
Exercises the initializers for SW{L,CR,U}, SO{W,G}CR, SG{L,CR,U}, as
well as the function values KRW, KRWR, KRG, KRGR, KRO, KRORW, KRORG
and capillary pressure function values PCW and PCG.

Example data from region one (1) of

    opm-tests/model1/include/sattab_basemod1.sattab

Example phrased both as family I (S*OF) and as family II (S*FN, SOF3).
2020-04-29 13:33:51 +02:00
Joakim Hove
e7f750da83 Add method WellSegments::branches() 2020-04-22 17:03:03 +02:00
Joakim Hove
48969b8b77 Add method WellSegments::branchSegments() 2020-04-22 12:07:26 +02:00
Joakim Hove
dd0041f8ee Add method WellSegments::segmentDepthChange() 2020-04-22 10:21:51 +02:00
Bård Skaflestad
f902ceb6d7 Merge pull request #1729 from joakim-hove/changed-wells
Add function Schedule::changed_wells() to use in WELSPECS reporting
2020-04-21 14:13:54 +02:00
Joakim Hove
d37aa1116d Add function Schedule::changed_wells() to use in WELSPECS reporting 2020-04-21 13:18:49 +02:00
Joakim Hove
3077f7aff8 Introduce class RawString
The RawString class is introduced as a string which can hold the literals '*',
'/' and '''. The RawString class is used to hold the content of UDQ and ACTIONX
keywords.
2020-04-21 06:51:25 +02:00
Joakim Hove
84ad5ef502 Internalize Gas inflow equation flag in Well - for reporting 2020-04-19 08:37:48 +02:00
Bård Skaflestad
2d4175ed0f Merge pull request #1695 from GitPaean/msw_summary_keywords
adding the summary output keywords for MSW
2020-04-17 20:53:31 +02:00
Joakim Hove
819b624809 Changes in available for group control implementation
1. Add separate available_group_control flags for injection and production.
2. Add separate available_group_control flags for each injection phase.
2020-04-17 13:30:26 +02:00
Joakim Hove
dd30fb7bd8 Extracte Schedule construction to separate function in test 2020-04-17 13:03:26 +02:00
Kai Bao
8e4d4827a2 adding the test for new segment summary keywords 2020-04-17 00:38:21 +02:00
Joakim Hove
315382bad8 Run PYACTION keywords
The PYACTION keyword is implemented with a Python module with a run() function
in an external module.
2020-04-16 14:13:54 +02:00
Joakim Hove
685ab301d2 Merge pull request #1691 from joakim-hove/UDQ-UNITS
Default construct UDQ keywords with value 0 when defined with UNIT
2020-04-16 09:27:28 +02:00
Joakim Hove
b899a1da64 Merge pull request #1703 from joakim-hove/well-store-dens-calc
Check WELSPECS values
2020-04-16 09:26:48 +02:00
Joakim Hove
3072f0dabe Add pvt_table as member for Well 2020-04-15 11:26:57 +02:00
Arne Morten Kvarving
784389d228 remove unused variables 2020-04-14 14:10:33 +02:00
Joakim Hove
750e7b8b24 Default construct UDQ keywords with value 0 when defined with UNIT 2020-04-12 08:38:59 +02:00
Joakim Hove
650ffb12b8 EclipseGrid: ensure that all ACTNUM manipulations use resetACTNUM 2020-04-08 21:38:41 +02:00
Bård Skaflestad
afd0ed21ba Merge pull request #1682 from joakim-hove/timestamp-ymd
Add three argument (year, month, day) constructor TimeStampUTC
2020-04-07 12:07:02 +02:00
Joakim Hove
075d018cf3 Moved string utilities to opm/common 2020-04-04 17:10:13 +02:00
Joakim Hove
ab2e5cc310 Add three argument (year, month, day) constructor TimeStampUTC 2020-04-04 16:20:13 +02:00
Joakim Hove
2df7183f1b Implement asLocalTimeT helper function 2020-04-02 15:31:13 +02:00
Joakim Hove
d3817e2fc2 Merge pull request #1665 from wito/rptconfig-rptsched
Handle RPTSCHED keywords in a time-sensitive manner
2020-04-01 14:00:41 +02:00
Williham Williham Totland
f3fbfc41ad Completes RPTConfig to pass tests. 2020-04-01 13:02:29 +02:00
Williham Williham Totland
9f7664fe13 Makes the new interface compile against tests. 2020-04-01 13:02:29 +02:00
Joakim Hove
278402b63e Check well status before checking active control 2020-04-01 10:28:05 +02:00