Needed to ensure we create the same summary/specification files as
the existing system. We will revert this change once the new system
is in place and we can afford to update the reference solutions.
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
To support field properties with only active cells the Box class has been
extended to give a set of active indices for a box. In addition the BoxManager
has been refactored:
- Use std::unique_ptr<Box> to enable "has no box" situation.
- Removed several unused getXXX() methods.
And the begin() and end() iterators have been removed from the Box class.
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 introduces a new OutputStream class for representing the
summary specification file (.SMSPEC). The stream is constructed
with constant data (output directory, basename, start date &c), and
provides a single write() member function that outputs a summary
specification.
Each call to write rewinds the underlying stream's output position.
Class EclOutput grants friendship to the new output stream class in
order to support easy stream rewinding.
Add a unit test to exercise the new class.
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.
This commit removes the original member functions
void Tables::addPVTO()
void Tables::addPVTW()
void Tables::addPVTG()
since these are no longer needed. The PVT tables are now defined in
terms of the 'addPVTTables()' member function
While here, also remove the fwrite() free function which was defined
in terms of LibECL types.
Update the unit test accordingly.
This commit decouples the UnitSystem class from the LibECL type
ert_ecl_unit_enum. This, in turn, makes UnitSystem independent of
LibECL.
Update the unit test accordingly, and include <ert/util/util.h>
where needed. This header was included transitively through
UnitSystem.hpp before.
This commit reimplements the SummaryNode class in order not to use
the ecl::smspec_node class from LibECL. Consequently, we remove
class SummaryConfig's binding to LibECL.
Class SummaryNode maintains the same information as before. We also
implement a "named constructor" strategy to assign data members that
only make sense for a subset of the node categories. The previous
member function 'type' is renamed to 'category' to identify the
attachment category (e.g., Well, Group, Field, Block, Region). In
turn, we introduce a new 'type' member function to identify the
parameter kind (e.g, pressure, rate, cumulative total, well count)
represented by a given node. We furthermore capture whether or not
the node is a user defined quantity (i.e., a UDQ).
We reimplement the keyword classifier operations that are currently
needed as free functions named 'is_*()' in SummaryConfig.cpp.
Note that in addition to the renamed member functions of class
SummaryNode, this commit also switches the summary key strategy for
block parameters. Rather than capturing the 'ijk' values
individually as "BOSAT:3,3,6", we now store the equivalent global
(Cartesian) index (i.e., as "BOSAT:523"). Code that directly
constructs block parameter keys must be updated accordingly.
Chase the API change in the 'Summary' constructor and update unit
tests as needed.
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 adds a new query method,
bool Schedule::hasGroup(groupName, timeStep)
which report whether or not a particular named group exists at a
particular time step (zero-based report step index). If this
function returns 'true', then it is always safe to call
Schedule::getGroup2(groupName, timeStep)
with the same arguments. Otherwise, the latter will throw an exception.
The new 'hasGroup' overload thus enables the same query types as the
existing 'hasWell' overload set. The immediate use case for this
new overload is a reworking of the system for evaluating derived
summary parameters (e.g., FOPT or GGLR).
Add a new unit test to exercise the new overload.
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.