Replies: 3 comments 4 replies
-
|
Hi @shakasaki , you are very close, I tweeked your code for this result (changed the orientations to see the result): |
Beta Was this translation helpful? Give feedback.
-
|
Hi @NilsChudalla and thank you for the quick response. Indeed, your example works great! The only thing I tried to change, although unsuccessfully, is to add several points to a given surface before computing the model. So, for example each surface would have 5 points. Not sure why this is not converging, but I basically get a "LinAlgError: Singular matrix" error when simply changing the original dataframe to
This example would add two points to fault1, and since the nugget is rather high, i assume it is not the orientation vector that causes a singular matrix. However, if I change the first occurrence of fault1 to fault0, I get a model. What am I doing wrong here? ps. while we're at it, is it possible to suppress this message:
|
Beta Was this translation helpful? Give feedback.
-
|
Thank you,i tried out the pytorch backend and indeed the error disappears! For documentation purposes I include the working script below. Any ideas on how to include several points per surface (what I describe above)? Not sure if you meant you'll look into it next week (this week), that's also fine - I really appreciate the fast responses you provide :-) `import os import gempy as gp Dummy dataframe with structure points and orientations for 3 surfacesstructure_df = pd.DataFrame({ extent = [ -10, 30, -10, 30, -10, 10] gp_model = gp.create_geomodel(project_name='test surface from df', for index, row in structure_df.iterrows(): gp.set_is_fault(gp_model, structure_df["name"].tolist()) remove unused elements and groupsgp.remove_element_by_name(gp_model,element_name="surface1") gp_model.update_transform(gp.data.GlobalAnisotropy.NONE) gpv.plot_3d(gp_model)` |
Beta Was this translation helpful? Give feedback.



Uh oh!
There was an error while loading. Please reload this page.
-
Hello gempy folks,
I am trying to use gempy's cokriging abilities to mesh a complex fault network within a homogeneous rock (granite). I want to treat the faults as surfaces in gempy to allow for curvature. I do not care about chronological relationships, the faults can cross each other in any direction.
I am able to do this only by assigning one surface (structural element?) at a time. I can initialize the model and then run
gp_model.structural_frame.structural_elements[0].name = 'fault1'to create the fault, and then populate its points and orientations. However, I would like to add several of these "independent) faults in the model before hitting the "compute" button. Below you see a minimal working example of the code that works (one fault at a time) and a comparison of what I would like to do (commented out). I'm pretty sure there is an easy workaround, but I haven't managed to find it.
Thank you in advance for any help!
Beta Was this translation helpful? Give feedback.
All reactions