gempy
gempy copied to clipboard
Output of coordinates of nodes from fault surfaces
Hello to all, unfortunately I just started to work with gempy, so I need your help! I am looking for a way to output the coordinates of those nodes that lie on fault surfaces in my grid. Is there a way to do this? If so, what command do I need for this? Best regards Anne
Hi @anneschulz1991
sorry for the late reply. Something in that direction should be possible, at least gempy has implemented functionality to assess which voxels a fault lies in in a regular grid.
The according method is named find_interfaces_from_block_bottoms
and can be imported from gempy.utils.input_manipulation
.
A gempy model has a parameter called block_matrix
. Assume we calculated a model with:
gempy_model = gp.create_model('geo_model')
...
...
sol = gp.compute_model(gempy_model)
in a regular grid of 50 x 50 x 50 cells.
The intersection of the fault can be found with
intersection = find_interfaces_from_block_bottoms(sol.block_matrix[0,0,:].reshape(50,50,50), 1, shift=1)
That's a boolean matrix with True
for all voxels with the fault surface.
In this example model:
plotting this intersection
would show:
or together with the model:
Hope that helps. That "workflow" is also described towards the end of Tutorial 1.5.
Best, Jan
Okay. Thank you. That helps me a lot. However, it does raise another question for me. Is it possible to increase the resolution of the grid around a fault zone? I have seen that you can increase the resolution by one point with grid.create_centered_grid but unfortunately I don't know exactly where the fault will be inside my grid and which points will be on it. Do you have a solution for this problem as well? That would be great! Best, Anne
Hi @anneschulz1991 that is indeed not so easy and a development for a future iteration of gempy. Assessment, where a surface (here a fault) cuts a voxel (a grid cell) determines whether that cell is assigned to belong to a certain unit (here then fault). With a centered grid, that problem is basically the same. There's currently no implemented solution for that as far as I know unfortunately.
@anneschulz1991 is there still an issue here or can this be closed?
Closing due to inactivity, feel free to reopen if the issue still persists.