Commit Graph

283 Commits

Author SHA1 Message Date
jonjenssen
34a77a8f20 Build fix 2023-11-27 08:17:44 +01:00
jonjenssen
6421e09557 Grow cell size horizontally, too 2023-11-27 08:17:44 +01:00
jonjenssen
039aee8d53
Fault Reactivation Grid Update (#10866)
* Fix gridding error
* Add part name to element set filter
* Use sea bottom from geomech case model, if selected
2023-11-23 19:01:42 +01:00
jonjenssen
2b795bf499
Fault reactivation gridding update (#10855)
Rewrite grid generator - grid based on eclipse model layers in reservoir.
2023-11-20 15:39:17 +01:00
Magne Sjaastad
0f56eaed6b Add optional IJK to ResultPoint for easier debugging 2023-11-13 11:08:36 +01:00
Magne Sjaastad
9e65eb3be9 Add helper functions to convert from cellIndex to cafVecIjk 2023-11-13 11:08:36 +01:00
Kristian Bendiksen
18c29d5fc7 Reveal: fix transmissibility calculation when filter cake is not present.
The "absolute" filter cake adjustment should only be used for cells when
filter cake is present (i.e filtrate thickness is not zero).
2023-11-08 15:52:33 +01:00
Magne Sjaastad
39fc9d5c36 Add support for grid calculations as data source for statistics
- add data source selection, either Case Property or Grid Calculation
- add Time Step Selection, can be used for both dynamic case properties and Grid Calculations
- optionally release grid calculation data when statistics is computed
- recursive grid calculations is supported
2023-11-08 08:39:04 +01:00
Magne Sjaastad
7eb3e98bb2 Optionally apply a grid calculation on all grids 2023-11-07 19:14:58 +01:00
Kristian Bendiksen
9fc380dd5f Fault Reactivation Model: Remove unused cell index adjustment. 2023-10-30 16:09:10 +01:00
Kristian Bendiksen
ea4e46b400 #10743 Fault Reactivation: export temperature and void ratio per node.
Fixes #10743.
2023-10-30 16:09:10 +01:00
jonjenssen
7494302275
Fault Reactivation updates (#10727)
* Generate reservoir element sets
* Add support for materials
* Add local coordinate system support for exported model
2023-10-18 09:10:08 +02:00
Magne Sjaastad
10189da362
Fix display of intersection lines in 3D view
* 10675 Fix missing intersection line geometry
* Change to list of visible surface intersection lines
* Enable surface intersection band for any intersection
* Show labels for intersection curves in 3D

The polylines are defined in the display coordinate system without Z-scaling. The z-scaling is applied to the visualization parts using Part::setTransform(Transform* transform)
The annotation objects are defined by display coordinates, so apply the Z-scaling to the coordinates.

* Improve naming of surfaces
* Use scaling factor of 1.0 for flat intersection views
2023-10-03 09:04:46 +02:00
Kristian Bendiksen
9832604c66 Refactor: Rename RigWellLogFile to RigWellLogLasFile. 2023-09-29 14:48:20 +02:00
jonjenssen
0ccddcb836
Fault Reactivation updates (#10665)
* Support getting pore pressure for all nodes
* Misc fixes and updates in fault reactivation UI
* Disable fault reactivation result unless you load an odb from a valid working folder
2023-09-27 15:15:17 +02:00
Kristian Bendiksen
959c9d48fa #10649 ApplicationLibCode: Use collection.empty() instead of comparing with size 2023-09-27 10:16:37 +02:00
jonjenssen
5d3fb8ceb9
Fault reactivation (#10624)
Update result to generate well paths based on information from model generator. Store settings in JSON file.
Add method to access local coordinate system definition
2023-09-19 18:03:36 +02:00
jonjenssen
bd7f34f835
Fault Reactivation Modeling updates (#10602)
* Add timestep selection
* Add import geomech model to context menu
* Add command for running fault reactivation 
* Change order of nodes for exported elements
* Add command to quickly show model in 3D view
2023-09-14 08:29:28 +02:00
Magne Sjaastad
f4c61c9edb Changes based on review 2023-09-13 08:29:15 +02:00
Magne Sjaastad
94c1b110fb Compute measured depth at the first visible well path geometry 2023-09-13 08:29:15 +02:00
jonjenssen
a2632982b5 Code updates 2023-09-06 13:51:59 +02:00
Kristian Bendiksen
5f9ad2dab1 Add missing include. 2023-09-06 13:51:59 +02:00
Kristian Bendiksen
ddd7410730 Write more data to inp file. 2023-09-06 13:51:59 +02:00
Jon Jenssen
3817cea3cf Fix grid generation.
Add model thickness parameter.
Add support for reloading INP files from recent files
Add working directory field to fault reactivation model and put INP export there.
2023-09-06 13:51:59 +02:00
Kristian Bendiksen
e6ff86f51a Fix incomplete definition. 2023-09-06 13:51:59 +02:00
jonjenssen
32326bfa9b Add fault reactivation modeling 2023-09-06 13:51:59 +02:00
Magne Sjaastad
7a782cec66
RFT ensemble refactoring
* Compute average MD for intersections with a cell
* Create extractor for simulation well
* Remove rftReader from RifDataSourceForRftPlt
* Add function compute measured depth for RFT cells based on well path geometry
* Move statistics reader to well ensemble curve set
* Make sure both TVD and MD are cached if possible
* Add selection of grid case to use for estimation of measured depth (MD)
Add "Grid Model For MD" where the user can select a grid model. This grid model is propagated to a hidden field in EnsembleCurveSet. The grid model is then applied to RifReaderEnsembleStatisticsRft owned by EnsembleCurveSet
2023-09-04 10:08:30 +02:00
Magne Sjaastad
fb75d0471e Move line and surface intersection methods to RigSurfaceResampler 2023-08-31 13:50:39 +02: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
Magne Sjaastad
bb293539d5
Additional refactoring for POR-Bar result handling
* Always use element-nodal for POR calculations
* Add RigFemAddressDefines
Add special handling for "POR-Bar" result, always use element_nodal

* 9362 Show unit text "sg" when normalized by hydrostatic pressure
2023-08-23 13:29:54 +02:00
Kristian Bendiksen
5bf2c2a89d #10367 Janitor: Remove unneccessary 'this' pointers 2023-08-07 13:38:27 +02:00
Magne Sjaastad
09b8bfdc06
Do not clear generated results during statistics computation 2023-07-04 16:56:02 +02:00
Magne Sjaastad
59ca0b943c
Add readability-simplify-boolean-expr
* Add readability-simplify-boolean-expr
* Fixes based on review
2023-06-26 13:12:41 +02:00
Jørgen Herje
0685078ab3
Fix automatic part id detection for Fault Reactivation Result, and resampling bug in RigWellLogCurveData
* Fix resampling bug and refactor code
- 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

* Change WellAllocationPlot to use step left
Remove dummy point and utilize step left for WellAllocationPont

* Fix bug in creating resampled values and depths for RigWellLogCurveData

* Fix automatic part detection for Fault Reactivation Result
- Fix incorrect automatic part detection
- Set default distance to intersection to 1.0 [m]
2023-06-20 10:08:10 +02:00
Kristian Bendiksen
9fd9e90c61 Well Log Extraction: adjust tolerance to keep more cell edge intersection
This keeps more cell edge intersections for thin cells (in z direction).
2023-06-19 21:21:25 +02:00
Magne Sjaastad
5bd492dc56
Adjustments before release
* Make sure existing project files do not filter intersection geometry by cell filters

* #10241 Temporarily revert changes to resampling changes
These fixes had unintended side effect on well flow plot and rft plots seen in regression tests
https://github.com/OPM/ResInsight/issues/10241

* Update version number
2023-06-08 09:13:22 +02:00
jonjenssen
17f09878d2
Enable filters for curve intersections (#10329)
* Enable cell filters
* Enable property filters
* Clean up fault collection interface and use similar setting for controlling filters as in intersection collection
* Enable cell/property filters on geomech intersections
* Enable cell and property filters for box intersections
2023-06-05 07:33:04 +02:00
Magne Sjaastad
9a159cc02d Performance: Property filter on a time step difference case is slow #10339 2023-06-02 16:34:21 +02:00
Magne Sjaastad
0e25f364f8 Fix build issues MSVC 17.6.2 2023-05-31 12:49:01 +02:00
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
Magne Sjaastad
befab37588 Add debug output of AABB tree 2022-12-16 15:36:48 +01:00
Magne Sjaastad
529c9af9a4 Guard recursive updates if NNC data import is disabled
Import of NNC data can be turned off in Preferences. If this is off, loading of projects using NNC data can enter a recursive update loop.
2022-12-16 15:29:50 +01:00
Magne Sjaastad
d3a5355141
#9534 Make sure indexIJK values are computed only once (#9537) 2022-12-02 14:36:32 +01:00
Jørgen Herje
278828b08f
Add reference well to well log extraction curve eclipse case (#9516) 2022-11-30 23:13:39 +01:00
Magne Sjaastad
dfa1bc2cd0
Some fixes for new gcc/clang
Minor fixes for newer gcc/clang. These issues were seen when using ubuntu-latest (Ubuntu 22.04) on Github Actions.
2022-11-25 08:59:10 +01:00
Kristian Bendiksen
99e9944e6e
#9493 grid calculator on active cells only
* Janitor: Improve getter for RigActiveCellInfo::gridActiveCellCounts.
* #9493 Grid Calculator: calculate on only active cells.
* #9493 Grid Calculator: filter with active cells.
* Fix calculation for input grid cases
Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
2022-11-24 10:44:03 +01:00
Kristian Bendiksen
e8789f3d4b
#9470 User defined perf length for azimuth fractures
Fractures: Add UI for user-defined perforation length for az fractures
Add user defined perforation length for azimuth fractures.
Janitor: remove duplication
2022-11-24 10:42:26 +01:00
Magne Sjaastad
a74b168e03
Improve property linking
* Allow linking of property filters across cases with same IJK size
* Recalculate when grid is replaced
Find dependencies between calculations and order them accordingly
2022-11-22 10:22:17 +01:00
Magne Sjaastad
6a859e0860
Fix update issues related to fracture calculations
* Make sure property filter is updated when completion type is cleared
* Clear geometry cache in views to make sure geometry is recreated
* Calculate required input parameters to completion type calculations
* Recompute values when depth changes
2022-11-18 12:50:04 +01:00
Magne Sjaastad
e7c864c6d8
Improve grid cell calculator
* Use full name for grid case view
* FIx signed / unsigned issue
* Support drag/drop of file names into Main Window
* Add function to check if two grid cases are of equal size
* Result Info: Show cell result text for all linked views
* Improve how to specify cells to be included in calculation

- move view filter to calculation
- improve how to assign values to non-visible cells
- avoid computation between grids of different size

Closes #9482
2022-11-17 15:51:01 +01:00
Kristian Bendiksen
286855cce0 Thermal Fracture: fix occasional glitch in fracture orientation.
The normal has to always point downwards, and this was not the case.
2022-10-24 12:01:34 +02:00