RigConnectionContainer was a thin wrapper around std::vector<RigConnection> with no added value beyond push_back/reserve/remove_duplicates. Replace it everywhere with std::vector<RigConnection> and inline the remaining container-merge and deduplication logic at their single call sites.
opm-common scales MAPAXES to meter based on the MAPUNITS keyword, while COORD and ZCORN are left in the units given by GRIDUNIT. The map axis transform uses normalized axes plus an origin translation, so the origin must be in grid units to match the node coordinates. Scale the map axes accordingly, and use with_mapaxes() as the guard, as get_mapaxes() returns a fixed size array that is only assigned when the MAPAXES keyword is present. The duplicated map axes handling in the two readers is moved into a shared function.
RivSingleCellPartGenerator-Test.cpp and RivIjkIntersectionGeometryGenerator-Test.cpp both define buildBoxGrid in an anonymous namespace. The definitions do not collide as long as the two files end up in different unity build chunks, but adding a test file repartitions the chunks and the build then fails with a redefinition error.
Switch the message parameter from const QString& to std::string_view so
callers with std::string in hand no longer need a QString::fromStdString
wrapper. The internal duration formatting still uses QString::arg, fed
from a single QString::fromUtf8 conversion.
Callers passing QString locals are updated with .toStdString() at the
call site.
Migrate all callers to use type-safe ReservoirCellIndex and
ActiveCellIndex wrappers, then remove the deprecated isActive(size_t),
cellResultIndex(size_t), and setCellResultIndex(size_t, size_t) methods.
ACTNUM is always present in the EGRID file, but not always in the INIT
file. The OPM reader's staticResult() searched only the INIT file, so
models that omit ACTNUM from INIT returned an empty result vector,
causing all cells to display as undefined.
Fix by deriving ACTNUM values directly from the active cell info, which
is populated from the EGRID during grid import via transferActiveCells().
- Add shared utility functions in RifEclipseOutputFileTools:
- unitValueToEnum(): Convert int unit value to optional enum
- determineUnitSystem(): Apply unit preference hierarchy and log warnings
- Implement correct unit preference hierarchy: egrid > init > unrst
(previously was unrst > init > egrid)
- Add validation and warning when different unit systems are detected
across files
- Enhance grid unit parsing with debug logging to explicitly document
support for "m" as abbreviation for "METRES"
This change centralizes the logic for determining available phases from
various file formats (ECL, OPM) and data structures (INTEHEAD keyword)
into a single, well-defined function.
The new `RiaOpmParserTools::phasesFromInteheadValue` function now handles the
conversion from an integer phase indicator to a set of `PhaseType` enums.
This function is used in both the ECL and OPM readers.
Updates the `RifEclipseUnifiedRestartFileAccess` and `RifReaderEclipseOutput`
to use `RifEclipseOutputFileTools::findAvailablePhases` to get the available phases
* Add radial display mode to preferences
* Adds isRadial to grid
* Improve mesh lines for radial cells
For temporary radial LGRs, show mesh outline based on the aggregated geometry of all LGRs of the parent cell clicked on.
* Improve warning message
* Modify cell selection in pick event handler
* Remove unused includes
* Use designated initializers struct members
* Add warning for active cell opm grid reader
* Moves radial grid import to file readers
* Adapts cell range filter labels for radial grids
* Update opm-common submodule and use branch development https://github.com/CeetronSolutions/opm-common/tree/development
* Add cmake-format of ThirdParty/custom-opm-common/CMakeLists.txt
* Add boost-test
* Update generated files and simplify CMake configuration
Add -D_USE_MATH_DEFINES to CMake to avoid multiple local defines
Introduce flag CREATE_OPM_COMMON_KEYWORDS used to generate C++ files JSON files. This enables use also in MSVC. Remove obsolete direct include of source files.
* Update generated ESMRY test file
There was a invalid extra : postfix for some keywords like NEWTON and other N* keywords. When creating ESRMY using updated opm-common fix this issue.
* Update URL for custom-opm-common
* Only load active cells for main grid, skip LGRs for now
* Handle wells with inactive cells
* Validate mapaxes transform before using it.
* Add log message
* Additional guarding when trying to find the geometrical location of a simulation cell
* Add extra safeguarding for init/restart file access in opm common. Only support unified restart files.
* Update opm-common EGRID reader to support LGRs, NNCs, dual porosity, unit system info and time step filters
* Rearrange well reading code into separate class
* Update resdata library to not require an ecl_grid when reading well information. Only lgr names are needed, allows reused by opm_common reader
This PR will reduce the compile time of code using AppEnum.
* AppEnum: Move QTextStream operator to avoid include of QTextStream
* Avoid use of iostream in cafAssert
rator to avoid include of QTextStream
Include file profiling shows that include of QTextStream is a performance issue. Create a non-templated base class for AppEnum. Implement the QTextStream operator for this interface.
Add support for import of geometry and results for main grid. Currently no support for LGR.
Add selection in Preferences to either use libecl or opm-common for grid import.
If RESINSIGHT_DEVEL flag is set, display reader in an Eclipse case to make it possible to compare Eclipse and opm-common in same project.
Add more includes to custom-opm-common to be able to support this functionality. opm-common is unchanged.