正如预料的那样,F循环比V循环需要更多的计算,但是比W循环花费要少一些。但是它的收敛性比V循环要好,大致和W循环的收敛性差不多。对于耦合求解器设置来说,F循环是默认的AMG循环类型。
灵活循环
对于灵活循环,使用粗化网格的计算由下图中所示的逻辑控制多重网格程序来实现。这一逻辑控制可以保证当前层面的网格的残差减小速度足够慢时就会调用较粗糙网格的计算。除此之外,当当前粗糙网格层上的校正迭代解充分收敛而且因此应该转到下一层精细网格时,多重网格控制会做出适当的处理。这两个判断由下图中所示的两个参数a和b来控制。详细请参阅下面内容。注意多重网格程序的逻辑是这样的:在某一方程上的单一全局迭代过程中,可能会重复处理网格层面。例如:对于4层多重网格,其中包括0,1,2,3四层,解给定输运方程的灵活多重网格程序可能会按这样的顺序处理网格层面:0-1-2-3-2-3-2-1-0-1-2-1-0:
Figure 1灵活多重网格的逻辑控制
灵活循环和V,W循环之间的主要区别是:灵活循环会通过残差减小的公差和终止判据的满足情况来确定什么时候,按什么样的频率来处理每一层网格,而V和W循环则明确定义了各个层面之间的转换模式。
当当前层面的误差减小速度不够快时,多重网格程序就会调用下一个网格层面的计算,具体判断公式如下:
Ri??Ri?1
其中,R_i是在当前层面经过第i步迭代之后从当前网格层面计算出的残差和的绝对值。上面的公式表明,如果经过i步迭代后迭代解的残差比某一分数b(在0和1之间)大,就需要处理下一个粗化网格层面了。因此b被称为残差减小公差,用于确定什么时候放弃当前
网格层面的迭代解,并转移到下一个更粗糙的网格上解校正方程。B的值控制了处理的粗化网格层面的频率。默认值是0.7。如果b的值较大,就会处理较小的频率,反之亦然。
假定残差减小速度足够块,校正方程会在当前网格层收敛,这样就可以转到下一个更精细的网格层面计算。 当校正解的误差减小到该网格层初始误差的某一分数a(在0和1之间)时,当前网格层上的校正方程就可以被认为是充分收敛了。
Ri??R0
其中,R_i是在当前层面经过第i步迭代之后从当前网格层面计算出的残差。R_0时在当前全局计算中该网格层面最初获得的残差。参数a被称为终止判据,默认值是0.1。注意,上面的方程也用于多重网格程序中最低(最精细)网格层面的终止计算。因此,继续在每一个网格层面(包括最精细的网格层面)进行松弛,直到满足该方程的判据(或者直到完成最大的迭代步,而所指定的判据还没有实现)。
全近似格式(FAS)多重网格
FLUENT中FAS形成多重网格层级的方法是将精细网格的成组单元结合起来形成粗化网格单元。如下图所示,粗化网格单元是用节点周围的单元聚束形成的。根据网格的拓扑结构的不同,这一方法可以形成不规则网格和不定的表面数。但是,网格层面的简单创建和植入也就对应了简单的延拓和松弛算子。
Figure 1: 节点聚束形成粗化网格单元
有趣的是,虽然粗化网格单元看起来很不规则,但是在单元表面上还是看不到锯齿状的结构。离散只使用单元表面的区域映射,因此将两个不规则外形单元分开的每组锯齿状单元表面,在二维问题中等价于连接锯齿单元终点的一条直线,在三维问题中等价于从不规则但连续的几何形状映射而来的区域。这种优化方法减少了所需的内存和计算时间。
FAS限制和延拓算子
FAS既需要精细网格解f的限制又需要其残差d(误差)的限制。这个用于将解传到下一个较粗糙的网格层面的算子是用全近似格式构成的[22]。也就是说,取精细网格单元上解的体积平均值来得到粗糙单元的解。粗糙网格上的残差等于植入的精细网格单元内的残差之和。
通过简单的设定精细网格校正为与其相关的粗糙网格的值,我们构建了用于将校正传到细化层面的延拓算子P。
粗糙网格校正y^H是从粗糙层面f^H计算得到的解和限制到粗糙层面Rf的初始解之间的差值计算得到的,它产生于粗糙层面并被应用于精细层面解。因此精细层面解的校正变成:
?new???P??H?R??
FAS粗化层面算子
FAS粗化网格算子是很简单的,它源于粗糙层面网格上控制方程的再离散。因为在离散一节中出现的离散方程和耦合求解器对组成单元的很多表面不加限制,所以在由不规则外形单元组成的粗糙网格上进行的再离散不存在问题。
当在不规则粗糙网格单元上使用有限体积格式时会丢失一些精度,但是因为多重网格解的精度主要有最精细的网格决定,所以解的精度不会受到粗糙网格离散的影响。
为了保持精细网格解的精度,我们修改了粗糙层面方程来包括源项[72],这就保证了如果精细网格d^h上的残差为零,那么在粗糙网格f^H上计算得到的校正也会是零。因此,粗糙网格方程用公式表示为:
AH?H?dH?dH?R???Rdh
其中,d^H是从当前粗糙网格解f^H中计算得到的粗糙网格残差,d^H(R f)是从限制的精细层面解R f计算得到的粗糙网格残差。起初,这两项是相同的(因为在初始时我们有f^H = R f),删除这两项化简上面的方程可得:
AH?H??Rdh
所以当细化网格残差d^h为零时就不会有粗化层面校正了。
求解器使用概述
当你确定了模型和求解器(参阅使用求解器形式一节),你就可以运行求解器了。下面是你可以参阅的一般步骤:
1. 选择离散格式,如果使用分离求解器,你还可以选择压力插值格式(见选择离散格式一
节)。
2. (只用于分离求解器)选择压力速度耦合方法(参阅选择压力速度耦和方法一节)。 3. 设定亚松驰因子(见设定亚松驰因子一节)。
4. (只用于耦合显式求解器)打开FAS多重网格(见打开FAS网格一节)。
5. 对求解器设定作任何附加的修改,具体的修改可以参阅介绍你所使用的模型的相关章
节。
6. 初始化解(参阅初始化解一节)
7. 激活适当的解监视器(参阅监视解的收敛一节)。 8. 开始计算(参阅执行计算一节)。
9. 如果出现收敛性问题,请尝试收敛性和稳定性一节中所讨论的方法。
前三项的默认设定可以满足大多数问题而不必修改。下面将要介绍这三个以及其它解参数可以做什么样的修改,以及什么时候你希望做出修改。上面所列出的步骤应用于所有定常状态的计算。具体可以参阅非定常解程序的时间相关模拟。
选择离散格式
FLUENT允许你选择每一个控制方程的对流项的离散格式(对于粘性项自动使用二阶精度)当使用分离求解器时,在默认的情况下,所有的方程都是使用一阶迎风离散来解对流问题。当使用耦合求解器时,在默认的情况下,流动方程是二阶格式解出的,其它方程是用
一阶格式解出的。关于FLUENT中离散格式的完全介绍请见离散一节。
除此之外,当你使用分离求解器时,你可以指定压力插值格式,有关压力插值格式的相关内容可以参阅前面的介绍。
一阶与二阶的比较
当流动和网格成一条线时(如:矩形网格或者六面体网格模拟矩形导管的层流流动),可以使用一阶迎风离散格式。但是,当流动和网格不在一条线上时(即:流动斜穿网格线)一阶对流离散增加了对流离散的误差(数值耗散)。。对于三角形和四面体网格,流动从来就不会和网格成一条线,此时一般要使用二阶离散来获取更高精度的结果。对于四边形或者六面体网格,如果使用二阶离散格式,尤其是对于复杂流动来说,你可以获取更好的结果。
总而言之,一阶离散一般会比二阶离散收敛得好,但是精度要差,尤其是对于三角形或者四面体网格精度更差。关于控制收敛性的信息请参阅收敛性和稳定性一节。
对于大多数情况,你可以在计算的开始使用二阶格式。对于有些情况,你应该以一阶离散开始计算,在进行了初步迭代之后再转到二阶格式。例如,如果你解高马赫数流动问题,初始解科所预期的解相差较大,你就应该先用一阶格式迭代几步然后打开二阶格式继续计算直至收敛。
对于与网格成一条线的简单流动(如:划分为矩形网格或者六面体网格的矩形导管的层流流动),数值耗散自然会很低,所以一般使用一阶格式替代二阶格式而不损失精度。
最后,如果你使用二阶格式遇到收敛性问题,你就应该尝试使用一阶格式。
幂率和QUICK格式
对于旋转和涡流来说,如果你使用四边形或者六面体网格,QUICK离散格式会比二阶格式产生更为精确的结果。但是,一般说来二阶格式已经足够了,QUICK格式也未必会提高多少精度。
我们还可以选择幂率格式,但是一般说来它不会比一阶格式精确多少。
选择压力插值格式
如压力插值格式所述,当使用分离求解器时我们可以采用很多压力插值格式。对于大多数情况,标准格式已经足够了,但是对于特定的某些模型使用其它格式可能会更好: ? 对于具有较大体积力的问题,推荐使用体积力加权格式。
? 对于具有高涡流数,高Rayleigh数自然对流,高速旋转流动,包含多孔介质的流动和
高度扭曲区域的流动,使用PRESTO!格式。
注意:PRESTO!只能用于四边形或者六面体网格。 ? 对于可压流动推荐使用二阶格式。
? 当其它格式不适用时,使用二阶格式来提高精度(如:对于流过具有非六面体或者非四
边形网格的曲面边界的流动)。
用户输入
你可以在解控制面板(如下图)中指定离散格式,如果是使用分离求解器还可以选择压力插
值格式。菜单:Solve/Controls/Solution...。
Figure 1: 分离求解器的解控制面板
在离散框下面列出的每一个标量方程(对于分离求解器,有动量、能量、湍流动能、能量等,对于耦合求解器,有湍流动能、湍流耗散速度)中,你可以在下拉列表中选择一阶迎风、二阶迎风、幂率或者QUICK格式。对于耦合求解器的流动方程(其中包括动量和能量),你既可以选择一阶迎风也可以选择二阶迎风格式。上面的面板是分离求解器对应的面板。
如果你使用分离求解器,在离散框中的压力后面的下拉列表中选择压力插值格式。你可以选择标准、线性、二阶、体积力权重或者(只用于四边形或六面体网格)PRESTO!。
如果你要改变离散的设定,但是你要回到FLUENT求解器默认的设定中修改,你可以点击默认按钮。此时所有的设定都改为默认设定,同时默认按钮就会变成重置按钮。要改回设定,你可以点击重置按钮。
选择压力速度耦合方法
在分离求解器中,FLUENT提供了压力速度耦和的三种方法:SIMPLE,SIMPLEC以及PISO。定常状态计算一般使用SIMPLE或者SIMPLEC方法,对于过渡计算推荐使用PISO方法。PISO方法还可以用于高度倾斜网格的定常状态计算和过渡计算。需要注意的是压力速度耦合只用于分离求解器,对于耦合求解器你不可以使用它。
SIMPLE与SIMPLEC比较
在FLUENT中,可以使用标准SIMPLE算法和SIMPLEC(SIMPLE-Consistent)算法,默认是SIMPLE算法,但是对于许多问题如果使用SIMPLEC可能会得到更好的结果,尤其是可以应用增加的亚松驰迭代时,具体介绍如下。