Commit Graph

104 Commits

Author SHA1 Message Date
Joakim Hove
0a59bd8f61 Filesystem rename EclipseState/Schedule/ Schedule/ 2022-01-02 14:32:14 +01:00
Joakim Hove
aede532b9a Filesystem rename parser/eclipse/ input/eclipse 2022-01-02 14:32:14 +01:00
Bård Skaflestad
65538e3ac9 Save/Restore Connection Level Cumulatives to/from Restart
This commit add support for saving connection-level cumulative
quantities (e.g., those denoted by summary vectors COPT or CVIT) to
the restart file (in the 'XCON' array) and to restore these values
back to the 'SummaryState' object upon simulation restart.

Thanks to Torbjørn Skille and Jostein Alvestad for invaluable
assistance in characterising these XCON items.
2021-10-20 15:47:12 +02:00
Joakim Hove
75d05312b7 Add WellTestState argument to IO routines 2021-10-04 20:42:39 +02:00
Bård Skaflestad
4e14cb68e1 Collect Type-Specific Aquifer Data in Single Structure
This commit adds a new helper class,

    Opm::data::TypeSpecificData

which holds type-specific sub-structures for Carter-Tracy,
Fetkovich, and Numerical aquifers.  We implement this facility in
terms of a std::variant<> of simple structures.  In turn, use the
type-specific data for numerical aquifers to fill in the initial
aquifer cell pressures where not available in the input data.
2021-06-25 11:55:56 +02:00
Bård Skaflestad
a1fd22d578 Make Aquifer Data a First Class RestartValue
This commit promotes the 'aquifer' data member of 'RestartValue' to
first class status.  In particular, this means that users must
provide aquifer data, albeit possibly empty, when constructing the
RestartValue object for input or output.

This is in preparation of using more dynamic aquifer quantities from
the simulator layer as part of the restart I/O.
2021-05-28 17:41:29 +02:00
Bård Skaflestad
15150bee50 Add Communication Support for Dynamic Aquifer Data
This commit introduces 'MessageBuffer' read and write operations for
the CarterTracyData and FetkovichData structures in preparation of
communicating these substructures from parallel processes to the IO
rank.  This is foundational work for retrieving more of the dynamic
quantities pertaining to aquifers from the simulation layer.
2021-05-28 17:41:29 +02:00
Bård Skaflestad
d43e358d01 Activate Aquifer Restart Output
This commit hooks the aquifer restart output facility (output arrays
{I,S,X}AAQ and {I,S,A}CAQ) up to the general "RestartIO" module.  If
a simulation run uses analytic aquifers we construct an aquifer
output object at simulation start and store this in an optional<> in
the internal implementation object.  Otherwise the optional holds
nullopt.  We expand RestartIO::save() to take such an optional by
reference and aggregate/output aquifer information, directly after
the well information, if the optional holds a value.  Update callers
accordingly.
2021-04-14 20:58:19 +02:00
Joakim Hove
8258d65900 Update test fixtures 2021-03-23 09:33:06 +01:00
Joakim Hove
18dca82a8b Handle empty regions in summary region results 2021-03-08 16:29:56 +01:00
Joakim Hove
48b366b1f9 Add fieldprops argument to SummaryConfig constructor 2021-03-08 08:23:01 +01:00
Joakim Hove
7b896359f6 Part 2: Use Opm::time_point 2021-03-03 15:13:34 +01:00
Joakim Hove
564c207a05 Use SummaryState::get_well_var() 2021-02-09 21:51:26 +01:00
Torbjørn Skille
a8461fd121 Updating class ERst
- rename member function from getRst -> getRestartData
 - adding support for parsing and reading data for LGRs
 - a number of member functions made const
 - updated python bindings for this class
2020-12-01 23:06:44 +01:00
Joakim Hove
7ef7e3017e Add class WellMatcher and use it UDQ evaluation 2020-10-30 22:17:59 +01: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
Kai Bao
6093a80dff fixing the compilation due to interface change 2020-10-02 14:09:01 +02:00
Bård Skaflestad
6ea0e73512 Prepare for Creating Network-Level Summary Output
This commit adds a level of indirection to the existing group-level
data (active controls and guiderates), and adds a new 'NodeData'
level to the 'data::' protocol for transporting values from the
simulator to the output layer.

Update all call sites and users accordingly.
2020-09-20 17:46:01 +02:00
Joakim Hove
8d11a04033 Add report_step argument to UDQConfig::eval() 2020-09-08 08:23:45 +02:00
Joakim Hove
11e70ca779 Handle undefined UDQ expressions 2020-09-02 23:03:03 +02:00
Joakim Hove
3b0e795e0b Add UDQState argument to output writer 2020-09-01 13:18:59 +02:00
Joakim Hove
305b2a166a Add data::GroupValues member to RestartValue 2020-07-03 16:40:42 +02:00
Joakim Hove
1704a35a92 Recover UDQ values from restart file 2020-06-25 16:18:59 +02:00
Joakim Hove
dd1591f1a2 Use Action::State object to keep track of actions being run 2020-06-18 16:45:39 +02:00
Joakim Hove
5444eade2f Use std::shared_ptr<Python> for Python argument in Schedule 2020-03-31 10:26:55 +02:00
Bård Skaflestad
1113c25eb1 Restart: Save/Restore Cumulative Injected Reservoir Volume
This commit adds support for persisting the *VIT cumulative summary
vector at the well, group, and field levels in the simulation
restart files.  Connection level currently not supported.
2020-03-27 14:59:29 +01:00
Joakim Hove
50fb51d56e Add Python arg to Schedule constructor 2020-03-27 12:43:18 +01:00
Joakim Hove
cdbccce62a Ensure base restart file is written before loading restarted case 2020-01-30 10:20:01 +01:00
Joakim Hove
fc20150336 Use time points from Schedule in restart testing 2020-01-30 10:20:01 +01:00
Joakim Hove
a33108dee0 Properly differentiate between base case and restart case in test 2020-01-29 12:45:42 +01:00
Joakim Hove
1d8ea3c92e Remove unused inline test data 2020-01-29 11:35:28 +01:00
Joakim Hove
198b208258 Test use of FieldPropsManager in WellConnections 2019-11-29 16:42:29 +01:00
Arne Morten Kvarving
529a181617 fixed: serialize thp to OPM_XWEL 2019-11-28 23:22:14 +01:00
Arne Morten Kvarving
6600994104 added: comparison operators for various output structures 2019-11-28 13:30:48 +01:00
Torbjørn Skille
c6f8a41c43 updates of ERst api, supports multiple occurrences of array names 2019-11-05 15:01:17 +01:00
Arne Morten Kvarving
c06d5912ea fixed: build using gcc 5 (ubuntu xenial)
the tuple-from-initializer-list constructor is explicit.
2019-10-17 09:49:15 +02:00
Bård Skaflestad
d1db2ec396 Reimplement test_Restart in Terms of TimeStampUTC
Only affects the 'first_sim()' helper function.
2019-10-16 20:03:08 -05:00
Bård Skaflestad
411da1d8a5 Make 'test_Restart' Mostly Independent of libecl
In particular, swith to using class EclIO::ERst to read the files
produced by RestartIO::save().
2019-10-14 06:13:38 -05:00
Joakim Hove
ff69737b99 Add start_time argument to SummaryState 2019-09-19 22:09:15 +02:00
Joakim Hove
5748d06914 Remove unused arguments from EclipseIO::writeTimestep() 2019-06-14 14:38:25 +02:00
Joakim Hove
08305b6e30 Extract Summary::eval() out from Summary::add_timestep() 2019-06-07 14:45:18 +02:00
Bård Skaflestad
16e49a0223 RestartIO: Reimplement save() in Terms of OutputStream::Restart
This commit switches the file handling operations of the gateway
function RestartIO::save() to using the OutputStream::Restart
component.  Briefly, this means replacing write_kw() function calls
with calls to Restart::write(), especially since the latter natively
handles PaddedString<8> data.
2019-06-03 14:19:48 +02:00
Joakim Hove
94b160258e Remove old well implementation 2019-05-22 21:44:50 +02:00
Joakim Hove
9e288a9d78 Refactor SummaryState
- Change SummaryState::add() -> SummaryState::update(), the
   SummaryState::update() method is semantically aware of totals.

 - Add an internal variable to the SummaryState class to keep track of the
   elapsed simulation time.
2019-05-13 11:06:32 +02:00
Joakim Hove
04d42c2f4e Move well and well related files to Well/ subfolder 2019-03-08 07:15:49 +01:00
Bård Skaflestad
e685eccdc9 Restart: Save/Restore Historical Cumulative Production
This commit adds support for saving and restoring cumulative
production quantities like WOPTH, GWPTH, FGPTH, GGITH, and WWITH.
While here, also cater to the case of wells alternating between
injecting gas and injecting water.  This means that we'll save and
restore cumulative gas/water injection for all injectors,
irrespective of current injecting phase.

Update unit tests accordingly.
2019-02-10 19:14:30 -06:00
Bård Skaflestad
9e97dde466 Restore Cumulative Summary Quantities in Restart
This commit hooks the new helper function restore_cumulative() up to
the gateway restart function

    RestartIO::load()

by changing the return type from "RestartValue" to

    std::pair<RestartValue, SummaryState>

with the pair's '.second' being restore_cumulative()'s return value.

Update callers including unit tests accordingly, specifically such
that the gateway function

    EclipseIO::loadRestart()

internally resets its Summary object's cumulative quantities using
'load().second'.  This is, strictly speaking, a violation of the
"const" qualifier on EclipseIO::loadRestart(), but the language
permits the usage because the 'impl' pointer in this case will be a
constant pointer to a mutable 'Impl' object.
2019-02-10 19:14:29 -06:00
Joakim Hove
2cd6fa2f49 Add overloads without ParseContext and ErrorGuard - update all tests 2019-01-04 13:59:28 +01:00
Joakim Hove
1ba51534ae Move SummaryState implementation to EclipseState/Schedule/ 2018-11-09 20:44:37 +01:00
Joakim Hove
967e3ad3af Merge pull request #526 from totto82/addDRSDTR
Add DRSDTR and DRVDTR
2018-11-06 08:21:32 +01:00