Commit Graph
42 Commits
Author SHA1 Message Date
Magne Sjaastad ec9135b658 #14903: Ignore empty restart files in opm-common reader 2026-10-12 18:49:08 +02:00
Magne Sjaastad c8ad00a904 NNC: Remove RigConnectionContainer, use std::vector<RigConnection> directly
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.
2026-10-05 08:39:07 +02:00
Kristian Bendiksen 58b9f46a95 RifReaderOpmCommon: Compute restart data size locally 2026-09-14 11:59:32 +02:00
Magne Sjaastad 43a925c3f0 #14527 Scale MAPAXES to grid units in the opm-common grid reader
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.
2026-08-19 07:25:41 +02:00
Kristian Bendiksen 5ffcb69acc #13126 RiaLogging: Use std::string_view instead of QString for logging 2026-05-08 10:11:09 +02:00
Kristian Bendiksen 4957bf5a8b #13126 RiaLogging: Take std::string_view for logElapsedTime message
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.
2026-05-08 10:11:09 +02:00
Kristian Bendiksen a0dbbf6cb1 Remove deprecated size_t overloads from RigActiveCellInfo
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.
2026-03-31 12:32:05 +02:00
Magne Sjaastad e21097a2fc #13713 RifReaderOpmCommon: Fix ACTNUM showing undefined when only stored in EGRID
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().
2026-03-10 13:18:14 +01:00
Magne Sjaastad 472d7fa296 Add readGridDimensions 2026-02-13 14:35:52 +01:00
Kristian Bendiksen 37ee50cc9e #13281 Improve unit system handling for Eclipse files
- 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"
2025-12-05 14:18:45 +01:00
Magne Sjaastad c00da5e8e1 #13275 Import available phases from INIT and UNRST
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
2025-12-04 14:51:07 +01:00
Kristian Bendiksen 6d1a4eb35c egrid import: Fix restart header parse for opm-common reader.
Step numbers does not always start at 0.
2025-12-01 14:20:49 +01:00
JJ 39c2282904 Handle active cells in files with thermal data (rockv) (#13159)
* Handle active cells in files with thermal data from intersect
2025-11-12 07:13:24 +01:00
Magne Sjaastad 5e7c3dd1f1 #13095 Avoid error message trying to read data not present in file 2025-11-10 13:19:47 +01:00
Magne Sjaastad fffb3f2672 Adjust warning message for radial grids 2025-09-30 15:42:10 +02:00
Magne Sjaastad 6b7d93e2da Refactor import of radial grid
* 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
2025-09-29 11:46:28 +02:00
Magne Sjaastad b07e49258e Improve radial grid import
* 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
2025-09-26 10:26:43 +02:00
Kristian Bendiksen 5133ae620b Refactor: simplify API for configuring cell counts in IJK.
The old API was based on "grid points", but it was always used to
specify number of cells in each direction.
2025-09-18 11:46:57 +02:00
Magne Sjaastad f9f9b6b07b Refactor logging of elapsed time 2025-07-23 15:23:08 +02:00
jonjenssen 087df7e997 Remove well cells, too, if edfm I limit is detected 2025-05-21 10:40:47 +02:00
magnesj 77c2d624fc Fixes by clang-tidy 2025-04-19 08:26:02 +02:00
Magne Sjaastad 3715667e30 #12327 Small adjustments
* Remove unused volume sum
* Hide more log messages by default
* Allow stepping on top level plot
* Fix update of main plot title
2025-03-31 19:24:04 +02:00
Kristian Bendiksen fa9066de06 Janitor: add result name for "PORV". 2025-03-31 14:20:43 +02:00
Magne Sjaastad 3f08901379 Use updated opm-common
* 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
2025-01-22 08:34:46 +01:00
jonjenssen 5fa572266f Fix missing size check. 2024-11-21 12:57:50 +01:00
jonjenssen f716b4e964 Support multiple timesteps per day using opm_common reader (#11908)
* Fix progress window hiding time step filter dlg
* Clean up reader preferences
2024-11-21 12:42:13 +01:00
Magne Sjaastad 9a1c54c7d6 Add debug timers to import of UNRST files 2024-10-31 19:05:10 +01:00
jonjenssen da683bed9e Move Rig well related things to subfolder and update include statements 2024-10-31 15:08:59 +01:00
jonjenssen db66ec82de Some clean up and fixes 2024-10-29 18:17:31 +01:00
jonjenssen 88118ee4e1 Privatize grid cell array 2024-10-29 18:17:31 +01:00
jonjenssen fd2989972d Add option to skip/invalidate long, thin cells. (#11691)
* Add option to choose if the user wants to skip/invalidate long, thin cells.
2024-09-13 07:34:14 +02:00
jonjenssen 0572069511 Support for loading only active cell geometry (#11624)
* 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.
2024-08-28 18:22:57 +02:00
magnesj 3a54045c28 Fixes by clang-tidy 2024-08-15 07:11:40 +02:00
jonjenssen 2f5f83b959 opm_common reader updates (#11535)
* Read NNC info from init file, if needed
* Read active cell information before geometry
2024-07-01 12:44:41 +02:00
jonjenssen 4365b0dfb9 Grid import using opm-common improvements (#11438)
* 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
2024-06-18 13:03:48 +02:00
Magne Sjaastad ef637e3053 Move stream operator from AppEnum header
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.
2024-03-25 15:14:04 +01:00
jonjenssen 9ac4b38cae Import faults when using omp common file reader, too 2024-02-19 14:44:47 +01:00
Magne Sjaastad 62609953a0 #11092 Fix import of time since simulation start 2024-01-22 12:51:16 +01:00
Magne Sjaastad e1007ca957 Performance: Clear file reader cache after data is read 2024-01-22 08:42:23 +01:00
Magne Sjaastad 018e911736 Read date information directly from restart file 2024-01-22 08:42:23 +01:00
Magne Sjaastad fa94aa0bf9 opm-common: Simplify import of time step data
Avoid using restart state object for import of year, month, ...
2024-01-12 12:51:22 +01:00
Magne Sjaastad 81809efee9 Add support for grid import using opm-common
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.
2023-08-28 13:46:50 +02:00