文档库 最新最全的文档下载
当前位置:文档库 › gmsh生成非结构网格详解(之二)

gmsh生成非结构网格详解(之二)

gmsh生成非结构网格详解(之二)
gmsh生成非结构网格详解(之二)

Gmsh 生成非结构网格详解(之二)

利用Gmsh软件可以快速生成三维非结构网格,我们下面可以看一个例子,例子在gmsh 的tutorial目录中:

下面是t5.geo的完整说明:

运行gmsh,加载t4.geo后选择Tools Options。

在右边的Point Numbers上打钩,得到下面的图

同样的方式可以在Line Numbers、Surface Numbers、Volume Numners上打钩,可以看到每个对象的编号。

现在可以生成二维网格了,选择Mesh->2D

如果要生成三维网格,选择Mesh->3D,得到:

以上就是一个三维非结构网格生成的完整过程,建议大家根据t5.geo的描述,搞清楚每个点/线/面的定义方式。才能生成自己想要的网格。

在t5.geo用到了函数,不是特别好理解,也可以加载后选择Save as…

取一个新名字,然后用文本文件打开,就可以知道每个点/线/面的定义了。

有问题发邮件lychu326@https://www.wendangku.net/doc/d116826466.html, 一起探讨。

网格划分的几种基本处理方法

网格划分的几种基本处理方法 贴体坐标法: 贴体坐标是利用曲线坐标,并使其坐标线与燃烧室外形或复杂计算区域边界重合,这样所有边界点能够用网格点来表示,不需要任何插值。一旦贴体坐标生成通过变换,偏微分方程求解可以不在任意形状的物理平面上,而在矩形或矩形的组合(空间问题求解域为长方体或它们的组合)转换平面上进行。这样计算与燃烧室外形无关,也与在物理平面上网格间隔无关。 而是把边界条件复杂的问题转换成一个边界条件简单的问题;这样不仅可避免因燃烧室外形与坐标网格线不一致带来计算误差,而且还可节省计算时间和内存,使流场计算较准确,同时方便求解,较好地解决了复杂形状流动区域的计算,在工程上比较广泛应用。 区域法: 虽然贴体坐标系可以使坐标线与燃烧室外形相重合,从而解决复杂流动区域计算问题。但有时实际流场是一个复杂的多通道区域,很难用一种网格来模拟,生成单域贴体网格,即使生成了也不能保证网格质量,影响流场数值求解的效果。因此,目前常采用区域法或分区网格,其基本思想是,根据外形特点把复杂的物理域或复杂拓扑结构的网格,分成若干个区域,分别对每个子区域生成拓扑结构简单的网格。由这些子区域组合而成的网格,或结构块网格。对区域进行分区时,若相邻两个子域分离边界是协调对接,称为对接网格;若相邻两子域有相互重叠部分,则此分区网格称为重叠网格。根据实际数值模拟计算的需要,把整个区域(燃烧室)分成几个不同的子区域,并分别生成网格。这样不仅可提高计算精度,而且还可节省计算机内存,提高收敛精度。但是计算时,必须考虑各区域连接边界处耦合以及变量信息及时、准确地传递问题。处理各个区域连接有多种方法,其中一个办法是在求解各变量时各区域可以单独求解若干次而对压力校正方程.设压力校正值在最初迭代时为零,为了保证流量连续各个区域应同时求解,然后对各个速度和压力进行校正。或者采用在两个区域交界处有一个重叠区,两个区域都对重叠区进行计算,重叠区一边区域内的值,要供重叠区另一边区域求解时用。或通过在重叠内建立两个区域坐标对应关系,实现数据在重叠区内及时传递。如果两个区采用网格疏密分布不相同,要求重叠区二边流量相等。区域法能合理解决网格生成问题,已被大量用来计算复杂形状区域流动。 区域分解法: 对于复杂几何形状的实际燃烧装置,为了保证数值求解流场质量,目前常采用区域分解法。该法基本要点是:根据燃烧室形状特点和流场计算需要,把计算区域分成一个主区域和若干个子区域,对各个区域(块)分别建立网格,并对各个区域分别进行数值求解。区域分解原则是尽量使每个子区域边界简便以便于网格建立,各个子区域大小也尽可能相同,使计算负载平衡有利于平行计算。各区域的网格间距数学模型以及计算方法都可以不同,通常在变量变化梯度大的区域,可以布置较细网格,并采用高阶紊流模型和描述复杂反应的紊流燃烧模型,以便更合理模拟实际流场。对于变量变化不太大区域,可采用较疏的网格和较简单的数学模型,这样可节省计算时间。各子区域的解在相邻子区域边界处通过耦合条件来实现光滑,相邻子区域连接重叠网格或对接网格来实现,在各子区域交界处通过插值法提供各子域求解变量的信息传递,满足各子域流场计算要求通量和动量守恒条件以便实现在交界面处各子域流场解的匹配和耦合,从而取得全流场解。 非结构网格法: 上述各方法所生成的网格均属于结构化网格,其共同特点是网格中各节点排列有序,每个节点与邻点之间关系是固定的,在计算区域内网格线和平面保持连续。特别是其中分区结构网格生成方法已积累了较多经验,计算技术也较成熟,目前被广泛用来构造复杂外形区域

建筑结构模型的四边形网格生成算法

第1期陈沸镔,等:建筑结构模型的四边形网格生成算法2l L1+L2+£3+L4=偶数,所以L3=Ll+N×2(Ⅳ≥0) 根据N=0及N>0这2种情况,分别采用不同模板 进行网格划分.图11~13分别是L3=L。,L3=L,+2 和L。=L,+4这3种情况的网格划分方式. L3L3 £:[]c。≥L2匝唧上。 £1L1 图11狭长四边形单元网格划分(L,=L。) 三3上3 Lz[]£。≥上z压酗c。 LtLi 图12狭长四边形单元网格划分(L,=L,+2) 图13狭长四边形单元网格划分(L,=L。+4) 3算例 将上述算法用VC++.NET及OpenGL在VisualStudio2005编译环境编程实现,实验效果见图14~16.图14为将图2中框架剪力墙墙体模型进行四边形网格生成的结果,图15为某框架剪力墙高层结构模型进行四边形网格生成的结果,图16为某多塔楼高层结构模型进行四边形网格生成的结果. 图16某多塔楼高层结构的四边形网格划分 表2为图14~16这3种结构模型使用模板法生成网格耗费的时间.由表2可知,使用模板法进行模型内部网格生成效率较高.图17为图14网格生成的局部放大图,从该图可见由于建筑结构模型初始单元较为规则,使用模板法生成网格的质量较好.总之,本文的四边形网格生成算法在建筑结构模型方面有较好的适应性. 表2模板法生成网格时间 模型名称区域单元数边界单元数生成网格时间/ms框架剪力墙墙体6661984125 剪力墙高层结构5274139682031 多塔楼高层结构346695551516 图17图14网格划分的局部放大 图14图2框架剪力墙墙体的四边形网格划分5结论 图15某框架剪力墙高层结构的四边形网格划分 阐述用有限元分析建筑结构模型特点、设计快速建立结构模型索引信息的算法,根据四边形网格划分的要求,给出调整单元边界划分节点的算法,在内部网格划分时,采用分区域模板法生成网格,算法理论简单可行、效率较高. 下一步将考虑初始板单元为复杂多边形的情况,以及内部网格的生成优化和网格质量改进等方面一J,以期得到适用性更好、通用性更强的算法. (下转第26页)

结构化网格和非结构化网格

1. 什么是结构化网格和非结构化网格 1.1结构化网格 从严格意义上讲,结构化网格是指网格区域内所有的内部点都具有相同的毗邻单元。 它可以很容易地实现区域的边界拟合,适于流体和表面应力集中等方面的计算。它的主要优点是: 网格生成的速度快。 网格生成的质量好。 数据结构简单。 对曲面或空间的拟合大多数采用参数化或样条插值的方法得到,区域光滑,与实际的模型更容易接近。 它的最典型的缺点是适用的范围比较窄,只适用于形状规则的图形。尤其随着近几年的计算机和数值方法的快速发展,人们对求解区域的几何形状的复杂性的要求越来越高,在这种情况下,结构化网格生成技术就显得力不从心了。 1.2非结构化网格 同结构化网格的定义相对应,非结构化网格是指网格区域内的内部点不具有相同的毗邻单元。即与网格剖分区域内的不同内点相连的网格数目不同。从定义上可以看出,结构化网格和非结构化网格有相互重叠的部分,即非结构化网格中可能会包含结构化网格的部分。 2.如果一个几何造型中既有结构化网格,也有非结构化网格,分块完成的,分别生成网格后,也可以直接就调入fluent中计算。 3.在fluent中,对同一个几何造型,如果既可以生成结构化网格,也可生成非结构化网格,当然前者要比后者的生成复杂的多,那么应该选择哪种网格,两者计算结果是否相同,哪个的计算结果更好些呢? 一般来说,结构网格的计算结果比非结构网格更容易收敛,也更准确。但后者容易做。 影响精度主要是网格质量,和你是用那种网格形式关系并不是很大,如果结构话网格的质量很差,结果同样不可靠,相对而言,结构化网格更有利于计算机存储数据和加快计算速度。

结构化网格据说计算速度快一些,但是网格划分需要技巧和耐心。非结构化网格容易生成,但相对来说速度要差一些。 4.在gambit中,只有map和submap生成的是结构化网格,其余均为非结构化网格。 采用分块网格划分的时候,在两个相邻块之间设置了connected,但是这两个块我要用不同尺寸的网格来划分。比如说我用结构化的六面体网格来划分,一遍的尺寸为2,另一边的尺寸为3,这时候公共边界面该怎么处理?如果采用cooper 的格式来划分这个网格,尺寸就是前面所说的,该怎么来做呢? 我用单独的两个块试过,就是在公共边界上采用interface的格式,但是由于与这个公共边界相邻的另一个边界也不得不用interface格式,结果导入fluent 的时候就说can not creat a bound loop,也不清楚这是什么问题。 如果中间面两侧的面网格一致,可以直接在fluent中merge,如果不一致,可以设interface 网格的正交性是指三个方向上的网格边之间互相垂直的程度。一般而言,三维网格单元中,三个方向上的网格边之间的夹角越接近90度则质量越好。这一点在规则区域(例如正方形方腔)很容易实现,但对于流动区域比较复杂的问题则非常困难。但一般情况下,应当保证所有的网格单元内的网格边夹角大于10度,否则网格本身就会引入较大的数值误差。 EquiSize Skew(尺寸扭曲率)和EquiAngle Skew(角度扭曲率)是评判网格质量最主要标准,其值越小,网格质量越高 一般来说,Fluent要求扭曲率3D小于0.85,2D小于0.75。 关于复杂模型和gambit中的实体及虚体 模型比较复杂,是在pro/E中建的模,然后用igs导入gambit,不过这样就产生了很多碎线和碎面并且在一些面交界的地方还存在尖角。我曾经做成功过把它们统统merge成一个虚面,中间设置了一个可以容忍尖角的参数,也可以划分网格,但把生成的msh文件导入fluent就会出错,这是virtual geometry的原因还是因为尖角的原因?还有,virtual geometry和普通的真实的几何体到底有什么区别?好像最大的区别是virtual geometry不能进行布尔操作,布尔操作(boolean operation)又是什么?使用virtual geometry需要注意哪些问题?virtual geometry是很头疼的问题。你把它们统统merge成一个虚面 按理说全是虚的也是可以算的。可能是因为尖角的原因,虚实最大差别:是virtual geometry不能进行布尔操作,boolean operation即是并 对于复杂外形的网格生成,不可避免的会用到virtual geometry,virtual face ,和virtual edge等, 1。作网格的时候,把所有的面全部合成一个虚面的做法不好,特别是对于复杂外形的网格生成,你最好在模型变化剧烈的地方多分几个面,这样会更有效的控制网格能够在模型表面曲率比较大的地方能够生成规则的结构或者非结构网格。

网格划分方法

网格划分的几种基本处理方法 学习2010-01-10 17:13:52 阅读48 评论0 字号:大中小 贴体坐标法: 贴体坐标是利用曲线坐标,并使其坐标线与燃烧室外形或复杂计算区域边界重合,这样所有边界点能够用网格点来表示,不需要任何插值。一旦贴体坐标生成通过变换,偏微分方程求解可以不在任意形状的物理平面上,而在矩形或矩形的组合(空间问题求解域为长方体或它们的组合)转换平面上进行。这样计算与燃烧室外形无关,也与在物理平面上网格间隔无关。 而是把边界条件复杂的问题转换成一个边界条件简单的问题;这样不仅可避免因燃烧室外形与坐标网格线不一致带来计算误差,而且还可节省计算时间和内存,使流场计算较准确,同时方便求解,较好地解决了复杂形状流动区域的计算,在工程上比较广泛应 用。 区域法: 虽然贴体坐标系可以使坐标线与燃烧室外形相重合,从而解决复杂流动区域计算问题。但有时实际流场是一个复杂的多通道区域,很难用一种网格来模拟,生成单域贴体网格,即使生成了也不能保证网格质量,影响流场数值求解的效果。因此,目前常采用区域法或分区网格,其基本思想是,根据外形特点把复杂的物理域或复杂拓扑结构的网格,分成若干个区域,分别对每个子区域生成拓扑结构简单的网格。由这些子区域组合而成的网格,或结构块网格。对区域进行分区时,若相邻两个子域分离边界是协调对接,称为对接网格;若相邻两子域有相互重叠部分,则此分区网格称为重叠网格。根据实际数值模拟计算的需要,把整个区域(燃烧室)分成几个不同的子区域,并分别生成网格。这样不仅可提高计算精度,而且还可节省计算机内存,提高收敛精度。但是计算时,必须考虑各区域连接边界处耦合以及变量信息及时、准确地传递问题。处理各个区域连接有多种方法,其中一个办法是在求解各变量时各区域可以单独求解若干次而对压力校正方程.设压力校正值在最初迭代时为零,为了保证流量连续各个区域应同时求解,然后对各个速度和压力进行校正。或者采用在两个区域交界处有一个重叠区,两个区域都对重叠区进行计算,重叠区一边区域内的值,要供重叠区另一边区域求解时用。或通过在重叠内建立两个区域坐标对应关系,实现数据在重叠区内及时传递。如果两个区采用网格疏密分布不相同,要求重叠区二边流量相等。区域法能合理解决网格生成问题,已被大量用来计算复杂形状区域流动。 区域分解法: 对于复杂几何形状的实际燃烧装置,为了保证数值求解流场质量,目前常采用区域分解法。该法基本要点是:根据燃烧室形状特点和流场计算需要,把计算区域分成一个主区域和若干个子区域,对各个区域(块)分别建立网格,并对各个区域分别进行数值求解。区域分解原则是尽量使每个子区域边界简便以便于网格建立,各个子区域大小也尽可能相同,使计算负载平衡有利于平行计算。各区域的网格间距数学模型以及计算方法都可以不同,通常在变量变化梯度大的区域,可以布置较细网格,并采用高阶紊流模型和描述复杂反应的紊流燃烧模型,以便更合理模拟实际流场。对于变量变化不太大区域,可采用较疏的网格和较简单的数学模型,这样可节省计算时间。各子区域的解在相邻子区域边界处通过耦合条件来实现光滑,相邻子区域连接重叠网格或对接网格来实现,在各子区域交界处通过插值法提供各子域求解变量的信息传递,满足各子域流场计算要求通量和动量守恒条件以便实现在交界面处各子域流场解的匹配和 耦合,从而取得全流场解。 非结构网格法: 上述各方法所生成的网格均属于结构化网格,其共同特点是网格中各节点排列有序,每个节点与邻点之间关系是固定的,在计算区域内网格线和平面保持连续。特别是其中分区结构网格生成方法已积累了较多经验,计算技术也较成熟,目前被广泛用来构造复杂外形区域内网格。但是,若复杂外形稍有改变,则将需要重新划分区域和构造网格,耗费较多人力和时间。为此,近年来又发展了另一类网格——非结构网格。此类网格的基本特点是:任何空间区域都被以四面体为单元的网格所划分,网格节点不受结构性质限制,能较好地处理边界,每个节点的邻点个数也可不固定,因此易于控制网格单元的大小、形状及网格的位置。与结构网格相比,此类网格具有更大灵活性和对复杂外形适应性。在20世纪80年代末和90年代初,非结构网格得到了迅速发展。生成非结构网格方法主要有三角化方法和推进阵面法两种。虽然非结构网格容易适合复杂外形,但与结构网格相比还存在一些缺点:(1)需要较大内存记忆单元节点之

结构和非结构网格

CFD网格的分类,如果按照构成形式分,可以分为结构化和非结构化 结构化:只能有六面体一种网格单元,六面体顾名思义,也就是有六个面,但这里要区分一下六 面体和长方体。长方体(也就是所有边都是两两正交的六面体)是最理想完美的六面体网格。但如 果边边不是正交,一般就说网格单元有扭曲(skewed). 但绝大多数情况下,是不可能得到完全没有 扭曲的六面体网格的。一般用skewness来评估网格的质量,sknewness=V/(a*b*c). 这里V是网格 的体积,a,b,c是六面体长,宽和斜边。sknewness越接近1,网格质量就越好。很明显对于长 方体,sknewness=1. 那些扭曲很厉害的网格,sknewness很小。一般说如果所有网格sknewness>0.1也就可以了。结构化网格是有分区的。简单说就是每一个六面体单元是有它的坐标的,这些坐标用,分区号码(B),I,J,K四个数字代表的。区和区之间有数据交换。比如一个单元,它的属性是B=1, I=2,J=3,K=4。其实整个结构化单元的概念就是CFD计算从物理空间到计算空间mapping的概念。I,J,K可以认为是空间x,y,z在结构化网格结构中的变量。 非机构化:可以是多种形状,四面体(也就三角的形状),六面体,棱形。对任何网格,都是希 望网格单元越规则越好,比如六面体希望是长方形,对于四面体,高质量的四面体网格就是正四 面体。sknewness的概念这里同样适用,sknewness越小,网格形状相比正方形或者正四面体就越 扭曲。越接近1就越好。 很明显非结构化网格也可以是六面体,但非结构化六面体网格没有什么B,IJK的概念,他们就是充 满整个空间。 对于复杂形状,结构化网格比较难以生成。主要是生成时候要建立拓扑,拓扑是个外来词,英语 是topology,所以不要试图从字面上来理解它的意思。其实拓扑就是指一种有点和线组成的结构。工人建房子,需要先搭房粱,立房柱子,然后再砌砖头。拓扑其实就是房子的结构。这么理解拓 扑比较容易些,以后认识多了,就能彻底通了。 生成结构化网格的软件gridgen,icem等等都是需要你去建立拓扑,也就是结构,然后软件好根据 你的机构来建立网格,或者砌砖头,呵呵。 非结构化网格的生成相对简单,四面体网格基本就是简单的填充。非结构化六面体网格生成还有 些复杂的。但仍然比结构化的建立拓扑简单多。比如 gambit的非结构化六面体网格是建立在从一 个面到另外一个面扫描(sweep)的基础上的。Numeca公司的hexpress的非结构化六面体网格是用 的一种吸附的方法。反正你还是要花点功夫。 另外一点就是,结构化网格可以直接应与于各种非结构化网格的CFD软件,比如你在gridgen里 面生成了一个结构化网格,用fluent读入就可以了。fluent是非结构化网格CFD软件,它会忽略 那些结构化网格的结构信息(也就是B,I,J,K),当成简单的非结构网格读入。非结构化六面体网格 就不能用在结构化网格的CFD求解器了. 结构化网格仍然是CFD工程师的首选。非结构化六面体网格也还凑合,四面体网格我就不喜欢了。数量多,计算慢,后处理难看。简单说,如果非结构化即快又好,结构化网格早就被淘汰了。总 结一下,

关于结构化网格和非结构网格的适用性问题

? 傲雪论坛 ? 『 Fluent 专版 』 打印话题 寄给朋友 作者 关于结构化网格和非结构网格的适用性问题 [精华] 翱翔蓝天 发帖: 22 积分: 0 雪币: 22 于 2005-07-23 22:58 有些前辈认为,数值计算中应采用结构化网格,如果非结构网格则计算结果将“惨不忍睹”。搞压气机计算的同行也认为,必须用结构化网格。然而, 对复杂的计算域,如果采用结构化网格必然造成网格质量的急剧下降,扭曲加大等问题。我觉得这时,不如采用非结构网格。诸位,请提出自己的意见 waterstone 我为人人,人人为我 发帖: 78 积分: 0 雪币: 78 于 2005-07-24 09:51 我是这样看的:非结构网格使用很方便,外型越复杂就越显示出其优越性;至于计算结果的精度,就要看 非结构网格在单元网格面、体积处理上方法是不是比结构网格要差。就fluent 软件,它是用体积积分法求 解雷诺平均方程的,在单元网格面、体积处理上方法好像是按非结构网格方法处理的。你就是按结构网格方法来生成网格,进入fluent 中,进行数值计算时都是按非结构网格来处理,所以在fluent 中,你用结构化网格方法生网格,和用非结构网格计算没多大区别!我说说我个人看法。 liuhuafei 于 2005-07-25 13:53

发帖: 872 积分: 6 雪币: 158 来自: 上海 waterstone wrote: 我是这样看的:非结构网格使用很方便,外型越复杂就越显示出其优越性;至于计算结果的 精度,就要看非结构网格在单元网格面、体积处理上方法是不是比结构网格要差。就fluent 软件,它是用体积积分法求解雷诺平均方程的,在单元网格面、体积处理上方法好像是按非 结构网格方法处理的。你就是按结构网格方法来生成网格,进入fluent 中,进行数值计算时都是按非结构网格来处理,所以在fluent 中,你用结构化网格方法生网格,和用非结构网格计算没多大区别!我说说我个人看法。 计算精度,主要在于网格的质量(正交性,长宽比等),并不决定于拓扑(是结构化还是非结构化)。 例如同样的2d 的10×10的正交网格,fluent 采用非结构化方式对网格编号,另一种软件按结构化网格处理,如果其它条件相同,二者的精度应该是一样的。 我们通常所说的非结构化网格,第一映象就是网格质量差,不正交的,编排无规律的网格的三角形网格或四面体网格,实际上一个二维区域的三角形网格,如果控制得好(如相邻控制 体中心的连线与公共边基本接近正交的话),其不结构化网格(网格正交性好)的精度是一致的 翱翔蓝天 发帖: 22 积分: 雪币: 22 于 2005-07-25 23:00 谢了,有收获,受益匪浅 edwardzhu 发帖: 60 积分: 1 于 2005-08-05 11:08 听楼上一席话,胜读一年书。

Fluent 结构化网格与非结构化网格

简单地说:结构化网格只包含四边形或者六面体,非结构化网格是三角形和四面体。 结构网格再拓扑结构上相当于矩形域内的均匀网格,器节点定义在每一层的网格线上,且每一层上节点数都是相等的,这样使复杂外形的贴体网格生成比较困难。非结构网格没有规则的拓扑结构,也没有层的概念,网格节点的分布是随意的,因此具有灵活性。不过非结构网格计算的时候需要较大的内存。 在计算流体动力学中,按照一定规律分布于流场中的离散点的集合叫网格(Grid),分布这些网格节点的过程叫网格生成(Grid Generation)。网格生成对CFD至关重要,直接关系到CFD计算问题的成败。 非结构三角形网格方法 复杂外形网格生成的第二方向是最近应用比较广泛的非结构三角形网格方法,它利用三角形(二维)或四面体(三维)在定义复杂外形时的灵活性,以Delaunay法或推进波阵面法为基础,全部采用三角形(四面体)来填充二维(三维)空间,它消除了结构网格中节点的结构性限制,节点和单元的分可控性好,因而能较好地处理边界,适用于模拟真实复杂外型。非结构网格生成方法在其生成过程中采用一定的准则进行优化判断,因而能生成高质量的网格,很容易控制网格的大小和节点的密度,它采用随机的数据结构有利于进行网格自适应。一旦在边界上指定网格的分布,在边界之间可以自动生成网格,无需分块或用户的干预,而且不需要在子域之间传递信息。因而,近年来非结构网格方法受到了高度的重视,有了很大发展。 非结构网格方法的一个不利之处就是不能很好地处理粘性问题,在附面层内只采用三角形或四面体网格,其网格数量将极其巨大。现在比较好的方法就是采用混合网格技术,即先贴体生成能用于粘性计算的四边型或三棱柱网格,然后以此为物面边界,生成三角形非结构网格,但是生成复杂外型的四边形或三棱柱网格难度很大。 非结构网格方法的另一个不利之处就是对于相同的物理空间,网格填充效率不高,在满足同样流场计算条件的情况下,它产生的网格数量要比结构网格的数量大得多(一个长方体要划分为5个四面体)。随机的数据结构也增加了流场参数交换的时间,因此此方法要求较大的计算机内存,计算时间长。在物面附近,非结构网格方法,特别是对于复杂外形如凹槽、细缝等处比较难以处理。 非结构网格与结构网格一样都属于贴体网格,模型表面网格的好坏直接关系到空间网格的质量,因而它们的模型表面网格必须同时与网格拓扑结构和当地的几何外形特性相适应,为了更好地适应其中一方面,有时不得不在另一方面作出让步,因而往往顾此失彼。因此,在生成非结构网格和结构网格时,处理模型表面又成为一个关键而费时的工作。 计算精度,主要在于网格的质量(正交性,长宽比等),并不决定于拓扑(是结构化还是非结构化)。个人感觉采用结构化网格还是非结构化网格,主要看解决什么问题,如果是无粘欧拉方程的话,只要合理布局,结构和非结构都能得到较为理想的结果。但如果涉及到粘性影响的话,尤其在壁面处,结构网格有一定优势,并且其对外形适应性差的缺点,也可以通过多块拼接网格解决。事实上,目前有的非结构网格软件,也开始借鉴结构网格的优点,在壁面处进行了类似结构网格的处理,如cfx的壁面加密功能。 一般来说,网格节点走向(这里假设计算过程中物理量定义在网格节点上)贴近流动方向,那么计算的结果就要好一些。对于不是非常复杂的流动。例如气体的喷管流动,使用四边形(二维)网格就比较三角形网格要好。不过即便是四边形网格,fluent也是按照无结构网格进行处理的。 非结构和结构网格的计算结果如何取决于算法,除非网格实在惨不忍睹。我觉得现在已发展到了基于结构网格与非结构网格上的计算,各自的优势相差越来越不是很明显了。

结构化网格与非结构化网格

对于连续的物理系统的数学描述,如航天飞机周围的空气的流动,水坝的应力集中等等,通常是用偏微分方程来完成的。为了在计算机上实现对这些物理系统的行为或状态的模拟,连续的方程必须离散化,在方程的求解域上(时间和空间)仅仅需要有限个点,通过计算这些点上的未知变量既而得到整个区域上的物理量的分布。有限差分,有限体积和有限元等数值方法都是通过这种方法来实现的。这些数值方法的非常重要的一个部分就是实现对求解区域的网格剖分。 网格剖分技术已经有几十年的发展历史了。到目前为止,结构化网格技术发展得相对比较成熟,而非结构化网格技术由于起步较晚,实现比较困难等方面的原因,现在正在处于逐渐走向成熟的阶段。下面就简要介绍一些这方面的情况。 1.1结构化网格 从严格意义上讲,结构化网格是指网格区域内所有的内部点都具有相同的毗邻单元。结构化网格生成技术有大量的文献资料[1,2,3,4]。结构化网格有很多优点: 1.它可以很容易地实现区域的边界拟合,适于流体和表面应力集中等方面的计算。 2.网格生成的速度快。 3.网格生成的质量好 4.数据结构简单 5.对曲面或空间的拟合大多数采用参数化或样条插值的方法得到,区域光滑,与实际的模型更容易接近。 它的最典型的缺点是适用的范围比较窄。尤其随着近几年的计算机和数值方法的快速发展,人们对求解区域的复杂性的要求越来越高,在这种情况下,结构化网格生成技术就显得力不从心了。 结构化网格的生成技术只要有: 代数网格生成方法。主要应用参数化和插值的方法,对处理简单的求解区域十分有效。PDE网格生成方法。主要用于空间曲面网格的生成。 1.2非结构化网格 同结构化网格的定义相对应,非结构化网格是指网格区域内的内部点不具有相同的毗邻单元。即与网格剖分区域内的不同内点相连的网格数目不同。从定义上可以看出,结构化网格和非结构化网格有相互重叠的部分,即非结构化网格中可能会包含结构化网格的部分。 非结构化网格技术从六十年代开始得到了发展,主要是弥补结构化网格不能够解决任意形状和任意连通区域的网格剖分的缺欠.到90年代时,非结构化网格的文献达到了它的高峰时期.由于非结构化网格的生成技术比较复杂,随着人们对求解区域的复杂性的不断提高,对非结构化网格生成技术的要求越来越高.从现在的文献调查的情况来看,非结构化网格生成技术中只有平面三角形的自动生成技术比较成熟(边界的恢复问题仍然是一个难题,现在正在广泛讨论),平面四边形网格的生成技术正在走向成熟。而空间任意曲面的三角形、四边形网格的生成,三维任意几何形状实体的四面体网格和六面体网格的生成技术还远远没有达到成熟。需要解决的问题还非常多。主要的困难是从二维到三维以后,待剖分网格的空间区非常复杂,除四面体单元以外,很难生成同一种类型的网格。需要各种网格形式之间的过度,如金字塔形,五面体形等等。 非结构化网格技术的分类,可以根据应用的领域分为应用于差分法的网格生成技术(常常成为grid generation technology)和应用于有限元方法中的网格生成技术(常常成为mesh generation technology),应用于差分计算领域的网格要除了要满足区域的几何形状要求以外,还要满足某些特殊的性质(如垂直正交,与流线平行正交等),因而从技术实现上来说就更困难一些。基于有限元方法的网格生成技术相对非常自由,对生成的网格只要满足一些形状

网格生成及修正技巧

网格生成及修正技巧 1引言 网格是CFD 模型的几何表达形式,也是模拟与分析的载体。网格质量对CFD 计算精度和计算效率有着重要的影响。对于复杂的CFD 问题,网格的生成极为耗时,并且极易出错,生成网格所需的时间常常大于实际CFD 计算的时间。因此,有必要对网格生成以及修正方法进行足够的研究。 考虑到目前的CFD 计算多是通过专用的网格生成软件来划分所需要的网格,因此,本文就如何利用专用前处理软件GAMBIT 来介绍网格的生成和修正技巧。 2 网格类型 网格主要有两种:结构网格和非结构网格[1] [2]在结构网格中,常用的2D 网格单元是四边形单元,3D 网格单元是六面体单元。而在非结构网格中,常用的2D 网格单元还有三角形单元,3D 网格单元还有四面体单元和五面体单元,其中五面体单元还分为棱锥形(或楔形)和金字塔形单元等。结构网格的最大特点在于网格中节点排列有序,邻点间关系明确,结构简单,构造方便,与计算机语言自然匹配,容易计算,网格生成速度快,质量好,数据结构简单等优点;缺点是适用的范围比较窄,只适用于形状规则的图形,对复杂几何形状的适应能力差。非结构网格舍去了网格节点的结构性限制,易于控制网格单元的大小、形状及节点位置,灵活性好,对复杂外形的适应能力强——流场变化比较大的地方,可以进行局部网格加密。但其无规则性也导致了在模拟计算中存储空间增大,寻址时间增长,计算效率低于结构化网格,计算时间长等缺点。 [1]。 (a )三角形 (b )四边形 图1 常用的2D 网格单元 (a )四面体 (b )六面体 (c )五面体(凌锥) (d )五面体(金字塔) 图2 常用的3D 网格单元 3 单连域与多连域网格 网格区域分为单连域和多连域两类。所谓单连域是指求解区域边界线内不包含有非求解

ABAQUS 划分网格的方法(读书总结)

划分网格的方 1.独立实体(independent instance)和非独立实体(dependent instance) 对非独立实体划分网格时,应在窗口顶部的环境栏中把Object选项设为part,即对部件划分网格; 对独立实体划分网格时, 应在窗口顶部的环境栏中把Object选项设为assembly,即对装配件划分网格 2.网格单元形状 在MESH功能模块中,Mesh—Controls,弹出Mesh Controls对话框,其中可选择单元形状。2D问题,有以下可供选择的单元形状。 1)Quad:网格中完全使用四边形单元; 2)Quad-dominated:网格中主要使用四边形单元,但在过渡区域允许出现三角形单元。选择 Quad-dominated类型更容易实现从粗网格到细网格的过渡; 3)Tri:网格中完全使用三角形单元; 对于3D问题,包括以下可供选择的单元形状: 1)Hex:网格中完全使用六面体单元; 2)Hex-dominated:网格中主要使用六面体单元,但在过渡区域允许出现楔形(三棱柱)单元; 3)Tet:网格中完全使用四面体单元; 4)Wedge:网格中完全使用楔形单元; Quad(2D问题)和Hex(3D问题)可以用较小的计算代价得到较高的精度,应尽可能选择这两种单元。 3.网格划分技术 Structured(结构化网格):采用结构化网格的区域显示为绿色; Sweep(扫掠网格):采用扫掠网格的区域显示为黄色; Free(自由网格):采用自由网格的区域显示为粉红色; 自由网格技术采用Tri和Tet,一般应选择带内部节点的二次单元来保证精度;结构化网格和扫掠网格一般采用Quad和Hex单元,分析精度相对较高。 4.划分网格的算法 使用Quad和Hex单元划分网格时,有两种可供选择的算法:Medial Axis(中性轴算法)和Advancing Front(进阶算法)。 Medial Axis(中性轴算法):首先把要划分网格的区域分成一些简单的区域,然后使用结构化网格划分技术来为简单区域划分网格。Medial Axis(中性轴算法)算法有以下特性: 1)使用Medial Axis(中性轴算法)更容易得到单元形状规则的网格,但网格和种子的位置吻合较差; 2)在二维模型中使用Medial Axis(中性轴算法),选择Minimize the mesh transition(最小化网格过渡),可以提高网格的质量,但使用这种方法生成的网格更容易偏离种子。 3)如果在模型的一部分边上定义了受完全约束的种子,Medial Axis(中性轴算法)会自动为其他的边选择最佳的种子分布; 4)Medial Axis算法不支持由CAD模型导入的不精确模型和虚拟拓扑。 Advancing Front(进阶算法):首先在边界上生成四边形网格,然后再向区域内部扩展。具有以下特性: 1)使用Advancing Front算法得到的网格可以和种子的位置吻合的很好,但在较窄的区域内,精确匹配每粒种子可能使网格歪斜; 2)使用Advancing Front算法更容易得到单元大小均匀的网格。在Explicite,网格的小单元会限制增量步长。 3)使用Advancing Front算法更容易得到从粗网格到细网格的过渡; 5. 网格划分失败的解决方法

结构化网格和非结构化网格

结构化网格只包含四边形或者六面体,非结构化网格是三角形和四面体。 结构网格在拓扑结构上相当于矩形域内的均匀网格,器节点定义在每一层的网格线上,且每一层上节点数都是相等的,这样使复杂外形的贴体网格生成比较困难。非结构网格没有规则的拓扑结构,也没有层的概念,网格节点的分布是随意的,因此具有灵活性。不过非结构网格计算的时候需要较大的内存。 非结构网格不利之处就是不能很好地处理粘性问题,在附面层内只采用三角形或四面体网格,其网格数量将极其巨大。现在比较好的方法就是采用混合网格技术,即先贴体生成能用于粘性计算的四边型或三棱柱网格,然后以此为物面边界,生成三角形非结构网格,但是生成复杂外型的四边形或三棱柱网格难度很大。在物面附近,非结构网格方法,特别是对于复杂外形如凹槽、细缝等处难以处理。 到空间网格的质量, 几何外形特性相适应,为了更好地适应其中一方面,有时不得不在另一方面做出让步,因而往往顾此失彼。 计算精度,主要在于网格的质量(正交性,长宽比等),并不决定于拓扑(是结构化还是非结构化)。采用结构化网格还是非结构化网格,主要看解决什么问题,如果是无粘欧拉方程的话,只要合理布局,结构和非结构都能得到较为理想的结果。但如果涉及到粘性影响的话,尤其在壁面处,结构网格有一定优势,并且其对外形适应性差的缺点,也可以通过多块拼接网格解决。目前有的非结构网格软件,也开始借鉴结构网格,如cfx的壁面加密功能。 网格节点走向(这里假设计算过程中物理量定义在网格节点上)贴近流动方向,那么计算的结果就要好一些。对于不是非常复杂的流动。例如气体的喷管流动,使用四边形(二维)网格就比三角形网格要好。不过即便是四边形网格,fluent 也是按照无结构网格进行处理的。主要是看流向是否与网格平行如果是平行的则计算中不容易出现假扩散,计算的结果就好,但是成角度的时候计算的结果搞不好就有扩散现象,所以不在于结构和非结构。 非结构和结构网格的计算结果如何取决于算法。GRIDGEN在结构网格方面有着强大的生命力,很多非常复杂的几何形状用它没问题;基于非结构网格方面的计算格式得到的结果的准确度也不次于基于结构网格的结果了。

结构化网格和非结构化网格特点

关于网格的经典文献你可以参看thomphson的Numecrial grid generation那本书,讲的有pde 和参数化代数方法.书后附有算例和代码. NURBS参数化曲线和曲面在自由曲线和曲面的cad造型广泛应用,也见到国内外的文献提到用这种方法生成网格,国内可能还没用这种方法来生成网格的实例. 如果网格生成算法感兴趣,可以看看。 关于结构和非结构网格,各有应用场合。个人比较喜欢结构网格。通过观察IDEAS中结构网格生成的步骤及要求,我觉得对于复杂的几何体,生成结构网格也是可以的,前提是采用适当的partition方法,将几何体分解成规则的基本几何体。而分解几何体是几何建模的任务。 个人感觉:生成网格的软件名目繁多,但是网格生成基本原理和算法可以归成下列所述的类别。 主要差别可能在于辅助的几何建模方法不同。网格生成应当辅以几何建模,只有与几何建模结合,才可以对复杂几何体生成高质量的网格。 网格生成的另外一个要素就是物体的参数化表示技术,当采用适当的参数化表示实体表面时,同样的网格生成技术有时候可以得到非常好的网格。NURBS是我所知道的CDA/CAM中应用较为广泛的构造复杂曲面的参数化表示技术。 不知道哪位朋友可以提供一些关于网格生成基本算法的源代码。 对于连续的物理系统的数学描述,如航天飞机周围的空气的流动,水坝的应力集中等 等,通常是用偏微分方程来完成的。为了在计算机上实现对这些物理系统的行为或状态的模拟,连续的方程必须离散化,在方程的求解域上(时间和空间)仅仅需要有限个点,通过 计算这些点上的未知变量既而得到整个区域上的物理量的分布。有限差分,有限体积和有 限元等数值方法都是通过这种方法来实现的。这些数值方法的非常重要的一个部分就是实 现对求解区域的网格剖分。 网格剖分技术已经有几十年的发展历史了。到目前为止,结构化网格技术发展得相对 比较成熟,而非结构化网格技术由于起步较晚,实现比较困难等方面的原因,现在正在处 于逐渐走向成熟的阶段。下面就简要介绍一些这方面的情况。 1.1结构化网格 从严格意义上讲,结构化网格是指网格区域内所有的内部点都具有相同的毗邻单元。 结构化网格生成技术有大量的文献资料[1,2,3,4]。结构化网格有很多优点: 1.它可以很容易地实现区域的边界拟合,适于流体和表面应力集中等方面的计算。 2.网格生成的速度快。 3.网格生成的质量好 4.数据结构简单 5.对曲面或空间的拟合大多数采用参数化或样条插值的方法得到,区域光滑,与实际 的模型更容易接近。 它的最典型的缺点是适用的范围比较窄。尤其随着近几年的计算机和数值方法的快速 发展,人们对求解区域的复杂性的要求越来越高,在这种情况下,结构化网格生成技术就 显得力不从心了。 结构化网格的生成技术只要有:代数网格生成方法。主要应用参数化和插值的方法,对处理简单的求解区域十分有效。

有限元网格划分方法与基本原理

结构有限元分析中的网格划分技术及其应用实例 结构有限元分析中的网格划分是否直接关系到解算的效果。本文简述了网格划分应用的基本理论,并以空间自由曲面覆盖件和大型整体网络钢筋壳体产品的有限元分析中的网格划分为实例对象,详细讲述了空间自由和三维实体的网格划分基本理论及其在工程中的实际应用,非常具有现实意义和借鉴价值。 一、前言 有限元网格划分是进行有限元数值模拟分析至关重要的一步,它直接影响着后续数值计算分析结果的精确性。网格划分涉及单元的形状及其拓扑类型、单元类型、网格生成器的选择、网格的密度、单元的编号以及几何体素。从几何表达上讲,梁和杆是相同的,从物理和数值求解上讲则是有区别的。同理,平面应力和平面应变情况设计的单元求解方程也不相同。在有限元数值求解中,单元的等效节点力、刚度矩阵、质量矩阵等均用数值积分生成,连续体单元以及壳、板、梁单元的面内均采用高斯(Gauss)积分,而壳、板、梁单元的厚度方向采用辛普生(Simpson)积分。辛普生积分点的间隔是一定的,沿厚度分成奇数积分点。由于不同单元的刚度矩阵不同,采用数值积分的求解方式不同,因此实际应用中,一定要采用合理的单元来模拟求解。 CAD软件中流行的实体建模包括基于特征的参数化建模和空间自由曲面混合造型两种 方法。Pro/E和SoildWorks是特征参数化造型的代表,而 CATIA与Unigraphics等则将特征参数化和空间自由曲面混合造型有机的结合起来。现有CAD软件对表面形态的表示法已经大大超过了CAE软件,因此,在将CAD实体模型导入CAE软件的过程中,必须将CAD模型中其他表示法的表面形态转换到CAE软件的表示法上,转换精度的高低取决于接口程序的好坏。在转换过程中,程序需要解决好几何图形(曲线与曲面的空间位置)和拓扑关系(各图形数据的逻辑关系)两个关键问题。其中几何图形的传递相对容易实现,而图形间的拓扑关系容易出现传递失败的情况。数据传递面临的一个重大挑战是,将导入CAE程序的CAD模型改造成适合有限元分析的网格模型。在很多情况下,导入CAE程序的模型可能包含许多设计细节,如细小的孔、狭窄的槽,甚至是建模过程中形成的小曲面等。这些细节往往不是基于结构的考虑,保留这些细节,单元数量势必增加,甚至会掩盖问题的主要矛盾,对分析结果造成负面影响。 CAD模型的“完整性”问题是困扰网格剖分的障碍之一。对于同一接口程序,数据传递的品质取决于CAD模型的精度。部分CAD模型对制造检测来说具备足够的精度,但对有限元网格剖分来说却不能满足要求。值得庆幸的是,这种问题通常可通过CAD软件的“完整性检查”来修正。改造模型可取的办法是回到CAD系统中按照分析的要求修改模型。一方面检查模型的完整性,另一方面剔除对分析无用的细节特征。但在很多情况下,这种“回归”很难实现,模型的改造只有依靠 CAE软件自身。CAE中最直接的办法是依靠软件具有的“重构”功能,即剔除细部特征、缝补面和将小面“融入”大曲面等。有些专用接口在模型传递过程中甚至允许自动完成这种工作,并且通过网格剖分器检验模型的“完整性”,如发现“完整性”不能满足要求,接口程序可自动进行“完整性”修复。当几何模型距 CAE分析的要求相差太大时,还可利用CAE程序的造型功能修正几何模型。“布尔运算”是切除细节和修理非完整特征的有效工具之一。 目前数据传递一般可通过专用数据接口,CAE程序可与CAD程序“交流”后生成与CAE 程序兼容的数据格式。另一种方式是通过标准图形格式如IGES、 SAT和ParaSolid传递。现有的CAD平台与通用有限元平台一般通过IGES、STL、Step、Parasolid等格式来数据交

结构化网格和非结构化网格

结构化网格和非结构化网格 1. 什么是结构化网格和非结构化网格 1.1结构化网格 从严格意义上讲,结构化网格是指网格区域内所有的内部点都具有相同的毗邻单元。 它可以很容易地实现区域的边界拟合,适于流体和表面应力集中等方面的计算。它的主要优点是: 网格生成的速度快。 网格生成的质量好。 数据结构简单。 对曲面或空间的拟合大多数采用参数化或样条插值的方法得到,区域光滑,与实际的模型更容易接近。 它的最典型的缺点是适用的范围比较窄,只适用于形状规则的图形。尤其随着近几年的计算机和数值方法的快速发展,人们对求解区域的几何形状的复杂性的要求越来越高,在这种情况下,结构化网格生成技术就显得力不从心了。 1.2非结构化网格 同结构化网格的定义相对应,非结构化网格是指网格区域内的内部点不具有相同的毗邻单元。即与网格剖分区域内的不同内点相连的网格数目不同。从定义上可以看出,结构化网格和非结构化网格有相互重叠的部分,即非结构化网格中可能会包含结构化网格的部分。 2.如果一个几何造型中既有结构化网格,也有非结构化网格,分块完成的,分别生成网格后,也可以直接就调入fluent中计算。

3.在fluent中,对同一个几何造型,如果既可以生成结构化网格,也可生成非结构化网格,当然前者要比后者的生成复杂的多,那么应该选择哪种网格,两者计算结果是否相同,哪个的计算结果更好些呢, 一般来说,结构网格的计算结果比非结构网格更容易收敛,也更准确。但后者容易做。 影响精度主要是网格质量,和你是用那种网格形式关系并不是很大,如果结构话网格的质量很差,结果同样不可靠,相对而言,结构化网格更有利于计算机存储数据和加快计算速度。 结构化网格据说计算速度快一些,但是网格划分需要技巧和耐心。非结构化网格容易生成,但相对来说速度要差一些。 4.在gambit中,只有map和submap生成的是结构化网格,其余均为非结构化网格。 采用分块网格划分的时候,在两个相邻块之间设置了connected,但是这两个块我要用不同尺寸的网格来划分。比如说我用结构化的六面体网格来划分,一遍的尺寸为2,另一边的尺寸为3,这时候公共边界面该怎么处理,如果采用cooper的格式来划分这个网格,尺寸就是前面所说的,该怎么来做呢, 我用单独的两个块试过,就是在公共边界上采用interface的格式,但是由于与这个公共边界相邻的另一个边界也不得不用interface格式,结果导入fluent 的时候就说can not creat a bound loop,也不清楚这是什么问题。如果中间面两侧的面网格一致,可以直接在fluent中merge,如果不一致,可以设interface 网格的正交性是指三个方向上的网格边之间互相垂直的程度。一般而言,三维网格单元中,三个方向上的网格边之间的夹角越接近90度则质量越好。这一点在规则区域(例如正方形方腔)很容易实现,但对于流动区域比较复杂的问题则非常困难。但一般情况下,应当保证所有的网格单元内的网格边夹角大于10度,否则网格本

相关文档
相关文档 最新文档