文档库 最新最全的文档下载
当前位置:文档库 › 结构和非结构网格

结构和非结构网格

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

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工程师的首选。非结构化六面体网格也还凑合,四面体网格我就不喜欢了。数量多,计算慢,后处理难看。简单说,如果非结构化即快又好,结构化网格早就被淘汰了。总

结一下,

结构化六面体:建立拓扑(所有软件gridgen,icem什么的都是一种拓扑概念,界面不一样罢了),生成网格

非结构化六面体:学习软件,gambit用扫描方法,hexpress用吸附方法,按照步骤就行了。非结

构化四面体:简单,看两页教程,搞定,就是简单填充,没什么技术含量!其他非结构化网格,

棱形等等:学习软件,按照步骤,很容易。

不管用什么网格软件,我们最好有比较扎实的CAD(pro/e, solidworks, UG什么的)基础。熟练的

CAD技术太重要了。

另外,有的地方sknewness的定义是(a*b*c)/V,所以大家注意数字的变化,但概念是一样的

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

第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页)

动网格的入门专题

题记:在学习使用Fluent的时候,有不少朋友需要使用动网格模型(Dynamic Mesh Model),因此,本版推出这个专题,进行大讨论,使大家在使用动网格时尽量少走弯路,更快更好地掌握;也欢迎使用过的版友积极参与讨论指导,谢谢! 该专题主要包括以下的主要内容: ##1. 动网格的相关知识介绍; ##2. 以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程; ##3. 与动网格应用有关的参考文献; ##4. 使用动网格进行计算的一些例子。 ##1. 动网格的相关知识介绍 有关动网格基础方面的东西,请具体参考FLUENT User’s Guide或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要点。 1、简介 动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。网格的更新过程由FLUENT 根据每个迭代步中边界的变化情况自动完成。在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或者UDF 定义边界的运动方式。FLUENT 要求将运动的描述定义在网格面或网格区域上。如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。 注:一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C语言编程基础。 2、动网格更新方法 动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧近似光滑模型(spring-based smoothing)、动态分层模型(dynamic layering)和局部重划模型(local remeshing)。 弹簧近似光滑模型 在弹簧近似光滑模型中,网格的边被理想化为节点间相互连接的弹簧。移动前的网格间距相当于边界移动前由弹簧组成的系统处于平衡状态。在网格边界节点发生位移后,会产生与位移成比例的力,力量的大小根据胡克定律计算。边界节点位移形成的力虽然破坏了弹簧系统原有的平衡,但是在外力作用下,弹簧系统经过调整将达到新的平衡,也就是说由弹簧连接在一起的节点,将在新的位置上重新获得力的平衡。从网格划分的角度说,从边界节点的位移出发,采用虎克定律,经过迭代计算,最终可以得到使各节点上的合力等于零的、新的网格节点位置,这就是弹簧光顺法的核心思想。 原则上弹簧光顺模型可以用于任何一种网格体系,但是在非四面体网格区域(二维非三角形),最好在满足下列条件时使用弹簧光顺方法: (1)移动为单方向。 (2)移动方向垂直于边界。 如果两个条件不满足,可能使网格畸变率增大。另外,在系统缺省设置中,只有四面体网格(三维)和三角形网格(二维)可以使用弹簧光顺法,如果想在其他网格类型中激活该模型,

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

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。作网格的时候,把所有的面全部合成一个虚面的做法不好,特别是对于复杂外形的网格生成,你最好在模型变化剧烈的地方多分几个面,这样会更有效的控制网格能够在模型表面曲率比较大的地方能够生成规则的结构或者非结构网格。

动网格

FLUENT6.1全攻略 图10-16 转子定子模型的静压等值线图 在显示速度矢量时,同样有绝对速度和相对速度两种形式。另外需要注意的是,后处理过程不能在交界区中的壁面、内部、周期等类型的边界上建立数据显示面(surface),但是可以在交界面上建立数据显示面,但结果将是单边的,就是只显示交界面一侧的结果。而且在跨越交接面时,等值线中可能会有细微的不连续。在画三维填充等值线时,图形中可能会出现一些小缝,但是这些缝只是图形显示问题,与解的连续性无关。 10.6 动网格模型 10.6.1 简介 动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。网格的更新过程由FLUENT根据每个迭代步中边界的变化情况自动完成。在使用移动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或者UDF定义边界的运动方式。 FLUENT要求将运动的描述定义在网格面或网格区域上。如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。不同区域之间的网格不必是正则 21

FLUENT6.1全攻略 22 的,可以在模型设置中用FLUENT 软件提供的非正则或者滑动界面功能将各区域连接起来。 10.6.2 动网格守恒方程 在任意一个控制体中,广义标量Φ的积分守恒方程为: ()∫∫∫∫??+??=??+V V Φg V V dV S A d ΦΓA d u u ρΦV ρΦd dt d G G G G (10-7) 式中ρ为流体密度,u G 为速度向量,g u G 移动网格的网格速度,Γ为扩散系数,ΦS 为 源项,V ?代表控制体V 的边界。 方程(10-7)中的时间导数项,可以用一阶后向差分格式写成: ()()t V V dV dt d n n V ΔΦ?Φ=Φ+∫ρρρ1 (10-8) 式中n 和n+1代表不同的时间层。n+1层上的V n+1由下式计算: t dt dV V V n n Δ+=+1 (10-9) 式中dV/dt 是控制体的时间导数。为了满足网格守恒定律,控制体的时间导数由下式计算: ∫∑??=?=V n j j j g g f A u A d u dt dV G G G G , (10-10) 式中n f 是控制体积的面网格数,j A G 为面j 的面积向量。点乘j j g A u G G ?,由下式计算: t V A u j j j g Δ=?δG G , (10-11) 式中j δV 为控制体积面j 在时间间隔Δt 中扫过的空间体积。 10.6.3 动网格更新方法 动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧光滑模型、动态层模型和局部重划模型。

结构和非结构网格

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工程师的首选。非结构化六面体网格也还凑合,四面体网格我就不喜欢了。数量多,计算慢,后处理难看。简单说,如果非结构化即快又好,结构化网格早就被淘汰了。总 结一下,

动网格流沙版完美整理.

动网格 让网格动起来(1)—闲谈动网格 在固体有限元计算中,网格运动实非什么稀奇事儿。而且在绝多数固体计算的基本物理量是网格的节点位移,所以,固体计算中,网格节点运动是对的,没有运动反而不正常了。也可以这么说:正因为计算域内部节点间的相对运动,才导致了内应力的产生。 流体计算与固体完全不同。其根源在于它们使用的网格类型不同。当前固体有限元计算采用的是拉格朗日网格,而流体计算则大多数采用的欧拉网格。如果说把拉格朗日网格中的节点点看作是真实世界的物质原子的话,那么欧拉网格的节点则好比是真实世界中的一个个传感器,它们总是呆在相同的位置,真实的记录着各自位置上的物理量。正常情况下,欧拉网格系统是这样的:计算域和节点保持位置不变,发生变化的是物理量,网格节点就像一个个布置在计算域中的传感器,记录该位置上的物理量。这其实是由流体力学研究方法所决定的。宏观与微观的差异决定了固体力学计算采用拉格朗日网格,流体计算采用欧拉网格。关于这部分的详细解说,可以参阅任何一本计算流体动力学书籍。 世界是公平的。有利必有弊。朗格朗日网格适合计算节点位移,然而对于过大的网格变形却难以处理。欧拉网格生来可以处理大变形(因为节点不动),然而对于对于节点运动的处理,则是其直接软肋。然而很不幸的是,现实生活中有太多网格边界运动的实例。如汽车发动机中的气缸运动、阀门开启与关闭、机翼的运动、飞机投弹等等等等举不胜举。 计算流体动力学计算的基本物理量通常为:速度、温度、压力、组分。并不计算网格节点位移。因此要让网格产生运动,通常给节点施加的物理约束是速度。CFD中的动网格大体分为两类:(1)显式规定的网格节点速度。配合瞬态时间,即可很方便的得出位移。当然一些求解器(如FLUENT)也支持稳态动网格,这时候可以直接指定节点位移。(2)网格节点速度是通过求解得到的。如6DOF模型基本上都属于此类。用户将力换算成加速度,然后将其积分成速度。 对于第一类动网格问题,在fluent中通常可以使用profile与UDF进行网格设置,通过规定节点或区域的速度、角速度或位移等方式来显式确定网格的运动,通常大部分的动网格问题都归于此类。而对于第二类问题,通常涉及到力的计算,力在流体中通常是对压力进行积分而来。将力转换为速度或位移,一般涉及到加速度、转动惯量等物理量的计算。在fluent 中,可以使用6DOF模型进行处理,在CFX中,可以使用刚体模型(13.0以上版本才有)。在FLUENT中,动网格涉及的内容包括: (1)运动的定义。主要是PROFILE文件与UDF中的动网格宏。 (2)网格更新。FLUENT中关于网格更新方法有三种:网格光顺、动态层、网格重构。 需要详细了解这些网格更新方法的运作机理,每个参数所代表的具体含义及设置方法,每种方法的适用范围。 动网格的最在挑战来自于网格更新后的质量,避免负体积是动网格调试的主要目标。在避免负网格的同时,努力提高运动更新后的网格质量。

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

? 傲雪论坛 ? 『 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也是按照无结构网格进行处理的。 非结构和结构网格的计算结果如何取决于算法,除非网格实在惨不忍睹。我觉得现在已发展到了基于结构网格与非结构网格上的计算,各自的优势相差越来越不是很明显了。

Fluent动网格专题讨论

Fluent动网格专题讨论(-) 题记:在学习使用Fluent的时候,有不少朋友需要使用动网格模型(Dynamic Mesh Model),因此,本版推出这个专题,进行大讨论,使大家在使用动网格时尽量少走弯路,更快更好地掌握;也欢迎使用过的版友积极参与讨论指导,谢谢! 该专题主要包括以下的主要内容: ##1. 动网格的相关知识介绍; ##2. 以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程; ##3. 与动网格应用有关的参考文献; ##4. 使用动网格进行计算的一些例子。 ##1. 动网格的相关知识介绍 有关动网格基础方面的东西,请具体参考FLUENT User’s Guide或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要点。 1、简介 动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。网格的更新过程由FLUENT 根据每个迭代步中边界的变化情况自动完成。在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或者UDF 定义边界的运动方式。FLUENT 要求将运动的描述定义在网格面或网格区域上。如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。 注:一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C语言编程基础。 2、动网格更新方法 动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧近似光滑模型(spring-based smoothing)、动态分层模型(dynamic layering)和局部重划模型(local remeshing)。 弹簧近似光滑模型 在弹簧近似光滑模型中,网格的边被理想化为节点间相互连接的弹簧。移动前的网格间距相当于边界移动前由弹簧组成的系统处于平衡状态。在网格边界节点发生位移后,会产生与位移成比例的力,力量的大小根据胡克定律计算。边界节点位移形成的力虽然破坏了弹簧系统原有的平衡,但是在外力作用下,弹簧系统经过调整将达到新的平衡,也就是说由弹簧连接在一起的节点,将在新的位置上重新获得力的平衡。从网格划分的角度说,从边界节点的位移出发,采用虎克定律,经过迭代计算,最终可以得到使各节点上的合力等于零的、新的网格节点位置,这就是弹簧光顺法的核心思想。 原则上弹簧光顺模型可以用于任何一种网格体系,但是在非四面体网格区域(二维非三角形),最好在满足下列条件时使用弹簧光顺方法: (1)移动为单方向。 (2)移动方向垂直于边界。 如果两个条件不满足,可能使网格畸变率增大。另外,在系统缺省设置中,只有四面体网格(三维)和三角形网格(二维)可以使用弹簧光顺法,如果想在其他网格类型中激活该模型,需要在dynamic-mesh-menu 下使用文字命令spring-on-all-shapes?,然后激活该选项即可。 动态层模型 对于棱柱型网格区域(六面体和或者楔形),可以应用动态层模型。动态层模型的中心思想是根据紧邻运动边界网格层高度的变化,添加或者减少动态层,即在边界发生运动时,如果紧邻边界的网格层高度增大到一定程度,就将其划分为两个网格层;如果网格层高度降低到一定程度,就将紧邻边界的两个网格层合并为一个层: 如果网格层j扩大,单元高度的变化有一临界值:

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

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

ICEM CFD动网格学习

FLUENT动网格教程 该专题主要包括以下的主要内容: §一、动网格的相关知识介绍; §二、以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程; §三、与动网格应用有关的参考文献; §四、使用动网格进行计算的一些例子。 §一、动网格的相关知识介绍 有关动网格基础方面的东西,请具体参考FLUENT User’s Guide或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要点。 1、简介 动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。网格的更新过程由FLUE NT 根据每个迭代步中边界的变化情况自动完成。在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或者UDF定义边界的运动方式。FLUENT 要求将运动的描述定义在网格面或网格区域上。如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。 注:一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C语言编程基础。 2、动网格更新方法 动网格计算中网格的动态变化过程可以用三种模型进行计算,即 弹簧近似光滑模型(spring-based smoothing)、 动态分层模型(dynamic layering) 局部重划模型(local remeshing)

FLUENT动网格技术简介

FLUENT动网格简介 在固体有限元计算中,网格运动实非什么稀奇事儿。而且在绝多数固体计算的基本物理量是网格的节点位移,所以,固体计算中,网格节点运动是对的,没有运动反而不正常了。也可以这么说:正因为计算域内部节点间的相对运动,才导致了内应力的产生。 流体计算与固体完全不同。其根源在于它们使用的网格类型不同。当前固体有限元计算采用的是拉格朗日网格,而流体计算则大多数采用的欧拉网格。如果说把拉格朗日网格中的节点点看作是真实世界的物质原子的话,那么欧拉网格的节点则好比是真实世界中的一个个传感器,它们总是呆在相同的位置,真实的记录着各自位置上的物理量。正常情况下,欧拉网格系统是这样的:计算域和节点保持位置不变,发生变化的是物理量,网格节点就像一个个布置在计算域中的传感器,记录该位置上的物理量。这其实是由流体力学研究方法所决定的。宏观与微观的差异决定了固体力学计算采用拉格朗日网格,流体计算采用欧拉网格。关于这部分的详细解说,可以参阅任何一本计算流体动力学书籍。 世界是公平的。有利必有弊。朗格朗日网格适合计算节点位移,然而对于过大的网格变形却难以处理。欧拉网格生来可以处理大变形(因为节点不动),然而对于对于节点运动的处理,则是其直接软肋。然而很不幸的是,现实生活中有太多网格边界运动的实例。如汽车发动机中的气缸运动、阀门开启与关闭、机翼的运动、飞机投弹等等等等举不胜举。 计算流体动力学计算的基本物理量通常为:速度、温度、压力、组分。并不计算网格节点位移。因此要让网格产生运动,通常给节点施加的物理约束是速度。CFD中的动网格大体分为两类:(1)显式规定的网格节点速度。配合瞬态时间,即可很方便的得出位移。当然一些求解器(如FLUENT)也支持稳态动网格,这时候可以直接指定节点位移。(2)网格节点速度是通过求解得到的。如6DOF 模型基本上都属于此类。用户将力换算成加速度,然后将其积分成速度。 对于第一类动网格问题,在fluent中通常可以使用profile与UDF进行网格设置,通过规定节点或区域的速度、角速度或位移等方式来显式确定网格的运动,通常大部分的动网格问题都归于此类。而对于第二类问题,通常涉及到力的计算,力在流体中通常是对压力进行积分而来。将力转换为速度或位移,一般涉及到加

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

结构化网格只包含四边形或者六面体,非结构化网格是三角形和四面体。 结构网格在拓扑结构上相当于矩形域内的均匀网格,器节点定义在每一层的网格线上,且每一层上节点数都是相等的,这样使复杂外形的贴体网格生成比较困难。非结构网格没有规则的拓扑结构,也没有层的概念,网格节点的分布是随意的,因此具有灵活性。不过非结构网格计算的时候需要较大的内存。 非结构网格不利之处就是不能很好地处理粘性问题,在附面层内只采用三角形或四面体网格,其网格数量将极其巨大。现在比较好的方法就是采用混合网格技术,即先贴体生成能用于粘性计算的四边型或三棱柱网格,然后以此为物面边界,生成三角形非结构网格,但是生成复杂外型的四边形或三棱柱网格难度很大。在物面附近,非结构网格方法,特别是对于复杂外形如凹槽、细缝等处难以处理。 到空间网格的质量, 几何外形特性相适应,为了更好地适应其中一方面,有时不得不在另一方面做出让步,因而往往顾此失彼。 计算精度,主要在于网格的质量(正交性,长宽比等),并不决定于拓扑(是结构化还是非结构化)。采用结构化网格还是非结构化网格,主要看解决什么问题,如果是无粘欧拉方程的话,只要合理布局,结构和非结构都能得到较为理想的结果。但如果涉及到粘性影响的话,尤其在壁面处,结构网格有一定优势,并且其对外形适应性差的缺点,也可以通过多块拼接网格解决。目前有的非结构网格软件,也开始借鉴结构网格,如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.对曲面或空间的拟合大多数采用参数化或样条插值的方法得到,区域光滑,与实际 的模型更容易接近。 它的最典型的缺点是适用的范围比较窄。尤其随着近几年的计算机和数值方法的快速 发展,人们对求解区域的复杂性的要求越来越高,在这种情况下,结构化网格生成技术就 显得力不从心了。 结构化网格的生成技术只要有:代数网格生成方法。主要应用参数化和插值的方法,对处理简单的求解区域十分有效。

Fluent中的动网格

Fluent中的动网格 动网格是目前求解计算域变化问题的常用方法。参考Fluent帮助,可以知道动网格技术与一般流动计算设置的主要区别在于网格更新方法和更新域设置。这里就这两方面问题的一点体会作一简单记录。 一、网格更新方法 弹簧近似光滑法将任意两网格节点之间的连线理想地看成一条弹簧,并通过近似弹簧的压缩或拉伸实现网格和计算域的改变。该方法网格拓扑不变,无需网格的插值处理,对结构化(四边形、六面体)和非结构化(三角形、四面体)网格同样适用。但不适合于大变形情况,当计算区域变形较大时,变形后的网格质量变差,严重影响计算精度。 动态分层法在运动边界相邻处根据运动规律动态增加或减少网格层数,以此来更新变形区域的网格。该方法适用于结构化网格,通过设置适当的分层和缩减系数,更新后的网格依然为较为均匀的结构化网格,对计算精度影响较小。对于运动域具有多自由度和任意变形情况,该方法处理起来非常困难。 网格重生方法在整个网格更新区域内依据设定的最大和最小网格尺寸判断需要进行网格重生的网格,并依据设置的更新频率进行网格重生处理。该方法适用于非结构化网格,能够较好的应用于任意变形的计算区域处理。 二、更新域设置 更新域设置是动网格设置中的一项重要工作,最常用的设置是刚体运动域和变形域,这里针对这两种域的设置注意事项和技巧作一简单介绍。 1、域动网格 一般来讲,设置为刚体运动域的区域一般为壁面类边界,通过设置固壁的运动,模拟计算域内物体的运动。 由于固壁边界有时形状较为复杂,壁面附近网格尺度与周围网格尺度存在较大差别,网格更新时变形较大。在这种情况下,可以设置一个包含固壁运动边界的计算域,通过该计算域的整体运动模拟域内物体的运动,在有的地方将这种方法称为域动网格法。在域动网格法中,需要设置包含运动物体的内部计算域、内部计算域界面均为刚体运动域。如下图所示。

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