Commit Graph
422 Commits
Author SHA1 Message Date
Kristian Bendiksen da69eef72b #1584 Replace cvf::vec3d[8] with std::array<cvf::vec3d, 8> 2025-09-03 14:21:19 +02:00
Magne Sjaastad 880da0bb9d Updates .gitignore and removes obsolete file 2025-09-02 10:14:03 +02:00
Kristian Bendiksen d8566b679f Rename RimFixedTrajectoryWellPath to RimPointBasedWellPath
- Renamed class from RimFixedTrajectoryWellPath to RimPointBasedWellPath
- Updated header and implementation files
- Changed PDM object display name to "Point-Based Well Path"
- Updated script keyword from "FixedTrajectoryWellPath" to "PointBasedWellPath"
- Modified CMakeLists_files.cmake to reference new filenames
- Updated all includes and instantiation references
- Applied clang-format-19 to modified C++ files
- Updated Python docstring to reflect new return type

The new name better describes the class purpose of creating well paths
from XYZ coordinate points. All tests continue to pass.
2025-08-29 16:28:30 +02:00
Kristian Bendiksen d2bed679e1 Rename wellpath_collection.import_fixed_trajectory_well_path() to import_well_path_from_points()
- Updated C++ GRPC interface method names and class names
- Renamed Python method in well_path_collection.py
- Updated all test functions and file names
- Renamed example file to match new method name
- All tests pass with the new method name

The method signature and functionality remain unchanged - only the name
has been updated to be more descriptive.
2025-08-29 16:28:30 +02:00
Kristian Bendiksen a2473af644 #12848 Python: fix unexpected returned well path when importing.
Fixes #12848.
2025-08-29 15:31:47 +02:00
Kristian Bendiksen 83ae9fb7ac #12569 Python: Add API for creating well paths from XYZ coordinates
Add import_fixed_trajectory_well_path() method to WellPathCollection that enables
creation of well paths from coordinate lists in Python. Implements feature request
for programmatic well path creation without file-based imports.

- Add RimFixedTrajectoryWellPath class for coordinate-based well paths
- Add GRPC interface for coordinate data transfer via key-value store
- Add comprehensive Python API with input validation and error handling
- Add example script importing well on Norne.
- Add 7 unit tests covering all functionality and edge cases

The API allows creating well paths like:
well_path = collection.import_fixed_trajectory_well_path(
    name="MyWell",
    coordinates=[[x1,y1,z1], [x2,y2,z2], ...]
)
2025-08-25 13:27:31 +02:00
Magne 3caa1b26d5 clang-format: Reduce ColumnLimit to avoid long lines 2025-08-21 11:11:43 +02:00
Kristian Bendiksen b0483172b1 #12718 Add diameter and roughness specification for MD intervals
Implements interval-based diameter and roughness configuration for MSW completions
while maintaining backward compatibility with existing single-value approach.

- Add RimDiameterRoughnessInterval class for individual MD intervals
- Add RimDiameterRoughnessIntervalCollection for managing interval collections
- Extend RimMswCompletionParameters with interval-specific mode support
- Support both metric and field unit systems
- Provide validation and overlap detection for intervals
2025-08-21 08:48:43 +02:00
JJ ea1c4b4a85 Python: get accumulated well perforation length for a simulation well (#12798)
* Add support for getting the perforation length of a well from Python
* Fix issue with sub grid pointers in LGR grids when using active cell opm reader
2025-08-21 08:11:51 +02:00
Magne Sjaastad 7bbee82d17 Move valve example into wells_and_fractures 2025-08-19 11:25:14 +02:00
Kristian Bendiksen e58a8cd8cd #12773 Python: Add API for creating valve templates
- Add RimcValveTemplateCollection GRPC command with add_template method
- Support ICD, ICV, and AICD valve types with custom parameters
- Add setter methods for orifice diameter and flow coefficient
- Include Python tests and example demonstrating usage
- API: valve_templates.add_template(completion_type='AICD', orifice_diameter=7.3, flow_coefficient=0.2)
2025-08-19 08:35:45 +02:00
Kristian Bendiksen 34ef2a14a3 #12609 RimWellPathAicdParameters: add field migration.
QString to std::optional<double> where applicable.
2025-08-15 18:57:35 +02:00
Kristian Bendiksen 13f6a57782 #12609 Python: Add functions to build valves from Python 2025-08-15 18:57:35 +02:00
Magne Sjaastad ed246bb1fc #12758 Updates spacing field to double in proto
Updates spacing field to double in proto and add pytest test_create_multiple_fractures
2025-08-15 16:04:16 +02:00
Kristian Bendiksen 4397da9114 #12568 Python: Add example for extracting properties along well. 2025-08-08 08:58:31 +02:00
Kristian Bendiksen e539170884 #12568 Python: add API for sampling given positions in a grid case 2025-08-08 08:58:31 +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
Kristian Bendiksen f98399dff2 Python: add api for remove values from key-value store. 2025-08-08 08:58:31 +02:00
Kristian Bendiksen 90d1555de3 Python: add api for getting values back from key-value store. 2025-08-08 08:58:31 +02:00
Magne Sjaastad 377d300767 #12719 Allow import of same well multiple times
Also exposes the well path collection object through the project object, and updates examples.
2025-08-08 08:56:15 +02:00
Magne Sjaastad b74c711b11 #12689 Enables scripting for Non-Darcy perforation parameters 2025-08-06 08:45:58 +02:00
jonjenssen 7e95a1f8cd Python code linting changes detected by black 2025-08-04 15:25:05 +02:00
jonjenssen 09f180ee53 Add support for duplicating editable well paths from python 2025-08-04 15:25:05 +02:00
Magne Sjaastad 309c4af07e #12593 Simplify object methods exposed to Python 2025-06-16 11:05:00 +02:00
Magne 54cb841046 reorganize 2025-06-08 19:39:42 +02:00
Magne Sjaastad 7fe06ac06b Make the function parameters available for Sphinx 2025-06-08 14:23:33 +02:00
Magne Sjaastad eb284304ff #12542 Make sure case is open before accessing cell data
* Make sure case is open before accessing cell data
* Add Python example to compute average value for a set of cells
2025-06-01 10:45:38 +02:00
Kristian Bendiksen 1a55fa11c3 #12459 Add regular surface domain object. 2025-05-20 20:39:07 +02:00
Kristian Bendiksen 25f312e117 Python: use python version from mypy.ini (bumped to 3.11). 2025-05-20 20:39:07 +02:00
Magne Sjaastad 37041ad0a6 clang-19-tidy and clang-19-format fixes 2025-05-19 14:31:30 +02:00
Kristian Bendiksen 7899736f05 Python ruff fixes
* Python: Clean up imports.
* Python: Clean up error handling example.
* Python: Remove unused local variables
* Python: Avoid comparing against True/False.
* Python: Remove unused name variable.
* Python: Reuse class definition type variable.
* Python: Fix more unused imports
* Black fixes
2025-05-16 15:46:45 +02:00
Kristian Bendiksen 752d4efc42 Update error handling in Rimc* classes. 2025-05-12 17:31:48 +02:00
Kristian Bendiksen 135695fcb5 #5556 Refactor python error handling. 2025-05-12 17:31:48 +02:00
Kristian Bendiksen 82206e6ae5 Janitor: fix test name. 2025-05-07 12:07:31 +02:00
Kristian Bendiksen e5dc280ce0 Add python api for creating corner point grid. 2025-05-07 12:07:31 +02:00
Kristian Bendiksen b136616f37 Add clang-format config for proto files. 2025-04-14 08:41:35 +02:00
Kristian Bendiksen dd2fdad5dd #12342 Python: Add api for creating polygon
Fixes #12342.
2025-04-10 17:58:59 +02:00
Magne Sjaastad ae8446073b Refactors selection handling for improved code clarity
Modernize the interface to selection system. Create and return data instead of populating incoming parameters.
2025-04-09 07:21:54 +02:00
Magne Sjaastad 6b332269b4 Add scripting to fishbones (#12286)
* Improve python code generation tests
* Add setValveLocations
* Move code into RimFishbonesDefines
* Add scripting to fishbones
* Add scripting methods for fishbones
* Add example and test
2025-03-25 08:31:08 +01:00
Magne Sjaastad cf2ae4ffb8 Python: Add support for manipulation of camera position
* Remove debug output in the views function
* Add scripting support for Mat4d
* Add scripting support to camera
* Separate updates for background color and font size
2025-02-17 18:27:16 +01:00
magnesj e8d10c4dfa Python code linting changes detected by black 2025-01-30 08:33:17 +01:00
Magne Sjaastad ca0179d118 Remove obsolete CMake statements
When using modern CMake and Qt6 we can remove obsolete source_group() and QT_MOC_HEADERS
2025-01-28 07:01:42 +01:00
Magne Sjaastad d17ecc4345 Update vcpkg to 2024.02.14
* Update vcpkg to 2024.02.14 Release

A blank install of vcpkg did not work anymore due to changes in upstream repos. Had to update vcpkg.exe to latest to ensure download of libraries works as expected.

Had to update baseline to 2024.02.14 to be able to compile on VS 17.12. A bug related to naming of boost was fixed in boost 1.84

https://github.com/microsoft/vcpkg/issues/38980

* Bump to a more recent vcpkg due to a build error in arrow

https://github.com/apache/arrow/issues/42027

* Avoid fmt 11 due to a bug for MSVC

https://github.com/gabime/spdlog/issues/3251#issue-2648376977

* Remove obsolete GRPC config in top-level CMake
* Avoid pinning of Protobuf
2025-01-19 16:16:09 +01:00
Magne Sjaastad ecd006decb Update examples for 2024.12.2 2025-01-13 10:54:00 +01:00
Magne Sjaastad da69c1f049 Python: Enforce checking on script name to make sure conversion between camelCase and snake_case works correctly
* #12044 Python: Add Non-Darcy properties available in Python

* #12049 Python: Add checking for multiple consecutive upper case letters
The scripting keyword is transformed to snake_case for use in Python. When data in Python is sent back to ResInsight, the opposite operation happens. This concept works well for most variants of keywords, but there are some corner cases that is not working.

Add compile time checking to make sure that the scripting keywords are formatted correctly.

Fix keyword that has been formatted the wrong way and has never worked.

* Avoid running test if ResInsight executable path is not defined in env
* Make sure dash is allowed in enumeration text string
2025-01-10 18:25:46 +01:00
Magne Sjaastad 6fea38e95b Reset RIPS_DIST_VERSION to 1 2024-12-16 09:29:52 +01:00
Magne Sjaastad ddefd39fc2 Python: Make more well completion parameters available
Add access to all MSW parameters in Python : "msw_settings = well_path.msw_settings()"
Make all parameters of the well completion object available in Python.
2024-11-25 09:38:23 +01:00
jonjenssen da683bed9e Move Rig well related things to subfolder and update include statements 2024-10-31 15:08:59 +01:00
jonjenssen 88118ee4e1 Privatize grid cell array 2024-10-29 18:17:31 +01:00
Magne Sjaastad 383c7e071d Merge in latest changes from main (#11782)
Merge main into dev after release of 2024.9.1
Includes changes to build related to conflicting Python requirements

ortools is used in the Komodo environment. This environment is not compatible with libprotoc 27 and newer. Use pinning to limit version of libprotoc<27.

Add dependency on typing_extensions
2024-10-16 09:27:09 +02:00