文档库 最新最全的文档下载
当前位置:文档库 › 无结构三角形网格下运动界面追踪的WENO有限体积法

无结构三角形网格下运动界面追踪的WENO有限体积法

无结构三角形网格下运动界面追踪的WENO有限体积法
无结构三角形网格下运动界面追踪的WENO有限体积法

DOI :10.3876/j.issn.1000Ο1980.2009.01.022

收稿日期:2007Ο12Ο26

基金项目:河海大学水文水资源与水利工程科学国家重点实验室开放研究基金(2006413011);教育部科学技术研究重点项目(104104);江苏省普通高等学校高新技术产业发展项目(J H03Ο010);国家科技支撑计划(2006BAG 04B06)

作者简介:卢长娜(1980—

),女,山东菏泽人,博士研究生,主要从事水动力学数值模拟研究.无结构三角形网格下运动界面追踪的WENO 有限体积法

卢长娜1,2,王如云1,孙建树2

(1.河海大学水文水资源与水利工程科学国家重点实验室,江苏南京 210098;

2.河海大学交通学院、海洋学院,江苏南京 210098)

摘要:在处理运动界面追踪问题的流体体积函数(VOF )法的基础上,给出了一种无结构三角形网格下的高分辨率的运动界面捕捉方法.该方法采用高精度的加权本质无振荡(WE NO )有限体积格式离散VOF 函数的空间导数,采用三阶T VD Runge 2kutta 方法离散时间导数,采用Lax 2Friedrichs 通量作为数值流通量.数值试验结果表明,用该方法来进行旋转速度场和剪切速度场的运动界面追踪,可以得到与理论解非常一致的追踪结果.

关键词:运动界面;追踪;流体体积函数法;WE NO 格式;有限体积法;无结构三角形网格

中图分类号:035112 文献标识码:A 文章编号:1000Ο1980(2009)01Ο0105Ο05

流体体积函数(v olume of fluids ,VOF )法是一种处理复杂运动界面的有效方法[1Ο2].该方法是由Hirt 等[3]

提出的,N oh 等[4]对该方法进行了改进,使该方法有了进一步的发展和更广泛的适用性[6].

VOF 运动界面追踪主要包括2个方面的内容:根据给定流速及重构好的运动界面来确定下一时刻流体体积函数f 的值,称之为运动界面捕捉;根据给定的流体体积函数f 的值确定运动界面位置,称之为运动界面重构.本文主要探讨运动界面追踪中的捕捉方法.

随着VOF 法的不断完善,目前已出现了多种比较成熟的高分辨率的运动界面捕捉方法[7Ο8],但这些方法

大都基于结构网格,不便于直接推广到无结构网格.理论分析和数值试验证明,WE NO 格式能基本无振荡准确地捕捉到间断解,而且在光滑和间断区域能达到高精度,性能稳定,收敛性好.WE NO 格式已经成为计算流

体力学中一类重要的计算格式,并得到了广泛的应用[9Ο11].

本文采用高精度的加权本质无振荡(WE NO )有限体积格式离散VOF 函数的空间导数,采用三阶T VD Runge 2kutta 方法离散时间导数,采用Lax 2Friedrichs 通量作为数值流通量,从而构建了一种无结构三角形网格下的高分辨率的运动界面捕捉方法.

1 VOF 法

VOF 法的基本思想是:在整个流场中定义一函数f ,每个网格中此函数的值为某种流体的体积与网格体积的比值.不包含这种流体的网格称为空网格,充满这种流体的网格称为满网格,包含界面的网格称为半网格.如果知道此函数任意时刻的每个网格上的值,就可以通过某种途径构造运动界面.

设计算区域是Ω,某种流体所在的区域记为Ω1,定义函数

α(x ,t )=

1x ∈Ω10x |Ω1在流场中,α(x ,t )满足5αt +u 5αx +v 5αy

=0,其中V =(u ,v )是流体的速度场矢量.以矩形网格I i ,j 为例,定义f i ,j 为α(x ,t )在网格I i ,j 上的积分,即

第37卷第1期2009年1月河海大学学报(自然科学版)Journal of H ohai University (Natural Sciences )V ol.37N o.1Jan.2009

f i ,j =1ΔV i ,j ∫I i ,j

α(x ,t )d V 该函数称为VOF 函数.同样,f i ,j 满足

5f 5t +u 5f 5x +v 5f 5y =0(1)

该方程称为VOF (v olume of fluid )方程.

容易看出,每个单元上的流体体积函数实际上是

f =单元中的流体体积单元体积

显然,满足f =1的网格充满流体,本文将这种网格称为流体网格;满足f =0的网格内没有流体,本文将这种网格称为空网格;满足0

2.1 V OF 方程的守恒型格式

VOF 方程的守恒型格式可以写成

5f 5t +5f u 5x +5fv 5y =0(2)令F =(f u ,fv ),则式(2)可写成

f t +Δ?F =0(3)2.2 V OF 方程的离散

本文把单一的三角形单元作为控制元,物理变量配置在每个单元的中心.在三角形单元控制元Ω0上对式(3)积分,并利用G reen 公式将面积分化为线积分,得

55t ∫

Ω0f d Ω=-∑3k =1∫L k F ?n k d l (4)式中:L k (k =1,2,3)———Ω0的第k 条边;n k ———L k 的单位外法向量.利用G uess 积分公式,有∫L k F ?n k d l ≈L k ∑q j =1ωj F (f

(G j ,t ))?n k (5)

图1 典型网格模板Fig.1 A typical mesh 式中:G j 为G uess 点;当q =2时,令α=12+36

,A 1,A 2为线段的2个端点,那么G 1=αA 1+(1-α)A 2,G 2=(1-α)A 1+αA 2,如图1所示;ω1=ω2=12

.记流体体积函数值的单元平均值为

f i =1Ωi ∫Ωi

f d Ω控制方程(3)的有限体积半离散化格式为

d d t f i

=-1Ωi ∑3k =1L k ∑q j =1ωj F (f (G j ,t ))?n k (6)用一阶Lax 2Friedrichs 数值通量F 3来近似地代替F (f (G j ,t )),即

F 3(f +j ,f -j )?n =12

(F (f -(G j ,t ))+F (f +(G j ,t )))?n -α(f +(G j ,t )-f -(G j ,t ))式中:α———F ′(f )的上确界;f +(G j ,t ),f -(G j ,t )———高斯点G j 处三角形单元内部和外部的f 值.方程

(6)左端时间项的离散采用三阶的T VD Runge 2kutta 离散格式.

因为只有流体体积函数的单元平均值是已知的,所以需要构造流体体积函数在高斯点的值.用WE NO 格式构造三角形单元上的加权多项式R (x ,y ),用加权多项式在高斯点的值来近似地代替流体体积函数在高斯点值,即f ±(G j ,t )=R (x G j ,y G j ).

2.3 WEN O 格式

本文采用三阶精度的WE NO 格式[9]重构过程.构造三阶精度格式需用到10个网格的信息,如图1所示.对于三角形单元Ω0,记3个相邻的单元分别为Ωi ,Ωj ,Ωk ,Ωi 的另2个相邻单元分别为Ωia ,Ωib ,以此类推.

601河海大学学报(自然科学版)第37卷

a.构造线性多项式.对于三角形单元Ω0,给出9个小模板,分别为S 1={Ω0,Ωj ,Ωk },S 2={Ω0,Ωk ,Ωi },S 3={Ω0,Ωi ,Ωj },S 4={Ω0,Ωi ,Ωia },S 5={Ω0,Ωi ,Ωib },S 6={Ω0,Ωj ,Ωja },S 7={Ω0,Ωj ,Ωjb },S 8={Ω0,Ωk ,Ωka },S 9={Ω0,Ωk ,Ωkb }.在每个小模板上构造线性多项式P 1~P 9,并且线性多项式满足(以模板S 1为例)

P 1(x ,y )Ωl = f l (l =0,j ,k )

(7)

设P 1(x ,y )=a 0+a 1x +a 2y ,根据式(7),可得到3个方程组,P 1(x ,y )是唯一确定的不超过一次的多项式.

b.构造加权因子.对上面构造的线性多项式进行凸组合,使加权多项式能达到三阶精度.为确定线性权γl (l =1,2,…,9),在大模板上构造一个二次多项式Q (x ,y ),并使其在大模板上的单元平均值均等于f 的单元平均值.线性权γl 可通过方程组

Q (x G ,y G )=

∑9l =1γl P l (x G ,y G ) ∑9

l =1γl =1 (γl ≥0)

求解.为了避免线性权所产生的强烈震荡,采用Jiang 等[10]给出的光滑因子和非线性权方法来衡量数值解的陡度和光滑程度.对于一个k 次多项式p (x ,y ),定义光滑因子为

S =

∑1≤α≤k ∫ΩΩα-1(D αp (x ,y ))2d x d y

式中α是一个复指数,D 是偏导数,则非线性权定义为

ωl = ωl ∑

l

ωl ωl =γl (ε+S l )2式中:S l ———第l 个多项式(P l )的光滑度;ε———很小的正数,本文取ε=10-6.用非线性权ωl 代替线性权γl ,

R (x ,y )=

∑9

l =1ωl P l

(x ,y )即是WE NO 重构需要构造的多项式.3 数值试验

为了验证本文给出的WE NO 有限体积运动界面追踪方法的适用性,以剪切速度场和旋转速度场下的运动界面追踪为例进行数值试验.一般来说,运动界面的捕捉方法应当是高精度的数值方法,在求解流体体积方程时不需要对运动界面进行重构,运动界面的轮廓线可以由流体体积函数值的几条等值线获得[7],所以,本文不对运动界面进行重构.

3.1 剪切速度场

二维剪切流场为

u (x ,y )=πcos (

π(x -x 0))sin (π(y -y 0)) v (x ,

y )=-πsin (π(x -x 0))cos (π(y -y 0))计算区域为[0,1]×[0,1],取(x 0,y 0)=(015,015),初值界面为圆心是(015,013)、半径是012的圆周.将计算区域剖分成17352个不规则三角形单元,单元平均边长约为010115.先用本文给出的追踪方法计算到t =110s 和t =210s ,再以此结果作为初值,将速度反号,分别反剪切到t =110s 和t =210s ,计算结果如图2所示.

图2 剪切速度场剪切及反剪切计算结果

Fig.2 Computed results of shear and inverse shear of shear velocity field

7

01第1期卢长娜,等 无结构三角形网格下运动界面追踪的WE NO 有限体积法

从图2可以看出,剪切速度场运动界面的捕捉结果比较理想,反剪切的界面形状与剪切速度场的初始值几乎一样,t =110s 的反剪切捕捉结果更好.因此,在无结构三角形网格下,用WE NO 有限体积法来追踪运动界面是可行的.

3.2 旋转速度场(Z alesak 问题)

旋转流场为

u (x ,y )=-π(y -y 0)v (x ,y )=π(x -x 0)

计算区域为[0,1]×[0,1],取(x 0,y 0)=(015,015),初值界面为有缺口的圆周.网格剖分情况与311一样.用本文给出的追踪方法分别计算到t =015s ,t =110s ,t =115s 和t =210s ,结果如图3所示

.

图3 旋转速度场计算结果

Fig.3 Computed results of the Z alesak problem

从图3可以看出,本文给出的追踪方法较好地捕捉到了旋转速度场的运动界面,仅在界面缺口的拐角处有些抹平,这与文献[7]矩形网格剖分下的模拟结果非常一致.

4 结 语

本文在处理运动界面追踪问题的流体体积函数(VOF )法的基础上,用高阶精度的WE NO 有限体积格式离散VOF 函数的空间导数,用Lax 2Friedrichs 作为数值通量格式,用三阶T VD Runge 2kutta 方法离散时间导数,并通过编程构建了一种无结构三角形网格下的高分辨率的运动界面捕捉方法.剪切速度场和旋转速度场运动界面追踪模拟结果表明,该方法不仅适用性好,而且精度和分辨率较高.

参考文献:

[1]SHE N Y ong 2ming ,NG C O ,ZHE NG Y ong 2hong.S imulation of wave propagation over a submerged bar using the VOF method with a tw o 2

equation k 2turbulence m odeling[J ].Ocean Engineering ,2004,31(1):87Ο95.

[2]L ¨ORST AD D ,FUCHS L.High 2order sur face tension VOF 2m odel for 3D bubble flows with high density ratio[J ].Journal of C om putational

Physics ,2004,200(1):153Ο176.

[3]HIRT C W ,NICH O LS B D.V olume of fluid (VOF )method for the dynamics of free boundaries[J ].Journal of C om putational Physics ,

1981,39(1):201Ο225.

[4]NOH W F ,W OODW ARD P.S im ple line sur face calculation.lecture notes in physics[M].New Y ork :S pringer ,1976:59.

[5]ASHG RIZ N ,POO J Y.F LAIR :flux line 2segment m odel for advection and inter face reconstruction[J ].Journal of C om putational Physics ,

1991,93(2):449Ο468.

[6]张光碧,邓军,张法星,等.VOF 模型在有支流汇入的河道复杂流场中的应用[J ].河海大学学报:自然科学版,2007,35(5):

592Ο595.

[7]刘儒勋,刘晓平,张磊,等.运动界面的追踪和重构方法[J ].应用数学和力学,2004,25(3):279Ο290.

[8]JAMES A J ,LOWE NG RUB J.A sur factant 2conserving v olume 2of 2fluid method for inter facial flows with ins oluble sur factant[J ].Journal of

C om putational Physics ,2004,201(2):685Ο722.

[9]H U Chang 2qing ,SH U Chi 2wang.Weighted essentially non 2oscillatory schemes on triangular meshes[J ].Journal of C om putational Physics ,

1999,150(1):97Ο127.

[10]J I ANG G uang 2shan ,Shu Chi 2wang.E fficient im plementation of weighted E NO schemes[J ].Journal of C om putational Physics ,1996,126

(1):202Ο228.

801河海大学学报(自然科学版)第37卷

[11]刘儒勋,王志峰.数值模拟方法和运动界面追踪[M].合肥:中国科学技术大学出版社,2001.

WENO finite volume method for tracking moving interfaces on

unstructured triangle meshes

L U Chang 2na 1,2,WANG Ru 2yun 1,SUN Jian 2shu 2

(1.State K ey Laboratory o f Hydrology 2Water Resources and Hydraulic Engineering ,

Hohai Univer sity ,Nanjing 210098,China ;

2.College o f Traffic ,College o f Ocean ,Hohai Univer sity ,Nanjing 210098,China )Abstract :A method of tracking m oving interface with high res olution on unstructured triangle meshes was proposed based on the VOF.It em ployed the finite v olume WE NO scheme with high res olution to discretize the space derivatives of the VOF ,the third 2order T VD Runge 2K utta method to discetize the time derivatives ,and the Lax 2Friedrichs flux to be as the numerical flux.The numerical test results show that the present method can track the m oving interfaces in the Z alesak and the shear flow problems ,and the numerical results agree well with the theoretical ones.

K ey w ords :m oving interface ;tracking ;VOF ;WE NO scheme ;finite v olume method ;unstructured triangle mesh

《水利水电科技进展》征订启事

(邮发代号:28Ο244,C N32Ο1439/T V ,ISS N1006Ο7647,双月刊,A4开本)

《水利水电科技进展》由河海大学主办,是全国中文核心期刊,中国科技核心期刊,全国水利系统优秀期刊,华东地区优秀期刊,江苏省优秀期刊.主要刊登水科学、水工程、水资源、水环境、水管理方面的科技论文,主要栏目有水问题论坛、研究探讨、工程技术、水管理、专题综述、国外动态等,适合与水科学、水工程、水资源、水环境、水管理有关的科研、工程、管理人员以及大专院校师生阅读.

本刊由邮局发行,邮发代号:28Ο244,2009年每期定价10元,全年6期共计60元.可在全国各地邮局订阅,也可直接向编辑部订阅.

编辑部地址:210098 南京市西康路1号《水利水电科技进展》编辑部.

电话/传真:025Ο83786335

E 2mail :jz @https://www.wendangku.net/doc/3216071287.html,

http ://https://www.wendangku.net/doc/3216071287.html,/index_jz.htm 9

01第1期卢长娜,等 无结构三角形网格下运动界面追踪的WE NO 有限体积法

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

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

动网格流沙版完美整理.

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

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

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

结构和非结构网格

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

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)

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

结构化网格只包含四边形或者六面体,非结构化网格是三角形和四面体。 结构网格在拓扑结构上相当于矩形域内的均匀网格,器节点定义在每一层的网格线上,且每一层上节点数都是相等的,这样使复杂外形的贴体网格生成比较困难。非结构网格没有规则的拓扑结构,也没有层的概念,网格节点的分布是随意的,因此具有灵活性。不过非结构网格计算的时候需要较大的内存。 非结构网格不利之处就是不能很好地处理粘性问题,在附面层内只采用三角形或四面体网格,其网格数量将极其巨大。现在比较好的方法就是采用混合网格技术,即先贴体生成能用于粘性计算的四边型或三棱柱网格,然后以此为物面边界,生成三角形非结构网格,但是生成复杂外型的四边形或三棱柱网格难度很大。在物面附近,非结构网格方法,特别是对于复杂外形如凹槽、细缝等处难以处理。 到空间网格的质量, 几何外形特性相适应,为了更好地适应其中一方面,有时不得不在另一方面做出让步,因而往往顾此失彼。 计算精度,主要在于网格的质量(正交性,长宽比等),并不决定于拓扑(是结构化还是非结构化)。采用结构化网格还是非结构化网格,主要看解决什么问题,如果是无粘欧拉方程的话,只要合理布局,结构和非结构都能得到较为理想的结果。但如果涉及到粘性影响的话,尤其在壁面处,结构网格有一定优势,并且其对外形适应性差的缺点,也可以通过多块拼接网格解决。目前有的非结构网格软件,也开始借鉴结构网格,如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、域动网格 一般来讲,设置为刚体运动域的区域一般为壁面类边界,通过设置固壁的运动,模拟计算域内物体的运动。 由于固壁边界有时形状较为复杂,壁面附近网格尺度与周围网格尺度存在较大差别,网格更新时变形较大。在这种情况下,可以设置一个包含固壁运动边界的计算域,通过该计算域的整体运动模拟域内物体的运动,在有的地方将这种方法称为域动网格法。在域动网格法中,需要设置包含运动物体的内部计算域、内部计算域界面均为刚体运动域。如下图所示。

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

结构化网格和非结构化网格 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度,否则网格本

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

Fluent结构化网格与非结构化网格简单地说:结构化网格只包含四边形或者六面体,非结构化网格是三角形和四面体。 结构网格再拓扑结构上相当于矩形域内的均匀网格,器节点定义在每一层的网格线上,且每一层上节点数都是相等的,这样使复杂外形的贴体网格生成比较困难。非结构网格没有规则的拓扑结构,也没有层的概念,网格节点的分布是随意的,因此具有灵活性。不过非结构网格计算的时候需要较大的内存。 在计算流体动力学中,按照一定规律分布于流场中的离散点的集合叫网格(Grid),分布这些网格节点的过程叫网格生成(Grid Generation)。网格生成对CFD至关重要,直接关系到CFD计算问题的成败。 非结构三角形网格方法 复杂外形网格生成的第二方向是最近应用比较广泛的非结构三角形网格方法,它利用三角形(二维)或四面体(三维)在定义复杂外形时的灵活性,以Delaunay法或推进波阵面法为基础,全部采用三角形(四面体)来填充二维(三维)空间,它消除了结构网格中节点的结构性限制,节点和单元的分可控性好,因而能较好地处理边界,适用于模拟真实复杂外型。非结构网格生成方法在其生成过程中采用一定的准则进行优化判断,因而能生成高质量的网格,很容易控制网格的大小和节点的密度,它采用随机的数据结构有利于进行网格自适应。一旦在边界上指定网格的分布,在边界之间可以自动生成网格,无需分块或用户的干预,而且不需要在子域之间传递信息。因而,近年来非结构网格方法受到了高度的重视,有了很大发展。 非结构网格方法的一个不利之处就是不能很好地处理粘性问题,在附面层内只采用三角形或四面体网格,其网格数量将极其巨大。现在比较好的方法就是采用混合网格技术,即先贴体生成能用于粘性计算的四边型或三棱柱网格,然后以此为物

基于非结构网格二维欧拉方程的求解方法

基于非结构网格 二维Euler方程的Jameson 求解方法 姓名: 学号:

摘要 本文介绍了基于CFD理论的求解二维可压缩流Euler方程的Jameson中心格式方法。在空间离散上采用的是有限体积法,时间上采用的是四步显式Runge -Kutta迭代求解。人工耗散项为守恒变量的二阶和四阶差分项。边界条件采用的是无反射边界条件,并采用当地时间步长进行加速收敛。最后对NACA0012翼型划分了三角形,并应用本文程序进行数值模拟,结果较为理想。 关键字:CFD,Jameson中心格式,Euler方程,有限体积法 Abstract A method for the numerical solution of the two-dimensional Euler equations has been developed. The cell-centred symmetric finite-volume spatial discretisation is applied in a general formulation. The integration in time, to a steady-state solution, is performed using an explicit, four-stage Runge-Kutta procedure. The artificial dissipation is constructed as a blending of second and fourth differences of the conserved variables. And in the boundary, there is none of the outgoing waves are reflected back into the computational domain. An acceleration technique called local time stepping is used. At last, standard test cases for both subsonic and supersonic flows have been used to validate the method. Key words:CFD, Jameson method,Euler equations, finite-volume

动网格相关知识--1

https://www.wendangku.net/doc/3216071287.html,/dvbbs/dispbbs.asp?boardid=61&Id=1396 题记:在学习使用Fluent的时候,有不少朋友需要使用动网格模型(Dynamic Mesh M odel),因此,本版推出这个专题,进行大讨论,使大家在使用动网格时尽量少走弯路,更快更好地掌握;也欢迎使用过的版友积极参与讨论指导,谢谢! 该专题主要包括以下的主要内容: §一、动网格的相关知识介绍; §二、以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程; §三、与动网格应用有关的参考文献; §四、使用动网格进行计算的一些例子。 §一、动网格的相关知识介绍 有关动网格基础方面的东西,请具体参考FLUENT User’s Guide或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要点。 1、简介 动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。网格的更新过程由FLUENT 根据每个迭代步中边界的变化情况自动完成。在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或者UDF 定义边界的运动方式。FLUENT 要求将运动的描述定义在网格面或网格区域上。如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。 注:一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C语言编程基础。 2、动网格更新方法 动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧近似光滑模型(spr ing-based smoothing)、动态分层模型(dynamic layering)和局部重划模型(local reme shing)。 弹簧近似光滑模型 原则上弹簧光顺模型可以用于任何一种网格体系,但是在非四面体网格区域(二维非三

相关文档