Commit Graph

1642 Commits

Author SHA1 Message Date
Markus Blatt
84aa367b19 Exception type differs beween pybind11 versions, use std::exception. 2023-05-05 16:09:58 +02:00
Markus Blatt
3e5ac55c1b Prevent segmentation faults for exceptions thrown in Python code
If for example pybind11 or python changes the type of exception thrown
and we expect a different (the old one) in our boost test, then the python
of pybind11 is left in an unusable condition and the next attempt of
running might produce hard to debug exception, This happened on Debian
bookworm (pybind 2.10.3, python 3.11) for syntax errors.
2023-05-05 16:03:17 +02:00
Bård Skaflestad
5cdeb6137b Implement Proper Record Copying Behaviour for ROCK
This commit adds the expected behaviour for all-defaulted records in
ROCK, provided the all-defaulted records are not the first of the
keyword.  Similarly to, e.g. PVTW, all-defaulted records are treated as
copies of the immediately preceding record.

In other words, given

    ROCK
    -- REF. PRES   COMPRESSIBILITY
       280.000        5.6E-5 /
    /

the second record is supposed to be a copy of the first.
2023-04-26 14:29:28 +02:00
Markus Blatt
8beebd49e3 Merge pull request #3485 from atgeirr/allow-field-wells
Allow FIELD group as parent for wells
2023-04-26 14:14:33 +02:00
Atgeirr Flø Rasmussen
a055f11392 Update tests for new behaviour. 2023-04-26 12:02:34 +02:00
Bård Skaflestad
599194191d Implement Full Size Protocol for ROCK Keyword
This commit adds a special case for handling the dynamic nature of
the number of records in the ROCK keyword.  In particular, if the
ROCKOPTS keyword is NOT entered before ROCK, then the number of
records is NTPVT--item 2 from TABDIMS.  Conversely, when ROCKOPTS is
entered before ROCK, the number of records in the latter depends on
the setting in item 3 of ROCKOPTS.

This interaction cannot be easily captured in our JSON-based models,
so we introduce a special size class, SPECIAL_CASE_ROCK, that only
applies to the ROCK keyword and implement the logic in a dedicated
function in 'Parser.cpp'.  Once we have determined the correct
number of records, we form a RawKeyword of type FIXED and defer
further processing to the existing handling of fixed-sized keywords.

Add a selection of unit tests to exercise the new behaviour.
2023-04-24 12:54:41 +02:00
Bård Skaflestad
93a2f71545 Merge pull request #3463 from GitPaean/open_wellopen_zerorate_nocrossflow_wells
not forbidding WELOPEN wells with zero rate and disallowing crossflow
2023-04-13 10:34:41 +02:00
Markus Blatt
0ca91f5498 Fixed wrong data file comment. 2023-04-12 17:02:07 +02:00
Markus Blatt
9f6122938d Keep all NNCs when processing EDITNNCR.
Those might still be needed to correctly construct the connections
between cells in the grid. Skipping them will produce wrong grids.
2023-04-12 10:22:35 +02:00
Markus Blatt
1ff9100bdc Fixed NNCTests. 2023-04-12 10:22:35 +02:00
Markus Blatt
5a19bcc4d0 Remove NNC entries that correcpond to EDITNNCR
No need to keep those as they will be overwritten anyway.
2023-04-12 10:22:35 +02:00
Markus Blatt
f2ffebc814 Internalize EDITNNCR and make it available with the NNC information.
If there is an EDITNNCR entry and a NNC entry for the same cell pair
then the EDITNNCR entry is not be represented inernally but we simply
overwrite the transmissibility of the corresponding NNC entry.

If there is an EDITNNC entry and an EDITNNCR entry for the same cell
pair then the EDITNNC entry is removed while internalizing EDITNNCR.

Order matters for EDITNNCR entries in the sense that later specified
values will overwrite previous entries when we internalize.

Note that similar to EDITNNC only the first 7 options are represented
and the rest is ignored by OPM flow.

Note that EDITNNCR entries for neighboring cells are ignored (like for
EDITNNC).
2023-04-12 10:22:34 +02:00
Markus Blatt
24d25f7be7 Merge pull request #3384 from plgbrts/well-traj
Grid independent well specification
2023-04-10 07:40:08 +02:00
Kai Bao
9fdcfa3751 not forbidding WELOPEN wells with zero rate and disallowing crossflow
other keywords might change the control to make it openable.
2023-04-04 22:19:52 +02:00
Markus Blatt
9d995a40e3 Fix ConstructorMINPV.
Exception is now already thrown in createMinpvDefaultCPDeck.
2023-04-03 17:41:22 +02:00
OPMUSER
699f7ad695 Update ConstructorMINPV Test
Update ConstructorMINPV Test for MINPV/MINPORV
2023-04-03 16:37:33 +02:00
OPMUSER
1fac541b6e Remove MINPVFIL - WIP
MINPVFIL is an OPM Flow specific keyword that is not used by the simulator,  and thus it should be deleted.

Previously, we moved the checks that only allow either the MINPV or MINPORV keywords to be used in the input deck to the JSON keyword files.  This was done to avoid confusion over which global limits are being applied.

Note that if the MINPVV keyword is also in the input deck then these limits are applied post processing the global limits defined by the MINPV/MINPORV keywords. This behavior is unchanged by this PR.

The PR is marked as WIP to give developers time to object for the removal of MINPVFIL keyword.
2023-04-03 16:37:33 +02:00
Bård Skaflestad
200b6a2cbc Merge pull request #3456 from blattms/support-pinch-maxgap
EclipseGrid: make option 3 (MAX_EMPTY_GAP) of PINCH available
2023-03-30 15:18:01 +02:00
Paul Egberts
e7ae500032 added test for calculation of CFs and IJK coordinates of intersected cells 2023-03-29 17:20:57 +02:00
Paul Egberts
067e645e22 This is a combination of 5 commits.
Reorganizing and renaming files
2023-03-29 17:05:39 +02:00
Paul Egberts
5c9a59644f well trajectory calculation (re)using resinsight code 2023-03-29 17:05:37 +02:00
Markus Blatt
055547c709 EclipseGrid: make option 3 (MAX_EMPTY_GAP) of PINCH available
This is needed to prevent creation of NNCs if the the empty gap created
by pinched out cells is larger than this threshold.
2023-03-28 11:55:14 +02:00
Tor Harald Sandve
bf7cef4ebd Support DIFFCGAS and DIFFCWAT for the CO2STORE module 2023-03-27 10:15:54 +02:00
goncalvesmachadoc
3e08afeafd delete makeState 2023-03-21 14:24:23 +01:00
goncalvesmachadoc
7c29f6c2a5 test read name 2023-03-17 14:26:26 +01:00
goncalvesmachadoc
4c93e18971 integration test framework 2023-03-17 14:26:26 +01:00
goncalvesmachadoc
ca08609810 rebase 2023-03-17 14:26:25 +01:00
Bård Skaflestad
32b104f828 Merge pull request #3449 from totto82/output_moles
add moles unit to unitsystem
2023-03-16 12:33:16 +01:00
Tor Harald Sandve
932ed862d5 add moles unit to unitsystem 2023-03-16 09:18:39 +01:00
Markus Blatt
995ec609e3 Added missing include to ParserTests.cpp 2023-03-08 22:27:46 +01:00
Kai Bao
fceb3515b7 let AquiferConfig handle the AQUFLUX aquifer existence
for summary and restart file output.
2023-02-17 15:44:08 +01:00
Markus Blatt
febb03c9d6 Merge pull request #3395 from akva2/multregp_multiple_record
fixed: process all MULTREGP entries in the deck
2023-02-10 15:03:52 +01:00
Bård Skaflestad
335c375c9d Merge pull request #3391 from goncalvesmachadoc/errorMsgTables
Improve Simple Table errros messages
2023-02-10 12:26:33 +01:00
goncalvesmachadoc
b24130aedc update unit tests 2023-02-09 20:51:41 +01:00
Arne Morten Kvarving
49fb77a339 fixed: process all MULTREGP entries in the deck 2023-02-09 11:00:05 +01:00
Bård Skaflestad
2109552335 Recognise Numbers as Part of UDQ Set Selector
Needed in order to support segment sets which, potentially, have
both a well name pattern and a segment number.

This change also means that we now support *parsing* block (cell)
UDQ sets like

    BPR 11 22 33

and that, in turn, means we detect unsupported UDQ types later than
we used to.  That also means that the error detection exception type
changes, so update affected unit tests accordingly.
2023-02-07 09:47:46 +01:00
Bård Skaflestad
b1f3b3b4cf Adjust Whitespace in UDQ Tests Implementation File
In preparation of adding tests for segment level UDQs.
2023-02-03 17:59:10 +01:00
Bård Skaflestad
2b2330ab24 Prepare for Handling UDQ ASSIGN for Segments
This commit adds support for constructing UDQ ASSIGN records for
enumerated well items such as those encountered in UDQs at the
segment level, e.g.,

    ASSIGN SUSPECT PROD01    123.456 /
    ASSIGN SUSPECT PROD02 17 654.321 /

We do not support this syntax quite yet, but this is a step on the
way there.
2023-02-02 12:43:16 +01:00
Arne Morten Kvarving
9ef643345d Schedule.hpp: forward Well 2023-01-18 11:01:41 +01:00
Arne Morten Kvarving
8e29ef4c07 move string conversion of WellGuideRateTarget to WellEnums.cpp 2023-01-18 09:33:50 +01:00
Arne Morten Kvarving
0ef729ba72 move printing of WellProducerCMode to WellEnums.cpp 2023-01-18 09:20:43 +01:00
Arne Morten Kvarving
a540ac54b8 move printing of WellInjectorCMode to WellEnums.cpp 2023-01-18 09:08:27 +01:00
Arne Morten Kvarving
3d0ca8438b move printing of WellStatus to WellEnums.cpp 2023-01-18 08:59:09 +01:00
Arne Morten Kvarving
ddef6302e6 ParseContext: forward InputErrorAction 2023-01-16 22:17:50 +01:00
Arne Morten Kvarving
edf937e2e5 InputErrorAction: convert to enum class 2023-01-16 22:17:50 +01:00
Arne Morten Kvarving
f51c065772 Well.hpp: forward WVFPEXP 2023-01-16 09:57:57 +01:00
Arne Morten Kvarving
74098e23cd Well.hpp: forward WellEconProductionLimits 2023-01-13 21:16:06 +01:00
Arne Morten Kvarving
80dabaea3b Well.hpp: forward WellPolymerProperties 2023-01-13 14:04:12 +01:00
Arne Morten Kvarving
0750cc8cc2 Well.hpp: forward WellTracerProperties 2023-01-13 12:40:04 +01:00
Arne Morten Kvarving
253bb22e3c Well.hpp: forward WellFoamProperties 2023-01-13 10:16:37 +01:00