To generate 3D mesh TetGen can be easily used. Are there similar functions (or a way to use TetGen) to generate 2d mesh? I know that such functionality can be easily implemented but I would like to use a Mathematica provided function, as I need to experiment with number of nodes in elements and so on. I just want to solve PDE using FEM not really to play around with mesh generation.
Asked
Active
Viewed 1,393 times
3
3 Answers
3
You can use TetGen and just make a z axis which is set to 0 (or any other constant). The issue with DelaunayTriangulation (if you want to generate a mesh from a list of points) is that it returns an adjacency list of the edges, which is very hard to turn into the polygons. This thread describes the issue with it.
Adding a z dimention of 0 is simply:
pts3d = Map[Append[#, 0]&, pts2d]
And then to turn the 3d points back into 2d:
newpts2d = pts3d[[All,1;;2]]
-
I'm not sure about using TetGen, as it returns non-zero code when plane is given to be meshed. – Misery Aug 27 '13 at 04:28
-
@Mark, I'd be very interested to see a more complete example, could you provide one? – Aug 28 '13 at 13:34
-
This fails
TetGenDelaunay[{1, 1, 0} # & /@ RandomReal[{0, 1}, {100, 3}]]– Dr. belisarius Jun 12 '14 at 03:33
1
Another approach is to use Imtek's package. These deal with both 2 and 3D with interfaces to Shewchuck's triangle and Tetgen respectively.
Imtek can be had from the University of Freiburg. Documentation is extensive.
dwa
- 1,939
- 14
- 14
DelaunayTriangulationmight be of interest. – jVincent Aug 26 '13 at 21:11