具有几何图元的二维网格生成器

计算科学 软件 网格生成 非结构化网格
2021-12-13 08:42:01

问题正如标题:可以使用哪个 2D(三角形)网格生成器软件,它具有一组几何图元、受控网格大小和标准输出(.vtk 或类似的东西)

为了测试我的代码,我需要一个三角形网格,我正在寻找最简单的方法来做到这一点。例如,在球体的 3D 案例中,我很高兴使用带有几行代码的 NETGEN 来获得具有受控网格大小和标准输出格式的网格。

有人可以给我推荐吗?

谢谢!

2个回答

Shewchuk 的三角形网格生成器可生成高质量的网格并且非常强大。但是,边界定义是一系列直线。因此,要在一个圆上生成一系列细化网格,您还必须细化每个网格的边界定义。

另一种选择是 Persson 的distmesh三角形网格器,如本页所示,只需要两行 MATLAB(或 Octave)代码即可对圆进行网格划分

fd=@(p) sqrt(sum(p.^2,2))-1;
[p,t]=distmesh2d(fd,@huniform,0.2,[-1,-1;1,1],[]);

并且可以通过更改单个“网格密度”参数来细化网格,而无需更改几何定义。

您可以方便地使用 MATLAB 以您选择的任何格式编写坐标矩阵p和连接矩阵。t而且,正如我已经验证的那样,如果您无权访问 MATLAB,它也可以在 Octave 中运行。

您可以使用 Jonathan Shewchuk 的三角形网格生成器 [1]。它有自己的文件格式,但很容易翻译。如果您打算将其嵌入到其他软件中,也可以将其编译为具有易于使用 API 的库。您还可以使用 CGAL [2],这是一个具有许多功能(包括 2D 网格生成)的大型软件。

[1] https://www.cs.cmu.edu/~quake/triangle.html

[2] http://www.cgal.org