Commit Graph
342 Commits
Author SHA1 Message Date
Magne Sjaastad 275526a64a Remove unused includes
Remove unused includes, mostly AppEnum.h
2024-11-04 09:54:23 +01:00
Magne Sjaastad 4cf6a26083 Improve draw performance for active cell grid
* Show timing for geoBuilder.generateSurface()
* Check state of element vector result before geometry is created

* Improve performance for isFaceVisible
Avoid calling costly function cell() when possible
Remove check on fault geometry as this does not affect the visualization

* Performance: Avoid traversal of all cells when computing visibility
When we have an active cell grid, we can skip checking for inactive and invalid state.
Use the list of active grid cells when looping through cells.
2024-11-03 13:38:03 +01:00
jonjenssen da683bed9e Move Rig well related things to subfolder and update include statements 2024-10-31 15:08:59 +01:00
Jon Jenssen 4468e89ded Ignore empty branches and invalid cells 2024-10-29 18:17:31 +01:00
Jon Jenssen 8a2a1c218b Some performance updates 2024-10-29 18:17:31 +01:00
jonjenssen f7ecd38592 Add some friends to protect direct access to internal cell storage 2024-10-29 18:17:31 +01:00
jonjenssen f21d1545f8 Some cleanup 2024-10-29 18:17:31 +01:00
jonjenssen db66ec82de Some clean up and fixes 2024-10-29 18:17:31 +01:00
jonjenssen 78d82acb41 Add specialiced active cell subgrids 2024-10-29 18:17:31 +01:00
jonjenssen 88118ee4e1 Privatize grid cell array 2024-10-29 18:17:31 +01:00
jonjenssen 69878f54d3 Work in progress 2024-10-29 18:17:31 +01:00
Magne Sjaastad 4f921b62b6 Remove misleading and confusing error message 2024-10-29 10:29:29 +01:00
Magne Sjaastad 2814b92055 Qt6: Adjustments (#11804)
* Qt6: Avoid insertWidget, use addWidget
In Qt6, the insertWidget function checks if the index parameter is valid based on current widgets present in the layout. This is error prone, and use addWidget to avoid manual counting of index.

* Disable use of Qt keyword foreach

* Replace use of QRegExp with QRegularExpression
Replace use of QRegExp with QRegularExpression
Remove dependency on qt5compat module
Simplify an expression based on review

* Remove Qt5 ifdefs

* Guard access out of bounds seen in debug build

* Avoid reuse of string variable

* Disconnect all signals from the QOpenGLContext
The call stack when this assert happens indicates that there are more signals to be disconnected from the object. Crash is fixed by disconnecting all signals.

Assert seen in debug build:

ASSERT failure in caf::Viewer: "Called object is not of the correct type (class destructor may have already run)", file C:\Qt\6.6.3\msvc2019_64\include\QtCore/qobjectdefs_impl.h, line 130

* Fix issue related to delete of a linked view
Guard null pointer use in view linker. Remove complicated cleanup in destructor in Rim3dVew.
2024-10-28 13:09:18 +01:00
Kristian Bendiksen 293e19d820 Refactor: make contour map calculation easier to reuse. 2024-10-23 14:46:52 +02:00
Magne Sjaastad da4d4c66b1 #11798 Use type definition from ClipperLib to avoid overflow
When converting a cvf::Vec3d to an integer vector, the platform int type was used as an intermediate variable. This caused overflow for large double values.
2024-10-22 10:39:04 +02:00
Magne Sjaastad 04799e044e Fix missing prefix seen in unity builds 2024-10-20 16:35:39 +02:00
Kristian Bendiksen ebc805ab65 Refactor: Extractor contour polygon tools. 2024-10-17 13:45:18 +02:00
Kristian Bendiksen a8d56417f6 Refactor: Extract RigContourMapGrid object. 2024-10-17 08:23:22 +02:00
Magne Sjaastad aabe7b064d #11735 Use static well path geometry if no simulation well data is available
Crash when creating intersection on a simulation well no well data is present at time step
2024-10-02 15:20:27 +02:00
Kristian Bendiksen b760fcebe2 #11689 Well Target Candidates: generate on well target clusters for single case. 2024-09-30 13:42:28 +02:00
Kristian Bendiksen 13cf450831 Add result calculator for PORV*SOIL, PORV*SGAS, and PORV*(SOIL+SGAS). 2024-09-30 13:42:28 +02:00
212f5bf5ae Add support for Qt6 and disable Qt5
Required changes to use Qt6 and disable support for Qt5. There are still some adjustments related to Qt6 to be done, but these changes are not required to make Qt6 compile on relevant systems.

* Build system changes Qt6
* Override enterEvent
* Update QKeySequence
* QtChart changes
* Use QScreen to instepct dotsPerInch
* Add app->quit()
* Required updates for code related to QString
* Use RiaQDateTimeTools
* Required changes related to regular expressions
* Support compile on Qt  < 6.5
When version < 6.5 is found, qt_generate_deploy_app_script() is disabled. Compilation of ResInsight will work, but the install target will be incomplete.
* Octave: add missing header.
* Qt Advanced Docking: force Qt6 where both Qt5 and Qt6 is available.

---------

Co-authored-by: magnesj <1793152+magnesj@users.noreply.github.com>
Co-authored-by: Kristian Bendiksen <kristian.bendiksen@gmail.com>
2024-09-30 11:21:17 +02:00
Jon Jenssen 8ea818f03e Don't skip loading data if one or more timesteps are missing. 2024-09-10 18:30:17 +02:00
magnesj fc2106edb0 Fixes by clang-tidy 2024-09-02 15:26:44 +02:00
jonjenssen 0572069511 Support for loading only active cell geometry (#11624)
* Only load active cells for main grid, skip LGRs for now
* Handle wells with inactive cells
* Validate mapaxes transform before using it.
* Add log message
* Additional guarding when trying to find the geometrical location of a simulation cell
* Add extra safeguarding for init/restart file access in opm common. Only support unified restart files.
2024-08-28 18:22:57 +02:00
jonjenssen 868e9916bc Grid preferences update (#11547)
* Refactor RifReaderSettings and grid preferences tab
2024-07-04 12:38:41 +02:00
jonjenssen 4365b0dfb9 Grid import using opm-common improvements (#11438)
* Update opm-common EGRID reader to support LGRs, NNCs, dual porosity, unit system info and time step filters
* Rearrange well reading code into separate class
* Update resdata library to not require an ecl_grid when reading well information. Only lgr names are needed, allows reused by opm_common reader
2024-06-18 13:03:48 +02:00
Kristian Bendiksen 23d716754e Add action for downloading and parsing well log from OSDU Wellbore DDMS. 2024-06-14 17:31:22 +02:00
Magne Sjaastad fe63231db9 Add support for multiple curve sets in one VFP plot
- support selection of multiple values for multiple producer variables
- use one color for curves in a curve set representing a VFP curve collection
- use symbols to indicate individual family values for curves
- show all required values to identify curves as curve legend text and curve mouse hover text
- make sure all available settings of axis property object is applied to the plot axis
- support display of all curve data using "Show Plot Data"
2024-06-12 09:35:28 +02:00
Magne Sjaastad 1d57b9032b Custom vfp plot (#11450)
* AppFwk: When clearing a tree selection, make sure all values are cleared
* Fix deprecated implicit lambda
* Add support for using the closest value in addition to exact match
* Add table data source object and add plot with multiple data sources
Delete the temporary RimVfpDeck class
Add RimVfpTable to represent a table in a data source
Add plot able to show data from multiple tables

* AppFwk: Make it possible to call resolveReferences multiple times
Use case: Vfp tables are stored in files. Multiple tables can be present in one file. Pdm table objects are created after resolve references is done as part of parsing file. When the Pdm object are created, resolveReferences can be called once more.

* Call resolveReferencesRecursively() after RimVfpTable objects are created
2024-05-29 12:55:45 +02:00
Kristian Bendiksen d1d3ee129f Refactor: Extract parser options from RicPasteAsciiDataToSummaryPlotFeatureUi 2024-05-28 10:44:44 +02:00
Kristian Bendiksen 6e1289507f Refactor: Rename WellLogFile to WellLogData. 2024-05-28 10:44:44 +02:00
Magne Sjaastad ff9b13163a Add RimVfpTableData used to represent connection to file and data
Extract data management from RimVfpPlot. Use pointer from RimVfpPlot to RimVfpTableData.
2024-05-13 15:45:55 +02:00
Magne Sjaastad ed5382af24 Merge branch 'main' into dev 2024-04-25 09:34:11 +02:00
Magne Sjaastad a993841671 #11396 RelPerm: Remove display of KROG curve if no gas is present 2024-04-25 09:22:43 +02:00
Magne Sjaastad 6e74fa98c0 #11395 Grid Calculation: Make sure a generated result can be used 2024-04-25 09:22:43 +02:00
Magne Sjaastad c17e5237ca Revert "Early return if data already is available"
This reverts commit 274d4fc0db.
2024-04-22 12:25:20 +02:00
Magne Sjaastad 16be653826 Updates after patch release 2024-04-22 10:33:45 +02:00
Magne Sjaastad 1bee1d9bed Make sure we read data from file reader only when required
Use same pattern as for dynamic results.
2024-04-22 09:54:43 +02:00
Magne Sjaastad 91c82f0010 Revert "Early return if data already is available"
This reverts commit 274d4fc0db.
2024-04-22 09:07:22 +02:00
e9ff3540ba Update dev branch after patch release
* Fix calculation for active cell values
Always allocate result data for active cells in destination case. Make sure that active cells is used for both population of expression variables and filtering of data. Improved naming to make it clear that we always work with active cell data.

* Check if scalar result index is valid
* Create the static scalar results once
addStaticScalarResult will clear already computed data, causing calculations to be triggered once more

* Early return if data already is available
If not checking if data is available, data is read from file and appended to result vector.

* Always check date for H5 files, and recreate if required

* Always recreate ESMRY if file exists and is older than SMSPEC

* #11355 Use category if result name starts with FIP or ends with NUM

* #11337 Summary import: Make sure ESMRY includes restart history

* #11334 Fix cvf::Viewport assert triggered for small contour map/2d intersection
Size of the overlay is could become negative, and would overflow for small views.

* #11310 Fix assert on single cell model.
Well pipe radius would become HUGE_VAL due to off-by-one error.
The assert could only happen on model with a single cell.

* Check equal grid size only when required
Equal grid size is required if there is more than one grid case in the expression. If a cell filter view is active, the visibility is based on one view and reused for all other grid models, and requires equal grid size.

* Remove obsolete log message

* Do not show dialog during regression tests

* Fix eclipse case contour map left click (#11378)

* Make sure we operate in the correct domain when picking points in the contour map

* Remove obsolete code causing grid to be loaded for all cases


* Bump version to 2024.03.1

---------

Co-authored-by: Kristian Bendiksen <kristian.bendiksen@gmail.com>
Co-authored-by: jonjenssen <69144954+jonjenssen@users.noreply.github.com>
2024-04-19 15:09:15 +02:00
Magne Sjaastad 030688cff6 Several adjustments related to Qt6
* Avoid ambiguous definition during unity build on Windows
* Add missing include
* Add Qt6 to expressionparser
* Add Qt6 to nightcharts
* Replace forward define of QStringList with include <QStringList>
* Use toMSecsSinceEpoch
* Use setContentsMargins
2024-04-16 14:22:15 +02:00
Kristian Bendiksen b181c55db8 WBS Plot: use PP (from any source) for shale for SFG. 2024-04-15 13:26:08 +02:00
Kristian Bendiksen 9dc5e99be0 #11354 Fix FG_MK_MIN/FG_MK_EXP calculations
Was not using Kirsch at all due to misunderstanding.

Fixes #11354.
2024-04-15 13:26:08 +02:00
Magne Sjaastad 274d4fc0db Early return if data already is available
If not checking if data is available, data is read from file and appended to result vector.
2024-04-15 10:33:56 +02:00
Magne Sjaastad d6a1db843f Create the static scalar results once
addStaticScalarResult will clear already computed data, causing calculations to be triggered once more
2024-04-15 10:33:56 +02:00
Kristian Bendiksen 67a9e14417 CSV Well Log: change sampling rate from 1.0 meter to 0.1 meter. 2024-04-10 13:05:34 +02:00
jonjenssen 25361ad796 Allow polygon line filter with only one point (#11345)
Allow polygon line filter with only one point, for both eclipse and geomech
2024-04-10 10:47:06 +02:00
Kristian Bendiksen efe37bb063 Well Log CSV: fix interpolation of CSV data.
The TVD measurements from the well path were used to interpolate the CSV data.
The typically well path is too coarsely sampled which would lead unwanted
smoothing of the data.

Fixed by resampling the well path to a one meter sampling interval.
2024-04-05 14:39:46 +02:00
Magne Sjaastad ef637e3053 Move stream operator from AppEnum header
This PR will reduce the compile time of code using AppEnum. 

* AppEnum: Move QTextStream operator to avoid include of QTextStream
* Avoid use of iostream in cafAssert
rator to avoid include of QTextStream

Include file profiling shows that include of QTextStream is a performance issue. Create a non-templated base class for AppEnum. Implement the QTextStream operator for this interface.
2024-03-25 15:14:04 +01:00