2020-02-19 08:20:34 -06:00
|
|
|
############################################################################
|
|
|
|
# This example prints center and corners for the currently selected cells
|
|
|
|
# in ResInsight
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
import rips
|
|
|
|
|
2021-01-26 13:48:01 -06:00
|
|
|
resinsight = rips.Instance.find()
|
2020-02-19 08:20:34 -06:00
|
|
|
if resinsight is not None:
|
|
|
|
cases = resinsight.project.cases()
|
|
|
|
|
2021-01-26 13:48:01 -06:00
|
|
|
print("Got " + str(len(cases)) + " cases: ")
|
2020-02-19 08:20:34 -06:00
|
|
|
for case in cases:
|
|
|
|
print(case.name)
|
|
|
|
cells = case.selected_cells()
|
|
|
|
print("Found " + str(len(cells)) + " selected cells")
|
|
|
|
|
2020-02-19 15:01:42 -06:00
|
|
|
time_step_info = case.time_steps()
|
|
|
|
|
|
|
|
for (idx, cell) in enumerate(cells):
|
2021-01-26 13:48:01 -06:00
|
|
|
print(
|
|
|
|
"Selected cell: [{}, {}, {}] grid: {}".format(
|
|
|
|
cell.ijk.i + 1, cell.ijk.j + 1, cell.ijk.k + 1, cell.grid_index
|
|
|
|
)
|
|
|
|
)
|
2020-02-19 08:20:34 -06:00
|
|
|
|
|
|
|
# Get the grid and dimensions
|
|
|
|
grid = case.grids()[cell.grid_index]
|
|
|
|
dimensions = grid.dimensions()
|
|
|
|
|
|
|
|
# Map ijk to cell index
|
2021-01-26 13:48:01 -06:00
|
|
|
cell_index = (
|
|
|
|
dimensions.i * dimensions.j * cell.ijk.k
|
|
|
|
+ dimensions.i * cell.ijk.j
|
|
|
|
+ cell.ijk.i
|
|
|
|
)
|
2020-02-19 08:20:34 -06:00
|
|
|
|
|
|
|
# Print the cell center
|
|
|
|
cell_centers = grid.cell_centers()
|
|
|
|
cell_center = cell_centers[cell_index]
|
2021-01-26 13:48:01 -06:00
|
|
|
print(
|
|
|
|
"Cell center: [{}, {}, {}]".format(
|
|
|
|
cell_center.x, cell_center.y, cell_center.z
|
|
|
|
)
|
|
|
|
)
|
2020-02-19 08:20:34 -06:00
|
|
|
|
|
|
|
# Print the cell corners
|
|
|
|
cell_corners = grid.cell_corners()[cell_index]
|
|
|
|
print("Cell corners:")
|
|
|
|
print("c0:\n" + str(cell_corners.c0))
|
|
|
|
print("c1:\n" + str(cell_corners.c1))
|
|
|
|
print("c2:\n" + str(cell_corners.c2))
|
|
|
|
print("c3:\n" + str(cell_corners.c3))
|
|
|
|
print("c4:\n" + str(cell_corners.c4))
|
|
|
|
print("c5:\n" + str(cell_corners.c5))
|
|
|
|
print("c6:\n" + str(cell_corners.c6))
|
|
|
|
print("c7:\n" + str(cell_corners.c7))
|
2020-02-19 15:01:42 -06:00
|
|
|
|
|
|
|
for (tidx, timestep) in enumerate(time_step_info):
|
|
|
|
# Read the full SOIL result for time step
|
2021-01-26 13:48:01 -06:00
|
|
|
soil_results = case.selected_cell_property(
|
|
|
|
"DYNAMIC_NATIVE", "SOIL", tidx
|
|
|
|
)
|
|
|
|
print(
|
|
|
|
"SOIL: {} ({}.{}.{})".format(
|
|
|
|
soil_results[idx], timestep.year, timestep.month, timestep.day
|
|
|
|
)
|
|
|
|
)
|