《理解松弛因子 ADINA.docx》由会员分享,可在线阅读,更多相关《理解松弛因子 ADINA.docx(3页珍藏版)》请在三一办公上搜索。
1、由于流体力学中要求解非线性的方程,在求解过程中,控制变量的变化是很必要的,这就通过松弛因子来实现的.它控制变量在每次迭代中的变化.也就是说,变量的新值为原值加上变化量乘以松弛因子.如:Al=AO+B*DETAAl新值AO原值B松弛因子DETA变化量松弛因子可控制收敛的速度和改善收敛的状况!为1,相当于不用松弛因子大于1,为超松弛因子,加快收敛速度小于1,欠松弛因子,改善收敛的条件一般来讲,大家都是在收敛不好的时候,采用一个较小的欠松弛因子。FIUent里面用的是欠松弛,主要防止两次迭代值相差太大引起发散。松弛因子的值在01之间,越小表示两次迭代值之间变化越小,也就越稳定,但收敛也就越慢。a亚松
2、弛因子1、亚松驰(UnderRelaxation):所谓亚松驰就是将本层次计算结果与上一层次结果的差值作适当缩减,以避免由于差值过大而引起非线性迭代过程的发散。用通用变量来写出时.,为松驰因子(RelaXationFactors)。数值传热学-2142、F1.UENT中的亚松驰:由于F1.UENT所解方程组的非线性,我们有必要控制的变化。一般用亚松驰方法来实现控制,该方法在每一部迭代中减少了的变化量。亚松驰最简单的形式为:单元内变量等于原来的值加上亚松驰因子a与变化的积分离解算器使用亚松驰来控制每一步迭代中的计算变量的更新。这就意味着使用分离解算器解的方程,包括耦合解算器所解的非耦合方程(湍流
3、和其他标量)都会有一个相关的亚松驰因子。注:在F1.UENT中,所有变量的默认亚松驰因子都是对大多数问题的最优值。这个值适合于很多问题,但是对于一些特殊的非线性问题(如:某些湍流或者高RayIeigh数自然对流问题),在计算开始时要慎重减小亚松驰因子。使用默认的亚松驰因子开始计算是很好的习惯。如果经过4到5步的迭代残差仍然增长,你就需要减小亚松驰因子。有时候,如果发现残差开始增加,你可以改变亚松驰因子重新计算。在亚松驰因子过大时通常会出现这种情况。最为安全的方法就是在对亚松驰因子做任何修改之前先保存数据文件,并对解的算法做几步迭代以调节到新的参数。最典型的情况是,亚松驰因子的增加会使残差有少量
4、的增加,但是随着解的进行残差的增加又消失了。如果残差变化有几个量级你就需要考虑停止计算并回到最后保存的较好的数据文件。注意:粘性和密度的亚松驰是在每一次迭代之间的。而且,如果直接解焰方程而不是温度方程(即:对PDF计算),基于熔的温度的更新是要进行亚松驰的。要查看默认的亚松弛因子的值,你可以在解控制面板点击默认按钮。对于大多数流动,不需要修改默认亚松弛因子。但是,如果出现不稳定或者发散你就需要减小默认的亚松弛因子了,其中压力、动量、k和e的亚松弛因子默认值分别为0.2,0.5,0.5和0.5。对于SlMP1.EC格式一般不需要减小压力的亚松弛因子。在密度和温度强烈耦合的问题中,如相当高的Ray
5、Ieigh数的自然或混合对流流动,应该对温度和/或密度(所用的亚松弛因子小于1.0)进行亚松弛。相反,当温度和动量方程没有耦合或者耦合较弱时,流动密度是常数,温度的亚松弛因子可以设为1.0。对于其它的标量方程,如漩涡,组分,PDF变量,对于某些问题默认的亚松弛可能过大,尤其是对于初始计算。你可以将松弛因子设为0.8以使得收敛更容易。松弛因子越大计算速度越快结果越不稳定也就是越难收敛你把松弛因子调小了结果容易稳定但计算很慢。一般都是默认的然后看运算比较稳定的话就加大CoUrantnumber来提升速度除非默认的松弛因子和CoUrantnumber一算出来就error或者波动特别的大的时候才退出来
6、调小松弛因子和CoUrantnumber.松弛因子是为了控制计算中的收敛性的,跟计算精度关系不大。在计算开始时,可能计算波动性比较大,这样容易发散,所以要选择小的松弛因子,以后的计算可适当加大松弛因子。小的松弛因子控制波动性好,但计算时间会增加。所以一般在瞬态计算中,开始的时间步松弛因子要较小,后来的时间松弛因子适当可加大。courantnumber:库朗数Courantnumber(库朗数)实际上是指时间步长和空间步长的相对关系,系统自动减小CoUrant数,这种情况一般出现在存在尖锐外形的计算域,当局部的流速过大或者压差过大时出错,把局部的网格加密再试一下。在F1.UENT中,用COUra
7、ntnumber来调节计算的稳定性与收敛性。一般来说,随着COUrantnumber的从小到大的变化,收敛速度逐渐加快,但是稳定性逐渐降低。所以具体的问题,在计算的过程中,最好是把COUrantnumber从小开始设置,看看迭代残差的收敛情况,如果收敛速度较慢而且比较稳定的话,可以适当的增加CoUrantnumber的大小,根据自己具体的问题,找出一个比较合适的COUrantnumber,让收敛速度能够足够的快,而且能够保持它的稳定性。F1.UENT计算开始迭代最好使用较小的库朗数,否则容易导致迭代发散,修改办法SlOVecontrolssolution,修改CoUrantNumber默认值为1,开始没有经验的改小点,比如0.01,然后逐渐加大。