文档章节

EasyMesh - A Two-Dimensional Quality Mesh Generator

eryar
 eryar
发布于 2017/01/08 21:11
字数 1070
阅读 46
收藏 0

EasyMesh - A Two-Dimensional Quality Mesh Generator

eryar@163.com

Abstract. EasyMesh is developed by Bojan Niceno, it is a two-dimensional quality mesh generator. EasyMesh can generate two dimensional, unstructured, Delaunay and constrained Delaunay triangulations in general domains. It can handle holes in the domain. The paper focus on the usage of EasyMesh.

Key Words. EasyMesh, Delaunay Triangualtion, Triangulation, Mesh

1.Introduction

目前,工程技术领域中各类物理系统的数值分析计算方法主要包括以下步骤:第一步,建立物理系统的控制方程。第二步,离散化物理系统的定义域。在工程技术领域人们通常将离散化的几何定义域的一个子域单元称为网格(mesh),将将离散化过程称为网格划分或者网格生成(mesh generation)。第三步,离散化连续PDE模型(Partial Differential Equation, PDE偏微分方程)。第四步,求解线性代数方程组。第五步,计算可视化。

网格划分技术是偏微分方程数值解法中比较关键的一步,关于网格划分的库也有很多,如Triangle,netgen, gmsh, tegen等等。网格划分技术不仅用于有限元计算,也可以用于模型的可视化。本文主要介绍这个轻量化的网格划分库EasyMesh。

2.EasyMesh Features

EasyMesh能够对于由折线围成的多空洞、多介质区域生成指定局部加密的Delaunay三角剖分。使用了很简单的文本文件作为数据的输入,生成了不同的结果文件,方便查看结果。其实将输入和输出部分稍加修改,就可以将EasyMesh内嵌到自己的程序中,而不用单独执行EasyMesh。

wps3E2D.tmp

Figure 1. EasyMesh website (http://web.mit.edu/easymesh_v1.4/www/easymesh.html)

EasyMesh也可以从上述网站中进行下载,下载后可以直接在Visual Studio中编译。

3.Using EasyMesh

用C写的EasyMesh虽然有点历史了,但是编译起来也是很顺利的,只有几个warnings。编译好生成一个EasyMesh.exe,然后像其他的控制台程序一样,通过传参数来使用。直接运行就会看到程序的完整使用说明:

wps3E3E.tmp

Figure 2. EasyMesh Help Info

可以在EasyMesh.exe的文件夹中做一个批处理文件,如EasyMesh.bat,其中内容如下:

title EasyMesh
EasyMesh
pause

这样就可以看到这个帮助信息了。使用如下命令则会生成一个例子文件:

title EasyMesh
EasyMesh +example
pause

然后再对生成的example.d进行剖分:

title EasyMesh
EasyMesh example.d +dxf
pause

将上面的三句话分别保存成一个批处理文件,运行批处理就可以得到相应的结果了。运行上面这个批处理得到对example.d的剖分结果文件example.dxf,用AutoCAD打开这个DXF文件查看结果:

wps3E3F.tmp

Figure 3. Mesh Result

wps3E40.tmp

Figure 4. Delaunay Triangulation

wps3E41.tmp

Figure 5. Voronoi Result

输入文件中比较重要的一点是边界线的方向是逆时针的,孔的线是顺时针方向的。下面将自带的几全例子文件全部生成网格:

wps3E42.tmp

Figure 6. EasyMesh example2.d +dxf

wps3E43.tmp

Figure 7. EasyMesh example3.d +dxf

wps3E44.tmp

Figure 8. EasyMesh example4.d +dxf

wps3E54.tmp

Figure 9. EasyMesh example5.d +dxf

wps3E55.tmp

Figure 10. EasyMesh example6.d +dxf

wps3E56.tmp

Figure 11. EasyMesh example7.d +dxf

通过设备下图中的spacing可以设置网格的密度:

wps3E57.tmp

Figure 12. Spacing of a point

 

4.Conclusion

网格划分技术广泛用于三维模型可视化,有限元计算中。借助这些开源库的力量,可以让自己快速实现一些功能。本文主要介绍了EasyMesh的用法及生成结果,如果对网格划分技术感兴趣的同学可以自己下载源码学习。

因为EasyMesh源码精巧,且包含了输入和输出部分的源码,可以将EasyMesh输入输出部分稍加修改就可以直接在自己的程序中使用,而不用单独编译成一个可执行程序。

5.References

1. EasyMesh website. http://web.mit.edu/easymesh_v1.4/www/easymesh.html

2. EasyMesh Source: http://www-dinma.univ.trieste.it/nirftc/research/easymesh/

3. 王成恩. 面向科学计算的网格划分与可视化技术. 科学出版社. 2011

4. Triangle. http://www.cs.cmu.edu/~quake/triangle.html

5. Triangle eryar. http://www.cppblog.com/eryar/archive/2014/03/29/206394.aspx

 

PDF Version: EasyMesh

© 著作权归作者所有

共有 人打赏支持
eryar
粉丝 19
博文 127
码字总数 227012
作品 0
武汉
私信 提问
使用SciPy插值,Interpolation (scipy.interpolate)

插值是进行数据处理和可视化分析的常见操作,基于Python的SciPy支持一维和二维的插值运算。 这里是SciPy的官方文档。 Contents(原文,英文索引) Interpolation (scipy.interpolate) 1-d Exa...

openthings
2016/01/11
3K
0
Unity导航 (寻路系统Nav Mesh Agent)

第一种 简单寻路 地面接触到的。到达目标点不用跳跃能够一直走路到达。 场景视图中简单搭设几个物体。如图1 胶囊体为寻路者,黄球为目标点 红地板,绿色障碍物。 现将地板以及障碍物选中 在检...

宁金峰
06/26
0
0
KeePass 2.27 发布,密码管理工具

KeePass 2.27 发布,此版本是个稳定版本,建议每位用户都从之前的 2.x 版本升级到 2.27 版本。KeePass 2.27 主要是 auto-type 功能的改进,集成以及可用性增强,还有各种小的功能改进。此版本...

oschina
2014/07/07
1K
6
KeePass 1.28 发布,密码管理工具

KeePass 1.28 发布,此版本现已提供下载。此版本是个稳定版本,建议升级!KeePass 1.28 版本 100% 向后兼容之前的版本,包括用户界面和集成的改进,各种小的新特性和系统改进。 此版本现已提...

oschina
2014/10/02
642
4
Unreal Engine 4.11 Preview 1 发布,渲染提升

Unreal Engine 4.11 Preview 1 发布,主要更新如下: Rendering Updates: New physically based shading model for realistic hair based on the latest research from film. It models 2 s......

oschina
2015/12/23
2.5K
6

没有更多内容

加载失败,请刷新页面

加载更多

LinkedList基本用法

LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用. LinkedList的构造函数如下 1. public LinkedList(): ——生成空的链表 2. public LinkedList(Collection col)...

whoisliang
5分钟前
0
0
Andrew Ng教你如何引领公司进入AI时代

摘要: 人工智能时代,企业转型遇到困难?看看Andrew Ng的建议吧! AI(人工智能)技术就像100年前的电力一样,正准备改变每个行业。从现在到2030年,它将创造约13万亿美元的GDP增长。虽然它...

阿里云官方博客
22分钟前
1
0
斗图咖(www.doutuka.com)上线纪念

网站名称:斗图咖 网站描述:是一款年轻人都在玩的斗图网站,来斗图咖一起斗图装逼交朋友吧。站长每天上传收集的最新最火斗图,供大家娱乐聊天发表情;后期也会开发表情自主设计,自己设计表...

focusone
43分钟前
4
0
Spring AOP 切面编程记录日志和接口执行时间

最近客户现在提出系统访问非常慢,需要优化提升访问速度,在排查了nginx、tomcat内存和服务器负载之后,判断是数据库查询速度慢,进一步排查发现是因为部分视图和表查询特别慢导致了整个系统...

编程SHA
54分钟前
8
0
15个Spring的核心注释示例

众所周知,Spring DI和Spring IOC是Spring Framework的核心概念。让我们从org.springframework.beans.factory.annotation和org.springframework.context.annotation包中探索一些Spring核心注......

java菜分享
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部