mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Improve well path modeling
* Improve handling of MD at first target * When sea level well target is disabled, update MD of first target * Show well target spheres by default, allow toggling of spheres * Activate well target modifiers when clicking on well targets * Remove selection update causing an unstable 3D view * Improve display and handling of multiple locations * Add special 3D target for tie in well target * Add slider to tie in MD input field * Show MD in well path target table * Delete all well path laterals when deleting a well path * Python : Add lateral to parent well * Python : Add perforation interval
This commit is contained in:
@@ -3,15 +3,32 @@ import rips
|
||||
|
||||
# Connect to ResInsight instance
|
||||
resinsight = rips.Instance.find()
|
||||
# Example code
|
||||
print("ResInsight version: " + resinsight.version_string())
|
||||
|
||||
modeled_well_paths = resinsight.project.descendants(rips.ModeledWellPath)
|
||||
# Create a modeled well path and add well path targets
|
||||
# The coordinates are based on the Norne case
|
||||
|
||||
for wellpath in modeled_well_paths:
|
||||
geometry = wellpath.well_path_geometry()
|
||||
geometry.print_object_info()
|
||||
reference_point = geometry.reference_point
|
||||
reference_point[0] += 100
|
||||
geometry.update()
|
||||
geometry.print_object_info()
|
||||
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()
|
||||
|
||||
geometry = well_path.well_path_geometry()
|
||||
|
||||
reference_point = geometry.reference_point
|
||||
reference_point[0] = 457196
|
||||
reference_point[1] = 7322270
|
||||
reference_point[2] = 2742
|
||||
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 new well targets relative the the reference point
|
||||
coord = [454.28, 250, -10]
|
||||
target = geometry.append_well_target(coord)
|
||||
|
||||
coord = [1054.28, 250, -50]
|
||||
target = geometry.append_well_target(coord)
|
||||
|
||||
well_path.append_perforation_interval(3300, 3350, 0.2, 0.76)
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
# Load ResInsight Processing Server Client Library
|
||||
import rips
|
||||
import time
|
||||
|
||||
# Connect to ResInsight instance
|
||||
resinsight = rips.Instance.find()
|
||||
|
||||
# Create a modeled well path and add well path targets
|
||||
# The coordinates are based on the Norne case
|
||||
# Add a lateral to the main 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()
|
||||
|
||||
geometry = well_path.well_path_geometry()
|
||||
|
||||
reference_point = geometry.reference_point
|
||||
reference_point[0] = 457196
|
||||
reference_point[1] = 7322270
|
||||
reference_point[2] = 2742
|
||||
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 new well targets relative the the reference point
|
||||
coord = [454.28, 250, -10]
|
||||
target = geometry.append_well_target(coord)
|
||||
|
||||
coord = [1054.28, 250, -50]
|
||||
target = geometry.append_well_target(coord)
|
||||
|
||||
# Create a lateral at specified location on parent well
|
||||
measured_depth = 3600
|
||||
lateral = well_path.append_lateral(measured_depth)
|
||||
geometry = lateral.well_path_geometry()
|
||||
|
||||
coord = [770, 280, 50]
|
||||
target = geometry.append_well_target(coord)
|
||||
|
||||
coord = [1054.28, -100, 50]
|
||||
target = geometry.append_well_target(coord)
|
||||
|
||||
coord = [2054.28, -100, 45]
|
||||
target = geometry.append_well_target(coord)
|
||||
|
||||
|
||||
# Wait 2 second
|
||||
print("Wait 2 seconds ...")
|
||||
time.sleep(2)
|
||||
print("Move reference point of parent well")
|
||||
|
||||
geometry = well_path.well_path_geometry()
|
||||
reference_point = geometry.reference_point
|
||||
reference_point[2] += 50
|
||||
geometry.update() # Commit updates back to ResInsight
|
||||
Reference in New Issue
Block a user