-
Notifications
You must be signed in to change notification settings - Fork 33
[Feature request] Mixed dimensional embedment meshing #194
Comments
Hey Bin, thanks for your interest! This is a intriguing idea. Firstly no, SM does not currently support mixed-dimensional embedment. I had thought about this at one point because faults are a big thing in seismology but never came up with a great solution. It's a bit tricky. Theoretically, first thing to get this mixed-dimension embedment, we would need to immerse a 2D signed distance function in a 3D one. If that's possible, then it should also be possible to compute intersections of these mixed-dimensional geometry. And then if that's possible, it would be possible to immerse the set like I can do already in SM. However, the problem with the 2D SDF in a 3D geometry is that the notion of "in" or "out" the domain isn't well defined anymore. In other words, implicit representation can only be used for closed surfaces. One solution: it might be possible to mesh an open subset of a surface geometry using a second implicit function that defines the new boundaries (i.e., one SDF is used for the x-y plane and a second for the y-z plane). As a current possible hack, what you could do is supply the points of the 2d immersed object as I'll think about it more. |
Hey @BinWang0213 do you have an example of a fault you'd like to constrain in a 3d domain? It'd be helpful to have a dataset to experiment with here. |
Thanks for your detailed explanations. Sure. Here is an example model you can test with: It includes the paraview vtp files and gmsh input file: |
I haven't forgot about this! I'm nearly finished with the geometric primitives that are necessary to embed structures like this (translation, rotation, and stretching). |
Nice to hear from you! Looking forward to your updates! |
@BinWang0213 I've added translation, rotation, and stretching to all the geometric primitives in the latest release SM 3.9 which now should allow you to get creative with these faults. For example to create a similar example to the one you showed, I computed the union of several relatively thin cubes (i.e., fault-like) each one rotated and translated to resemble the image you gave above. You can visualize your creation with the Using the immerse option in
|
I've added some more complexity to show how you can add mesh refinement near the immersed structures and ensure the mesh is sliver-free.
|
Hey @BinWang0213 did you try my workaround? Using signed distance functions to define geometry constraints, this is the best we can get I think. |
@krober10nd Thanks a lot for your updates! I didn't have a chance to try your code as I'm working hard on my dissertation recently. Does seismicMesh support define polygon faults/fractures below? It is not necessary a rectangle. In 3D it looks like a polyhedron slab. |
yes, this is very similar to the case above! Wow talk about complex. We'd have to somehow describe each structure as a signed distance function, but in theory it's possible. |
Is possible to perform mixed-dimensional meshing by embedment?
Such as: https://gitlab.onelab.info/gmsh/gmsh/blob/gmsh_4_7_1/tutorial/t15.geo
If so, we can mesh a geology model with fault and fractures, such as
The text was updated successfully, but these errors were encountered: