Fluent经典问题答疑

更新时间:2023-10-20 21:30:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Fluent经典问题答疑

1.在gambit中对一体积成功的进行了体网格,网格进行了examine mesh,也没有什么问题,可当要进行边界类型(boundary type)的设定时,却发现type 只有node, element_side两项,没有什么wall,pressure_outlet等。为何无法定义边界? 答:因为没有选择求解器为fluent 5/6

2.在FLUENT模拟以后用display下的操作都无法显示,不过刚开始用的是好的,然后就不行了,为什么?

答:DirectX 控制面板中的“加速”功能禁用即可

3.把带网格的几个volume,copy到另一处,但原来split的界面,现在都变成了wall,怎么才能把wall变成内部流体呢?

答: 直接边界面定义为interior即可

第3题:在数值模拟过程中,离散化的目的是什么?如何对计算区域进行离散化?离散化时通常使用哪些网格?如何对控制方程进行离散?离散化常用的方法有哪些?它们有什么不同?

注:我将原题目的提问顺序进行了修改调整,这样更利于回答。

4.FLUENT中常用的文件格式类型:dbs,msh,cas,dat,trn,jou,profile等有什么用处? 在Gambit目录中,有三个文件,分别是default_id.dbs,jou,trn文件,对Gambit运行save,将会在工作目录下保存这三个文件:default_id.dbs,default_id.jou,default_id.trn。 jou文件是gambit命令记录文件,可以通过运行jou文件来批处理gambit命令; dbs文件是gambit默认的储存几何体和网格数据的文件; trn文件是记录gambit命令显示窗(transcript)信息的文件;

msh文件可以在gambit划分网格和设置好边界条件之后export中选择msh文件输出格式,该文件可以被fluent求解器读取。

Case文件包括网格,边界条件,解的参数,用户界面和图形环境。 Data文件包含每个网格单元的流动值以及收敛的历史纪录(残差值)。Fluent自动保存文件类型,默认为date和case文件

Profile文件边界轮廓用于指定求解域的边界区域的流动条件。例如,它们可以用于指定入口平面的速度场。

读入轮廓文件,点击菜单File/Read/Profile...弹出选择文件对话框,你就可以读入边界轮廓文件了。

写入轮廓文件,你也可以在指定边界或者表面的条件上创建轮廓文件。例如:你可以在一个算例的出口条件中创建一个轮廓文件,然后在其它算例中读入该轮廓文件,并使用出口轮廓作为新算例的入口轮廓。要写一个轮廓文件,你需要使用Write Profile面板(Figure 1),菜单:File/Write/Profile...

是关于Tecplot软件使用的;在这里给Tecplot新手推荐一个学习的方法: 如果你对Tecplot一点都不熟悉的话,别紧张,没关系的,你可以直接看Tecplot的动画Demo很快就能入门。

Demo网页:在“开始”->\所有程序“->\

打开网页,里面有Tecplot使用的大部分功能的动画教程,花上一二十分钟,就能对Tecplot有所了解,并可以作初步的使用了。 这八道问题的答案基本都在里面了。 以下是Demo的内容:

Let's take care of the warning \viscosity limited to viscosity ratio****\which is not physical. This problem is mainly due to one of the following:

1)Poor mesh quality(i.e.,skewness > 0.85 for Quad/Hex, or skewness > 0.9 for Tri/Tetra elements). {what values do you have?}

2)Use of improper turbulent boudary conditions.

3)Not supplying good initial values for turbulent quantities.

出现这个警告,一般来讲,最可能的就是网格质量的问题,尤其是Y+值的问题;在划分网格的时候要注意,第一层网格高度非常重要,可以使用NASA的Viscous Grid Space Calculator来计算第一层网格高度;如果这方面已经注意了,那就可能是边界条件中有关湍流量的设置问题,关于这个,本版中已经有专门的帖子进行了讨论,Fluent培训的教程中也有讲到,请大家参考。

回答问题:4 常见离散格式的性能的对比(稳定性、精度和经济性)。 请参考王福军的书《计算流体动力学分析—CFD理论与应用》

离散格式 中心差分 一阶迎风 稳定性及稳定条件 精度与经济性 条件稳定Peclet小于等于2 在不发生振荡的参数范围内, 绝对稳定 可以获得校准确的结果。 虽然可以获得物理上可接受的解,但当Peclet数较大时,假扩散较严重。为避免此问题,常需要加密计算网格。 二阶迎风 绝对稳定 精度较一阶迎风高,但仍有假扩散问题。 混合格式 绝对稳定 当Peclet小于等于2时,性能与中心差分格式相同。当Peclet大于2时,性能与一阶迎风格式相同。 指数格式、乘方格式 绝对稳定 主要适用于无源项的对流扩散问题,对有非常数源项的场合,当Peclet数较高时有较大误差。 QUICK格式 条件稳定Peclet小于等于8/3 可以减少假扩散误差,精度较高,应用较广泛,但主要用于六面体和四边形网格。 改进的QUICK格式 绝对稳定 性能同标准QUICK格式,只是不存在稳定性问题。

5.在利用有限体积法建立离散方程时,必须遵守哪几个基本原则?

具体参考王福军的书《计算流体动力学—CFD软件原理与应用》的第52-54页,这里只作简短介绍。

在利用有限体积法建立离散方程时,必须遵守如下四条基本原则: 1.控制体积界面上的连续性原则; 2.正系数原则;

3.源项的负斜率线性化原则;

4.主系数等于相邻节点系数之和原则。 有限体积法的四条基本原则.pdf

6 .流场数值计算的目的是什么?主要方法有哪些?其基本思路是什么?各自的适用范围是什么?

答:这个问题的范畴好大啊。简要的说一下个人的理解吧:流场数值求解的目的就是为了得到某个流动状态下的相关参数,这样可以节省实验经费,节约实验时间,并且可以模拟一些不可能做实验的流动状态。主要方法有有限差分,有限元和有限体积法,好像最近还有无网格法和波尔兹曼法(格子法)。基本思路都是将复杂的非线性差分/积分方程简化成简单的代数方程。相对来说,有限差分法对网格的要求较高,而其他的方法就要灵活的多

7 可压缩流动和不可压缩流动,在数值解法上各有何特点?为何不可压缩流动在求解时反而比可压缩流动有更多的困难?

注:这个问题不是一句两句话就能说清楚的,大家还是看下面的两篇小文章吧,摘自《计算流体力学应用》,读完之后自有体会。

8 什么叫边界条件?有何物理意义?它与初始条件有什么关系? 边界条件与初始条件是控制方程有确定解的前提。

边界条件是在求解区域的边界上所求解的变量或其导数随时间和地点的变化规律。对于任何问题,都需要给定边界条件。

初始条件是所研究对象在过程开始时刻各个求解变量的空间分布情况,对于瞬态问题,必须给定初始条件,稳态问题,则不用给定。对于边界条件与初始条件的处理,直接影响计算结果的精度。

在瞬态问题中,给定初始条件时要注意的是:要针对所有计算变量,给定整个计算域内各单元的初始条件;初始条件一定是物理上合理的,要靠经验或实测结果。

10 在数值计算中,偏微分方程的双曲型方程、椭圆型方程、抛物型方程有什么区别? PS:这个问题想来应该是比较基础的问题,既然没人回答,我就插几句吧;嘿嘿。

我们知道很多描述物理问题的控制方程最终就可以归结为偏微分方程,描述流动的控制

方程也不例外。

从数学角度,一般将偏微分方程分为椭圆型(影响域是椭圆的,与时间无关,且是空间内的闭区域,故又称为边值问题),双曲型(步进问题,但依赖域仅在两条特征区域之间),抛物型(影响域以特征线为分界线,与主流方向垂直;具体来说,解的分布与瞬时以前的情况和边界条件相关,下游的变化仅与上游的变化相关;也称为初边值问题); 从物理角度,一般将方程分为平衡问题(或稳态问题),时间步进问题。 两种角度,有这样的关系:椭圆型方程描述的一般是平衡问题(或稳态问题),双曲型和抛物型方程描述的一般是步进问题。

至于具体的分类方法,大家可以参考一般的偏微分方程专著,里面都有介绍。关于各种不同近似水平的流体控制方程的分类,大家可以参考张涵信院士编写《计算流体力学—差分方法的原理与应用》里面讲的相当详细。

三种类型偏微分方程的基本差别如下:

1)三种类型偏微分方程解的适定性(即解存在且唯一,并且解稳定)要求对定解条件有不同的提法;

2)三种类型偏微分方程解的光滑性不同,对定解条件的光滑性要求也不同; 椭圆型和抛物型方程的解是充分光滑的,因此对定解条件的光滑性要求不高。而双曲型方程允许有所谓的弱解存在(如流场中的激波),即解的一阶导数可以不连续,所以对定解条件的光滑性要求很高,这也正是采用有限元法求解双曲型方程困难较多的原因之一。 3)三种类型偏微分方程的影响区域和依赖区域不一样。 在双曲型和抛物型方程所控制的流场中,某一点的影响区域是有界的,可采用步进求解。如对双曲型方程求解时,为了与影响区域的特征一致,采用上风格式比较适宜。而椭圆型方程的影响范围遍及全场,必须全场求解,所采用的差分格式也要采用相应的中心格式。 以上只是一些较为肤浅的概念,如想深入,可参考相关的偏微分方程及数值计算等书籍。

可压缩Euler及Navier-Stokes方程数值解

描述无粘流动的基本方程组是Euler方程组,描述粘性流动的基本方程组是Navier-Stokes方程组。用数值方法通过求解Euler方程和Navier-Stokes方程模拟流场是计算流体动力学的重要内容之一。由于飞行器设计实际问题中的绝大多数流态都具有较高的雷诺数,这些流动粘性区域很小,由对流作用主控,因此针对Euler方程发展的计算方法,在大多数情况下对Navier-Stokes方程也是有效的,只需针对粘性项用中心差分离散。

用数值方法求解无粘Euler方程组的历史可追溯到20世纪50年代,具有代表性的方法是1952年Courant等人以及1954年Lax和Friedrichs提出的一阶方法。从那时开始,人们发展了大量的差分格式。Lax和Wendroff的开创性工作是非定常Euler(可压缩Navier-Stokes)方程组数值求解方法发展的里程碑。二阶精度Lax-Wendroff格式应用于非线性方程组派生出了一类格式,其共同特点是格式空间对称,即在空间上对一维问题是三点中心格式,在时间上是显式格式,并且该类格式是从时间空间混合离散中导出的。该类格式中最流行的是MacCormack格式。

采用时空混合离散方法,其数值解趋近于定常时依赖于计算中采用的时间步长。尽管由时间步长项引起的误差与截断误差在数量级上相同,但这却体现了一个概念上的缺陷,因为在计算得到的定常解中引进了一个数值参数。将时间积分从空间离散中分离出来就避免了上述缺陷。常用的时空分别离散格式有中心型格式和迎风型格式。空间二阶精度的中心型格式(一维问题是三点格式)就属于上述范畴。该类格式最具代表性的是Beam-Warming隐式格式

和Jameson等人采用的Runge-Kutta时间积分方法发展的显式格式。迎风型差分格式共同特点是所建立起的特征传播特性与差分空间离散方向选择的关系是与无粘流动的物理特性一致的。第一个显式迎风差分格式是由Courant等人构造的,并推广为二阶精度和隐式时间积分方法。基于通量方向性离散的Steger-Warming和Van Leer矢通量分裂方法可以认为是这类格式的一种。该类格式的第二个分支是Godunov方法,该方法在每个网格步求解描述相邻间断(Riemann问题)的当地一维Euler方程。根据这一方法Engquist、Osher和Roe等人构造了一系列引入近似Riemann算子的格式,这就是著名的通量差分方法。

对于没有大梯度的定常光滑流动,所有求解Euler方程格式的计算结果都是令人满意的,但当出现诸如激波这样的间断时,其表现确有很大差异。绝大多数最初发展起来的格式,如Lax-Wendroff格式中心型格式,在激波附近会产生波动。人们通过引入人工粘性构造了各种方法来控制和限制这些波动。在一个时期里,这类格式在复杂流场计算中得到了应用。然而,由于格式中含有自由参数,对不同问题要进行调整,不仅给使用上带来了诸多不便,而且格式对激波分辨率受到影响,因而其在复杂流动计算中的应用受到了一定限制。 另外一种方法是力图阻止数值波动的产生,而不是在其产生后再进行抑制。这种方法是建立在非线性限制器的概念上,这一概念最初由Boris和Book及Van Leer提出,并且通过Harten发展的总变差减小(TVD, Total Variation Diminishing)的重要概念得以实现。通过这一途径,数值解的变化以非线性的方式得以控制。这一类格式的研究和应用,在20世纪80年代形成了一股发展浪潮。1988年,张涵信和庄逢甘利用热力学熵增原理,通过对差分格式修正方程式的分析,构造了满足熵增条件能够捕捉激波的无波动、无自由参数的耗散格式(NND格式)。该类格式在航空航天飞行器气动数值模拟方面得到了广泛应用。

1987年,Harten和Osher指出,TVD格式最多能达到二阶精度。为了突破这一精度上的限制引入了实质上无波动(ENO)格式的概念。该类格式“几乎是TVD”的,Harten因此推断这些格式产生的数值解是一致有界的。继Harten和Osher之后,Shu和Osher将ENO格式从一维推广到多维。J.Y.Yang在三阶精度ENO差分格式上也做了不少工作。1992年,张涵信另辟蹊径,在NND格式的基础上,发展了一种能捕捉激波的实质上无波动、无自由参数的三阶精度差分格式(简称ENN格式)。1994年,Liu、Osher和Chan发展了WENO(Weighted Essentially Non-Oscillatory)格式。WENO格式是基于ENO格式构造的高阶混合格式,它在保持了ENO格式优点的同时,计算流场中虚假波动明显减少。此后,Jiang提出了一种新的网格模板光滑程度的度量方法。目前高阶精度格式的研究与应用是计算流体力学的热点问题之一。

不可压缩Navier-Stokes方程求解

不可压缩流体力学数值解法有非常广泛的需求。从求解低速空气动力学问题,推进器内部流动,到水动力相关的液体流动以及生物流体力学等。满足这么广泛问题的研究,要求有与之相应的较好的物理问题的数学模型以及鲁棒的数值算法。

相对于可压缩流动,不可压缩流动的数值求解困难在于,不可压缩流体介质的密度保持常数,而状态方程不再成立,连续方程退化为速度的散度为零的方程。由此,在可压缩流动的计算中可用于求解密度和压力的连续方程在不可压缩流动求解中仅是动量方程的一个约束条件,由此求解不可压缩流动的压力称为一个困难。求解不可压缩流动的各种方法主要在于求解不同的压力过程。

目前,主要有两类求解不可压缩流体力学的方法,原始变量方法和非原始变量方法。求解不可压缩流动的原始变量方法是将Navier-Stokes方程写成压力和速度的形式,进行直接求解,这种形式已被广为应用。非原始变量方法主要有Fasel提出的流函数-涡函数法、Aziz

114 非稳态过程的收敛问题:用FLUENT计算非稳态问题,是不是在计算时必须保证在每个时间步timestep里都要收敛才行,否则计算结果就不对呢?也就是说,在iteration选项里,max iteration pertime step设为一个值,比如500,就是如果500次迭代后仍未收敛,进入下一步迭代,那对结果会有什么影响。

答:对于隐式非定常格式,原则上,每个时间步长内必须保证结果收敛。在fluent 的帮助中就有这样的话:“对于不可压流动,在每个时间步内,不可压解必须迭代直至收敛。”另外,我们回归到fluent 内部计算的本源,它实质就是一种差分算法,通过不断逼近来获得真实解,这样我们就不难理解为什么在每个时间步长内需要收敛了。max iteration pertime step 设定的是最大时间步,在单一步长内,如果结果已经收敛,则会自动跳至下一时间进行计算。所以其设定要纵观全局。但对于周期性流动,这种收敛性的要求就相对松动一些。不过你需要多计算几个周期,等计算结果达到对时间的周期状态后,再对结果进行储存。 对于显式非定常格式,在Fluent帮助中这样说:“一定记住,对于显式非定常格式,每一个迭代就是一个时间步。”

如果每个时间步内结果没有得到收敛,则很有可能你所得到的结果是不真实的,但是一个时间步内的不真实性应该不 会影响到下一个时间步长内的计算。因为在每一个时间步开始时,fluent 都会进行初始化。在单个时间步内,它实际是按照稳态进行计算的。 个人意见,望请指正!

116 在Gambit中如何将两个dbs文件到入:把炉膛分成了三个dbs文件,现在想导入两个dbs文件,在Gambit中进行操作,但好象使用open命令就只能open一个dbs文件,请问这要怎么处理?

答:将其中一个导出成iges或者别的格式,然后就能和dbs一起导入了

119 用GAMBIT生成网格时要是出现负值怎么办啊?有什么办法可以改正吗,只能将网格重新画吗?

答:好像只能重新生成。也就是要在线上重新布点,重新生成面网格等等。

120 scale是把你所画模型中的单位转化为Fluent默认的m,而unite是根据你自己的需要转化单位,也就是把Fluent中默认的m转画为其他的单位,两种方法对计算没有什么影响吗? 答:scale是对几何进行比例缩放,而unit只是改变单位,不改变几何外形的大小。比如,一个是1m的几何外形,通过scale将m变为mm,那么几何外形就变成了1mm。如果通过unite将m改为mm,那么几何外形不变,还是1000mm,只是表示的单位变成mm了

121 GAMBIT处理技巧:两个圆内切产生的尖角那个面如何生成网格质量才比较好? 答:可以采用划分结构网格的方法(对于狭缝的一般处理都是生成长宽比很大的结构网格);或者将这个尖角导个圆弧之后再划分网格(也就是进行几何简化)

127 用size function作网格时很难控制网格的数目。比如size function的什么条件除了growth rate都没改变,但是原来设置的growth rate为4.5,可是将这个数变大为6或减少为3,网格的数目都比4.5时要多,这是什么原因?

网格数目的控制除了受到size function的影响,很多情况下更受到周围线或面的约束的影响

画线网格时,如果一条线没有受到任何设定,用size funtion是可以控制网格个数的,线上网格数目的多少为线长除以size funtion四舍五入;画面网格时,如果所有的边都没有提前设定,系统会自动选择某些边利用size funtion进行设定,其余的边则根据网格划分的类

型条件自动设置,可能会和size funtion的设定有出入,如果有个别的边线已经进行了设定约束,则面网格会受到约束的影响,可能会和size funtion的设定相差很大。体网格同时要受到线网格和面网格约束的影响。

出现调大和调小size funtion网格数都增加的情况,多半是由于受到其他约束的影响的原因。所以在画网格时如果要想得到比较好的网格质量,一方面是要对几何体进行合理的分块,尽量使得各个子块都能采用结构网格,另一方面就是要从线网格,到面网格,再到体网格,逐步控制,逐步划分,这样才能确保网格的数目和质量是按照你设定的要求进行。 总之,要多多练习,多多尝试,这样画久了就有感觉了

129 流固耦合的边界条件:在FLUENT里面,wall与腔体内的流体换热产生换热耦合问题时,wall怎么定义啊?wall在FLUENT的boundary conditions里只有heat flux, temperature, convection, radiation和mixed 5种选项没有coupling?在materials里面改个什么地方就可以了? key:我认为,问题的关键是应该在流体域与固体域的界定。你需要先在Gambit中的Operation/Zones/Specify Continuum Type中对流体域和固体域进行定义。这样,mash文件读入Fluent 后,在边界条件中,流体域与固体域交界的面就被默认定义为coupling 边界。这种设定应该与materials中的设定没有什么关系。

132大概有这样一个估计:“1k网格=1M内存。”

答:对于一台有1G内存的计算机,你能接受的计算网格数最好少于100万,当然这只是一个粗略的说法,影响计算速度的因素还有Fluent计算的设置等。 由此可见,网格数量并不是越多越好的。

再说说网格无关性的问题,由上面的介绍,我们知道网格数太密或者太疏都可能产生误差过大的计算结果,网格数在一定的范围内的结果才与实验值比较接近,这样在划分网格时就要求我们首先依据已有的经验大致划分一个网格进行计算,将计算结果(当然这个计算结果必须是收敛的)与实验值进行比较(如果没有实验值,则不需要比较,后面的比较与此类型相同),再酌情加密或减少网格,再进行计算,再与实验值进行比较,并与前一次计算结果比较,如果两次的计算结果相差较小(例如在2%),说明这一范围的网格的计算结果是可信的,说明计算结果是网格无关的。再加密网格已经没有什么意义(除非你要求的计算精度较高)。但是,如果你用粗网格也能得到相差很小的计算结果,从计算效率上讲,你就可以完全使用粗网格去完成你的计算。加密或者减少网格数量,你可以以一倍的量级进行。

133 如何在FLUENT中进行密度的选择?

FLUENT中的密度我个人认为是指流体的状态方程,包括不可压缩(常数),不可压缩理想流体;可压缩理想流体;或者定义成温度的线性关系;也可以通过udf定义成压力和温度的复杂函数(但是我亲自实践过)定义成压力的函数要么收敛后结果不对,要么根本不收敛(我定义的是if97标准水蒸汽性质)。

因此,如果说问题中的密度要写成压力的复杂函数,会对收敛带来一定困难。设置在所选材料的density里面选

142 什么是多孔介质;在那些方面应用?

答:多孔介质(porous medium). 由固体物质组成的骨架和由骨架分隔成大量密集成群的微小空隙构成的介质。多孔介质在很多方面都有运用,像医学,工业,环境,军事等! 我个人曾经做过这方面的实验。主要是多孔陶瓷,运用它来进行除尘的!

143 有没有介绍多孔介质的专业书籍?

《多孔介质流体动力学》贝尔 著;李竞生,陈崇希 译 北京:中国建筑工业出版社,1983.8 《多孔介质污染物迁移动力学》仵彦卿编著 上海:上海交通大学出版社,2007

《多孔介质——流体渗移与孔隙结构》 FAL DULLIEN 著 石油工业出版 《多孔介质溶质运移动力学 》张永祥,陈鸿汉著 北京 地震出版社 2000

本书着重阐述多孔介质中流体运动的物理基础和化学基础,特别是突出了化学动力学过程对溶质运移的影响等。

《多孔介质传热传质理论与应用》 作者:刘伟 范爱武 黄晓明 出版社:科学出版社

154 在网上看到很多关于Y+的估算公式,Fluent公司的培训教程上也有相关的估算方法;在使用这些公式在给定的Y+要求下反过来计算第一层网格高度时,如果估算的不准,划分出来的网格得到的Y+值可能就相差的有点儿大。

关于Y+的计算公式,在这里也就不多啰嗦了,请参考Fluent的培训教程,关于湍流模型的章节。

在这里,建议大家不要自己动手估算,最好是使用NASA Viscous Grid Space Calculator计算,网址为:http://geolab.larc.nasa.gov/APPS/YPlus/ 另外,网上还有另一个计算器:网址为:http://www.simuserve.com/cfd-shop/goodies/yplus.htm 通过比较这两个计算器的源代码,个人感觉NASA的计算器适用范围更广,考虑的因素更多,因此,建议大家优先使用NASA的计算器。

155 如何区分层流和紊流? 以什么为标准来区分呢?从层流过渡到紊流的标准是什么? 答:自然界中的流体流动状态主要有两种形式,即层流laminar和湍流(就是问题中所说的紊流)turbulence.层流是指流体在流动过程中两层之间没有相互混渗,而湍流是指流体不是处于分层流动状态。 对于圆管内流动,雷诺数小于等于2300,管流一定为层流,雷诺数大于等于8000到12000之间,管流一定为湍流,雷诺数大于2300而小于8000时,流动处于层流与湍流的过渡区。 对于一般流动,在计算雷诺数时,可以用水力半径代替管径。

156 解释一下普朗特混合长度和湍流特征长度的区别啊? 答:普朗特混合长度:下面这个网页上有个形象的说明

http://www.efluid.com.cn/dvbbs/UploadFile/2008-7/普朗特混合长度.swf

湍流特征长度:以湍流涡体相互作用的影响范围为其依据, 因而定义速度自关联的积分长度为湍流的特征长度。在高雷诺数湍流中,湍流的特征时间tp 与速度自关联积分尺度lp 和脉动速度均方差uo有关, 用量纲分析, tp 应与lp/uo同量级。

159在fluent中如何设置工作目录?在Gambit中如何设置工作目录? 答:找到桌面上的Fluent或者Gambit图标,右键图标,“属性”->\起始位置”... 将起始位置设置为你想要的文件夹目录就可以了。

这种设置对于Fluent有效,但有时对Gambit无效,不知道是什么原因

160 在计算过程中其它指数都收敛了,就continuity不收敛是怎么回事?在初始化设置中,那些项影响continuity的收敛?

答:在计算过程中其他指数都收敛了,就continuity不收敛,这种情况一般出现在多相流中,在初始化设置中,可能把上次计算结果的进口参数作为初始化设置,可以加快continuity的

收敛,不过更重要的是改进网格质量。

请教一下:设置边界条件时wall为什么不能单独选取?我是从cad导入gambit的2维图形,四边形的上下两边分别为进出口,但是设置的时候发现四条边是一个整体,怎样才能单独设置呢?谢谢

在CAD中一定要将线转化为多义线并保证封闭连接,然后转化成面域,输出sat文件,导入gambit,应该没问题,我都用了好多年了。 回答上面有人提出的cad导入的问题,cad导入的是经过定义面域的图,所以说导入后默认成为是图,而不是线,再有导入后很有可能,有线重合,对你的操作也有影响!我导入后将原有的图像删除,但删除时不要让那个\什么东西”处于选定状态,就会将次级图形留下,这样你可以对先进行操作了注意,将重合得先尽量清除掉,有些需要自己重新画,或则补上!

我做的是超音速流体破碎,现在想做气体雾化,高速气流破碎气体的同时还伴随着雾滴的激冷,我想问一下用哪种模型能够模拟液流的破碎和雾滴的破碎,这两种影视处于不同的阶段 液流->ligment(具体翻译我说不上来)->大液滴->小液滴

这个两相流中主要涉及到的应该是气液两相流,部分,最后的气固流,不处于主要研究范围 问题伴随有液相的形态和温度转变的两相流模型用哪种好,现在我最想知道的是怎样模拟出液滴的碎化过程?!

数,这种情况一般出现在存在尖锐外形的计算域,当局部的流速过大或者压差过大时出错,把局部的网格加密再试一下。

在Fluent中,用courant number来调节计算的稳定性与收敛性。一般来说,随着courant number的从小到大的变化,收敛速度逐渐加快,但是稳定性逐渐降低。所以具体的问题,在计算的过程中,最好是把courant number从小开始设置,看看迭代残差的收敛情况,如果收敛速度较慢而且比较稳定的话,可以适当的增加courant number的大小,根据自己具体的问题,找出一个比较合适的courant number,让收敛速度能够足够的快,而且能够保持它的稳定性。

54在分离求解器中,FLUENT提供了压力速度耦和的三种方法:SIMPLE,SIMPLEC及PISO,它们的应用有什么不同?

在FLUENT中,可以使用标准SIMPLE算法和SIMPLEC(SIMPLE-Consistent)算法,默认是SIMPLE算法,但是对于许多问题如果使用SIMPLEC可能会得到更好的结果,尤其是可以应用增加的亚松驰迭代时,具体介绍如下:

对于相对简单的问题(如:没有附加模型激活的层流流动),其收敛性已经被压力速度耦合所限制,你通常可以用SIMPLEC算法很快得到收敛解。在SIMPLEC中,压力校正亚松驰因子通常设为1.0,它有助于收敛。但是,在有些问题中,将压力校正松弛因子增加到1.0可能会导致不稳定。

对于所有的过渡流动计算,强烈推荐使用PISO算法邻近校正。它允许你使用大的时间步,而且对于动量和压力都可以使用亚松驰因子1.0。对于定常状态问题,具有邻近校正的PISO并不会比具有较好的亚松驰因子的SIMPLE或SIMPLEC好。对于具有较大扭曲网格上的定常状态和过渡计算推荐使用PISO倾斜校正。

当你使用PISO邻近校正时,对所有方程都推荐使用亚松驰因子为1.0或者接近1.0。如果你只对高度扭曲的网格使用PISO倾斜校正,请设定动量和压力的亚松驰因子之和为1.0比如:压力亚松驰因子0.3,动量亚松驰因子0.7)。如果你同时使用PISO的两种校正方法,推荐参阅PISO邻近校正中所用的方法。

55对于大多数情况,在选择压力插值格式时,标准格式已经足够了,但是对于特定的某些模型使用其它格式有什么特别的要求?

答:压力插值方式的列表只在使用Pressure-based求解器中出现。一般情况下可选择Standard;对于含有高回旋数的流动,高Rayleigh数的自然对流,高速旋转流动,多孔介质流动,高曲率计算区域等流动情况,选择PRESTO格式;对于可压缩流动,选择Second Order;当然也可以选择Second Order以提高精度;对于含有大体力的流动,选择Body Force Weighted。

注意:Second Order格式不可以用于多孔介质;在使用VOF和Mixture多相流模型时,只能使用PRESTO或Body Force Weighted格式。

关于压力插值格式的详细内容,请参考Fluent用户手册。

Interpolation schemes for calculating cell-face pressures when using the segregated solver in FLUENT are available as follows:

Standard – The default scheme; reduced accuracy for flows exhibiting large surface-normal pressure gradients near boundaries (but should not be used when steep pressure changes are present in the flow – PRESTO! scheme should be used instead.)

PRESTO! – Use for highly swirling flows, flows involving steep pressure gradients (porous media,

fan model, etc.), or in strongly curved domains

Linear – Use when other options result in convergence difficulties or unphysical behavior

Second-Order – Use for compressible flows; not to be used with porous media, jump, fans, etc. or VOF/Mixture multiphase models

Body Force Weighted – Use when body forces are large, e.g., high Ra natural convection or highly swirling flows

56.计算流体力学中在设定初始条件和边界条件的时候总是要先选择一组湍流参数,并给出其初值。如何选择并给出这些初值呢?有什么经验公式或者别的好的办法吗?

由于回答之中包含一些参数的计算公式,为了更好地解释这个问题,请参考附件中的文档,文档取自流体中文网翻译整理的《FLUENT全攻略》,在此表示感谢。

57.讨论在数值模拟过程中采用四面体网格计算效果好,还是采用六面体网格更妙呢?

在2D中,FLUENT 可以使用三角形和四边形单元以及它们的混合单元所构成的网格。在3D中,它可以使用四面体,六面体,棱锥,和楔形单元所构成的网格。选择那种类型的单元取决于你的应用。当选择网格类型的时候,应当考虑以下问题: 设置时间(setup time)

计算成本(computational expense) 数值耗散(numerical diffusion ) 1.设置时间

在工程实践中,许多流动问题都涉及到比较复杂的几何形状。一般来说,对于这样的问题,建立结构或多块(是由四边形或六面体元素组成的)网格是极其耗费时间的。所以对于复杂几何形状的问题,设置网格的时间是使用三角形或四面体单元的非结构网格的主要动机。然而,如果所使用的几何相对比较简单,那么使用哪种网格在设置时间方面可能不会有明显的节省。

如果你已经有了一个建立好的结构代码的网格,例如FLUENT 4,很明显,在FLUENT中使用这个网格比重新再生成一个网格要节省时间。这也许是你在FLUENT 模拟中使用四边形或六面体单元的一个非常强的动机。注意,对于从其它代码导入结构网格,包括FLUENT 4,FLUENT 有一个筛选的范围。 2.计算成本

当几何比较复杂或流程的长度尺度的范围比较大的时候,可以创建是一个三角形/四面体网格,因为它与由四边形/六面体元素所组成的且与之等价的网格比较起来,单元要少的多。这是因为一个三角形/ 四面体网格允许单元群集在被选择的流动区域中,而结构四边形/六面体网格一般会把单元强加到所不需要的区域中。对于中等复杂几何,非结构四边形/六面体网格能构提供许多三角形/ 四面体网格所能提供的优越条件。

在一些情形下使用四边形/六面体元素是比较经济的,四边形/六面体元素的一个特点是它们允许一个比三角形/四面体单元大的多的纵横比。一个三角形/ 四面体单元中的一个大的纵横比总是会影响单元的偏斜(skewness),而这不是所希望的,因为它可能妨碍计算的精确与收敛。所以,如果你有一个相对简单的几何,在这个几何中流动与几何形状吻合的很好,例如一个瘦长管道,你可以运用一个高纵横比的四边形/六面体单元的网格。这个网格拥有的单元可能比三角形/ 四面体少的多。 3.数值耗散

在多维情形中,一个错误的主要来源是数值耗散,术语也为伪耗散(false diffusion)。之所以称为“伪耗散”是因为耗散不是一个真实现象,而是它对一个流动计算的影响近似于增

加真实耗散系数的影响。

关于数值耗散的观点有:

当真实耗散小,即情形出现对流受控时(即本身物理耗散比较小时),数值的耗散是最值得注意的。

关于流体流动的所有实际的数值设计包括有限数量的数值耗散。这是因为数值耗散起于切断错误,而切断错误是一个表达离散形式的流体流动方程的结果。 用于FLUENT 中的二阶离散方案有助于减小数值耗散对解的影响。 数值耗散的总数反过来与网格的分解有关。因此,处理数值耗散的一个方法是改进网格。 当流动与网格相吻一致时,数值耗散减到最小。

最后这一点与网格的选择非常有关。很明显,如果你选择一个三角形/ 四面体网格,那么流动与网格总不能一致。另一方面,如果你使用一个四边形/六面体网格,这种情况也可能会发生,但对于复杂的流动则不会。在一个简单流动中,例如过一长管道的流动,你可以依靠一个四边形/六面体网格以尽可能的降低数值的耗散。在这种情形,使用一个四边形/六面体网格可能有些有利条件,因为与使用一个三角形/ 四面体单元比起来,你将能够使用比较少的单元而得到一个更好的解。

58 如何将自己用C语言编辑的程序导入到FLUENT中?在利用UDF编写程序时需注意哪些问题?

我一般用txt文件进行UDF编程,之后将文件改为.c文件 将程序导入到Fluent中利用编译功能,具体操作

在fluent中的Define -> Use-Defined -> Compiled 打开之后,选择source files下面的Add...,找到编写好的.c文件打开,点击Build,就会生成一个以liberary name命名的文件夹,编译好的资料就放在这个文件夹里面,最后点击load就会将编译好的内容导入到Fluent中,这样你在有UDF选项的下拉菜单中就会看到你编好的程序名称。

利用UDF编程和C语言编程很相似,所以最好知道一些C语言编程的基础,再掌握一些Fluent的UDF固有的一些命令,基本上一些简单的程序就都没问题了。

59.在UDF中compiled型的执行方式和interpreted型的执行方式有什么不同? 编译型UDF:

采用与FLUENT 本身执行命令相同的方式构建的。采用一个称为Makefile的脚本来引导c 编译器构造一个当地目标编码库(目标编码库包含有将高级c 语言源代码转换为机器语言。)这个共享库在运行时通过“动态加载”过程载入到FLUENT 中。目标库特指那些使用的计算机体系结构,和运行的特殊FLUENT 版本。因此,FLUENT 版本升级,计算机操作系统改变以及在另一台不同类型的计算机上运行时,这个库必须进行重构。

编译型UDF 通过用户界面将原代码进行编译,分为两个过程。这两个过程是:访问编译UDF 面板,从源文件第一次构建共享库的目标文件中;然后加载共享库到FLUENT 中。 采用与FLUENT 本身执行命令相同的方式构建的。采用一个称为Makefile的脚本来引导c 编译器构造一个当地目标编码库(目标编码库包含有将高级c 语言源代码转换为机器语言。)这个共享库在运行时通过“动态加载”过程载入到FLUENT 中。目标库特指那些使用的计算机体系结构,和运行的特殊FLUENT 版本。因此,FLUENT 版本升级,计算机操作系统改变以及在另一台不同类型的计算机上运行时,这个库必须进行重构。

编译型UDF 通过用户界面将原代码进行编译,分为两个过程。这两个过程是:访问编译UDF 面板,从源文件第一次构建共享库的目标文件中;然后加载共享库到FLUENT 中。 解释型UDF:

解释型UDF 同样也是通过图形用户界面解释原代码,却只有单一过程。这一过程伴随着运行,包含对解释型UDF 面板的访问,这一面板位于源文件中的解释函数。

在FLUENT内部,源代码通过c 编译器被编译为即时的、体系结构独立的机器语言。UDF 调用时,机器编码通过内部模拟器或者解释器执行。额外层次的代码导致操作不利,但是允许解释型UDF 在不同计算结构,操作系统和FLUENT 版本上很容易实现共享。如果迭代速度成为焦点时,解释型UDF 可以不用修改就用编译编码直接运行。

解释型UDF 使用的解释器不需要有标准的c 编译器的所有功能。特别是解释型UDF 不含有下列C 程序语言部分:

goto 语句声明;无ANSI-C 语法原形;没有直接数据结构引用;局部结构的声明;联合函数指针;函数阵列;

解释型UDF与编译型UDF的区别:

在解释型与编译型UDF 之间的主要的不同之处是很重要的,例如当你想在UDF 中引进新的数据结构时。解释型不能通过直接数据引用获得FLUENT 解算器的数据;只能间接的通过FLUENT 预先提供的宏来获取数据。具体请参考第7 章。

在解释型与编译型UDF 之间的主要的不同之处是很重要的,例如当你想在UDF 中引进新的数据结构时。解释型不能通过直接数据引用获得FLUENT 解算器的数据;只能间接的通过FLUENT 预先提供的宏来获取数据。具体请参考第7 章。

总结一下,当选择写解释型或者编译型UDF时,记住以下几条:

解释型UDF:对别的运行系统是可移植的,可以作为编译型运行,不需要c 编译器,比编译型的要慢,在使用C 程序语言时有限制,不能链接到编译系统或者用户库,只能通过预先提供的宏访问FLUENT 中存储的数据。

编译型UDF:运行要快于解释型UDF,对C 程序语言没有限制,可以使用任何ANSI-compliant c 编译器进行编译,可以调用其他语言写的函数(特别是独立于系统和编译器的),如果包含某些解释器不能处理的c 语言部分时用解释型UDF 是不行的。 总之,当决定哪一类型的udf 应用到你的模型时:

对小的,直接的函数用解释型;对复杂函数使用编译型。

60 在用gambit的时候,导入pro/e的stp文件后,在消去最短边的时候,有些最短边不能消去,其是空间线段,用面merge的方法和连接点的方法都不行,请问该怎么消去这类短边? 答:我觉得这些短边是由于Pro/e的精度产生的,如果直接导入到Gambit,然后划分网格,总会出现一些小的犄角,一些小的短边,这些地方的网格质量是非常的差,我一般的做法都是,导入到Gambit,将所有的线在原位置复制,删掉导入的体,再将线缝合成面,再缝合成体,这样就可以除去那些短边,小角度的问题了。

也就是将导入的体,由于精度原因,在gambit里面不适用,需要自己缝合!

61 FLUENT help和GAMBIT help能教会我们(特别是刚入门的新手)学习什么基本知识? 答:可以了解其基本原理和基本的操作。不过我觉得对于新手熟悉软件最好的还是tutorial guide

62 FLUENT如何做汽车外流场计算的模拟?并且怎么可以得到汽车的阻力系数和升力系数?

答:汽车的外流场分析,一般模拟的是汽车在一定行使速度的情况下,汽车的阻力系数和升力系数,以及由此延伸计算得到的阻力、升力等,因此,入口边界条件可以给定相对的风速,然后在求解的过程中Monitor各个部分的lift force和drag force。

63 FLUENT模拟飞行器外部流场,最高MA多少时就不准确了?MA达到一定的程度做模拟需注意哪些问题?

答:不准确的标准是什么?没有判断标准就没办法判断。一般来说fluent计算马赫数大于3~5之后就不是很理想了(不过相信版本越新结果越好)。计算的时候应该从低马赫数慢慢往上算。比如说如果计算马赫数是5的话,就在马赫数4的计算结果上算。另外,求解器需选择耦合和显式的。(对于6.3来说,选择基于密度的求解器)

64 在用gambit建模,保存成*.msh文件时总是出现No entity的错误:Continuum Entity fluid does not contain any valid entity and is not written! Boundary Entity wall does not contain any validentity and is not written! 不知道是什么问题?产生的原因是什么?如何解决?

曾经也碰到过此类问题,问题出在做2维网格输出时要将Export 2-D(X-Y) Mesh选项选上

65 在做燃烧模拟的时候,入口燃料温度定义为蒸发/离解开始时的温度(也就是,为离散相材料指定的蒸发温度“Vaporization Temperature”),这是指水分蒸发温度吗?一般是多少? Vaporization Temperature如果是煤可以理解为挥发份析出的温度,当然不同的煤挥发份析出的温度不同,通常在400-500度左右

68.做飞机设计时,经常计算一些翼型,可是经常出现计算出来的阻力是负值,出现负值究竟是什么原因,是网格的问题还是计算参数设置的问题?

如果这个问题对于某个人经常出现的话,那就比较奇怪了,阻力是负值,难道就是传说中的前缘吸力现身?呵呵,只是开个玩笑:),估计肯定是计算错了或者是设置错了。在飞机翼型气动里面,阻力主要有两种成份:压差阻力和摩擦阻力。应该是正值的。

排除是计算过程的其他问题,我觉得在使用Fluent进行这方面的计算时,需要注意两个方面:

1.参考值的设置,也就是Report->Reference Values...

这些参考值,是用来计算Re,以及升力,阻力,力矩系数所要用到的。如果设置不当,即使计算过程是对的,所得到的升阻力等系数也是不对的。对于2D翼型仿真计算,比较容易出错的就是里面的Area该写什么,单位是平方米,这里应该填写翼型的弦长(Chord Length),The area here is actually area per unit depth;就是每单位展长的面积。 2.在监视力的时候,关于力的矢量方向设置,Solve->Monitor->Force...

这个矢量方向千万不要小看,不能填错,填错了就可能出现阻力是负值的错误,Fluent之前的版本所附带的例子,关于NACA0012翼型的计算中,这里的矢量就设置错了,受错误例子的影响,韩占忠那本书中三角形翼型的那个例子也设置错误,在书的第112页的第6步的第(7)小步就设置错误,升力系数的力方向矢量,应该是X=-0.087155,Y=0.996195;前面他也写到要注意:要确保阻力和升力分别与来流平行和垂直,那么这两个力矢量肯定是垂直的了,那么这两个矢量的点乘就肯定等于零了;所幸的是,在Fluent6.3版本的例子中,这个错误已经改正过来了。

70 边界条件中湍流强度怎么设置:入口边界条件中的湍流强度和出口边界条件中的回流湍流强度怎么设置?是取默认值10%吗?

答:不同的模型需要设置不同的湍流参数。有的需要根据你已知的条件设置!对于 边界条件中湍流强度I设置,I是可以通过计算得出来的, I=u,/u =0.16(ReDH)-1/8 其中u,和u分别为湍流脉动速度和平均速度,ReDH为按水力直径DH计算得到的Reynolds数,Reynolds数可以通过速度,水力直径DH以及运动黏度得出。

对于出口边界条件中的回流湍流强度,我觉得也是这样。希望不同观点的批评指正! yjs808补充:

关于边界条件中湍流量的设置,我觉得Fluent User's Guide的7.2.2 Determining Turbulence Parameters里讲的很好,大家最好能看看。

湍流强度 I 的设置要分两种情况的,一种是内部流动,比如说管流,等等,这种情况下,可以使用上面给出的那个公式进行计算;另一种是外部流动,也就是外部绕流,比如说机翼绕流,这个时候就不能使用那个公式计算I了,如果是模拟风洞中机翼绕流情况,湍流强度要结合风洞的具体特征指定,一般的低湍流度风洞,I能低至0.05%。

特征长度尺度 L 也分为好几种情况,手册上讲述的很清楚,我就不再重复了。对于湍流量的设置,请大家予以重视,因为这对计算影响比较大,设置不合适,可能会导致计算发散;另外,如果设置的不接近真实情况,结果也会相差较大。

71 关于Injection中的Total Flow rate:injection 选surface,此时选了好几个面(面积不一定完全相同,但颗粒的入口速度相同),那Total Flow Rate 是指几个面的总流量还是某一个面的啊?只能处理完全相同的面吗? 答:“面射流源”Injection中的Total Flow rate(总质量流率)为从所定义的面上喷射的总流率,即为某一指定面的总流率,而不是所有面的流率之和。若需要处理几个大小不同的面射流源,可通过定义好的喷射颗粒的面积之间的比例来缩放每一个面射流源的质量流率。为此,可在Point Properties下选定Flow Rate By Face Area选项即可。

74 大概需要划分100万个左右的单元,且只计算稳态流动,请问这样的问题PC机上算的了吗?如果能算至少需要怎样的计算机配置呢?

答:一般来说,按照1000个节点对1MB内存这样预估就差不多了,只计算稳态流动,pc机应该差不多了,不过因为一般的pc机可能在连续计算5、6天之后就出现浮点运算错误,所以如果计算不是很复杂,采用的求解器和湍流模型不是太好计算资源,应该还是可以的。 如果使用pc机计算,建议至少采用2GB内存,主板最好固态电容,不易爆浆,电源最好功率大点,应该差不多了,现在流行四核cpu的,可以考虑使用四核的,这样的配置下来也不比服务器差多少。

76 GAMBIT划分三维网格后,怎样知道结点数?如何知道总生成多少网格(整个模型)? 答: 1. 可以利用Gambit网格中的summarize命令就可以得到所画的网格的详细信息,包括某一个体的网格信息和总共的网格信息。

2. 也可以将网格读入Fluent后,通过grid->info->size来看。

77 在FLUENT的后处理中可以显示一个管道的。某个标量的。圆截面平均值沿管道轴线(中心线)的变化曲线吗?何显示空间某一点的数值呀(比如某一点温度)? 答:可以。先创建一条ling(中心线),然后在xyplot中生成曲线 这样显示的是该标量在中心线上的数值分布吧,不是截面平均值。

正确的方法应该是输入命令画曲线 命令输入状态下直接按回车 —>plot

—>c-a-a (就是circum-average-axial)

再空按回车显示可以选择的值(从温度到nusselt数应有尽有) 比如输入>temp (温度) —>100 (轴向数据点个数)

—>filename.txt (文件名,随便取) —>no (不知道什么,order point) 然后在plot-file里选择输出就可以了

另定义空间点的方法为surface-point,输入点的坐标或者直接在网格上标记,然后就能在后处理时看到这个点的选项了。

80 如何在gambit中输入cad和Pro/e的图形?如何将FLUNET的结果EXPORT成ANSYS的文件? 答:autocad需要将图形转化为sat格式,pro/e可以将文件转化为igse或者stp格式。在fluent的flie/export 中可以选择导出ansys格式的文件

81 入口和出口处的k和epsilon值怎么设置? Key:Fluent User Guide中介绍:

k=1.5*(u_avg*I)^2;其中,u_avg为流动的平均速度;I为湍流强度,按下式近似计算:I=0.16*(Re_DH)^(-1/8)。

epsilon=C_mu^(3/4)*k^(3/2)/l;其中,C_mu为湍流模型中指定的经验常数(近似为0.09);k按上式计算;l为湍流尺度,按下式计算:l=0.07L;L为可按水力学直径近似计算。

85 组分定义:请问气道中流体为氢气和氮气,该流体定义时,该定义成混和气体呢,还是多相气体?

Key:要看计算的目的是什么。一般计算,可定义成混合气体;若涉及到组分计算,要定义成多相气体。

87 courant数:在模拟高压的流场的时候,迭代的时候总是自动减小其数值,这是什么原因造成的,为什么?怎么修改?

答:这是流场的压力梯度较大,Fluent自身逐步降低时间步长,防止计算发散。我一般的处理办法是:先将边界条件上的压力设置较低点,使得压力梯度较小一点,等到收敛的感觉差不多,在这个基础上,逐渐把压力增大,这样就不容易发散。

95 可以用左键转动云图,但想用中键拖动其位置时,Fluent显示如下错误信息: Error message from

graphics function Show_Selection_Source: Can't 'Show' - the 'locater' has been deleted 这样有什么问题呢?

答:好像中键只能放大和缩小,不能拖动的吧

98 Gambit的网格相连问题:如果物体是由两个相连的模型所结合,一个的网格划分比较

密、另一个比较稀疏,用Gambit有办法将两个网格密度不同的物体,相连在一起吗? 请参考第16题答案。将两种网格交界的地方设置成一对interface即可。

100 在FLUENT里定义流体的密度时,定义为不可压理想流体是用在什么地方呀,讲义上说是用于可变密度的不可压流动,不知如何理解?

答:define/matirial 中定义。可变密度的不可压缩流动,就是说在该流动下,流体介质的密度可以认为不变。比如说空气在流速在0.3马赫的情况下都可以认为是密度不变的

101 已经建好的模型,想修改一些尺寸,但不知道顶点的座标,请问如何在gambit中显示点的座标?

答:在gambit中的geometr-〉vortex->summarize vortices即可显示点的坐标。 首先说一下CFD的基本思想:把原来在时间域及空间域上连续的物理量的场,如速度场,压力场等,用一系列有限个离散点上的变量值的集合来代替,通过一定的原则和方式建立起关于这些离散点上场变量之间关系的代数方程组,然后求解代数方程组获得场变量的近似值。

然后,我们再讨论以下这些题目。 离散化的目的:我们知道描述流体流动及传热等物理问题的基本方程为偏微分方程,想要得它们的解析解或者近似解析解,在绝大多数情况下都是非常困难的,甚至是不可能的,就拿我们熟知的Navier-Stokes方程来说,现在能得到的解析的特解也就70个左右;但为了对这些问题进行研究,我们可以借助于我们已经相当成熟的代数方程组求解方法,因此,离散化的目的简而言之,就是将连续的偏微分方程组及其定解条件按照某种方法遵循特定的规则在计算区域的离散网格上转化为代数方程组,以得到连续系统的离散数值逼近解。

计算区域的离散及通常使用的网格:在对控制方程进行离散之前,我们需要选择与控制方程离散方法相适应的计算区域离散方法。网格是离散的基础,网格节点是离散化的物理量的存储位置,网格在离散过程中起着关键的作用。网格的形式和密度等,对数值计算结果有着重要的影响。一般情况下,二维问题,有三角形单元和四边形,三位问题中,有四面体,六面体,棱锥体,楔形体及多面体单元。网格按照常用的分类方法可以分为:结构网格,非结构网格,混合网格;也可以分为:单块网格,分块网格,重叠网格;等等。上面提到的计算区域的离散方法要考虑到控制方程的离散方法,比如说:有限差分法只能使用结构网格,有限元和有限体积法可以使用结构网格也可以使用非结构网格。

控制方程的离散及其方法:上面已经提到了离散化的目的,控制方程的离散就是将主控的偏微分方程组在计算网格上按照特定的方法离散成代数方程组,用以进行数值计算。按照应变量在计算网格节点之间的分布假设及推到离散方程的方法不同,控制方程的离散方法主要有:有限差分法,有限元法,有限体积法,边界元法,谱方法等等。这里主要介绍最常用的有限差分法,有限元法及有限体积法。

(1)有限差分法(Finite Difference Method,简称FDM)是数值方法中最经典的方法。它是将求解域划分为差分网格,用有限个网格节点代替连续的求解域,然后将偏微分方程(控制方程)的导数用差商代替,推导出含有离散点上有限个未知数的差分方程组。求差分方程组(代数方程组)的解,就是微分方程定解问题的数值近似解,这是一种直接将微分问题变为代数问题的近似数值解法。这种方法发展较早,比较成熟,较多用于求解双曲型和抛物型问题(发展型问题)。用它求解边界条件复杂,尤其是椭圆型问题不如有限元法或有限体积法方便。

(2)有限元法(Finite Element Method,简称FEM)与有限差分法都是广泛应用的流体力学数值计算方法。有限元法是将一个连续的求解域任意分成适当形状的许多微小单元,并于各小单元分片构造插值函数,然后根据极值原理(变分或加权余量法),将问题的控制

方程转化为所有单元上的有限元方程,把总体的极值作为个单元极值之和,即将局部单元总体合成,形成嵌入了指定边界条件的代数方程组,求解该方程组就得到各节点上待求的函数值。有限元法的基础是极值原理和划分插值,它吸收了有限差分法中离散处理的内核,又采用了变分计算中选择逼近函数并对区域积分的合理方法,是这两类方法相互结合,取长补短发展的结果。它具有广泛的适应性,特别适用于几何及物理条件比较复杂的问题,而且便于程序的标准化。对椭圆型问题(平衡态问题)有更好的适应性。有限元法因求解速度较有限差分法和有限体积法满,因此,在商用CFD软件中应用并不普遍,目前的商用CFD软件中,FIDAP采用的是有限元法。而有限元法目前在固体力学分析中占绝对比例,几乎所有的固体力学分析软件都是采用有限元法。

(3)有限体积法(Finite Volume Method,简称FVM)是近年发展非常迅速的一种离散化方法,其特点是计算效率高。目前在CFD领域得到了广泛的应用。其基本思路是:将计算区域划分为网格,并使每个网格点周围有一个互不重复的控制体积;将待解的微分方程(控制方程)对每一个控制体积分,从而得到一组离散方程。其中的未知数是网格点上的因变量,为了求出控制体的积分,必须假定因变量值在网格点之间的变化规律。从积分区域的选取方法看来,有限体积法属于加权余量法中的子域法,从未知解的近似方法看来,有限体积法属于采用局部近似的离散方法。简言之,子域法加离散,就是有限体积法的基本方法。

各种离散化方法的区别:简短而言,有限元法,将物理量存储在真实的网格节点上,将单元看成由周边节点及型函数构成的统一体;有限体积法往往是将物理量存储在网格单元的中心点上,而将单元看成围绕中心点的控制体积,或者在真实网格节点上定义和存储物理量,而在节点周围构造控制题

103 能否同时设置进口和出口都为压力的边界条件?在这样的边界条件设置情况下发现没有收敛,研究的物理模型只是知道进口和出口的压力,不知道怎么修改才能使其收敛? 答:当然可以同时设置进口和出口都为压力的边界条件。如果没有收敛,需要首先看看求解器、湍流模型、气体性质和边界条件时有没有出现warning;其次,还是我上边的帖子所说的,对于可压流动,采用压力边界条件,不能一下把压力和温度加到所需值,应该首先设置较低的压力或温度,然后逐渐增大,最后达到自己所需的值。

104 在FLUENT计算时,有时候计算时间会特别长,为了避免断电或其它情况影响计算,应设置自动保存功能,如何设置自动保存功能?在非定常计算中读入自动保存文件时如下出现问题:

Writing \

Error: sopenoutputfile&: unable to open file for output Error Object: \

Error: Error writing \ Error Object: #f

非定常的,算了一段之后停下来,改天继续算的时候,自动保存的时候出现问题,请问如何解决? 答:File->write->Autosave就可以实现自动保存,自动保存的是date文件阿,你的怎么是CASE文件?

只要你在写自动保存文件的时候,文件名另取一个就行,比如 Writing \

105 Gambit划分时运动部分与静止部分交接面:一个系统的两块,运动部分与静止部分交

接部分近似认为没有空隙(无限小,虽然实际上是不可能的),假设考虑做成一个实体,那么似乎要一起运动或静止;假设分开做成两个实体,那么交接处的两个不完全重合的面要设为WALL还是什么呢,设成WALL不就不能过流了吗?

将这一对接触面设置成Interface就行了,具体请参考第47题的解答。

106 在计算模拟中,continuity总不收敛,除了加密网格,还有别的办法吗?别的条件都已经收敛了,就差它自己了,还有收敛的标准是什么?是不是到了一定的尺度就能收敛了,比如10-e5具体的数量级就收敛了。

答: continuity 是质量残差,具体是表示本次计算结果与上次计算结果的差别,如果别的条件收敛了,就差它。可以点report, 打开里面FLUX选项,算出进口与出口的质量流量差,看它是否小于0.5%.如果小于,可以判断它收敛.

个人觉得没有统一的收敛标准,具体问题有不同的标准!

108 想把gambit的图形保存成图片,可是底色总是黑色,怎么改为白色呀。用windows中画图板的反色,好像失真很多。如何处理?

答:首先点开GAMBIT的EDIT菜单,其次点GRAPHICS,在下拉列表中点到 WINDOWS BACKGROUND COLOR BLACK 一项 在下面VALUE 中填写WHITE,再点左面的MODIFY,就可以了.

110. 在分析一个转轮时,想求得转轮的转矩,不知道fluent中有什么方法可以提供该数据。本来想到用叶片上面的压力乘半径,然后做积分运算,但是由于叶片正反壁面统一定义的,即全部定义为wall-rn1,所以分不出方向来了。

答:report/force/moment 定义需要计算的面和旋转中心就ok了

111. 如何在gambit中实现坐标轴的变换:有一个三维的网格,想在柱坐标中实现,可是gambit中一直显示直角坐标?

答:对于这个问题,你可以尝试一下:Operation--->Tools--->Coordinate System--->Activate Coordinate System.

112 FLUENT能计算压力脉动吗?有人说:DYNAMIC PRESSURE=0.5*密度*V*V;可是,在我的算例中,进出口分别设为PRESSURE INLET 及PRESURE OUTLET,进口稳态压力24MPa.进出口流速完全相等。计算结果:进口的 DYNAMIC PRESSURE=0.5*密度*V*V=5+5E帕,而出口的 DYNAMIC PRESSURE=2+4E帕这就很疑惑:到底怎样计算压力脉动,压力脉动=DYNAMIC PRESSURE?

我觉得Fluent因该是可以计算压力脉动的,只不过在fluent中的流体如油液等都是不可压缩流体,所以在计算压力脉动的时候会出现误差,个人认为如果需要进行比较精确的计算的话需要利用UDF对流体进行定义,引入流体的体积弹性模量,才能得到比较准确的结果

113 利用vof非稳态求解,结果明显没有收敛的情况下,为什么就开始提示收敛,虽然可以不管它,继续算下去达到收敛。但是求解怎么会提前收敛?

答:可以吧残差图的k和E 改小点,就好点了。另外 vof 中 残差图一般是波动的吧 所以最好 设置检测面 比如说进出口流量 来确定你的计算的准确性。 好像非稳态不存在收敛这个概念吧。(除非是双时间推进中)

本文来源:https://www.bwwdw.com/article/c2rf.html

Top