Commit Graph
58 Commits
Author SHA1 Message Date
JJ 75ebd7f20b Well target updates (#14619)
Support well target mapping calculations for ensembles.
2026-08-28 13:36:02 +02:00
Magne Sjaastad 56e98ba1c4 #14476 ApplicationLibCode: Replace CVF_ASSERT with CAF_ASSERT
Migrate all assert macros in ApplicationLibCode to CAF_ASSERT and remove every
use of cvfAssert.h.

CVF_ASSERT is replaced one to one. CVF_TIGHT_ASSERT is also replaced by
CAF_ASSERT, which is semantically exact: CVF_ENABLE_TIGHT_ASSERTS is 1 only
under _DEBUG, and that is what CAF_ASSERT now does. The two CVF_FAIL_MSG sites
become CAF_ASSERT( false && "message" ), preserving the message with the idiom
already used elsewhere in the code base.

Counts before and after: CVF_ASSERT 1044 to 0, CVF_TIGHT_ASSERT 66 to 0,
CVF_FAIL_MSG 2 to 0, cvfAssert.h references 154 to 0.

Include handling: files that included cvfAssert.h directly now include
cafAssert.h instead, includes left dead by the migration are removed, and files
that were relying on cvfAssert.h transitively get an explicit cafAssert.h. Files
that reach cafAssert.h through another caf header are left unchanged; a missing
include here is a compile error, not a silently disabled assert.

ResultStatisticsCache links only LibCore and therefore had no path to
cafAssert.h. Add the cafPdmCore directory as a private include path rather than
linking the library, since cafAssert.h is header only.

Note that this stops these asserts from firing in Release and RelWithDebInfo,
where CVF_ASSERT was previously active.
2026-08-07 15:05:57 +02:00
Kristian Bendiksen 87518f2f2f #14365 Nested hybrid grid: import as a reconstructed LGR hierarchy 2026-07-27 15:24:25 +02:00
Kristian Bendiksen a489db3e64 #14227 Compute depth-related geometry results once for both porosity models
The depth-related geometry results (DEPTH/DX/DY/DZ/TOPS/BOTTOM) are derived
purely from the shared grid geometry and were computed independently for the
matrix and fracture porosity models. For dual-porosity cases this recomputed the
identical per-cell geometry twice.

Replace the per-model computeDepthRelatedResults() with a single static routine
that traverses the shared main grid once, computing each cell's geometry a single
time and writing it to every porosity model in which the cell is active. The
per-property already-computed guards and the temporary-grid recompute path are
preserved, so the stored values are unchanged. All six matrix+fracture call sites
now go through a thin RigEclipseCaseData::computeDepthRelatedResults() wrapper.
2026-06-19 12:25:55 +02:00
Magne Sjaastad b18f676884 #13967 Apply persisted Flip X/Y axis when loading an Eclipse result case
When a project file persisted FlipXAxis or FlipYAxis as true, the flag was
restored to the PdmField but never propagated to the grid nodes during
RimEclipseResultCase::importGridAndResultMetaData. Only the UI change handler
applied the flip, so on reload the grid stayed un-flipped while the checkbox
appeared active.

Mirror the call already present in RimEclipseInputCase and RimRoffCase by
invoking setFlipAxis before computeCachedData.
2026-05-08 10:28:31 +02:00
Magne Sjaastad 7f51676da2 Custom Mock Model: Add extent and offset fields to dialog
Expose XYZ extent and XY UTM offset as user-editable fields in the
Customize Mock Model dialog instead of hard-coding them in
RimEclipseResultCase. Defaults match the previous hard-coded values
(6000/12000/500 extent, 400000/6000000 offset).
2026-05-08 10:28:00 +02:00
Magne Sjaastad 8eb225651b Remove obsolete libecl-based RifReaderEclipseRft, use RifReaderOpmRft only 2026-04-28 12:32:21 +02:00
Magne Sjaastad 1cd3cf3b67 Fix zone colors to honor LYR-file specification (#13658)
* #12974 Fix zone colors to honor LYR-file specification

- Map formation colors by name instead of palette index in updateFormationNamesOnPlot()
- Map formation colors by categoryValue lookup in updateCellResultLegend(), fixing
  incorrect colors when showOnlyVisibleCategoriesInLegend filters the active set
- Add RimColorLegendCollection::createColorLegendFromFormationNames() and call it
  from readAllFormationNames() so LYR colors are available after project load
- Auto-assign formation color legend when a formation case is set on a well log track
- Rename fileNameWoPath() to shortName() and switch to baseName() (no extension)
- Remove addCustomColorLegend() from RicImportFormationNamesFeature; logic now lives
  in RimColorLegendCollection
- Set formation legend when creating new Well Log Extraction Curve track
2026-02-25 18:16:03 +01:00
JJ b87579961b Add support for using alias names for result names (#13453)
* Add alias editing to UI
* Enable result aliases for both eclipse and roff results
* Update python script to work on Windows
* Add Python interface for result aliases
* Add python test
2026-01-20 14:12:27 +01:00
Magne Sjaastad 6e1ba530c4 Adds RiaPhaseTools for phase system analysis
Adds a new utility class, RiaPhaseTools, which provides functionalities to analyze phase systems in reservoir simulations.

This class includes methods for checking the presence of individual phases (oil, gas, water), identifying different phase systems (three-phase, two-phase, single-phase), and retrieving a system description for display in the UI. It also includes utility functions to retrieve the preferred name for PCOG curves based on the detected phase system.
2025-12-09 12:41:35 +01:00
Magne Sjaastad 70f76aefb0 Add phases display field to Eclipse Result Case
Display available simulation phases (Oil, Gas, Water) in the Eclipse Result Case properties panel. The phases are read from the case data and displayed as a read-only field in the UI.
2025-12-04 14:51:07 +01: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
Magne Sjaastad 6ef5db2530 Support radial grids as cylindrical cells
* Add minimum angular count to system preferences
* Refactors grid view updates and radial grid handling
* Improves radial grid handling and LGR creation
2025-09-24 09:46:00 +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 efc8735a76 Modernizes summary reader management
Migrates to using `std::unique_ptr` for managing summary readers.

Removes the dependency on `cvf::Collection` and `cvfObject`.
2025-07-16 16:18:09 +02:00
Magne Sjaastad 0d0c8f5505 #12631 Refactors RFT readers to use unique_ptr 2025-07-16 13:10:47 +02:00
jonjenssen 087df7e997 Remove well cells, too, if edfm I limit is detected 2025-05-21 10:40:47 +02:00
jonjenssen 7b7878e0af EDFM grid data support 2025-05-19 17:40:39 +02:00
Magne Sjaastad d4c4760a0f #12419 Avoid assert during load of simulation case
Validate incoming parameters before use
2025-04-30 08:57:30 +02:00
jonjenssen 41af091511 Change contourmap default name and menu entry
Look for formation names in multiple locations
Skip realizations with missing formation names, if used
2025-03-24 07:53:27 +01:00
jonjenssen cbab1b256f Support filtering by formation/polygon when calculating statistics (#12086)
* Support loading formation names when importing an ensemble
* Enable support for formation filtering when calculating contour map
* Add option to limit calculation area to a selection of polygons
2025-01-29 01:36:29 +01:00
jonjenssen b999faf293 Statistics Contourmap UI updates (#12060)
* Enable time step selections and controls in view
* Support loading just what we need for statistics contour maps by using custom reader settings
* Close case once done with it unless there are active views.
* Add selection of user interface case (for result selection, display of wells, faults...)
* Avoid int overflow for nested progresses by using double
* Improve auto naming
* Misc. UI improvements
2025-01-14 21:52:54 +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
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
Magne Sjaastad 33ffa10ec9 Janitor: Remove obsolete deleteChildren
Remove obsolete deleteChildren() in destructors. deleteChildren() is called in the destructor of PdmChildArrayField
2024-07-25 13:58:31 +02:00
jonjenssen 868e9916bc Grid preferences update (#11547)
* Refactor RifReaderSettings and grid preferences tab
2024-07-04 12:38: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 98144078c8 Rename to resdata
* Rename to resdata
* Remove development feature for storing grid import type in project file
* Clean up comments
2024-04-22 19:56:10 +02:00
e9ff3540ba Update dev branch after patch release
* Fix calculation for active cell values
Always allocate result data for active cells in destination case. Make sure that active cells is used for both population of expression variables and filtering of data. Improved naming to make it clear that we always work with active cell data.

* Check if scalar result index is valid
* Create the static scalar results once
addStaticScalarResult will clear already computed data, causing calculations to be triggered once more

* Early return if data already is available
If not checking if data is available, data is read from file and appended to result vector.

* Always check date for H5 files, and recreate if required

* Always recreate ESMRY if file exists and is older than SMSPEC

* #11355 Use category if result name starts with FIP or ends with NUM

* #11337 Summary import: Make sure ESMRY includes restart history

* #11334 Fix cvf::Viewport assert triggered for small contour map/2d intersection
Size of the overlay is could become negative, and would overflow for small views.

* #11310 Fix assert on single cell model.
Well pipe radius would become HUGE_VAL due to off-by-one error.
The assert could only happen on model with a single cell.

* Check equal grid size only when required
Equal grid size is required if there is more than one grid case in the expression. If a cell filter view is active, the visibility is based on one view and reused for all other grid models, and requires equal grid size.

* Remove obsolete log message

* Do not show dialog during regression tests

* Fix eclipse case contour map left click (#11378)

* Make sure we operate in the correct domain when picking points in the contour map

* Remove obsolete code causing grid to be loaded for all cases


* Bump version to 2024.03.1

---------

Co-authored-by: Kristian Bendiksen <kristian.bendiksen@gmail.com>
Co-authored-by: jonjenssen <69144954+jonjenssen@users.noreply.github.com>
2024-04-19 15:09:15 +02:00
Kristian Bendiksen b5666c333a Refactor connection between cases and views.
Eclipse grid views and contour maps are not longer a child of the case.
The views are not separate collections (one for grid and one for contour maps)
on root level.
2024-04-15 16:10:43 +02:00
Magne Sjaastad bfda6519db Cleanup includes
Use new tools in Visual Studio to help cleaning up includes and remove redundant includes.
2024-03-07 19:45:43 +01:00
Magne Sjaastad 1217236d73 #11248 Remove caching of simulation well coordinates to avoid state handling bugs 2024-03-04 12:27:56 +01:00
Magne Sjaastad 6ce9af1148 Disconnect comparison view in destructor of RimEclipseResultCase
In debug build on Windows, a crash in the destructor of Rim3dView happens when the comparison view is set to null.
2024-02-07 10:07:18 +01:00
Magne Sjaastad ce513be638 Remove all use of .uiCapability()->setUiTreeHidden( true ); 2024-02-05 10:15:36 +01:00
Magne Sjaastad 5151717743 #11088 Use non-optimized version for old projects to compute active cells BB
The performance to compute geometry BB for active cells has improved. The original code also set displayModelOffset based on the BB of active cells. To make sure that existing project files produce identically the the same, the non-optimized version is used in this case.
2024-01-31 12:43:55 +01:00
Magne Sjaastad 7d601ac067 #11109 Improve visualization of MSW with valve branches
Increase default segment threshold to 4
Add an optional setting to override the default value
Use this threshold to merge short branches into parent branch
2024-01-26 09:32:42 +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
Kristian Bendiksen 5bf2c2a89d #10367 Janitor: Remove unneccessary 'this' pointers 2023-08-07 13:38:27 +02:00
Magne Sjaastad 5ee764af48 Refactor result definition 2023-05-11 08:37:58 +02:00
Magne Sjaastad f8c5cf389f clang-format: Set column width to 140
* Set column width to 140
* Use c++20
* Remove redundant virtual
2023-02-26 10:48:40 +01:00
Kristian Bendiksen 142d8f0cc6 Janitor: Fix spelling of "synchronize". 2022-12-22 19:24:14 +01:00
Kristian Bendiksen fc4294a6ad Roff: allow roff files in input property import 2022-12-22 19:24:14 +01:00
Magne Sjaastad 506bfbd638 Remove control flag in setCollapsedByDefault
* Remove control flag in setCollapsedByDefault
* Set regions/annotations collapsed by default
2022-08-19 14:18:36 +02:00
Magne Sjaastad c8f642d83a Add rename case to summary and grid cases (#9204)
* #9203 Summary Case : Add rename to right-click menu
* Janitor: Move ID and description to private fields
* Eclipse Case: Add rename to right-click menu
* Rename feature
2022-08-18 07:12:23 +02:00
Magne Sjaastad c74701b687 Rename several child() and children() functions 2022-05-31 15:05:07 +02:00
Magne Sjaastad 7f41349b5c #8582 Eclipse Case : Make it possible to access RFT data without grid data 2022-02-24 13:03:15 +01:00
Magne Sjaastad f154f8c500 Import RFT segment data as well log curve (#8449)
Add reader for RFT data using opm-common
Extend RFT curve with support for RFT segment data
Adjustments related to horizontal well log plots

8581 Well Log Plot : Update of curve appearance does not update plot
2022-02-23 13:57:02 +01:00
Magne Sjaastad 1e17da2926 Janitor : Add SOIL SGAS SWAT to RiaResultNames
wip
2022-01-07 10:38:56 +01:00
Magne Sjaastad 2a65636ba3 #8250 Use variadic macros and remove obsolete parameters 2021-11-14 15:26:09 +01:00