10第十讲 非结构网格生成方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非网格生成原理
非结构网格的生成,以二维三角形网格为例
•Voronoi 图,又叫泰森多边形或
Dirichlet 图,它是由一组由连接两邻点直线的垂直平分线组成的连续多边形组成。
Voronoi 图
3
V4、v6、v8、v7、v5组成的多边形内的点到7点的距离最小(相对于其它1、2、…)。
由这些多边形组成的图为Voronoi图
•Voronoi图定义是:假设V=(v1,v2,…..,vn),N>3是欧几里德平面上的一个点集,并且这些点三点不共线,四点不共圆。
用d(vi,vj)表示点vi,vj间的欧几里德距离。
设x为平面上的点,则区域V(i)=(xE2|d(x,vi)<=d(x,vj),j=1,2,….,N, ji)称为Voronoi多边形(V—多边形)。
各点的V-多边形共同组成Voronoi图。
Voronoi 图和Delaunay 三角网
Delaunay三角网
•Delaunay三角网的定义是:有公共边的Voronoi 多边形称为相邻的Voronoi多边形。
连接所有相邻的Voronoi多边形的生长中心所形成的三角网称为Delaunay三角网。
•Delaunay三角网是Voronoi图的伴生图形
Delaunay三角形(粗线)和V oronoi多边形(细线)
5
Delaunay三角网与Voronoi图
Delaunay三角网的唯一性;
没有任何其它三角形顶点在三角形的外接圆内部,反之,如果一个三角网满足此条件,那么它就是Delaunay三角网; Delaunay三角网中的三角形最接近于等边三角形
Delaunay三角网有以下特性:
Delaunay三角网的特性(空外接圆)•空外接圆性质:在由点集V所形成的
Delaunay三角网中,其每个三角形的外接
圆均不包含点集V中的其它任意点;
•空外接圆性质也称为circle准则,是点集中每
三个点所构成的三角形成为Delaunay三角
形的充要条件。
空外接圆特性
circle 准则示意图,图(b)正确Delaunay三角网更接近于等边三角形
•最大的最小角度性质:在由点集V 所能形成的三角网中,Delaunay 三角网中三角形的最小角度是最大的。
Delaunay三角网的特性(
最大的最小角)最大化的最小内角
•Delaunay 三角网的各种算法主要分为三类:•分治算法•逐点插入法•三角网生长法•下面主要介绍逐点插入法。
Delaunay 三角网的算法分类
逐点插入算法示意图
在已有网格中,每次插入一个新节点P,在网格中找出包含P的三角形T,然后从T开始递归搜寻外接圆包含点P的三角形,并删除这些三角形,形成一个多边形(图中阴影部分),连接它的各个顶点和形成新的三角形,这可以保证网格为Delaunay剖分。
然后进行迭代,直至所有节点处理完。
逐点插入算法示意图
在已有的Delaunay 网格
中引入新点在新点周围,利用逐点插入算法对网格划分进行局部更新
描述网格的数据结构
struct point
{
double x, y;
double density;
double sumx,
sumy, sums;
int mark;
int number ;
int renumber;
}struct edge {int node1,node2; int mark; double long;int number;int renumber; }struct triangle {int a, b, c; int number;int ea, eb, ec;int sa, sb, sc;int mark; double xv, yv, R, r;int renumber; }
•e为vironoi顶点所在三角形单元的编号;a、b、c为相邻vironoi顶点的编号
struct v_node
{
double x,y;
int number;
int e;
jnt a,b,c;
}
•因子。
对三角形单元,其质量因子定义为:
三角形单元质量评价标准
j
j
R r 2=
网格划分整体质量的优劣
•为了便于衡量网格划分整体质量的优劣,我们引入了平均因子、
和最差因子,这几个因子分别定义为:
二维任意域内Delaunay三角网格的全自动生成•Lawson提出了用逐点插入法建立Voronoi三角网的算法思想。
Lee和Schachter,Bowyer,Watson,S1oan,
Macedonio 和Pareschi,F1oriani 和Puppo,Tsai先后进行了发展和完善。
逐点插入算法的基本步骤是:
•(1) 定义一个包含所有数据点的初始多边形;
•(2) 在初始多边形中建立初始三角网格,然后迭代以下步骤,直至
所有数据点都被处理;
•(3) 插入一个数据点P,在三角网中找出包含P的三角形e,把P与e
的三个顶点相连,生成三个新的三角形;
•(4) 用LOP算法优化三角网;
•(5) 网格的光滑化;
•(6) 节点与单元编号的优化。
初始多边形的生成和进行几何和拓扑不相容处理
•初始网格生成算法的基本步骤可以描述为:
•a、根据给定要求,对计算区域边界进行离散,得到边界的离散点集;•b、定义一足够大的能够覆盖整个计算区域的大三角形;
•c、从边界点集中取出一个未处理的边界点作为新加点,利用A.Bowyer
算法将其引入原有网格划分中;
•d、检查边界点集中是否存在未处理的边界点,如果存在,则返回执行步
骤c。
•e、检查已有划分是否与流场边界保持一致,如果存在没有包括在网格划分中的边界连线,则将其存入数组R中;否则,已有网格划分包括了所有边界连线,执行步骤g。
•f、对包括在数组R中的所有边界连线,将该连线的中点作为新加入点引入
到原有网格划分中。
直至R为空,执行步骤g。
•g、逐一检查网格中的三角形单元,如果一个单元的重心位于计算域外,则删去这一单元,即进行拓扑不相容处理。
边界的离散点集
•M 为边PQ 的中点,C A 为▲PAQ 的外心,X 为新插入的结点。
新插入的节点在Voronoi 边上。
也可以把新插入的节点放在三角单元的外心处(称之为Voronoi 顶点法)。
以下介绍第一种情况
内部节点的生成
•式中的p为MQ的长度,q为M和C A两点之间的距离,是校正后▲PQX的外接圆半径,是校正前▲PQX的外接圆半径,是一个和P、Q两点网格密度有关的经验函数。
内部节点的生成
•重复插入内部节点,直到生成的三角形网格
满足用户的要求为止。
LOP
算法优化三角网
•局部优化过程LOP(Local Optimization Procedure)是所有生成D—三角网算法都要用到的关键过程。
理论上说,不论用何种方法生成的三角网,只要用LOP过程进行处理,就能使它变为D—三角网。
这样一个重要的过程其实非常简单,它就是运用D—三角网的性质对由两个有公共边的三角形组成的四边形进行判断。
如果其中一个三角形的外接
圆包含第四个顶点,则将这个四边形的对角线交换。
•常用光滑化方法包括Laplacian
方法、以面积为权的光滑化和以边长为权的光滑化。
设与点P 相连的点P i (i=1,2,…,k )到P 的距离为Li ,这些点与P 连成的三角形的面积为S i ,则以上三种光滑方法的坐标调整公式分别为:
网格光滑化处理
网格光滑化处理
二维三角网格的数量关系
•E:三角形数;
•N 、Nb、Ni:顶点数、边界点数和内点数;•S、Sb、Si:边数、边界边数和内边数;•H:内环数;
平面三角形网格满足下列数量关系:
•N-S+E=1-H
•3E=2Si+Sb
•Sb=Nb
•E=Nb+2Ni-2+2H
•Si=Nb+3Ni-3+3H
•S=2Nb+3Ni-3+3H
局部加密
•主要对相应位置处的三角单元外接圆半径进行
控制
•流程图
EASY MESH
•EASY MESH:开源代码
•http://www-
dinma.univ.trieste.it/nirftc/researc h/easymesh/
非结构化四面体网格生成方法
•三维Voronoi图是一组凸多面体组成的几何结构,可以构造出Delaunay四面体.空间几何体剖分的Delaunay四面体应具有如下特点:•(1)所形成的四面体互不重叠;•(2)所形成的四面体可以覆盖整个三维空间;
•(3)任一点均不位于不包含该点的四面体的外
接球内.
•第三点是Delaunay四面体的一个重要性质,•也是生成Delaunay四面体的出发点.
•同二维三角形网格初始化方法,首先给定
求解区域边界面上一些点的坐标,由此确
定三维空间的边界,这些点同时就作为一
组初始Delaunay 四面体的顶点.做一个
辅助长方体以及5个四面体包围这些顶点,
这5个四面体分别为1236、1348、
1568、3678、1368,见图2.按照
Delaunay 四面体化方法,对边界点依次
进行四面体网格的生成.所有四面体网格
生成过程完成之后,将与1—8点连接的四
面体以及不在区域中的四面体去掉,则网
格初始化工作完成
初始化网格
生成Delaunay四面体的出发点
•对于三维问题,假定存在一个初始网格,现在其中加入新点,则凡是外接球内包括新增点的四面体需要重新进行连接.方法是将所有外接球包括新增点的四面体的公共面去掉,连接新点与有关四面体的各顶点,则形成新的网格点分布.可以验证,这样生成的四面体为Delaunay 四面体.
•以两个四面体网格为例进行说明,见上图.原四面体网格为ACDE和BCDE,在其中加入一个新点F.显然,两个四面体的外接球都包含了点F(左图).按照上述规则,将两个四面体的公共面CDE去掉,重新连接各顶点.新生成的四面体网格分别为ACDF、ADEF、ACFE、BCDF 、BDEF、BCEF.这6个四面体满足Delaunay四面体的3个特点。