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.
This adds a basic protocol for retrieving simple scalar data for
each analytic aquifer, specifically from XAAQ. At the moment we
only support retrieving the aquifer pressure and the total produced
liquid volume from the aquifer and into the reservoir model.
- Include the eclipse_io.cpp file in existing extension library - do not create
a new library.
- Remove Python class EclFile - just expose the C++ through Pybind1, include
some monkey-patching of the class to ensure proper Python strings for CHAR
keywords.
- Remove string based keyword lookup.
- Use standard Python methods __len__, __getitem__ and __contains__; get() is
an equivalent alternative to __getitem__().
- Add property arrays in addition to getListOfArrays()
added files GConSale cpp/hpp.
Schedule: adde GConSale as DynamicState.
Shcedule: added function gConSale.
added function handleGCONSALE.
GConsale: added substruct GCONSALEGroup.
GConSale: empty records added.
GConSale: all values set to zero.
GCONSALE: values stored as UDA.
GConSale: UDAValues to SI.
GConSale: max_proc parsed.
Mostly for converting between std::time_t and broken-down time
stamps. Uses UTC and std::chrono::system_clock. May wrap in as
little as 292 years, depending on the period of system_clock.
Intended to replace various timestamping utility functions from
libecl. A comprehensive time-service protocol for Flow is much more
work than this, and will likely not be easily realized before we
have C++17 and its much expanded time/calendar library.
further changes to Actionx - restart
further changes for Actionx data to Restart file
additional changes to output Actionx data to Restart file
add test data for UDQ-ACTIONX
changes to add unit tests for InteHead - Actionx
Added changes to allow for output of IACT, SACT and ZACT to the E100 compatible restart file
changes to add ZLACT to restart output
Further changes - add ZACN - prelim
further changes to add ZACN to restart file
Additional changes to output IACN and SACN to restart
further changes to add IACN and SACN to the restart file
further changes to make unit tests for Actionx data / keywords
further changes to actionx restart and unit tests therefore
Added code for unit tests - not finished
some changes to correct for changes in upstream/master
changes correct errors in IACN and SACN
Initial work to add Actionx data to Eclipse compatible restart file
further changes to Actionx - restart
further changes for Actionx data to Restart file
additional changes to output Actionx data to Restart file
add test data for UDQ-ACTIONX
changes to add unit tests for InteHead - Actionx
Added changes to allow for output of IACT, SACT and ZACT to the E100 compatible restart file
changes to add ZLACT to restart output
Further changes - add ZACN - prelim
further changes to add ZACN to restart file
Additional changes to output IACN and SACN to restart
further changes to add IACN and SACN to the restart file
further changes to make unit tests for Actionx data / keywords
further changes to actionx restart and unit tests therefore
Added code for unit tests - not finished
some changes to correct for changes in upstream/master
changes correct errors in IACN and SACN
changes to avoid change in output data for restart file
further changes to avoid change in RESTART data
minor change to avoid data change in Restart file
UDQConfig object has merged DEFINE & ASSIGN
Log use of UDA for output purposes
Output UDQ keywords to restart file
Add size() method to UDQConfig
Add UDQVarTYpe member to UDQInput class
Add UDQIndex type to keep track of sequence number of variable types
Add unit to UDQInput class
use maps
Add operator[] to UDQConfig class
Use UDQInput class when creating restart file
UDQInput: use correct input index
Add UDQActive::get() method
Make sure UDQ DEFINE overwrite correctly
WIP
WIP - further code to output IGPH vector
WIP
Fix IUAD input index
Output use_index for IUAD
Fix bug with size of IUAD array
UAD usage hashing based on udqstring and controltype
Add UDQ test and input file
Refactor UDQActive - handles vanishing UDA
minor correction for iuad[1] and for test_UDQ_x.cpp
Further work for making unit tests for UDQ restart data
WIP Further work unit tests
WIP some minor corrections
WIP changes to add first version of BOOST test for IUDQ
WIP Added code to write InteHead and DoubHead data as well as IGPH to restart file,
Further added unit tests to the writing of UDQ data
add code to output IUAP array
Fixed group-group2 transition, disable Restart output
WIP Initial changes to add DUDW array to restart output
WIP further work on DUDW data
WIP - further work to output and test DUDW vector data to restart file
Further changes to write DUDW array to Restartfile
DeckKeyword: new constructor takes recordlist.
DeckKeyword: invalid arg for wrong nr. of records.
DeckValue: type_tag replaces DeckValueEnum.
DeckValue: added as source for genkw.
DeckValue: default is unknown type.
DeckKeyword cosntr w/ record-lists works, but not for defaults.
DeckKeyword: added function add_deckvalue.
.. xx --
...
...
...
...
...
...
...
DeckValue: is<double> true also if integer.
...
...
last commit .m
This commit makes the table linearisation code independent of
LibECL's "ecl_kw_magic.h" header. In particular, we add a new set
of vector items (tabdims.hpp) that describe the items we currently
define and reimplement the member functions of the 'Tables' class in
terms of these items.
Update the unit test accordingly.
calculated and stored as private data members in EclipseGrid.
The API for the class is unchanged except for some minor changes for exportACTNUM, exportZCORN and exportCOORD.
These changes have triggered some very few modifications in the opm-grid and opm-simulators repo.
This commit implements a new file writing function
void Opm::RftIO::write()
that is intended to replace the current RFT output functionality
defined in terms of private class 'RFT' in EclipseIO.cpp. We
support the basic RFT output consisting of
- Timestamp (elapsed and date)
- WELLETC metadata including all unit conventions
- Connection cell (I,J,K), connection cell hostgrid (blank for
main grid only), connection cell centre depth, connection cell
pressure, and connection cell water and gas saturations
Connections in inactive cells are omitted. Note that unit of
measure strings aren't implemented in terms of UnitSystem::name()
due to the strings being padded on the left for centering effect.
Add unit tests to exercise the new writer.