Commit Graph
28 Commits
Author SHA1 Message Date
Magne Sjaastad e217ffb5c6 Enable flow diagnostics for grids imported with opm-common
* Update flowdiag-app submodule with grid source abstraction
* Add opm-common grid source for flow diagnostics
* Enable flow diagnostics for grids imported with opm-common
* Test flow graph from opm-common matches resdata
* Test flow diagnostics results are equal for all grid readers
* Document EGrid constructor behavior in flow diagnostics grid source
2026-10-13 12:43:01 +02:00
Magne Sjaastad 067c9c8880 Catch exceptions when reading INIT file for flow diagnostics
RigOpmFlowDiagStaticData reads the INIT file in its member initializer, outside the existing try blocks. A malformed INIT file throws std::invalid_argument, which escapes to std::terminate.

Catch the exception in ensureStaticDataObjectInstanceCreated(), log a warning and return false. All callers already handle false.

Call stack:
[5] manageTerminate() at ResInsight/ApplicationExeCode/RiaMainTools.cpp:249
[11] Opm::ECLInitFileData::ECLInitFileData(boost::filesystem::path) at ResInsight/ThirdParty/custom-opm-flowdiag-app/opm-flowdiagnostics-applications/opm/utility/ECLResultData.cpp:1650
[12] RigOpmFlowDiagStaticData::RigOpmFlowDiagStaticData(...) at ResInsight/ApplicationLibCode/ReservoirDataModel/RigFlowDiagSolverInterface.cpp:51
[13] std::make_unique<RigOpmFlowDiagStaticData, ...>(...) at /opt/rh/gcc-toolset-13/root/usr/include/c++/13/bits/unique_ptr.h:1070
[14] RigFlowDiagSolverInterface::calculatePvtDynamicPropertiesFvf(int, double, double, double, double*, double*) at ResInsight/ApplicationLibCode/ReservoirDataModel/RigFlowDiagSolverInterface.cpp:859
[15] RiuPvtPlotUpdater::queryDataAndUpdatePlot(...) at ResInsight/ApplicationLibCode/UserInterface/RiuPvtPlotUpdater.cpp:137
[16] RiuPlotUpdater::doDelayedUpdate() at ResInsight/ApplicationLibCode/UserInterface/RiuPlotUpdater.cpp:86
[17] RiuPvtPlotPanel::showEvent(QShowEvent*) at ResInsight/ApplicationLibCode/UserInterface/RiuPvtPlotPanel.cpp:341
2026-10-12 19:00:45 +02:00
Magne Sjaastad 1c4c304064 #14476 ApplicationLibCode: Remove unused cvf includes
Remove 95 cvf include lines that the including file does not use. Found by
extracting the symbols declared by every VizFwk header, including symbols they
re-export, and flagging includes where none of those symbols appear anywhere in
the file. Each removal is verified by a full build.

Most of them are cvfVector3.h and cvfObject.h, left behind as the files they
were once needed by changed.

pch.h is left untouched. It includes cvfObject.h and cvfVector3.h on purpose, so
that the files using the precompiled header do not have to.

Note that a clean build after removing an include does not prove the include was
unnecessary, only that the declarations still arrive some other way. That path
can differ between platforms and with RESINSIGHT_ENABLE_UNITY_BUILD, so this
needs a CI round on Linux as well.
2026-08-07 15:05:57 +02:00
Magne Sjaastad 56e98ba1c4 #14476 ApplicationLibCode: Replace CVF_ASSERT with CAF_ASSERT
Migrate all assert macros in ApplicationLibCode to CAF_ASSERT and remove every
use of cvfAssert.h.

CVF_ASSERT is replaced one to one. CVF_TIGHT_ASSERT is also replaced by
CAF_ASSERT, which is semantically exact: CVF_ENABLE_TIGHT_ASSERTS is 1 only
under _DEBUG, and that is what CAF_ASSERT now does. The two CVF_FAIL_MSG sites
become CAF_ASSERT( false && "message" ), preserving the message with the idiom
already used elsewhere in the code base.

Counts before and after: CVF_ASSERT 1044 to 0, CVF_TIGHT_ASSERT 66 to 0,
CVF_FAIL_MSG 2 to 0, cvfAssert.h references 154 to 0.

Include handling: files that included cvfAssert.h directly now include
cafAssert.h instead, includes left dead by the migration are removed, and files
that were relying on cvfAssert.h transitively get an explicit cafAssert.h. Files
that reach cafAssert.h through another caf header are left unchanged; a missing
include here is a compile error, not a silently disabled assert.

ResultStatisticsCache links only LibCore and therefore had no path to
cafAssert.h. Add the cafPdmCore directory as a private include path rather than
linking the library, since cafAssert.h is header only.

Note that this stops these asserts from firing in Release and RelWithDebInfo,
where CVF_ASSERT was previously active.
2026-08-07 15:05:57 +02:00
Kristian Bendiksen 5ffcb69acc #13126 RiaLogging: Use std::string_view instead of QString for logging 2026-05-08 10:11:09 +02:00
Kristian Bendiksen bb0afbf962 #13126 RiaLogging: Extract errorInMessageBox to RiuMessageDialog
Move the QMessageBox-displaying helper out of the logging utility into a
dedicated UI class. RiaLogging.h no longer pulls QMessageBox/QWidget into
the ~270 files that include it. Behavior is preserved: showError displays
the dialog when running interactively (and not under regression tests),
then forwards the text to RiaLogging::error.
2026-05-08 10:11:09 +02:00
Magne Sjaastad a803aa1298 Move RigFlowDiagTimeStepResult to separate file 2025-11-25 10:48:18 +01:00
Magne Sjaastad 526cae24d9 #13218 Fix display of relative permeability plots for LGR 2025-11-21 21:38:04 +01:00
Magne Sjaastad 186992ebb6 Improves relative permeability plot display
Enhances the relative permeability plot by:

- Adding support for SATNUM and IMBNUM result display in cell reference information.
- Disabling the imbibition curve selection by default and enabling it dynamically based on the IMBNUM value.
- Removing the `satnum` argument from `calculateRelPermCurves` as it's no longer needed.
2025-11-03 16:07:40 +01:00
Magne Sjaastad b521e979be Adds imbibition relative permeability curves
Adds support for imbibition relative permeability curves to the reservoir simulation.

The changes introduce a new enum `CurveSet` to distinguish between drainage and imbibition curves. The solver interface is updated to request both drainage and imbibition curves from the OPM solver. The curve names are updated to include an "I" prefix for imbibition curves.
2025-10-28 19:02:36 +01:00
Magne Sjaastad 91192a671c Use opm-flowdiagnostics-applications as submodule
* Deletes the copy of the code in ThirdPary folder
* Replace code with opm-flowdiagnostics-applications as submodule
* Refactors ECL data handling for flow diagnostics
Updates flow diagnostics to utilize ECL init data consistently.
This change streamlines the passing and usage of initialization
data within the flow diagnostics routines, enhancing code
clarity and maintainability. Removes redundant passing of grid
data, simplifying function signatures.
2025-10-27 14:09:57 +01:00
Magne Sjaastad ec3e1b59cd Uses unique_ptr instead of cvf::ref 2025-10-03 08:37:24 +02:00
Magne Sjaastad a73999323a Move defines into separate file 2025-10-03 08:37:24 +02:00
Magne Sjaastad 4135a743fe Release preparations
* Adds a bounds check on the node index to prevent accessing invalid memory locations.
This prevents potential crashes caused by out-of-bounds access when retrieving summary variable values.
* Updates warning message for incomplete deltas
* Plot based on a single realization from a file set ensemble is not restored correctly on project load
* Populate result addresses if no addresses are present
* Adds CNV_ (convergence) result name
* Avoid include of RiaResultNames.h in header file
2025-08-27 14:22:11 +02:00
Magne Sjaastad efc8735a76 Modernizes summary reader management
Migrates to using `std::unique_ptr` for managing summary readers.

Removes the dependency on `cvf::Collection` and `cvfObject`.
2025-07-16 16:18:09 +02:00
magnesj fc2106edb0 Fixes by clang-tidy 2024-09-02 15:26:44 +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
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 06f9c6126d Copy changes from dev-branch into main
History of main branch was difficult to merge. Take a copy of dev-branch, and merge both ways between dev and main after the release.
2023-10-23 09:26:33 +02:00
Magne Sjaastad 77bf792b1a Release 2023.06 2023-06-19 13:48:44 +02:00
Magne Sjaastad 42b901ec28 clang-format: Set column width to 140
* Set column width to 140
* Use c++20
* Remove redundant virtual
2023-03-16 07:16:11 +01:00
Magne Sjaastad ab2a7254f8 #8964 Avoid message box for PVT and Rel Perm issues
Log warning message to log window instead of a dialog
Improve text
2022-05-26 20:47:23 +02:00
Magne Sjaastad 1e17da2926 Janitor : Add SOIL SGAS SWAT to RiaResultNames
wip
2022-01-07 10:38:56 +01:00
Magne Sjaastad e961dce97d #7944 Cell selection: Avoid crash for Pflotran simulation case 2021-09-02 15:55:43 +02:00
Magne Sjaastad 6ebf3aaaca #7350 PVT curves : Use PVTNUM value to get PVT curve data 2021-02-10 15:19:38 +01:00
Magne Sjaastad fdb465fe6d #7335 Dual poro models : Support rel perm and PVT plots 2021-02-05 15:35:33 +01:00
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
Gaute Lindkvist 81699db187 Rename ApplicationCode to ApplicationLibCode 2021-01-11 15:27:45 +01:00