gempy-project / gempy

GemPy is an open-source, Python-based 3-D structural geological modeling software, which allows the implicit (i.e. automatic) creation of complex geological models from interface and orientation data. It also offers support for stochastic modeling to address parameter and model uncertainties.
https://gempy.org
European Union Public License 1.2
974 stars 232 forks source link

Add custom offset value to fault drift function #598

Closed AlexanderJuestel closed 6 months ago

AlexanderJuestel commented 3 years ago

Is your feature request related to a problem? Please describe. In the example below, no interfaces are provided on the right side of the fault. The fault offset is given with 20 m. When calculating an initial model including the fault, no geological units are shown beyond the fault.

Describe the solution you'd like It would be great to be able to define a custom fault offset for the case that there are absolutely no interfaces beyond a fault (an already long wished for feature). Maybe it is as easy as adding this variable when calculating the drift function.

The offset could then be set like (assuming the fault is vertical). For inclined fault surfaces, a displacement vector along the fault could be calculated to simulate normal or reverse faulting(?):

geo_model.set_fault_offset(['Fault1'], offset=20)

Describe alternatives you've considered I calculated the model without fault, exported the geological map to a shape file, digitized the boundaries beyond the fault, loaded the new interface points again, moved their Z component down by 20 m and recalculated the model including the fault and the interface points beyond the fault.

The screenshot below shows the final model including fault offset. image

image

Map Source: An Introduction to Geological Structures and Maps by G.M. Bennison

Leguark commented 3 years ago

yes, this is something can be done. The only problem is that the offset units are "scalar field" and mapping scalar filed to meters depends on the geometry of the model (similar to the smooth/nugget effect) in any case exposing this parameter in the API is something we can/should do. I add it to the backlog

AlexanderJuestel commented 3 years ago

Great, thanks!