gempy
gempy copied to clipboard
Volume bodies from contact surfaces
Is your feature request related to a problem? Please describe. Exporting the model to CAD Software the surfaces doesn't have a volume but voxel aren't good usable for this kind of software.
Describe the solution you'd like Do you think it is possible (with an additional python package) to mesh the related surfaces to one closed mesh body and export this?
Hello @domist07,
Just a quick answer: we have several meshing approaches already tested (gmesh, CGAL) that should suit your needs, maybe @MohammadCGRE can have a look?
Also, if I recall your models right: do you have continuous layers (no faults) over the entire domain? Then a simple "vertical thickness" map extraction could work. Not sure if we have this already implemented in gempy (@Leguark ?), but that should not be difficult.
No, I have contained little faults in some models, but I think too that an "vertical thickness" approach could work.
we need a way to close the surfaces and then we can just use the following
https://tetgen.pyvista.org/examples/sphere.html#sphx-glr-examples-sphere-py
@flohorovicic:
Just a quick answer: we have several meshing approaches already tested (gmesh, CGAL) that should suit your needs, maybe @MohammadCGRE can have a look?
can you provide more details about the several tested meshing approaches (e.g with gmesh)? where can I find a guide/worked example? Thank you very much!
Hello @domist07
For the closed surfaces which contains some volumes,
1- you can use the tetgen at Pyvista. Also, you can use CGAL 3D mesh generation, (https://doc.cgal.org/latest/Mesh_3/index.html) and Quartet that made by ( Robert Bridson and Crawford Doran) https://github.com/crawforddoran/quartet
2- Generally, you can define these volumes by your self and represent these volumes by Pyvista (https://docs.pyvista.org/examples/00-load/create-poly.html ).
In order to define the volumes, you need to define the vertices and faces for each voxel. For the Vertices, You can divide your environment by your self based on the X min and max, y min and max, and z min and max. After Vertices, you should try to define the algorithm for the faces. each voxel has 6 faces and each face has two triangles. for more information, you can search for the "procedural meshing"
Hi @nlosacco you can find more information about these methods by
1- Gmesh : (https://gmsh.info/ )
2- CGAL: (https://www.cgal.org/)
@MohammadCGRE thanks for the overview of possibilities! As soon as I have time, I will test it and report here.
@MohammadCGRE thanks a lot for the links. Do you know of any examples showing the workflow from gempy to the mesh through either Gmsh or CGAL?