和Hellums提出的势函数-涡函数方法。在求解三维流动问题时,上述每一个方法都需要反复求解三个Possion方程,非常耗时。原始变量方法可以分为三类:第一种方法是Harlow和Welch首先提出的压力Possion方程方法。该方法首先将动量方程推进求得速度场,然后利用Possion方程求解压力,这一种方法由于每一时间步上需要求解Possion方程,求解非常耗时。第二种方法是Patanker和Spalding的SIMPLE(Semi-Implicit Method for Pressure-Linked Equation)法,它是通过动量方程求得压力修正项对速度的影响,使其满足速度散度等于零的条件作为压力控制方程。第三种方法是虚拟压缩方法,这一方法是Chorin于1967年提出的。该方法的核心就是通过在连续方程中引入一个虚拟压缩因子,再附加一项压力的虚拟时间导数,使压力显式地与速度联系起来,同时方程也变成了双曲型方程。这样,方程的形式就与求解可压缩流动的方程相似,因此,许多求解可压缩流动的成熟方法都可用于不可压缩流动的求解。
目前,由于基于求解压力Possion方程的方法非常复杂及耗时,难于求解具体的工程实际问题,因此用此方法解决工程问题的工作越来越少。工程上常用的主要是SIMPLE方法和虚拟压缩方法。
10. 椭圆形方程求解区中各点上的值是相互影响的,因而各节点上的代数方程必须联立求解,而不能先解得区域中某一部分上的值后再去确定其余地区上的值
抛物型方程描写物理上的一类步进问题,这类问题中因变量与时间有关或问题中有类似时间的变量,因而又称初值问题。其求解区域是个开区间,计算时从已知的初值出发,逐步向前推进,依次获得适合于给定边界条件的解. 双曲型方程 数值求解也是一个步进过程。物理学中的波动过程,空气动力学中的无粘流体稳态超音速流动及无粘流体的非稳态流动,都是双曲型问题。
11 关于贴体网格的定义,随便找本CFD的书上面基本上都有介绍,在此就不多言。在此谈谈网格独立性的问题。
可以帖子:http://www.efluid.com.cn/dvbbs/dispbbs.asp?boardID=61&ID=1208&page=5如下:
有个问题需要向各位请教:
根据理论,在进行数值模拟计算时,网格划分越密计算的结果与真值越接近,与实验结果也很相近,但是我们在模拟计算中出现这样的情况,并非网格分的越密,计算结果就会与实验值相接近,网格分的越密反而会与我们的试验值相差越来越大。
请问是否是网格分的越密越好呢,但是经过我们的计算并不是这样的,还是说每一个模型都有自己较为固定的网格数量,需要通过大量的模拟计算与实验值相比较得到?还有您当时提到的网格无关性是否指:加密网格数量,在不同的网格上试验,得到与网格无关的结果? 还有就是请问大家的计算值与试验值相差的大么? 希望各位能给小弟一点解答,谢谢!
数值计算的与实验值之间的误差来源只要有这几个:物理模型近似误差(无粘或有粘,定常与非定常,二维或三维等等),差分方程的截断误差及求解区域的离散误差(这两种误差通常统称为离散误差),迭代误差(离散后的代数方程组的求解方法以及迭代次数所产生的误差),舍入误差(计算机只能用有限位存储计算物理量所产生的误差)等等。在通常的计算中,离散误差随网格变细而减小,但由于网格变细时,离散点数增多,舍入误差也随之加大。
由此可见,网格数量并不是越多越好的。 再说说网格无关性的问题,由上面的介绍,我们知道网格数太密或者太疏都可能产生误
差过大的计算结果,网格数在一定的范围内的结果才与实验值比较接近,这样在划分网格时就要求我们首先依据已有的经验大致划分一个网格进行计算,将计算结果(当然这个计算结果必须是收敛的)与实验值进行比较(如果没有实验值,则不需要比较,后面的比较与此类型相同),再酌情加密或减少网格,再进行计算,再与实验值进行比较,并与前一次计算结果比较,如果两次的计算结果相差较小(例如在2%),说明这一范围的网格的计算结果是可信的,说明计算结果是网格无关的。再加密网格已经没有什么意义(除非你要求的计算精度较高)。但是,如果你用粗网格也能得到相差很小的计算结果,从计算效率上讲,你就可以完全使用粗网格去完成你的计算。加密或者减少网格数量,你可以以一倍的量级进行。 不知道有没有说清楚,因为我也是自学的CFD,这是我的理解,欢迎高手批评指正,谢谢。
13. 具体内容可以参考Gambit Documentation中的Quality Type Definitions章节。 判断网格质量的方面有:
Area单元面积,适用于2D单元,较为基本的单元质量特征。
Aspect Ratio长宽比,不同的网格单元有不同的计算方法,等于1是最好的单元,如正三角形,正四边形,正四面体,正六面体等;一般情况下不要超过5:1.
Diagonal Ratio对角线之比,仅适用于四边形和六面体单元,默认是大于或等于1的,该值越高,说明单元越不规则,最好等于1,也就是正四边形或正六面体。 Edge Ratio长边与最短边长度之比,大于或等于1,最好等于1,解释同上。
EquiAngle Skew通过单元夹角计算的歪斜度,在0到1之间,0为质量最好,1为质量最差。最好是要控制在0到0.4之间。
EquiSize Skew通过单元大小计算的歪斜度,在0到1之间,0为质量最好,1为质量最差。2D质量好的单元该值最好在0.1以内,3D单元在0.4以内。
MidAngle Skew通过单元边中点连线夹角计算的歪斜度,仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。
Size Change相邻单元大小之比,仅适用于3D单元,最好控制在2以内。
Stretch伸展度。通过单元的对角线长度与边长计算出来的,仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。
Taper锥度。仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。 Volume单元体积,仅适用于3D单元,划分网格时应避免出现负体积。
Warpage翘曲。仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。
以上只是针对Gambit帮助文件的简单归纳,不同的软件有不同的评价单元质量的指标,使用时最好仔细阅读帮助文件。
另外,在Fluent中的窗口键入:grid quality 然后回车,Fluent能检查网格的质量,主要有以下三个指标:
1.Maxium cell squish: 如果该值等于1,表示得到了很坏的单元;
2.Maxium cell skewness: 该值在0到1之间,0表示最好,1表示最坏; 3.Maxium 'aspect-ratio': 1表示最好。
以上的一些只是简略提要,具体的请参考相关资料。
15 对于自己的模型,大多数人有这样的想法:我的模型如何来画网格?用什么样的方法最简单?这样做网格到底对不对?
我一般首先关注的是我的模型中那一部分的流态情况最复杂,需要加密网格;那一部分
的流动情况是我最关注的,需要加密网格。
之后根据上述情况开始考虑怎样对模型进行分块:分块的原则,一方面要保证流态复杂的部位要独立进行网格加密,流动平稳的区域要相应加大网格以节省资源,另一方面,要进行保证分块后的各个子模块结构比较规整,尽可能采用结构网格,提高计算精度。
最后,进行网格划分,开始关注网格划分得顺序,要先对那些线和面进行网格设定约束,保证各个区域满足不同得网格疏密,之后再对各个不同的体积分块进行划分,我一般采用从内到外,从最关注的体到非关注的体的顺序进行划分
16在两个面的交界线上如果出现网格间距不同的情况时,即两块网格不连续时,怎么样克服这种情况呢?
这个问题就是非连续性网格的设置,一般来说就是把两个交接面设置为一对interface。 另外,作此操作可能出现的问题及可供参考的解决方法为:
问题:把两个面(其中一个实际是由若干小面组成,将若干小面定义为了group了)拼接在一起,也就是说两者之间有流体通过,两个面个属不同的体,网格导入到fluent时,使用interface时出现网格check的错误,将interface的边界条件删除,就不会发生网格检查的错误,如何将两个面的网格相连?
原因:interface后的两个体的交接面,fluent以将其作为内部流体处理(非重叠部分默认为wall,合并后网格会在某些地方发生畸变,导致合并失败,也可能准备合并的两个面几何位置有误差,应该准确的在同一几何位置(合并的面大小相等时),在合并之前要合理分块。 解决方法:为了避免网格发生畸变(可能一个面上的网格跑到另外的面上了),可以一面网格粗,一面网格细避免; 再者就是通过将一个面的网格直接映射到另一面上的,两个面默认为interior.也可以将网格拼接一起.
建模
17 依据实体在GAMBIT建模之前简化时,必须遵循哪几个原则? 答:最根本的原则就是简化后对实际流动影响不大
我觉得在建模前首先要考虑你模型的结构,物理意义上模型是否为轴对称结构或对称结构,如果是的话看能否简化为二维问题,因为二维问题不管从建模上还是求解上都远远方便与三维模型,而且也能达到相应的精度。
其次,在有些梯度比较大的地方这些问题不能简化,像有很多拐角的地方往往存在一些集中,这些不能忽略。
18 在设置GAMBIT边界层类型时需要注意的几个问题:a、没有定义的边界线如何处理?b、计算域内的内部边界如何处理(2D)?
答:gambit默认为wall,一般情况下可以到fluent再修改边界类型。 内部边界如果是split产生的,那么就不需再设定了,如果不是,那么就需要设定为interface或者是internal
19 为何在划分网格后,还要指定边界类型和区域类型?常用的边界类型和区域类型有哪些?
答:要得到一个问题的定解就需要有定解条件,而边界条件就属于定解条件。也就是说边界条件确定了结果。不同的流体介质有不同的物理属性,也就会得到不同的结果,所以必须指定区域类型。对于gambit来说,默认的区域类型是fluid,所以一般情况下不需要再指定了。
20何为流体区域(fluid zone)和固体区域(solid zone)?为什么要使用区域的概念?FLUENT是怎样使用区域的?
答:Fluid Zone是一个单元组,是求解域内所有流体单元的综合。所激活的方程都要在这些单元上进行求解。向流体区域输入的信息只是流体介质(材料)的类型。对于当前材料列表中没有的材料,需要用户自行定义。注意,多孔介质也当作流体区域对待。 Solid Zone也是一个单元组,只不过这组单元仅用来进行传热计算,不进行任何的流动计算。作为固体处理的材料可能事实上是流体,但是假定其中没有对流发生,固体区域仅需要输入材料类型。
Fluent中使用Zone的概念,主要是为了区分分块网格生成,边界条件的定义等等;
21 如何监视FLUENT的计算结果?如何判断计算是否收敛?在FLUENT中收敛准则是如何定义的?分析计算收敛性的各控制参数,并说明如何选择和设置这些参数?解决不收敛问题通常的几个解决方法是什么?
答:可以采用残差控制面板来显示;或者采用通过某面的流量控制;如监控出口上流量的变化;采用某点或者面上受力的监视;涡街中计算达到收敛时,绕流体的面上受的升力为周期交变,而阻力为平缓的直线。
怎样判断计算结果是否收敛?
答:1、观察点处的值不再随计算步骤的增加而变化;
2、各个参数的残差随计算步数的增加而降低,最后趋于平缓;
3、要满足质量守恒(计算中不牵涉到能量)或者是质量与能量守恒(计算中牵涉到能量)。
特别要指出的是,即使前两个判据都已经满足了,也并不表示已经得到合理的收敛解了,因为,如果松弛因子设置得太紧,各参数在每步计算的变化都不是太大,也会使前两个判据得到满足。此时就要再看第三个判据了。
还需要说明的就是,一般我们都希望在收敛的情况下,残差越小越好,但是残差曲线是全场求平均的结果,有时其大小并不一定代表计算结果的好坏,有时即使计算的残差很大,但结果也许是好的,关键是要看计算结果是否符合物理事实,即残差的大小与模拟的物理现象本身的复杂性有关,必须从实际物理现象上看计算结果。比如说一个全机模型,在大攻角情况下,解震荡得非常厉害,而且残差的量级也总下不去,但这仍然是正确的,为什么呢,因为大攻角下实际流动情形就是这样的,不断有涡的周期性脱落,流场本身就是非定常的,所以解也是波动的,处理的时候取平均就可以呢:)
22 什么叫松弛因子?松弛因子对计算结果有什么样的影响?它对计算的收敛情况又有什么样的影响?
1.亚松驰(Under Relaxation):所谓亚松驰就是将本层次计算结果与上一层次结果的差值作适当缩减,以避免由于差值过大而引起非线性迭代过程的发散。用通用变量来写出时,为松驰因子(Relaxation Factors)。《数值传热学-214》
2.FLUENT中的亚松驰:由于FLUENT所解方程组的非线性,我们有必要控制的变化。一般用亚松驰方法来实现控制,该方法在每一部迭代中减少了的变化量。亚松驰最简单的形式为:单元内变量等于原来的值 加上亚松驰因子a与 变化的积, 分离解算器使用亚松驰来控制每一步迭代中的计算变量的更新。这就意味着使用分离解算器解的方程,包括耦合解算器所解的非耦合方程(湍流和其他标量)都会有一个相关的亚松驰因子。在FLUENT中,所有变量的默认亚松驰因子都是对大多数问题的最优值。这个值适合于很多问题,但是对于一些特殊的非线性问题(如:某些湍流或者高Rayleigh数自然对流问题),在计算开始时要
慎重减小亚松驰因子。使用默认的亚松驰因子开始计算是很好的习惯。如果经过4到5步的迭代残差仍然增长,你就需要减小亚松驰因子。有时候,如果发现残差开始增加,你可以改变亚松驰因子重新计算。在亚松驰因子过大时通常会出现这种情况。最为安全的方法就是在对亚松驰因子做任何修改之前先保存数据文件,并对解的算法做几步迭代以调节到新的参数。
最典型的情况是,亚松驰因子的增加会使残差有少量的增加,但是随着解的进行残差的增加又消失了。如果残差变化有几个量级你就需要考虑停止计算并回到最后保存的较好的数据文件。注意:粘性和密度的亚松驰是在每一次迭代之间的。而且,如果直接解焓方程而不是温度方程(即:对PDF计算),基于焓的温度的更新是要进行亚松驰的。要查看默认的亚松弛因子的值,你可以在解控制面板点击默认按钮。对于大多数流动,不需要修改默认亚松弛因子。但是,如果出现不稳定或者发散你就需要减小默认的亚松弛因子了,其中压力、动量、k和e的亚松弛因子默认值分别为0.2,0.5,0.5和0.5。对于SIMPLEC格式一般不需要减小压力的亚松弛因子。在密度和温度强烈耦合的问题中,如相当高的Rayleigh数的自然或混合对流流动,应该对温度和/或密度(所用的亚松弛因子小于1.0)进行亚松弛。相反,当温度和动量方程没有耦合或者耦合较弱时,流动密度是常数,温度的亚松弛因子可以设为1.0。对于其它的标量方程,如漩涡,组分,PDF变量,对于某些问题默认的亚松弛可能过大,尤其是对于初始计算。你可以将松弛因子设为0.8以使得收敛更容易。
SIMPLE与SIMPLEC比较
在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邻近校正中所用的方法。
24 这个问题的意思是出现了回流,这个问题相对于湍流粘性比的警告要宽松一些,有些case可能只在计算的开始阶段出现这个警告,随着迭代的计算,可能会消失,如果计算一段时间之后,警告消失了,那么对计算结果是没有什么影响的,如果这个警告一直存在,可能需要作以下处理:
1.如果是模拟外部绕流,出现这个警告的原因可能是边界条件取得距离物体不够远,如果边界条件取的足够远,该处可能在计算的过程中的确存在回流现象;对于可压缩流动,边界最好取在10倍的物体特征长度之处;对于不可压缩流动,边界最好取在4倍的物体特征长度之处。
2.如果出现了这个警告,不论对于外部绕流还是内部流动,可以使用pressure-outlet边界条件代替outflow边界条件改善这个问题。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Fluent经典问题答疑(2)在线全文阅读。
相关推荐: