Commit Graph

63 Commits

Author SHA1 Message Date
Arne Morten Kvarving
8ea4d68e7a ThresholdPressure: internalize THPRESFT keyword 2022-11-24 10:47:10 +01:00
Arne Morten Kvarving
e23feb31f1 RockConfig: add missing include 2022-11-23 12:23:26 +01:00
Arne Morten Kvarving
be90d11b3b BCConfig: add missing include 2022-11-23 12:23:10 +01:00
Tor Harald Sandve
17d0ccee83 use initial pressure and temperature as default in bc dirichlet 2022-11-04 12:10:06 +01:00
Markus Blatt
75b78bf659 Merge pull request #3185 from totto82/bc_dirichlet
extend BCType with dirichlet
2022-11-02 19:48:09 +01:00
Bård Skaflestad
d1a2063520 Merge pull request #3187 from plgbrts/rwgsalt
RWGSALT table implementation based on PvtxTable
2022-11-01 17:16:04 +01:00
Tor Harald Sandve
e90ee06e74 change order of directiona and type and support default ijk 2022-10-27 08:30:26 +02:00
Paul Egberts
d1de06b1e6 RWGSALT table implementation based on PvtxTable 2022-10-20 11:09:46 +02:00
Tor Harald Sandve
e9c93975cf extend BCType with dirichlet 2022-10-19 09:17:54 +02:00
Arne Morten Kvarving
69839e8766 added: FaceDir::FromIntersectionIndex
this translates from a dune intersection id to a FaceDir::DirEnum
2022-10-17 14:44:13 +02:00
Ove Sævareid
c1d916f66e Neutral initialisation of flags. 2022-10-10 14:17:14 +02:00
Ove Sævareid
121a062abe Support for capillary pressure hysteresis. 2022-10-05 14:13:36 +02:00
Arne Morten Kvarving
fb0f3c451e changed: rename serializeObject to serializationTestObject
makes it more clear what these members are used for.
2022-10-04 14:10:30 +02:00
Tor Harald Sandve
7e34f86f42 Merge pull request #3113 from hakonhagland/fieldprops
Add support for directional relative permeabilties
2022-09-26 09:09:52 +02:00
Bård Skaflestad
95e78f64ad Merge pull request #3148 from akva2/serializer_simplify
changed: only use operator() for the serializer
2022-09-16 13:08:31 +02:00
Håkon Hægland
9e143482cf Add a unknown value to the facedir enum
This is will be used by code in opm-models and opm-simulators to
identify a face direction that is not known or not important.
2022-09-14 23:40:49 +02:00
Håkon Hægland
63f5dbdb81 Add debugging output method to FaceDir 2022-09-14 15:34:33 +02:00
Håkon Hægland
14f9c41613 Add KRNUM to recognized field props 2022-09-14 15:34:33 +02:00
Bård Skaflestad
25daf13909 Merge pull request #3107 from plgbrts/equil
keyword RVWVD to specify vaporized water-gas ratio  vs depth tables
2022-09-14 14:28:45 +02:00
Arne Morten Kvarving
6576370c19 changed: only use operator() for the serializer 2022-09-14 10:33:56 +02:00
Paul Egberts
f55bbefd18 addition of entry in EQUIL keyword for water-gas ratio initialization 2022-09-13 17:58:28 +02:00
Markus Blatt
ff3da8cc79 Merge pull request #3146 from akva2/janitoring
Some janitoring
2022-09-12 12:36:21 +02:00
Tor Harald Sandve
d10ed6c953 Merge pull request #3109 from totto82/tempAquifer
add support for temperature and analytical aquifers
2022-09-12 07:32:49 +02:00
Arne Morten Kvarving
6546b780f8 fixed: respect rule-of-three for EclipseGrid
no need to explicitly declare the cc
2022-09-09 08:06:09 +02:00
Arne Morten Kvarving
43c66042da add virtual dtor in class with virtual members 2022-09-09 07:46:18 +02:00
Arne Morten Kvarving
d42481b747 add serializeObject to TranCalculator 2022-09-07 10:31:47 +02:00
Arne Morten Kvarving
0b1280ceec FieldProps(Manager): remove unused serialization code 2022-09-07 10:24:01 +02:00
Arne Morten Kvarving
0c4492500b added: support serialization for TranCalculator
and some accessors to enable downstream to use it
2022-09-07 09:38:27 +02:00
Paul Egberts
feb695e1fd new keyword RVWVD to specify vaporized water-gas ratio RVW vs depth tables 2022-09-05 10:06:12 +02:00
Arne Morten Kvarving
d09c275fe4 adjust for map serializer API change 2022-09-02 17:20:14 +02:00
Tor Harald Sandve
072b8be064 add support for temperature and analytical aquifers 2022-09-01 12:28:22 +02:00
Kai Bao
61e68dccb6 fixing running when only analytical aquifer connections defined
without this, the restart writer will trigger a segmentation fault
error.

And also, some minor refactoring and function development so that the
simulator can check whether there are valid connections defined for
aquifers with certain id.
2022-08-24 09:31:20 +02:00
Arne Morten Kvarving
ef6d448077 changed: remove include of EclipseState.hpp in header
and deal with the consequences
2022-07-26 16:03:52 +02:00
Bård Skaflestad
a79ee15082 Decouple Opm::Box From EclipseGrid
This commit switches to constructing Box instances from a GridDims
and two call-back functions instead of taking an EclipseGrid
directly.  The two call-back functions are a predicate for active
cells and a translation from Cartesian to active cell indices
respectively.

This is intended to simplify working with nested boxes, such as
those that occur for local grid refinement.
2022-07-05 14:27:49 +02:00
Bård Skaflestad
5377ff3442 Streamline GridDims::getIJK()
This commit switches the Cartesian -> IJK decomposition in GridDims
from K->J->I into the I->J->K order.  The latter is simpler.

While here, also consistently use 'std::size_t' instead of 'size_t'.
2022-07-04 15:06:07 +02:00
Bård Skaflestad
c740b3705d Handle Active Cell/Numerical Aquifers In Constructor Body
The constructor did implicitly assume that no cell in a numerical
aquifer would be declared inactive in ACTNUM, and this restriction
still applies.  Moving numerical aquifer property and connection
processing into the constructor body enables using existing member
functions for non-neighbouring connections and removes a branch that
obscured the fact that we should have ACTNUM be as close to
finalised as possible before creating analytic aquifer connections.
2022-07-04 14:08:11 +02:00
Bård Skaflestad
1516b63a39 Merge pull request #3065 from blattms/ordered-map-truncate-key
Use only first 8 characters as fault name when comparing/searching.
2022-06-28 10:22:35 +02:00
Markus Blatt
35029e0313 Only use first 8 characters as fault names when comparing/searching.
Note this is currently done silently as the warnings will probably
need to go to the validation code in opm-simulators.
2022-06-27 11:14:41 +02:00
Markus Blatt
19c58e33c4 Document at least what OrderedMap class is all about. 2022-06-27 11:14:22 +02:00
Markus Blatt
d4cd92ee40 Support ignoring additional characters in key of OrderedMap.
At least for faults we should only look at the first 8 characters.
2022-06-27 11:14:22 +02:00
Bård Skaflestad
013b279682 Apply Generalised ACTNUM Handling to All Grid Types
Commit eca858335 introduced a more comprehensive way of forming the
initial ACTNUM array used when constructing the EclipseGrid from a
corner-point description.  This commit applies that strategy to all
known grid types.  As an additional benefit this will also cover one
special case that was not handled and would effectively discard the
work done in the generalised initial ACTNUM construction.

Add unit tests to exercise the ACTNUM handling for other grid types.
2022-06-24 14:01:17 +02:00
Bård Skaflestad
254b2e2862 Extract Common Base Class For Flat Tables With Record Copying
This commit introduces a new helper template class,

    FlatTableWithCopy<RecordType>

which wraps a vector<RecordType>, provides constructors from
DeckKeyword and initializer_list<RecordType> and handles copying
tables for all-defaulted records.

We reimplement the PVTW, DENSITY, and GRAVITY tables in terms of
this helper class to reduce duplication.  If the copy behaviour is
generally useful/needed we expect to replace the existing FlatTable
mechanism with the new helper.

Suggested by: Markus Blatt
2022-06-24 12:56:08 +02:00
Markus Blatt
b4eb8fbd4f OrderedMap: Remove template parameter for key type.
It is only used with std::string anyway.
2022-06-24 09:32:10 +02:00
Bård Skaflestad
d35abfddb6 Implement Defaulted Table Copy for DENSITY and GRAVITY
Use the same targeted strategy as for PVTW.
2022-06-23 16:04:50 +02:00
Bård Skaflestad
433cc4d649 Treat All-Defaulted PVTW Record as Copy of Previous
A simulation model may choose to give PVTW data as

    PVTW
      1.0 1.0 1.0e-5 0.2 0.0 /
      /  -- record 2 (copied from record 1)

if, for instance, the oil and/or gas tables are different in regions
1 and 2, but the water is the same.  In this case we must properly
copy record 1 into record 2 and essentially recreate the table.

To this end, decouple the 'PvtwTable' from the 'FlatTable' machinery
and make the former into an independent type containing vector<>
instead of inheriting from vector<>.  Implement the default->copy
behaviour in the new PvtwTable::PvtwTable(const DeckKeyword&)
constructor.
2022-06-23 16:04:50 +02:00
Bård Skaflestad
531803eb0a Merge pull request #3061 from ElyesAhmed/alugrid
assert if Alugrid can be initialized from Deck: check format and geometry
2022-06-22 16:36:41 +02:00
Bård Skaflestad
7b31522fdd Merge pull request #3062 from blattms/import-error-fault
Improves error messages on faults when additional chars are used.
2022-06-22 11:48:00 +02:00
Markus Blatt
9e1aaca9e9 Improves error messages on faults when additional chars are used.
Faults are stored in an OrderedMap with the full string used during
construction even if that is longer than 8 characters. When later
these faults are e.g. modified whith MULTFLT using only the first 8
characters, the only message the user got was

```
An error occurred while creating the reservoir properties
Internal error: Key not found:

Unrecoverable errors while loading input: Key not found
```

With this patch we at least add some more context to the error
message:

```
Error:
An error occurred while creating the reservoir properties
Internal error: [/../EclipseState.cpp:362] Could not set fault transmissibility multiplier 5.23166e-10 for fault CFN2_05t: Key ABCD_05q not found. Similar entries are ABCD_05q_extended_width, UABCD_05q_extended_width.
```
2022-06-22 11:35:40 +02:00
Elyes Ahmed
04736dcbd0 removing methods for specific grid 2022-06-22 11:25:31 +02:00
Elyes Ahmed
d0a1101bc8 assert if Alugrid can initialized from Deck: check format and geometry 2022-06-21 14:49:13 +02:00