mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-26 15:10:22 -05:00
#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.
This commit is contained in:
1 parent
4aa0910db3
commit
3067823e71
33 files changed
+922
-796
No files matched your search
@@ -35,7 +35,7 @@
|
||||
#include "RigEclipseResultTools.h"
|
||||
#include "RigGridExportAdapter.h"
|
||||
#include "RigMainGrid.h"
|
||||
#include "RigNonUniformRefinement.h"
|
||||
#include "RigNoRefinement.h"
|
||||
#include "RigSimulationInputTool.h"
|
||||
#include "Well/RigSimWellData.h"
|
||||
|
||||
@@ -464,7 +464,7 @@ TEST( RigEclipseCaseDataToolsTest, GenerateBorderResultFromIjkBounds )
|
||||
ASSERT_FALSE( visibility.isNull() ) << "Visibility should be created successfully";
|
||||
|
||||
// Generate border result using refined methods (no refinement: 1,1,1)
|
||||
RigNonUniformRefinement refinement( cvf::Vec3st( maxIjk.i() - minIjk.i() + 1, maxIjk.j() - minIjk.j() + 1, maxIjk.k() - minIjk.k() + 1 ) );
|
||||
RigNoRefinement refinement( cvf::Vec3st( maxIjk.i() - minIjk.i() + 1, maxIjk.j() - minIjk.j() + 1, maxIjk.k() - minIjk.k() + 1 ) );
|
||||
RigGridExportAdapter gridAdapter( eclipseCase.p(), minIjk, maxIjk, refinement, visibility.p() );
|
||||
|
||||
// Create refined visibility
|
||||
@@ -553,7 +553,7 @@ TEST( RigEclipseCaseDataToolsTest, GenerateOperNumResultFromBorderResult )
|
||||
ASSERT_FALSE( visibility.isNull() ) << "Visibility should be created successfully";
|
||||
|
||||
// Generate border result using refined methods (no refinement: 1,1,1)
|
||||
RigNonUniformRefinement refinement( cvf::Vec3st( maxIjk.i() - minIjk.i() + 1, maxIjk.j() - minIjk.j() + 1, maxIjk.k() - minIjk.k() + 1 ) );
|
||||
RigNoRefinement refinement( cvf::Vec3st( maxIjk.i() - minIjk.i() + 1, maxIjk.j() - minIjk.j() + 1, maxIjk.k() - minIjk.k() + 1 ) );
|
||||
RigGridExportAdapter gridAdapter( eclipseCase.p(), minIjk, maxIjk, refinement, visibility.p() );
|
||||
|
||||
// Create refined visibility
|
||||
|
||||
Reference in new issue
Block a user