Commit Graph
443 Commits
Author SHA1 Message Date
Magne Sjaastad 77c3548f24 Fixes active index usage for radial LGR grids
Ensures that active cell indexing is always used for temporary local grid refinements (LGRs) of radial multi-grids.

The  TestCase_Completions_Export loads a grid with several LGRs. This test case failed due to the changes for radial grids.
2025-10-09 15:08:41 +02:00
Magne Sjaastad 62188fa9f2 Improve naming of cell related result names
Use radial/theta when required for GUI
Hide DX/DY from the list of available results
2025-10-08 16:03:56 +02:00
Magne Sjaastad b771421087 #12994 Radial model: Freeze when selecting cell result INDEX_IJK
When a LGR is created to be able to show the radial grid, the active index usage when computing INDEX_IJK was wrong.

wip
2025-10-08 16:03:56 +02:00
Kristian Bendiksen 5c48383d71 Refactor: Improve interface for characteristicCellSize() 2025-10-06 09:10:58 +02:00
Magne Sjaastad ec3e1b59cd Uses unique_ptr instead of cvf::ref 2025-10-03 08:37:24 +02:00
Magne Sjaastad a73999323a Move defines into separate file 2025-10-03 08:37:24 +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
Kristian Bendiksen 4421536349 Refactor: add BORDNUM and OPERNUM to RiaResultNames. 2025-09-26 15:28:29 +02:00
Kristian Bendiksen fdbb07b8cd Sector Export: add OPERNUM result. 2025-09-26 15:28:29 +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
JJ d56722782a Well Completion tables - Python interface (#12910) 2025-09-25 12:23:40 +02:00
Kristian Bendiksen 88799eb7cc Sector export: find best pillar top and bottom coordinate.
Choose the corner where top and bottom is furthest apart to
ensure better handling of pinched cells.
2025-09-25 10:56:04 +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
Jon Jenssen 4c0d4b3d1d Support generating border result based on current visibility 2025-09-19 15:22:17 +02:00
Kristian Bendiksen 3150d5df16 #12900 Add method for padding ijk bounding box. 2025-09-18 12:53:07 +02:00
Kristian Bendiksen f6c5285e26 #12900 Compute IJK bounding box based on selected simulation wells. 2025-09-18 12:53:07 +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 SjaastadandKristian Bendiksen 5269ba665f Export zcorn/coord to grdecl.
Changes:
- Refactors data writing to allow configurable row length
- Adds documentation describing the Eclipse grid format (COORD and ZCORN)

Co-Authored-By: Kristian Bendiksen <kristian.bendiksen@gmail.com>
2025-09-12 08:38:43 +02:00
Kristian Bendiksen 160cb71168 Python: Update well log import API to accept measured depth and multiple channels
- Updated Python API to accept measured_depth list and channel_data dictionary
- Modified C++ GRPC implementation to handle CSV-formatted channel mappings
- Replaced single values parameter with dictionary of channels
- Added comprehensive validation for all input parameters
- Updated parameter name from channel_keys_json to channel_keys_csv
- Enhanced tests to cover 16 different scenarios including edge cases
- Updated example to demonstrate new dictionary-based API functionality
2025-09-04 09:04:56 +02:00
Kristian Bendiksen 8089739add Python: Add API for importing well log data
Implement comprehensive Python API for importing well log data into ResInsight
well paths using lists of float values.

Core implementation:
- RigImportedWellLogData: Data storage class inheriting from RigWellLogData
- RimImportedWellLog: Scriptable model class for Python GRPC interface
- RimcWellPath_addWellLogInternal: GRPC method using key-value store for data transfer
- well_path.add_well_log(): Python API with validation and error handling

Features:
- Simple API: well_path.add_well_log(name='LogName', values=[1.0, 2.0, 3.0])
- Comprehensive input validation and type checking
- Efficient data transfer via key-value store mechanism
- Proper error handling with cleanup on failure
- Integration with existing well path functionality

Testing:
- 10 comprehensive unit tests covering all functionality
- Validation of input types, error conditions, and edge cases
- Integration testing with well path creation

Usage example included in PythonExamples directory demonstrating
import of gamma ray, porosity, and permeability log data.
2025-09-04 09:04:56 +02:00
Kristian Bendiksen 4a8af2ff9d Add [[nodiscard]] to new api. 2025-09-03 14:21:19 +02:00
Kristian Bendiksen 10182e99a7 Refactor: Change RigGridBase::cellCornerVertices to return std::array
Refactored RigGridBase::cellCornerVertices to return std::array<cvf::Vec3d, 8> by value instead of taking a reference to std::array as an output parameter. This change improves code readability and leverages modern C++ return value optimizations.

Updated all call sites across the codebase to reflect the new function signature.
2025-09-03 14:21:19 +02:00
Kristian Bendiksen da69eef72b #1584 Replace cvf::vec3d[8] with std::array<cvf::vec3d, 8> 2025-09-03 14:21:19 +02:00
Magne Sjaastad 7b34d7f103 Compute measured depth if not present on file (#12872)
* Refactors RigWellPathGeometryTools to namespace
* Refactors measured depth calculation to utility.
* Calculates MD if missing from well path data
2025-09-03 12:59:15 +02:00
Magne Sjaastad 7653bd80f3 Exclude inactive cells from contour map calculations
* Adds safety check for value index
* Filters inactive cells from contour map calculation
2025-08-29 16:33:34 +02:00
Magne Sjaastad 4135a743fe Release preparations
* Adds a bounds check on the node index to prevent accessing invalid memory locations.
This prevents potential crashes caused by out-of-bounds access when retrieving summary variable values.
* Updates warning message for incomplete deltas
* Plot based on a single realization from a file set ensemble is not restored correctly on project load
* Populate result addresses if no addresses are present
* Adds CNV_ (convergence) result name
* Avoid include of RiaResultNames.h in header file
2025-08-27 14:22:11 +02:00
magnesj 727fac7e0e Fixes by clang-tidy 2025-08-20 08:47:58 +02:00
Magne Sjaastad acb582ab07 Extracts unit system from VFP data file
Modifies the VFP table extraction process to retrieve the unit system defined in the data file.

Convert ALQ values from SI to raw values
2025-08-19 14:06:33 +02:00
Kristian Bendiksen 464dd46ea9 #12568 Python: Add support for reading XYZ coords and inc, azi and dogleg 2025-08-08 08:58:31 +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
Kristian Bendiksen 0f55899ba9 #12462 Well Log Import: add support for RMS well format. 2025-07-01 08:39:18 +02:00
Magne Sjaastad 9f0ce0d498 Fixes to make gcc14 compile 2025-06-05 08:59:28 +02:00
Magne Sjaastad e492685070 Optionally show polygon geometry info as text label 2025-05-30 08:20:43 +02:00
Magne Sjaastad 13a793f16c #12461 Add support for import of .irap and .gri
* Add surfio as submodule and create importer with tests
* Update compile fix when mio.h is included in multiple compile units
* Move file tools into RifFileTools
2025-05-28 09:50:45 +02:00
Magne Sjaastad 25346e6cfe Move RigSurface classes into Surface folder 2025-05-21 18:09:22 +02:00
jonjenssen 02d13fda82 Add nullptr guards to avoid crash when trying to use well allocation plot with an ensemble 2025-05-20 15:07:27 +02:00
jonjenssen 7b7878e0af EDFM grid data support 2025-05-19 17:40:39 +02:00
Magne Sjaastad 37041ad0a6 clang-19-tidy and clang-19-format fixes 2025-05-19 14:31:30 +02:00
Magne Sjaastad fc79395ddd #12472 Fix flaky calculation of contour map top value 2025-05-09 08:22:55 +02:00
Kristian Bendiksen e5dc280ce0 Add python api for creating corner point grid. 2025-05-07 12:07:31 +02:00
magnesj 77c2d624fc Fixes by clang-tidy 2025-04-19 08:26:02 +02:00
Magne Sjaastad 380f559f0d #12329 Simplify interface for log messages 2025-04-08 14:26:04 +02:00
Kristian Bendiksen cfcbc03794 #12305 Well Target Mapping: add filter by view
Fixes #12305.
2025-04-02 17:19:57 +02:00
Kristian Bendiksen 712253624a Well Target Mapping: Use horizontal permeability for filtering. 2025-04-02 17:19:57 +02:00
Kristian Bendiksen 9a7c23eb02 Well Target Mapping: produce more results, and fix crashes when SGAS is missing. 2025-04-02 17:19:57 +02:00
Kristian Bendiksen 3f98c28356 Well Target Mapping: handle missing data better. 2025-04-02 17:19:57 +02:00
Kristian Bendiksen a244fafc87 #12320 Well Target Mapping: add saturation filter. 2025-04-02 17:19:57 +02:00
Kristian Bendiksen f239db6fb2 #12326 Well Target Mapping: handle two-phase eclipse models (missing SGAS vector)
Fixes #12326
2025-04-02 17:19:57 +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