Commit Graph

194 Commits

Author SHA1 Message Date
Jørgen Herje
fe5c24ef5d
Fix bug and refactor createResampledValuesAndDepts in RigWellLogCurveData (#10301)
- Fix bug for resampling, prevent index increment.
- Refactor functions into static functions.
- Fix issue in interpolateSegment not using correct indices for depthType != resamplingDepthType
- Add unit tests
2023-05-24 15:07:43 +02:00
Jørgen Herje
b83fe73395
Displacement curves fault faces (#10243) 2023-05-22 11:37:57 +02:00
Magne Sjaastad
54f0a832de
Janitor: Remove unused includes 2023-05-15 15:43:01 +02:00
Magne Sjaastad
0c90f67dcc
Change API for PdmObjectHandle and PdmFieldHandle
* Refactor interface to PdmObjectHandle and PdmFieldHandle
Return objects instead of passing in structures as parameters

* Add nodiscard to several functions
* Remove redundant this->
* Rename to ptrReferencedObjectsByType
2023-05-12 21:41:34 +02:00
jonjenssen
1d43e1a948
Specify part id for well extraction from geomech data (#10240)
* Specify part id for well extraction from geomech data
* Make sure we clear curve data if there isn't any valid input data
2023-05-12 08:13:56 +02:00
Magne Sjaastad
5ee764af48
Refactor result definition 2023-05-11 08:37:58 +02:00
Magne Sjaastad
f70d2c4949
Add result type and create and use custom legend if possible
* Update submodule
* Use postfix functions and add custom color legend

* Add type to RigEclipseResultAddress
Read types from ROFF and create default legend based on type or custom created legend.

* Use caseId to connect legend configuration to result in a case
2023-05-09 11:41:56 +02:00
jonjenssen
00e533ab10 Skip bounding box check when drawing seismic outline, as it could go far above reservoir 2023-05-08 17:30:24 +02:00
Kristian Bendiksen
c8b402651d Add "Decline Curves" functionality.
Adapted from formulas here:
https://petrowiki.spe.org/Production_forecasting_decline_curve_analysis
2023-05-05 15:30:48 +02:00
Magne Sjaastad
f8c1eebe01 Use AABB tree to speed up fault distance calculation 2023-04-24 12:40:25 +02:00
Kristian Bendiksen
d11f51fcae Refactor: extract Allan diagram computation. 2023-04-19 15:00:56 +02:00
Kristian Bendiksen
9b78826f03 Refactor: extract cell volume computation. 2023-04-19 15:00:56 +02:00
Kristian Bendiksen
6a37c5a5d0 Refactor: extract oil volume computation. 2023-04-19 15:00:56 +02:00
Kristian Bendiksen
07eb1e9f4e Refactor: extract I/J/K index computation. 2023-04-19 15:00:56 +02:00
Kristian Bendiksen
89dca9eec9 Refactor: extract mobile pore volume computation. 2023-04-19 15:00:56 +02:00
Kristian Bendiksen
be12016128 Refactor: extract fault distance computation 2023-04-19 15:00:56 +02:00
Kristian Bendiksen
5a64e90103 Refactor: extract Soil computation. 2023-04-19 15:00:56 +02:00
Kristian Bendiksen
cc0691f48c Use correct OpenMP directive for INDEX_I/J/K results. 2023-04-19 15:00:56 +02:00
Kristian Bendiksen
eb88cca7e8 #9858 Compute distance to closest fault for each cell (FAULTDIST). 2023-04-19 15:00:56 +02:00
Magne Sjaastad
b7f8d0e0f1
Increase warning level
* Set warning level to /W3 for MSVC to catch more warnings
* remove several excluded checks for clang
* removed several unused variables
* Hide warnings qwt
* add missing parentheses in logical expressions
* Remove double check on same logical expression
2023-04-17 15:57:39 +02:00
Magne Sjaastad
6f6dc80bc6
Added more clang-tidy checks
Improved GitHub Action to run clang-format as part of clang-tidy

* Simplify clang-tidy workflow
* Added modernize-use-using, modernize-redundant-void-arg, readability-static-accessed-through-instance
* Add nolint for libecl typedefs
2023-04-14 14:07:45 +02:00
Jørgen Herje
457dc9080f
Refactor classes in RigWellResultPoint.h
* Move RigWellResultFrame implementation into separate file
Update/correct includes accordingly

* First step of moving attributes from public to private
- Move public members to private and create interface
- Single public member remains due to strong dependency on usage of reference and reference to its object public members

* Second step of moving attributes from public to privatee
- Remove usage of reference directly to attributes. Interface with copy and set.
- Moving attributes in RigWellResultFrame and RigWellResultBranch

* Move class RigWellResultBranch into separate file
2023-04-14 11:00:45 +02:00
Magne Sjaastad
952e766c2f
Update clang-format.yml (#10068)
* Update to clang-format-15
Removed two custom .clang-format files in subfolders of AppFwk

* Fixes by clang-format
2023-04-13 07:05:53 +02:00
Magne Sjaastad
b2e8cc1663
Add optional max distance between curve points in WBS plots 2023-03-31 16:27:14 +02:00
Jørgen Herje
c40b400346
Improve filtering by 3D view for Producer/Injector Connectivity Table (#10027)
- Calculate by visible cells: Calculate flow diag by use of visible cells in 3D view (already existing functionality).
- Filter producers: select producer wells based on visibility in 3D view. Synch connected injectors - even if they are not visible in 3D view.
- Filter injectors: select injector wells based on visibility in 3D view. Synch connected producers - even if they are not visible in 3D view.
2023-03-31 10:04:17 +02:00
jonjenssen
2e01f4a31d
Basic seismic support (#10010)
Add basic seismic section support to eclipse and geomech views.
2023-03-24 15:36:10 +01:00
Magne Sjaastad
911f260d0f Improve robustness of well flow calculator 2023-03-21 18:48:55 +01:00
Jørgen Herje
535811cc4f
Producer/Injector Connectivity Table (#9928)
- Crated new RimMatrixPlotWidget to show table data
- Create RimWellConnectivityTable for showing Producer/Injector connectivity table data
- Rename RimWellAllocationOverTimeCollection to RigWellAllocationOverTime for well allocation over time data storage
- Created heatmap color palette
- Move utils from RimWellAllocationOverTimePlot to RiaQDateTimeTools
- Create RimFlowDiagnosticsTools for producer/injector well utility functions


---------

Co-authored-by: jorgenherje <jorgenherje@users.noreply.github.com>
2023-03-21 08:32:38 +01:00
jonjenssen
ae977975c8 Make sure NaN values are in Y data, too, to keep good plot performance. 2023-03-08 17:37:19 +01:00
Magne Sjaastad
c248c9fb57
RFT segment plot adjustments (#9912)
* Delete RFT plot when associated case is deleted
* Rename
* Hide track/curves with no data
2023-03-06 14:34:22 +01:00
jonjenssen
3d663797b6
Depth plot as docking widget (#9909)
* Add docked depth result plot for eclipse data
* Update dock layout defaults
2023-03-03 15:21:01 +01:00
Magne Sjaastad
d47d4060cc
Add valve visualization to MSW wells
* Refactor geo generator
* Add valve visualization to segments that are connected to a valve
2023-03-02 13:06:38 +01:00
Magne Sjaastad
d2f435c00a
Improved simulation well visualization
* Move members to private in RigWellResultPoint
* Create simulation well path geometry using well topology
* Add separate MSW well pipe centerline computations
* Review comments

---------

Co-authored-by: magnesj <magnesj@users.noreply.github.com>
2023-02-28 16:06:37 +01: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
8386166d17 Thermal Fracture: Fix occasional mesh flipping. 2023-02-17 15:26:01 +01:00
Magne Sjaastad
20439e1da9
Export Completion: Fix missing segments and connections for LGR grids
* Compute characteristic cell size based on active cells
* Compute cell face normal based on a suitable active cells
Using all cells as basis for face normal is fragile. Some models have highly distorted/twisted cells, but all active cells should be geometrically more stable.
2023-02-15 15:25:38 +01:00
Jørgen Herje
2e6268ff0a
Improve Grid Statistics Plot UI (#9831)
- Set default frequency enum to relative frequency [%]
- Set current view selected in filter by 3D view visibility by default
- Add labels for statistics data
- Add UI to change number of bins in histogram
- Add control of font size of axis values and axis titles
2023-02-13 09:59:29 +01:00
Magne Sjaastad
8028444018
GitHub Actions: Add apt mirror to make package download more robust
- Download of Ubuntu packages from Azure is unstable. Add mirror sites to improve reliability.
- Improve use of clang-format and include source code changes
2023-02-07 07:22:57 +01:00
Magne Sjaastad
b9f6662126 #9771: Guard nullpointer access 2023-02-01 13:44:06 +01:00
Magne Sjaastad
a770f89082 #9722 Grid Group Statistics: Guard accessing empty data structures 2023-01-24 15:02:23 +01:00
Jørgen Herje
50b1820b60
Create depth adjusted LAS files
* Add support for creating depth adjustment LAS files
* Add RiaDefine for LAS file depth property names
* Remove incorrect check in K-index Calculator

Co-authored-by: jorgenherje <jorgenherje@users.noreply.github.com>
Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
2023-01-23 12:46:54 +01:00
Kristian Bendiksen
1eac9f8a1f #9620 Pressure/depth data: add user interface. 2023-01-19 09:00:05 +01:00
Kristian Bendiksen
10187a934c #9620 Add reader for pressure depth text file. 2023-01-19 09:00:05 +01:00
jonjenssen
85f1b004cb
Geomech frames support (#9678)
Support for showing frames in geomech data.
2023-01-18 14:42:33 +01:00
Jørgen Herje
95202ad36a
Well allocation over time plot (#9655)
- Plot for showing well allocation over time. 
- Select time range
- Option to exclude time steps in selected range
- Possible value types: Flow rate, flow rate percentage, flow volume, accumulated flow volume, accumulated flow volume percentage
- Group small contributors into group "Others"
2023-01-18 09:18:00 +01:00
Magne Sjaastad
5de5926950 #9622: Find a fairly regular cell and compute face normal direction
In some models, the grid cells can be very twisted, distorted, or zero(low) volume. Improve the logic to find a reasonably regular cell and use this cell to compute the direction of the face normals in this cell.
2023-01-09 15:47:08 +01:00
Magne Sjaastad
f731153c22 Revert OpenMP for detection of faults
The use of OpenMP is not stable, and produce wrong geometry in some cases.
2022-12-21 11:12:56 +01:00
Magne Sjaastad
de29b3b0ed OpenMP: Use default AABB tree construction for one cell per BB
Do not use buildCellSearchTreeOptimized() when when cellCountPerBB is 1, as the performance in this case is best using buildCellSearchTree()
2022-12-20 13:39:29 +01:00
Magne Sjaastad
38bfa9ef1f
#9588 Accumulate N cells for AABB tree 2022-12-19 15:24:53 +01:00
Magne Sjaastad
a423ecf95f
Several OpenMP improvements
Several optimizations based on profiling of 20M grid model. These fixes will improve the largest performance issues, but there are still more operations that can be refactored.

* OpenMP: Use in fault geometry generator
* OpenMP: Use when computing statistics for result values
* OpenMP: Use multithreading on fault detection
* Add RiaOpenMPTools
* VizFwk: Use openMP for texture generation
2022-12-19 13:49:03 +01:00