mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-26 23:20:29 -05:00
Carries the "Fault Distance" rename through to the C++ class names, file names, PDM/scriptable keywords and the Python API (add_fault_distance, class FaultDistance). The RicNewFaultDistanceResultFeature command class keeps its name.
56 lines
1.6 KiB
Python
56 lines
1.6 KiB
Python
import math
|
|
import os
|
|
import sys
|
|
|
|
sys.path.insert(1, os.path.join(sys.path[0], "../../"))
|
|
|
|
import dataroot
|
|
import rips
|
|
|
|
|
|
GRID_PATH = dataroot.PATH + "/TEST10K_FLT_LGR_NNC/TEST10K_FLT_LGR_NNC.EGRID"
|
|
|
|
|
|
def _get_view(case):
|
|
views = case.views()
|
|
if views:
|
|
return views[0]
|
|
return case.create_view()
|
|
|
|
|
|
def test_add_fault_distance_subset(rips_instance, initialize_test):
|
|
case = rips_instance.project.load_case(GRID_PATH)
|
|
view = _get_view(case)
|
|
fault_collection = view.fault_collection()
|
|
faults = fault_collection.faults()
|
|
assert len(faults) > 0
|
|
|
|
result = view.add_fault_distance("PY_FAULTDIST", faults[:1])
|
|
assert result is not None
|
|
assert result.result_name == "PY_FAULTDIST"
|
|
|
|
|
|
def test_add_fault_distance_all_matches_static(rips_instance, initialize_test):
|
|
"""Passing every fault into add_fault_distance must reproduce the
|
|
static-native FAULTDIST values cell-for-cell."""
|
|
case = rips_instance.project.load_case(GRID_PATH)
|
|
view = _get_view(case)
|
|
fault_collection = view.fault_collection()
|
|
all_faults = fault_collection.faults()
|
|
assert len(all_faults) > 0
|
|
|
|
static_values = case.active_cell_property(
|
|
rips.PropertyType.STATIC_NATIVE, "FAULTDIST", 0
|
|
)
|
|
|
|
view.add_fault_distance("PY_FAULTDIST_ALL", all_faults)
|
|
|
|
generated_values = case.active_cell_property(
|
|
rips.PropertyType.GENERATED, "PY_FAULTDIST_ALL", 0
|
|
)
|
|
|
|
assert len(static_values) == len(generated_values)
|
|
assert len(static_values) > 0
|
|
for s, g in zip(static_values, generated_values):
|
|
assert math.isclose(s, g, abs_tol=1e-6)
|