Commit Graph

138 Commits

Author SHA1 Message Date
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
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
jonjenssen
1299af401b
Add seismic result info in 3D view (#10032)
Add seismic result info in 3D view and selection in tree
2023-03-29 14:08:45 +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
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
Magne Sjaastad
9ae00177bf
Well measurement improvements
* Update 3D view and plot when measurement data is added
* #8625 Make visibility of measurement follow well path visibility
2023-02-07 17:44:47 +01:00
Jon Jenssen
c916459a55 Fix broken test 2023-01-26 14:18:03 +01:00
Jon Jenssen
42a9fef2d3 Fix geomech reload issues 2023-01-25 16:12:10 +01:00
jonjenssen
85f1b004cb
Geomech frames support (#9678)
Support for showing frames in geomech data.
2023-01-18 14:42:33 +01:00
Magne Sjaastad
8e161a5c89
Stabilization fixes related to regression testing
* Added fmtlib to LicenseInformation.txt
* Add license info for roffcpp
* Regression Tests: Guard use of invalid bounding box
* Regression Test: Check if file is present before opening
2023-01-10 11:45:37 +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
82968ca1a9
Support linking of 2D intersection views
* Major refactor from RimGridView to Rim3dView
* Move view linker/controller functions to Rim3dView
* Add bitmask to define the content of a 3D view
* Link views based on matching content
* Enable bit mask operators at global scope
* Make it possible to use 2d intersection views as comparison views
* Fix crash when a view used as comparison view is deleted
* Move unlinking to Rim3dView

* Add options to snapshot only 3D views/plots as part of regression testing
* WBS plot: Improve default name, hide axis for some tracks
2022-11-24 10:46:54 +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
Kristian Bendiksen
4345cb3a70
#9464 contour plot crash on legend levels change
The geometry was not properly cleared when on legend changed, and would lead to
crash when number of legend levels decreased.
Janitor: Fix two crashes when loading repro case
2022-11-24 10:39:46 +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
d4086ee371
Allow linking of contour map views
* Place copy of contour map in correct collection
* Allow linking of contour maps
* Improve handling of contour views and 3D views
* Guard nullptr
* Guard assert seen on Linux
* Zoom all on contour map when unlinked to reset zoom
If a contour map is linked to a 3D view, the view can get distorted. Call ZoomAll to reset to sensible defaults.

* Remove default rainbow legend
2022-11-04 15:48:25 +01:00
Kristian Bendiksen
550110d8ab Allow different definitions of valid result for StimPlan and Thermal template. 2022-10-03 08:33:55 +02:00
Magne Sjaastad
c31bc3e50e
Add multiple selected cell edge results 2022-08-25 12:51:56 +02:00
Jon Jenssen
2e3ac5b02b Fix intersection depth filter limit calculations 2022-08-02 09:07:24 +02:00
Kristian Bendiksen
625b927cb6 Thermal Fracture: Add visualization of results 2022-07-06 18:18:11 +02:00
Magne Sjaastad
a86abab3cb Regression Test: Guard null pointer access 2022-06-27 19:25:27 +02:00
Jon Jenssen
89773da26e Fix intersection crash by making sure we do nothing when top limit is below bottom limit 2022-06-02 06:54:45 +02:00
Kristian Bendiksen
a47edd4fa6 #8195 Fracture: Show containment also when mesh is off. 2022-05-25 21:25:50 +02:00
Magne Sjaastad
9c987855f2 Merge remote-tracking branch 'origin/patch_2021.10.3' into dev 2022-03-28 09:06:38 +02:00
Magne Sjaastad
f028491bb9 #8409 NNC : Make sure user defined legend ranges work 2022-03-28 08:46:10 +02:00
Magne Sjaastad
f99bfb04b9 Janitor: Make sure NNC connections are computed before visibility is evaluated 2022-03-28 08:46:10 +02:00
Magne Sjaastad
87780b2b8a #8403 Ensure the NNC connection polygon is created before computing area 2022-03-28 08:46:10 +02:00
Magne Sjaastad
e09a839228 Merge pull request #8402 from OPM/8401-flow-vector-result
Use OpenMP for vector calculations

Janitor: Use field of double instead of float to avoid rounding errors. If float is used in field, the current editor is has rounding effects that makes the text representation of 0.1 turn into 0.09999999....
2022-03-28 08:46:10 +02:00
Magne Sjaastad
8fea45c267 #8375 NNC : Create NNC generators when NNC data is available
This approach fixes an NNC visibility issue related to use of m_rimFault->faultGeometry()->connectionIndices() before any was assigned in RigMainGrid::distributeNNCsToFaults()
2022-03-28 08:46:10 +02:00
Magne Sjaastad
869921d300 #8375 Flow Vectors : Avoid recomputing NNCs when accessing flow data
Avoid include of RigNNCData.h in header files.
2022-03-28 08:46:10 +02:00
Magne Sjaastad
985a2c8f30 Merge pull request #8376 from OPM/fault_visibilityupdates
Faults: Add Visibiliy mode for overlapping area
2022-03-28 08:46:10 +02:00
Kristian Bendiksen
be7783776c #8362 Simulations wells: Fix crash on show spheres. 2022-03-25 17:45:13 +01:00
Kristian Bendiksen
fda4d1d608
#8651 Surface Intersection Curve: Fix crash when non-overlapping surface and intersection (#8737) 2022-03-25 15:06:11 +01:00
Magne Sjaastad
64bed86f8f
Intersection : Add Python support for triangle and result values (#8505)
#8508 Python : Make sure an empty list will be received as empty list in Python

Co-authored-by: magnesj <magnesj@users.noreply.github.com>
2022-02-07 17:38:19 +00:00
jonjenssen
d9bb82de91
Merge pull request #8447 from OPM/intersection_filterupdate
Intersection: depth filter updates
2022-01-16 23:56:00 +01:00
Magne Sjaastad
fef0a2b70c Janitor : Remove obsolete includes in header files 2022-01-07 10:38:56 +01:00
Magne Sjaastad
dfd8b9986f Janitor: Make sure the default legend is configured for intersection results 2022-01-07 10:38:56 +01:00
Magne Sjaastad
0cb7a157c9 #8409 NNC : Make sure NNC flow vector directions are stable 2022-01-07 10:38:56 +01:00
Magne Sjaastad
1e17da2926 Janitor : Add SOIL SGAS SWAT to RiaResultNames
wip
2022-01-07 10:38:56 +01:00
Magne Sjaastad
67993d56e3 #8409 NNC : Make sure user defined legend ranges work 2022-01-07 10:38:56 +01:00
Magne Sjaastad
bca2fadc28 Janitor: Make sure NNC connections are computed before visibility is evaluated 2022-01-05 15:58:41 +01:00
jonjenssen
55ba4bc802
Intersection depthfilter (#8408)
* Implement a simple depth filter to cut all geometry below a certain level for intersections
* Add option to override all curve intersection cut depths from collection.
* Add support for showing intersection above or below threshold. Update label texts.
2022-01-05 15:52:04 +01:00
Magne Sjaastad
eeb51bd8f1 #8403 Ensure the NNC connection polygon is created before computing area 2022-01-04 12:24:21 +01:00
Magne Sjaastad
8defab9bc1
Merge pull request #8402 from OPM/8401-flow-vector-result
#8401 Flow Vector Result: Handle empty results for first time step
Use OpenMP for vector calculations

Janitor: Use field of double instead of float to avoid rounding errors. If float is used in field, the current editor is has rounding effects that makes the text representation of 0.1 turn into 0.09999999....
2022-01-04 07:29:56 +01:00
Magne Sjaastad
21f0988493 #8375 NNC : Create NNC generators when NNC data is available
This approach fixes an NNC visibility issue related to use of m_rimFault->faultGeometry()->connectionIndices() before any was assigned in RigMainGrid::distributeNNCsToFaults()
2021-12-20 10:23:52 +01:00
Magne Sjaastad
891a2e7c29 #8375 Flow Vectors : Avoid recomputing NNCs when accessing flow data
Avoid include of RigNNCData.h in header files.
2021-12-20 10:23:52 +01:00
jonjenssen
43f298fa97
Merge pull request #8376 from OPM/fault_visibilityupdates
Faults: Add Visibiliy mode for overlapping area
2021-12-17 15:39:22 +01:00
Magne Sjaastad
44f588be27 #8312 2D/3D Intersections: Fix missing display of polyline 2021-12-01 16:27:28 +01:00
Magne Sjaastad
2b6767c328 #8312 2D/3D Intersections: Fix missing display of polyline 2021-11-24 09:24:35 +01:00
jonjenssen
059f30236b
Merge pull request #8168 from OPM/intersection_displacement
GeoMech: Support showing displacements on intersections, too
2021-10-20 01:41:14 +02:00
jonjenssen
b169900c41
GeoMech Intersection updates: support multiple parts (#8160)
* Rearrange intersection classes, split single file into one-per-class

* Support multi-part geomech case intersections
2021-10-15 16:57:18 +02:00
jonjenssen
d09ae4e1cb
Improved ODB support (#8046)
* Experiments for supporting visualization of new ODB files from WIA workflow

* Some more experiments to get odb working for wia results

* More work in progress, experimenting to get wellIA result files to load properly

* Make sure all part geometries use the same global bounding box

* Clean up code

* Add some safeguards for data calculations
Move parts below grid in project tree

* Fix warnings

* Add support for C3D8RT elements
Add some more safeguards for missing data
Remove strange part handling

* Support elements with reduced number of integration points by pretending to have 8.

* Change integration point mapping to correct order (ref. Stein and Abaqus 2019 doc)

* Do not allocate too much memory for element nodal results for 20 element node types

* Code cleanup.
Revert back to old integration point numbering scheme (ref. Stein)

* And, another integration point order update...

* Update comments
2021-09-27 12:44:29 +02:00
Magne Sjaastad
515168600f
Improved UI for surface band and curves (#8026)
* Add surface intersection bands and curves
* #8024 Ensemble Surface : Fix mix of files for a ensemble layer surface
2021-09-23 09:59:29 +02:00
Magne Sjaastad
7b1185cec4
Surface Folders
* #7978 Ensemble Surface : Use collection instead of specialized class
* Review updates
2021-09-13 10:16:09 +02:00
jonjenssen
0c69cdf203
Use only one implementation of lineIndicesFromQuadVertexArray (#7980)
* Use only one implementation of lineIndicesFromQuadVertexArray
2021-09-10 06:19:44 +00:00
jonjenssen
a5b80c649b
Merge pull request #7960 from OPM/geomech_WIA4
GeoMech: Well Integrity Analysis
2021-09-09 17:34:27 +02:00
Magne Sjaastad
ea6e734a55 Janitor : Add name to all parts to be able to find the source code producing the part 2021-09-03 10:01:46 +02:00
Magne Sjaastad
638f926429
cmake-format: Allow dangling parenthesis 2021-09-01 08:13:16 +02:00
Magne Sjaastad
b78cf3a4bb
Use cmake-format on all cmake files 2021-08-26 19:46:38 +02:00
Magne Sjaastad
2fc65a3b62
#7892 Basic support for display of surface lines and bands on intersections
Guard divide by zero issues
2D Intersection View: Do not add parts with wrong coordinates
Add bounding box search tree
Add support display of intersection lines for selected surfaces
Show band between two first intersection lines
2021-08-26 08:13:03 +02:00
Magne Sjaastad
8dbb1d5ccd
Improve well path modeling
* Improve handling of MD at first target
* When sea level well target is disabled, update MD of first target
* Show well target spheres by default, allow toggling of spheres
* Activate well target modifiers when clicking on well targets
* Remove selection update causing an unstable 3D view
* Improve display and handling of multiple locations
* Add special 3D target for tie in well target
* Add slider to tie in MD input field
* Show MD in well path target table
* Delete all well path laterals when deleting a well path

* Python : Add lateral to parent well
* Python : Add perforation interval
2021-08-13 16:48:33 +02:00
Magne Sjaastad
be160a9fe6 #3693 Intersect : Use active state of LGR cell to define visibility
Eclipse reports parent cell to LGR cells as active, and this property has been tested for in code.

Intersect reports inactive cell in the parent grid cell. Then we have to only check the active state of the LGR cell, not the parent cell.
2021-06-09 21:18:42 +02:00
Magne Sjaastad
6e0dadbdaa #7739 Preparations : Expose reservoir cell IDs used to generate geometry 2021-06-01 08:09:47 +02:00
Magne Sjaastad
098fda9816 Janitor : Remove duplicated code 2021-05-26 13:28:45 +02:00
Magne Sjaastad
9d58769f89 Janitor : Avoid include of header file in header 2021-05-26 13:28:45 +02:00
Magne Sjaastad
3fca5f15ae Janitor : Use enum class 2021-05-26 13:28:45 +02:00
jonjenssen
2e08f278ca
Surface: click on surface in 3d view to display value (#7702)
* Support showing result info for surfaces when clicking on them in the 3d view
2021-05-20 10:29:20 +02:00
Magne Sjaastad
b518acada6 Janitor : Use enum class 2021-05-18 16:22:05 +02:00
Magne Sjaastad
1cf1eef048 #7632 Preferences : Add separate tab Eclipse Summary
Remove obsolete includes
2021-04-28 14:10:23 +02:00
Magne Sjaastad
63690d5196 Major rewrite of MSW export model 2021-04-13 07:54:34 +02:00
jonjenssen
766ea6aab2
Streamline improvement (#7435)
* Use updated generator. Switch to using priority list for seeds. Fix phase reporting and sign issues. Fix step size when growing.
* Reduce memory footprint by simplifying viz. code and filter out unused tracers early
* Remove unused viz. code.
2021-03-02 01:53:31 +01:00
Magne Sjaastad
8bab748fa6 Improve MSW export including multi lateral wells
Based on branch https://github.com/OPM/ResInsight/tree/system-msw-refactor

- Move completion settings to property of well path
- Rename to RimFishbones
- Export implicit COMPSEGS for fishbones main bore
- Add valve for each branch
- Increase version number to be able to handle import of legacy project files
2021-02-26 14:59:57 +01:00
Magne Sjaastad
d7d843b9ed Add missing include 2021-02-26 13:03:29 +01:00
Magne Sjaastad
bde6fc7d9c Streamlines : Show dominant flow phase velocity 2021-02-26 10:45:30 +01:00
jonjenssen
9bd0a9ebac
Streamlines: New generator and UI usability improvements (#7424)
Co-authored-by: jonjenssen <jonjenssen@users.noreply.github.com>
Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
2021-02-25 16:38:56 +01:00
Magne Sjaastad
7d5268987c Janitor : Add missing includes (GNU 8.3.0) 2021-02-22 18:06:18 +01:00
Magne Sjaastad
1caac72715 Janitor : Use std::clamp and remove obsolete includes of cvfMath 2021-02-22 13:37:05 +01:00
Magne Sjaastad
cc292b197a
Result Divided by Area: Establish concept used to compute flow velocity and normalized trans (#7349)
* Geometry Tools : Add convenience functions for polygon area

* #7232 Result Divided by Area: Add cell face result and show in GUI

Native support for flow rate is given by mass rate (mass per time) over a cell face. Add a derived result that takes flow rate divided by cell face area to get velocity (distance per time).

Add support for this concept on relevant native results, and indicate this result type in UI using a "/A" postfix

* Speed up divided-by-area calculations by using openmp

* Some refactoring of result data access.

* Make sure NNC data is scaled correctly in vector flow viz.

Co-authored-by: jonjenssen <jon@soundsoft.no>
2021-02-11 03:01:17 +01:00
Kristian Bendiksen
f8aae6691d
6877 well fracture intersection per fracture (#7251)
* #6877 Move well/fracture intersection to fracture (from template).
* #6877 Read stimplan xml without scaling and well/fracture intersection offset
* #6877 Move fracture grid to RimFracture from template.
* #6877 Use RiaDefines::conductivityResultName() where applicable.
* #6877 Reintroduce fracture template scaling.
* #6877 Hide well/fracture intersection option for elliptical template
* #7280: Fix crash when picking in first time step of StimPlan fracture
* #7279 Redraw after deleting fracture to make it disappear.
2021-01-26 15:32:18 +01:00
jonjenssen
05aceef936
Polygonfilter updates2 (#7286)
* Make sure all contourmap copies are getting the correct case set for cell filters when creating/copying maps.

* Rewrite polyline part manager to be more generic, not just linked to annotations.
* Add new partmgr for cell filters to draw polygon filter outlines in both eclipse and geomech views
* Show lines/spheres for polygon filter outline
* Add color edit for line and spheres
* Add support for z plane lock in poygon filter outline
* Add new flags for enabling filter and/or polyline display

* Add K range filter to polygon filter

* Enable picking automatically when creating a new polygon filter
2021-01-26 13:08:21 +01:00
rubenthoms
bc81437435
Moved UnitSystem from RiaEclipseUnitTools to RiaDefines. (#7225)
* Moved UnitSystem from RiaEclipseUnitTools to RiaDefines.
- Renamed UnitSystem to EclipseUnitSystem
- Replaced header includes and removed obsolete includes of RiaEclipseUnitTools.h
* Moved  result name functions into separate file.
* Minor cleanup

Co-authored-by: rubenthoms <rubenthoms@users.noreply.github.com>
Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
Co-authored-by: magnesj <magnesj@users.noreply.github.com>
2021-01-21 12:58:46 +01:00
jonjenssen
a7775214c8
Rewrite of cell filters. Added new polyline filter and user defined filter types. (#7191)
Make 3d view picker more generic to enable picking cell filter polygon

Give cell filters a new, generic interface for updating included/excluded cells from collection

Remove old range filter collection and replace with new filter collection that supports both range filters, polyline filters and user defined filters.

Update existing range filter code for the new collection and interface

Add user defined cell filter type

Add polyline cell filter type

Implement both Z and K index depth for polyline filters
Allow interactive editing of polyline filter node positions.
Support both geomech and eclipse views
Support view linking with both eclipse and geomech views and the new filter types

Support loading old project files with range filter collections into the new collection type

Adjust to new world order.
2021-01-11 18:47:09 +01:00
Gaute Lindkvist
81699db187 Rename ApplicationCode to ApplicationLibCode 2021-01-11 15:27:45 +01:00