Commit Graph

2253 Commits

Author SHA1 Message Date
Joakim Hove
cd990599b4 The type of a segment must be explicitly initialized 2020-02-12 10:00:31 +01:00
Joakim Hove
1a1b796cb6 Refactor Aquifetp class
- Make constructor and operator== for struct
- Make constructor and accessor for serialization
- Initial pressure stored in std::pair<bool, double>
- Add size() and begin() and end()
- Remove unused memmbers cell_id and inftableID
- Use ParserKeywords::AQUIFETP class instead of string lookup
2020-02-07 07:30:22 +01:00
Joakim Hove
140a1c0bf3 Add accessor and constructor for serialization 2020-02-07 07:30:22 +01:00
Joakim Hove
f91630a62d Add operator== to AQuiferCT
Initial pressure is stored as std::pair<bool, double> instead of
std::shared_ptr<double>.
2020-02-07 07:30:22 +01:00
Joakim Hove
f666ab0544 Refactored the AquiferCT class to construct AQUCT_data struct 2020-02-07 07:30:22 +01:00
Joakim Hove
a505f59096 Add begin(), end() and size() to AquiferCT class 2020-02-07 07:30:22 +01:00
Joakim Hove
ca4c10f810 Use TableManager in AquiferCT constructor 2020-02-07 07:30:22 +01:00
Joakim Hove
42fc0666be Rst connection - use proper enums for direction and state 2020-02-06 11:59:10 +01:00
Joakim Hove
8f213b19d6 Merge pull request #1447 from akva2/simplify_tuning
changed: simplify Tuning handling
2020-02-05 07:50:41 +01:00
Arne Morten Kvarving
dab3ba807a changed: simpify Tuning handling
make Tuning a simple struct, and store as a DynamicState<Tuning>.

in the process the unused setTuningInitialValue is removed. it was
only used in unit tests and seem like a leftover
2020-02-04 10:42:43 +01:00
Joakim Hove
3c5ae4bf44 Add Schedule::addWell() overload which does not take Deck arguments 2020-01-30 10:38:41 +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
936f142233 Add class RockConfig under SimulationConfig 2020-01-29 15:04:31 +01:00
Joakim Hove
76229f95be Made IOConfig a member of RestartConfig 2020-01-29 00:27:35 +01:00
Joakim Hove
7036c3ee45 Remove unused constructor 2020-01-29 00:27:35 +01:00
Joakim Hove
3730cadcd8 Minor reorder 2020-01-29 00:27:35 +01:00
Joakim Hove
0b19eb7ffb Remove unused method declarations 2020-01-29 00:27:35 +01:00
Arne Morten Kvarving
5e546086fb Merge pull request #1435 from akva2/hide_fprops_ifaces
changed: hide the templated 'has' and 'get' interfaces in FieldPropsManager
2020-01-28 15:33:49 +01:00
Arne Morten Kvarving
ae10af208f changed: hide the templated 'has' and 'get' interfaces in FieldPropsManager
motivation: an upcoming parallel frontend to the field props manager.
templated functions cannot be virtualized, and thus having these exposed
would give a great chance of confusing the users in the downstream
code, where properties would be caught from the (potentially) empty
backend instead of from the frontend.
2020-01-28 14:31:25 +01:00
Joakim Hove
79a75eba2a Add public accessor TimeMap::restart_offset() 2020-01-28 12:49:27 +01:00
Joakim Hove
d1608ea2cf Merge pull request #1430 from joakim-hove/ecl-bc
Add class to internalize BC keyword - and add to SimulationConfig
2020-01-28 11:03:43 +01:00
Joakim Hove
c9f6326dc5 Add class to internalize BC keyword - and add to SimulationConfig 2020-01-27 11:55:15 +01:00
Bård Skaflestad
7c1b77ec5d Internalise TOLCRIT Keyword
This commit internalises the TOLCRIT keyword into the EclipseState
for subsequent use in determining critical saturations when
processing saturation function keywords such as SGOF and SOF3.
Specifically, we add a new type

    Opm::SatFuncControls

that, at present, stores only the TOLCRIT data item (defaulted to
the keyword's default value).  Client code can then retrieve the
value by calling the

    SatFuncControls::minimumRelpermMobilityThreshold()

member function.

Add a new data member of this type to the Opm::Runspec class so that
we complete the chain from EclipseState, and a few simple unit tests
to exercise the expected functionality.
2020-01-24 20:58:38 +01:00
Joakim Hove
db8ded1f09 Pass restart info to TimeMap constructor 2020-01-24 19:27:53 +01:00
Arne Morten Kvarving
1c2a284ee8 remove unused member m_first_restart_step from IOConfig 2020-01-24 13:13:22 +01:00
Joakim Hove
fd698139f5 Remove special code for serialization 2020-01-22 18:50:59 +01:00
Bård Skaflestad
2539a0d0e9 Merge pull request #1425 from joakim-hove/time-map-immutable
Time map immutable
2020-01-22 18:45:34 +01:00
Joakim Hove
fc9958bb0c Remove TimeMap( start_time ) constructor 2020-01-22 16:56:42 +01:00
Joakim Hove
63e99fb807 Make mutable accessors in TimeMap private 2020-01-22 16:23:37 +01:00
Joakim Hove
2d8151808f Add TimeMap(std::vector<std::time_t>& ) constructor 2020-01-22 16:23:37 +01:00
Arne Morten Kvarving
448ea5f3ab added: gravity flag to InitConfig 2020-01-22 12:47:39 +01:00
Joakim Hove
51daf43cef Merge pull request #1422 from akva2/noecl_flush_prestate
More serialization preparation
2020-01-22 06:30:57 +01:00
Arne Morten Kvarving
6a1acc15b8 make FaultCollection constructible from variables
also add accessor and equality operator
2020-01-21 15:22:10 +01:00
Arne Morten Kvarving
d5d5a01503 make Fault constructible from variables
also add default constructor and accessor
2020-01-21 15:22:10 +01:00
Arne Morten Kvarving
86b3566229 make FaultFace constructible from variables
also add default constructor and equality operator
2020-01-21 15:22:10 +01:00
Arne Morten Kvarving
be799586c8 make TransMult constructible from variables
also add default constructor and equality operator
2020-01-21 15:22:10 +01:00
Arne Morten Kvarving
43fae042b1 make EclipseConfig constructible from variables
also add default constructor and equality operator
2020-01-21 15:22:10 +01:00
Arne Morten Kvarving
4c49aea83e allow construction MULTREGTScanner from variables
also add accessors, equality operator, copy constructor,
assignment operator and make it default constructible
2020-01-21 15:22:10 +01:00
Arne Morten Kvarving
48bca722f5 changed: store reference to FieldPropsManager as a pointer
default initialization required for serialization
is not possible with a const ref member
2020-01-21 15:22:10 +01:00
Arne Morten Kvarving
83b3b5bab6 add equality operator to MULTREGTRecord 2020-01-21 14:36:00 +01:00
Joakim Hove
691296f91a Remove old 3D property implementation 2020-01-19 23:04:46 +01:00
Arne Morten Kvarving
df5baad233 fixed: return by const ref 2020-01-17 10:08:50 +01:00
Arne Morten Kvarving
13db196c5c fixed: missing CTFKind parameter in Connection 2020-01-17 10:08:50 +01:00
Arne Morten Kvarving
828cd2ee9a fixed: add missing initializer 2020-01-17 10:08:50 +01:00
Bård Skaflestad
8f182db27a Rework RFT Config to Handle More Cases
Generally, this commit captures more of the surrounding context of
calls to the updateRFT() and updatePLT() member functions.  We need
this additional context in order to handle the conflicting semantics
of output requests WRFT and WRFTPLT:FOPN.  The former generates RFT
output when the well opens if this event does not happen earlier in
the simulation schedule than the output request.  Otherwise no RFT
data is emitted.  The latter outputs RFT data at request time if
well opens no later than the request; otherwise at well-open time.

To this end, switch the well_open_rft_name data member from an
unordered_set of well names into an unordered_map from well names to
RFT output request times.  With this additional information we can
use well_open_rft_time to infer the appropriate response to whether
or not to activate RFT output at well open time.  Moreover, we now
guarantee that no RFT output is ever activated before the first RFT
output request.

Switching the type of the well_open_rft_name data member also begets
an API update to the serialization related RFTConfig constructor and
to the return type of RFTConfig::wellOpenRftName().

We furthermore switch to caching the first RFT output event in a new
scalar data member, first_rft_event.  This caching, coupled with the
additional calling context mentioned earlier, means we are now able
to report a high-fidelity, constant time answer to the

    RFTConfig::firstRFTOutput()

request.  This, in turn, is very useful for the RFT output code.
Finally, we also add a couple of new, private member functions to
simplify updating first_rft_event depending on context.

As part of this update, member function

    RFTConfig::setWellOpenRFT(report_step)

will now use the minimum of all 'report_step' values to support the
WRFT keyword being specified more than once.

Finally, add a set of unit tests to exercise the various RFT output
request combinations.

While here, also switch to using unordered_map::find() and emplace()
where possible to limit repeated look-up of the same keys.
2020-01-14 15:58:34 +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
a6ddce5d92 Add basic Python exec of PYACTION 2020-01-13 15:15:21 +01:00
Atgeirr Flø Rasmussen
b3f8209542 Silence some warnings. 2020-01-13 10:07:33 +01:00
Joakim Hove
35619721a3 Well::updateStatus can optionally update status of connections 2020-01-11 06:55:22 +01:00
Joakim Hove
67f95e8548 Add Schedule::xxx_well() for well status manipulations from Python 2020-01-11 06:54:25 +01:00