Commit Graph
21 Commits
Author SHA1 Message Date
Kristian Bendiksen 3067823e71 #12957 Sector Model Export: introduce RigRefinement interface hierarchy
Replace the monolithic RigNonUniformRefinement class with a proper
polymorphic hierarchy: RigRefinement (abstract base), RigNoRefinement
(identity), RigUniformRefinement (O(1) uniform), and
RigNonUniformRefinement (per-cell custom fractions).

Ownership uses std::unique_ptr<RigRefinement>, consumers receive
const RigRefinement&. This eliminates the misleading class name,
removes effectiveRefinement() indirection, and gives each refinement
mode an appropriately optimized implementation.
2026-03-30 11:24:56 +02:00
Kristian Bendiksen 5d6aba0f70 #12957 Sector Model Export: unified refinement abstraction via effectiveRefinement()
Add effectiveRefinement() to RicRefinementSettings, RicExportSectorModelUi, and
RigSimulationInputSettings, always returning RigNonUniformRefinement regardless of
whether uniform, non-uniform, or no refinement is active.

Merge the dual RigGridExportAdapter constructors into a single one taking
RigNonUniformRefinement, and unify transformIjkToSectorCoordinates to a single
overload. Eliminate all hasNonUniformRefinement() branching patterns in
RigSimulationInputTool.cpp in favour of effectiveRefinement().
2026-03-30 11:24:56 +02:00
Kristian Bendiksen a3b784ea34 #13740 Add tests for FIP keyword handling in sector model export
Add regression tests verifying that custom FIPABC keyword in the
REGIONS section is correctly cropped and padded during sector model
export, similar to how FIPNUM is handled.
2026-03-23 09:30:16 +01:00
Kristian Bendiksen 9678cbf88d #13411 Add tests for MULTIPLY and ADD inside BOX/ENDBOX context
Tests cover record-level processing (no overlap, partial overlap with
clamping, completely inside sector) and full deck transformation with
BOX/ENDBOX for both MULTIPLY and ADD keywords.
2026-03-20 14:30:34 +01:00
Kristian Bendiksen 539eec6cc5 #13411 Sector Model Export: unify BOX/ENDBOX processing into single pass
Replace 7 separate deck iterations (cropDataKeywordsInsideBoxContext,
expandBoxContextInDeckFile, and 5 replace*KeywordIndices wrappers) with
a single transformKeywordsInDeckFile function that tracks BOX/ENDBOX
state once and handles all keyword types as they are encountered.
2026-03-20 14:30:34 +01:00
Kristian Bendiksen fce37b8fdb #13411 Sector Model Export: crop data keywords inside BOX/ENDBOX to sector intersection
Data keywords (PORO, EQLNUM, etc.) inside BOX/ENDBOX contain values for the
sub-box only. When BOX coordinates are transformed to sector coordinates, the
data size must match the transformed box dimensions. Crop boxed data keywords
to the intersection of the BOX region with the sector, preserving the
BOX/ENDBOX structure in the exported deck. If the box does not intersect the
sector, the data keyword is removed.
2026-03-20 14:30:34 +01:00
Kristian Bendiksen ff1018a65f #13411 Add test for data keyword cropping with 4 EQLNUM regions
Add a new .DATA file with K-layer based EQLNUM regions (1-4) and a
test that verifies correct spatial cropping of EQLNUM, EQUIL records,
and PORO when exporting a sector model.
2026-03-20 14:30:34 +01:00
Kristian Bendiksen 42df3170dd #13411 Add integration test for data keyword cropping in sector model export
Verify that PORO, EQLNUM, and SATNUM are correctly cropped from 6000
to 600 values when exporting a 10x10x6 sector from the 20x30x10
model5 grid, and that cropped values match the original uniform data.
2026-03-20 14:30:34 +01:00
Kristian Bendiksen 1f42f70d26 OpmFlowDeck: avoid swallowing error messages when loading deck. 2026-03-16 12:53:49 +01:00
Kristian Bendiksen 7db39cf092 #13467 Add model padding functionality for sector model export
Add Z-direction padding support for sector models based on OPM-Flow's
padmodel.cpp. This feature enables users to add padding layers above
and/or below the exported sector model grid.

Adapts padmodel.cpp from
https://github.com/hnil/opm-flowgeomechanics/blob/geomech_hypre_cgal/examples/padmodel.cpp
Commit: 5ee483e

Fixes #13467.
2026-02-16 18:42:15 +01:00
Kristian Bendiksen 1c9c5a85ad #13333 Simulation Input: Add EDITNNC export functionality for sector models 2026-01-12 17:19:38 +01:00
Kristian Bendiksen fe609def88 Simulation Input: Add refinement support for border boundary conditions
Add refined grid border detection for BCCON_BCPROP boundary conditions.
The refined functions operate on the exported refined grid dimensions,
ensuring border cells are correctly identified when using grid refinement.
2025-12-12 13:38:22 +01:00
Kristian Bendiksen b1f9f8c4a5 Simulation Input: Fix bug in BOX transformation when using refinement. 2025-12-11 12:07:21 +01:00
Kristian Bendiksen ab708f5e0e Simulation Input: Handle AQUNUM keyword. 2025-12-11 12:07:21 +01:00
Kristian Bendiksen d3f43dfebb Simulation Input: Handle EQUALS keyword without ijk box. 2025-12-11 12:07:21 +01:00
Kristian Bendiksen e08ba63f01 Simulation input: Add refinement test. 2025-12-01 14:20:49 +01:00
JJ 6689000d85 New Sector Model Export user interface (#13247)
* Add sector model export wizard
* GUI cleanup
* Use job name as deck name for simulation runs
* Remove new things from old export GUI
* Use radio-buttons for enum dropdowns
2025-11-28 16:43:51 +01:00
Kristian Bendiksen 655737aa33 Simulation Input: Add test for bccon/bcprop. 2025-11-19 16:47:27 +01:00
Kristian Bendiksen 0626c2e199 Simulation Input: reintroduce OPERNUM+OPERATER/BCCON+BCPROP.
Was incorrectly removed in the refactoring in c47e8ac76f
2025-11-19 16:47:27 +01:00
Kristian Bendiksen 4df9bc49c8 Simulation Input: add test case for opm-tests model5. 2025-11-19 16:47:27 +01:00
Kristian Bendiksen c47e8ac76f Refactor: move simulation file/input code to separate class. 2025-11-17 15:48:12 +01:00