Files
ResInsight/GrpcInterface/Python/rips/PythonExamples/create_intersection.py
Magne Sjaastad 5c72d31cc9 Improve well path target configuration (#8570)
Improve the scripting possibilities for well targets
Added tests and examples
2022-02-19 13:18:49 +01:00

76 lines
2.3 KiB
Python

# Load ResInsight Processing Server Client Library
import math, time
import rips
resinsight = rips.Instance.find()
# The coordinates in this example is based on the Drogon test case from Equinor
file_path = "e:/models/from_equinor_sftp/drogon-real0-iter3/DROGON-0.EGRID"
case = resinsight.project.load_case(file_path)
view = case.create_view()
view.set_time_step(2)
intersection_coll = resinsight.project.descendants(rips.IntersectionCollection)[0]
# Add a CurveIntersection and set coordinates for the polyline
intersection = intersection_coll.add_new_object(rips.CurveIntersection)
intersection.points = [
[45854, 595757, 1500],
[46493, 534259.1, 1500],
[46598, 590044.1, 1500],
]
intersection.update()
# Add a new modeled well path
well_path_coll = resinsight.project.descendants(rips.WellPathCollection)[0]
well_path = well_path_coll.add_new_object(rips.ModeledWellPath)
well_path.name = "Test Well-1"
well_path.update()
# Set reference coordinate
geometry = well_path.well_path_geometry()
reference_point = geometry.reference_point
reference_point[0] = 458580
reference_point[1] = 5935514
reference_point[2] = 1742
geometry.update() # Commit updates back to ResInsight
# Create the first well target at the reference point
coord = [0, 0, 0]
geometry.append_well_target(coord)
# Append well target with fixed azimuth
coord = [2229.10, -833.74, -74.70]
target = geometry.append_well_target(
coord, use_fixed_azimuth=True, fixed_azimuth_value=45.1
)
# Append well target with fixed inclination
coord = [3403.15, -1938.61, -80.93]
target = geometry.append_well_target(
coord, use_fixed_inclination=True, fixed_inclination_value=115.2
)
coord = [4577.21, -3043.47, -87.15]
target = geometry.append_well_target(coord)
geometry.update()
# Read out estimated dogleg and azimuth/inclination for well targets
for w in geometry.well_path_targets():
print(
"DL1:{} DL2:{} Azi: {} Incl: {}".format(
w.estimated_dogleg1,
w.estimated_dogleg2,
w.estimated_azimuth,
w.estimated_inclination,
)
)
# Add a curve intersection based on the modeled well path
well_path_intersection = intersection_coll.add_new_object(rips.CurveIntersection)
well_path_intersection.type = "CS_WELL_PATH"
well_path_intersection.well_path = well_path
well_path_intersection.update()