fluent论坛精华常见问题.docx
- 文档编号:25725469
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:34
- 大小:273.95KB
fluent论坛精华常见问题.docx
《fluent论坛精华常见问题.docx》由会员分享,可在线阅读,更多相关《fluent论坛精华常见问题.docx(34页珍藏版)》请在冰豆网上搜索。
fluent论坛精华常见问题
湍流与黏性有什么关系?
湍流和粘性都是客观存在的流动性质.
湍流的形成需要一定的条件,粘性是一切流动都具有的.
流体流动方程本身就是具非线性的.
NS方程中的粘性项就是非线性项,当然无粘的欧拉方程也是非线性的.
粘性是分子无规则运动引起的,湍流相对于层流的特性是由涡体混掺运动引起的.
湍流粘性是基于湍流体的parcel湍流混掺是类比于层流体中的分子无规则运动,只是分子无规则运动遥远弱些吧了.不过,这只是类比于,要注意他们可是具有不同的属性.
粘性是耗散的根源,实际流体总是有耗散的.
而粘性是制约湍流的.
LANDAU说,粘性的存在制约了湍流的自由度.
湍流粘性系数和层流的是不一样的,层流的粘性系数基本可认为是常数,可湍流中层流底层中粘性系数很小,远小于层流时的粘性系数;而在过渡区,与之相当,在一个数量级;在充分发展的湍流区,又远大于层流时的粘性系数.这是鲍辛内斯克1987年提出的.
1FLUENT的初始化面板中有一项是设置从哪个地方开始计算(compute from),选择从不同的边界开始计算有很大的区别吗?
该怎样根据具体问题选择从哪里计算呢?
比如有两个速度入口A和B,还有压力出口等等,是选速度入口还是压力出口?
如果选速度入口,有两个,该选哪个呀?
有没有什么原则标准之类的东西?
一般是选取ALLZONE,即所有区域的平均处理,通常也可选择有代表性的进口(如多个进口时)进行初始化.对于一般流动问题,初始值的设定并不重要,因为计算容易收敛.但当几何条件复杂,而且流动速度高变化快(如音速流动),初始条件要仔细选择.如果不收敛,还应试验不同的初始条件,甚至逐次改变边界条件最后达到所要求的条件.
2 要判断自己模拟的结果是否是正确的,似乎解的收敛性要比那些初始条件和边界条件更重要,可以这样理解吗?
也就是说,对于一个具体的问题,初始条件和边界条件的设定并不是唯一的,为了使解收敛,需要不断调整初始条件和边界条件直到解收敛为止,是吗?
如果解收敛了,是不是就可以基本确定模拟的结果是正确的呢?
对于一个具体的问题,边界条件的设定当然是唯一的,只不过初始化时可以选择不同的初始条件(指定常流),为了使解的收敛比较好,我一般是逐渐的调节边界条件到额定值("额定值"是指你题目中要求的入口或出口条件,例如计算一个管内流动,要求入口压力和温度为10MPa和3000K,那么我开始叠代时选择入口压力和温度为1MPa和500K(假设,这看你自己问题了),等流场计算的初具规模、收敛的较好了,再逐渐调高压力和温度,经过好几次调节后最终到达额定值10MPa和3000K,这样比一开始就设为10MPa和3000K收敛的要好些)这样每次叠代可以比较容易收敛,每次调节后不用再初始化即自动调用上次的解为这次的初始解,然后继续叠代.即使解收敛了,这并不意味着就可以基本确定模拟的结果是正确的,还需要和实验的结果以及理论分析结果进行对比分析.
连续性方程不收敛是怎么回事?
在计算过程中其它指数都收敛了,就continuity不收敛是怎么回事
这和Fluent程序的求解方法SIMPLE有关.SIMPLE根据连续方程推导出压力修正方法求解压力.由于连续方程中流场耦合项被过渡简化,使得压力修正方程不能准确反映流场的变化,从而导致该方程收敛缓慢.
你可以试验SIMPLEC方法,应该会收敛快些.
边界条件对应的一般设定方法
边界条件对应的一般设定方法:
*Genaeral---pressureinlet;pressureoutlet
*Compressibleflows---massflowinlet;pressurefar-field
*Incompressible---velocityinlet;outflow
*Special----Inletvent,outletvent;intakefan,exhaustfan;
这些设定并不必须完全吻合,但是只要坚持收敛快,计算准确,边界上计算参数的法向梯度不要太大即可.
紊动能强度和长度尺度的设定方法:
*Exhaustofaturbine----Intensity=20%,Lengthscale=1-10%ofbladespan
*Downstreamofperforatedplateorscreen--
Intensity=10%,Lengthscale=screen/holesize
*Fully-developedflowinaductorpipe
Intensity=5%,Lengthscale=hydrulicdiameter
FLUENT里的压强系数是怎么定义的?
Cp=(p-p(farfield))/(1/2*rho*U**2)
采用UerDefineFunction即可
如何设置courantnumber?
在fluent中,用courantnumber来调节计算的稳定性与收敛性.一般来说,随着courantnumber的从小到大的变化,收敛速度逐渐加快,但是稳定性逐渐降低.所以具体的问题,在计算的过程中,最好是把courantnumber从小开始设置,看看迭代残差的收敛情况,如果收敛速度较慢而且比较稳定的话,可以适当的增加courantnumber的大小,根据自己具体的问题,找出一个比较合适的courantnumber,让收敛速度能够足够的快,而且能够保持它的稳定性
courantnumber实际上是指时间步长和空间步长的相对关系,系统自动减小courant数,这种情况一般出现在存在尖锐外形的计算域,当局部的流速过大或者压差过大时出错,把局部的网格加密再试一下
压力
相对压力(RelativePressure):
以其中一端(或一点)的压力做为参考值,其他地方的
压力与该端(或该点)的差值.
弛滞压力(StagnationorTotalPressure):
某一点静压与总压之和.
静压(StaticPressure):
因流体分子零乱运动所造成的压力.
动压(DynamicPressure):
因流体整体运动(BulkMotion)所造成的压力.
绝对压力(AbsolutePressure):
以绝对真空为零所量测到的压力.
表压(GaugePressure):
以一大气压为零,所量测到的压力.
压力降(PressureDrop)主要是因摩擦造成的压力降,所以损失的部分是静压部分.你可
以想象管流的(PipeFlow)完全发展流(FullyDevelopedFlow),压力是用来克服摩擦
力.另外还会因形状因素造成压力降,例如管线的突增或突缩,会使得该区域局部发生分
离现象,这也会造成压降,但不归类为静压损失与动压损失.不过在图示上,仅表示全压
与静压线,所以可能会被归类为动压损失,不过这一部分因该算是形状损失.
另外,operatingpressure只是自己设定的一个计算参考压力,可以取任意值,最后cout
our画出的静压是减掉operatingpressure的值,所以计算结果与它无关
耦合
在fluent的define-->solver中有一个solver方法的选择问题,一个是segregated,
另一个是couple一个传统的算法.一个是全耦合,一个是全耦合.
传统的方法就是解动量方程,然后对压力和速度进行解偶,这里面有
经典的simple,simplec,piso等方法.多用于解不可压缩流体的流动问题.
而全偶合方法则不是这样求解,是把所有所有的动量,连续、能量等方程
“联立”进行直接的求解,这样的求解方法一般多用于计算可压缩流体的
流动问题,特别象空气动力学问题基本上都是使用全偶合方式求解
不收敛通常怎么解决?
1.我一般首先是改变初值,尝试不同的初始化,事实上好像初始化很
关键,对于收敛~
2.FLUENT的收敛最基础的是网格的质量,计算的时候看怎样选择CFL数,这个靠经验
3.首先查找网格问题,如果问题复杂比如多相流问题,与模型、边界、初始条件都有关系.
4.边界条件、网格质量
5.有时初始条件和边界条件严重影响收敛性,我曾经作过一个计算反反复复,通过修改网格,重新定义初始条件,包括具体的选择的模型,还有老师经常用的方法就是看看哪个因素不收敛,然后寻找和它有关的条件,改变相应参数.就收敛了
6.A.检查是否哪里设定有误.
比方用mm的unit建构的mesh,忘了scale...
比方给定的b.c.不合里...
B.从算至发散前几步,看presure分布,看不出来的话,再算几步,
看看问题大概出在那个区域,连地方都知道的话,应该不难想出问题所在.
C.网格,配合第二点作修正,
或是认命点,就重建个更漂亮的,或是更粗略的来除错...
D.再找不出来的话,我会换个solver...
7.我解决的办法是设几个监测点,比如出流或参数变化较大的地方,若这些地方的参数变化很小,就可以认为是收敛了,尽管此时残值曲线还没有降下来.
8.记得好像调节松弛因子也能影响收敛,不过代价是收敛速度.
9.网格有一定的影响,最主要的还是初始和边界条件
fluentforlinux的安装
有一个fluent_install文件,但是属性是不可执行的.
用chmod更改属性后,运行之按照提示就可以安装了.
fluent中如何导出流线
我是这样做的display>pathline>xy-plot+write
然后在y-cooridinate中选者gird让后继续选择y-cooridinate
在x-cooridinate中选择pathlength
纳闷的是有时能导出成功而有时就不行
物理模型与数学模型在概念上的区别
物理模型是指把实际的问题,通过相关的物理定律概括和抽象出来并满足实际情况的物理表征.比如,我们研究管道内的流体流动,抽象出来一个直管,和粘性流体模型,或者我们认为管道内的液体是没有粘性的,使用一个直管和无粘流体模型还有,我们根据热传导定律,认为固体的热流率是温度梯度的线形函数,相应的傅立叶定律就是导热问题的物理模型.因此,不难理解物理模型是对实际问题的抽象概念,对实际问题的一种描述方式这种抽象包括了实际问题的几何模型,时间尺度,以及相应的物理规律.
数学模型就是对物理模型的数学描写,比如N-S方程就是对粘性流体动力学的一种数学描写,值得注意的是,数学模型对物理模型的描写也要通过抽象,简化的过程
边界条件的选择对计算来说是非常重要的,选择边界条件不仅和实际物理问题有关,还和选用的计算模型、计算区域、网格等因素有关
比如,使用欧拉方程求解流场,壁面条件用滑移条件,也有人称之为无穿透条件
就是du/dn=0,(壁面上,用d表示偏导),这就是尼曼条件
如果使用n-s方程,必须使用无滑移条件,就是u=0(壁面上)
再比如,做超音速绕流问题,远场边界的选择也是值得研究的问题
如果计算区域划的足够大,可以直接用自由来流条件作为远场边界
如果计算区域不是足够大,必须采用法线方向的尼曼不变量建立无反射边界条件
最后,实际CFD模拟中,所有的边界处理最终都归于三类边界条件
如果出现了其它形式,肯定不符合实际物理情形,这一点值得注意!
在CFX中文档里有
DIRICHLETBOUNDARYCONDITIONS和NEUMANNBOUNDARYCONDITIONS
迪利克莱条件也叫第一类边界条件,尼曼条件也叫第二类边界条件
第一类就是给定流场变量在边界的数值
第二类就是给定流场变量的边界法向导数
还有一个叫罗宾斯(Robbins)条件,也就是第三类边界条件,
就是给定变量和变量法向导数在边界处的联合分布
对fluent
fluent软件的本质无非就是做CFD计算
fluent上所有的面板,最基本的功能就是实现两个目的
1.选择问题的物理和数值方法(数值算法、粘性模型、辐射、多相等)
2.边界的处理(fluent给的各种边界,udf自己写的)
1.从严格意义上讲,结构化网格是指网格区域内所有的内部点都具有相同的毗邻单元.
它可以很容易地实现区域的边界拟合,适于流体和表面应力集中等方面的计算.
网格生成的速度快.
网格生成的质量好
数据结构简单
对曲面或空间的拟合大多数采用参数化或样条插值的方法得到,区域光滑,与实际的模型更容易接近.
它的最典型的缺点是适用的范围比较窄.尤其随着近几年的计算机和数值方法的快速发展,人们对求解区域的复杂性的要求越来越高,在这种情况下,结构化网格生成技术就显得力不从心了.
同结构化网格的定义相对应,非结构化网格是指网格区域内的内部点不具有相同的毗邻单元.即与网格剖分区域内的不同内点相连的网格数目不同.从定义上可以看出,结构化网格和非结构化网格有相互重叠的部分,即非结构化网格中可能会包含结构化网格的部分.
2.如果一个几何造型中既有结构化网格,也有非结构化网格,分块完成的,那么分别生成网格后,是否可以直接就调入fluent中计算,还是还有进行一些处理?
答:
可以用TGRID把两种网格结合起来.
浅谈对FLUENT的认识
仅仅就我接触过得谈谈对fluent的认识,并说说哪些用户适合用,哪些不适合fluent对我来说最麻烦的不在里面的设置,因为我本身解决的就是高速流动可压缩N-S方程,而且本人也是学力学的,诸如边界条件设置等概念还是非常清楚的同时我接触的流场模拟,都不会有很特别的介质,所以设置起来很简单.
对我来说,颇费周折的是gambit做图和生成网格,并不是我不会,而是gambit对作图要求的条件很苛刻,也就是说,稍有不甚,就前功尽弃,当然对于计算流场很简单的用户,这不是问题.有时候好几天生成不了的图形,突然就搞定了,逐渐我也总结了一点经验,就是要注意一些小的拐角地方的图形,有时候做布尔运算在图形吻合的地方,容易产生一些小的面最终将导致无法在此生成网格,fluent里面的计算方法是有限体积法,而且我觉得它在计算过程中为了加快收敛速度,采取了交错网格,这样,计算精度就不会很高.同时由于非结构网格,肯定会导致计算精度的下降,所以我一贯来认为在fluent里面选取复杂的粘性模型和高精度的格式没有任何意义,除非你的网格做的非常好.
而且fluent5.5以前的版本(包括5.5),其物理模型,(比如粘性流体的几个模型)都是预先设定的,所以,对于那些做探索性或者检验新方法而进行的模拟,就不适合用.
同时gambit做网格,对于粘性流体,特别是计算湍流尺度,或者做热流计算来说其网格精度一般是不可能满足的,除非是很小的计算区域.所以,用fluent做的比较复杂一点的流场(除了经典的几个基本流场)其计算所得热流,湍流,以及用雷诺应力模拟的粘性都不可能是准确的,这在物理上和计算方法已经给fluent判了死刑,有时候看到很多这样讨论的文章,觉得大家应该从物理和力学的本质上考虑问题.
但是,fluent往往能计算出量级差不多的结果,我曾经做了一个复杂的飞行器热流计算,高超音速流场,得到的壁面热流,居然在量级上是吻合的,但是,从计算热流需要的壁面网格精度来判断,gambit所做的网格比起壁面网格所满足的尺寸的要大了至少2个数量级,我到现在还不明白fluent是怎么搞的.
综上,我觉得,如果对付老板的一些工程项目,可以用fluent对付过去,但是如果真的做论文,或者需要发表文章,除非是做一些技术性工作,比如优化计算一般用fluent是不适合的.
我感觉fluent做力的计算是很不错的,做流场结构的计算,即使得出一些涡,也不是流场本身性质的反应,做低速流场计算,fluent的优势在于收敛速度快,但是低速流场计算,其大多数的着眼点在于对流场结构的探索,所以计算得到的结果就要好好斟酌一下了,高速流场的模拟中,一般着眼点在于气动力的结果,压力分布以及激波的捕捉,这些fluent做的很不错.对于多相流,旋转机械我没有做过,就不好随便说了希望做过其他方面工作的大侠也总结一下.
对于运用fluent来求解问题,首先要对本身求解的物理模型有充分的了解,只有在这个基础上,才能够选择出正确的,计算模型以及相应的边界条件.
对于fluent计算的方法,确实是采用的有限体积法,不过对基于非结构网格的5.X,我个人觉得其采用的应该是同位网格而不是交错网格,因为非结构网格情况下,交错网格的方法处理起来比同位网格方法要复杂很多.一般见到的非结构网格下FVM(有限体积法)多半还是采用的同位网格而非交错网格,这个问题还可以进一步探讨.对于非结构网格而言,目前能够做到的离散精度也只能是二阶精度了,再高精度目前还没法做到,或者说还没有做到很实用.
对于gambit做网格,确实不是十分的理想,不过这个也不能怪罪gambit,因为非结构网格的生成方法,本身在理论上就有一些瑕疵(姑且这样说吧,不能说是错误,呵呵)所以对于一些十分复杂,而且特殊的流场,可能最终生成的网格会很不理想,这个时候多半需要采取一些其它的迂回的方法,例如将复杂区域分区,分成一些简单的区域,然后在简单区域里面生成网格,最后再组合,而不是将整个复杂区域教给gambit让其一次生成网格.有时在软件做不到的地方,就需要人想法补上了.
对于壁面网格的问题,gambit中提供了生成边界层网格的方法,恩,不知道是否这个功能也同样不能满足所需.gambit中边界层网格只是在壁面法向进行特别的处理.对于壁面切向方向则是和边界层外网格尺度相当的.
对于fluent的适用范围,我很同意stipulation的说法,本身fluent是一个比较成熟的商业软件,换句话说,其适用的数值方法,多半也是目前相对比较成熟的方法之一.因此用fluent来做工程项目确实是很适合的,因为它相对效率较高,而且实际上fluent中有一些对特殊问题的简化处理其目的也是直接针对工程运用的.因此如果是完全的基于fluent做流场分析,然后做论文,这样是不行的.需要强调的是,fluent仅仅是一种CFD的工具,一个相对好用的工具.
对于fluent做高速可压流动问题,我做的不多,不知道stipulation兄对fluent评价怎样,我个人觉得,由于有限体积法本身对于求解有间断(激波)的流动问题就存在一定的误差的,有限体积法实际上应该更加的适合于不可压流动问题,因为这个方法本身的特点就保证了通量的守恒,对于不可压流动,那就是保证了整个流场的质量守恒.就我个人观点而言,对于算激波的问题似乎还是得要实用一些高精度格式,例如NND,TVD,时空守恒格式等.顺便问stipulation一个问题,在算钝头体(导弹)小攻角来流夸音速流动问题时,在计算中是否有激波的振荡现象?
(这个好像说有人做出实验了,我们这边有人在计算,可是死活算不出来振荡,他用的是StarCD了)
对于两相流和旋转机械,我插上两句.两相或者多项流动中,fluent也提供了几种可用的方法,例如VOF方法、Cavitation方法、Algebraicslip方法,我对VOF和Cavitation的原理了解稍微多一些,VOF方法称为体积函数法,以两相流动为例,VOF中定义一个基相,两相之间相互是不发生互融等反应的,通过计算每一个时间步下,各个网格单元中的体积函数,从而确定该网格中另外一项的比例,然后通过界面重构或者一些其它的方法来确定此单元网格中两相交界面的位置,从这个意义上说,VOF是属于界面跟踪方法.Cavitation方法则不是这样,此方法不能用
来明确的区分两相的界面等,但是可以用来计算某一的区域内所含的气泡的一个体积密度.
对于旋转机械的流动问题,fluent中提供了几种方法,一种是就是很简单用坐标变换的概念化旋转为静止,然后添加一个惯性力.一种是所谓的多参考坐标系方法,还有就是混合面方法,最后是滑移网格方法.第一种方法自不用说,理论上是精确的,后面三钟方法中,fluent中以滑移网格方法计算的准确度最好,前面两种方法都有很强的工程背景并且是在此基础上简化而来的.但这些方法的运用都有一些前提条件.
fluent公司还有另外的一个工具,MixSim是针对搅拌混合问题的专用CFD软件内置了专用前处理器,可迅速建立搅拌器和混合器的网格及计算模型.
:
有没有用它做旋转机械内部流动的?
同时其实是给商用CFD软件与科研用CFD之间的关系提出了很好的思考问题.其实就我所知道的搞CFD应用研究的人而言,他们很希望在现有的已经成熟的CFD技术基础上做一些改进,使之满足自己研究问题的需要.为此他们不希望整个程序从头到尾都是自己编,比如N-S方程的求解,其实都是比较固定的.因此很多人都希望商用软件有个很好的接口能让用户自己加入模块,但是这一点
其实真是很难做到,而且到底做到用户能交互的什么程度也很难把握.据握所知,有搞湍流模型研究的人用PHOENICS实现自己的模型,而边界处理以及数值方法等还是原方程的,据说star-CD也是商用软件中提供给用户自主性比较好的,fluent这方面到底如何就不得而知了,看stipulation所说的似乎也还是有限.因此,我觉得现在还是存在这样的问题:
既不能依靠商用CFD软件搞研究,但也希望不用反复重复一些繁杂的、没有创造性的工作.
我现在就是用fluent来计算旋转机械的内流场,那就说说旋转机械的流动问题吧.fluent中有几种处理旋转机械流动问题的模型,分别为旋转坐标系模型(RotatingReferenceFrame),多参考坐标系模型(MRF),混和平面模型(MixingPlane),滑移网格模型(SlidingMesh).其中,旋转坐标系模型仅适用于不考虑定子影响的流场,其思想就是在视转子为静止的旋转坐标系里进行定常计算,计算中考虑惯性力的影响;多参考坐标系模型(MRF)就是在前一模型的基础上考虑了定子对流场的影响,将流场按不同旋转速度划分成几个流动区域,每个区域里用旋转坐标系进行定常计算,在这些流动区域的交界面上强制流动速度的连续;混和平面模型是另一种用定常方法计算定子与转子相互影响下的流场的模型,它在不同流动区域之间的交界面上进行了一定的周向平均,消除了流动本身的非定常性,这种模型要优于MRF模型;滑移网格模型是采用滑移网格技术来进行流场的非定常计算的模型,用它计算的流场最接近于实际的流动,但这种模型需要耗费巨大的机器资源和时间.
关于对商用CFD软件的看法,我比较赞同zzbb的看法,我们可以利用它里面成熟的计算方法,附加上自己提出的一些模型,这样研究问题,可以省很多的精力和时间,对于CFD的发展也是很有好处的.现在的商用软件提供的接口比较少,软件封装的比较死,这样不利于做科学研究,如果可以像linux的发展模式那样发展CFD,大家公开成熟的CFD代码,然后可以通过自由的研究,添加新的功能,相信CFD发展的会更快,不过如果这样,那商用CFD软件就不好赚钱了
至于商用软件开发源代码的问题,实在是不大可能.由于CFD应用很多领域,特别是还与核、航空、汽车等一些非常重要的工程领域相关,一般来说都属于高科技技术,鬼子是不会轻易公开的.比如phoenics早在80年代初就开发完成并应用于工程,但是当时西方就是对共产党国家封闭,禁运,直到1991年(1993?
)才有1.x的版本正式到中国.所以这也是我想说的目前存在的矛盾.
那么请问一下fluent所提供的用户接口主要可以做些什么方面的工作呢?
:
加入自己的模型当然是广义的,其实很多东西都可以称作模型.CFD里最经典的算是湍流模型了吧.比如需要修改系数或增加项,对涡粘系数重新计算,就是这种情况.此外还有边界条件的修改等问题.算法也可以算.但这些并不一定是商用软件都
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- fluent 论坛精华 常见问题