gempy icon indicating copy to clipboard operation
gempy copied to clipboard

Output of coordinates of nodes from fault surfaces

Open anneschulz1991 opened this issue 2 years ago • 3 comments

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

anneschulz1991 avatar Aug 02 '22 12:08 anneschulz1991

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: image

plotting this intersection would show: image

or together with the model: image

Hope that helps. That "workflow" is also described towards the end of Tutorial 1.5.

Best, Jan

Japhiolite avatar Aug 17 '22 08:08 Japhiolite

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

anneschulz1991 avatar Aug 18 '22 12:08 anneschulz1991

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.

Japhiolite avatar Aug 22 '22 09:08 Japhiolite

@anneschulz1991 is there still an issue here or can this be closed?

AlexanderJuestel avatar Dec 29 '22 18:12 AlexanderJuestel

Closing due to inactivity, feel free to reopen if the issue still persists.

AlexanderJuestel avatar Mar 17 '23 13:03 AlexanderJuestel