使用求解器本章介绍FLUENT求解器的结构以及使用方法。目录数值格式概况离散分离解耦合解求解器的使用概况离散差分格式的选择选择压力速度耦合方法设定松弛因子改变Courant数TurningOnFASMultigrid设定解的限制解的初始化计算监视解的收敛性计算期间命令的执行收敛性与稳定性数值格式概况FLUENT提供两种数值求解方法:分离解法(FLUENT/UNS)和耦合解法(RAMPANT)。Fluent的两种解法都可以解守恒型积分方程,其中包括动量、能量、质量以及其他标量如湍流和化学组分的守恒。在两种情况下都应用了控制体技术,它包括:使用计算网格对流体区域进行划分对控制方程在控制区域内进行积分以建立代数方程,这些代数方程中包括各种相关的离散变量如:速度、压力、温度以及其他的守恒标量离散方程的线化以及获取线性方程结果以更新相关变量的值两种数值方法采用相似的离散过程——有限体积,但线化的方法以及离散方程的解法是不同的。首先我们在离散解法与耦合解法中讨论一般的解法,然后讨论一下线性显式与隐式中的线化方法分离解方法分离求解器原来是FLUENT4和FLUENT/UNS所用的算法。使用该方法,控制方程是分离解出的(即:一个一个的解)。因为控制方程是非线性的(还是耦合的),所以在得到收敛解之前,必须进行迭代。下面是对每步迭代的介绍:1.在当前解的基础上,更新流体属性(如果计算刚刚开始,流体的属性用初始解来更新)2.为了更新流场,u,v和w的动量方程用当前压力和表面质量流量按顺序解出。3.因为第一步得到的速度可能在局部不满足连续性方程,所以从连续性方程和线化动量方程推导出压力校正的泊松方程。然后解出压力校正方程获取压力和速度场以及表面质量流量的必要校正从而满足连续性方程。4.在适当的地方,用前面更新的其它变量的数值解出湍流、能量、组分与及辐射等标量。5.当包含相间耦合时,可以用离散相轨迹计算来更新连续相的源项。6.检查设定的方程的收敛性。直到满足收敛判据才会结束上述步骤。Figure1:分离求解器方法概述耦合解方法耦合求解器原来用于RAMPANT。该方法同时解连续性、动量、能量以及组分输运的控制方程(即:耦合在一起)。然后分离解方法中的分离求解器程序解附加的标量控制方程(即:和耦合方程是分离的)。因为控制方程式非线性的和耦合的,所以在获取收敛解之前需要进行适当的解循环的迭代。组成每一步迭代的步骤见上图,现概括如下:1.在当前解的基础上更新流体属性(如果刚刚开始计算则用初始解来更新)。2.同时解连续性、动量、能量和组分输运方程。3.在适当的地方,用前面更新的其它变量的数值解出如湍流和及辐射等标量。4.当包含相间耦合时,可以用离散相轨迹计算来更新连续相的源项。5.检查设定的方程的收敛性。直到满足收敛判据才会结束上述步骤。Figure1:耦合解方法概述线化:隐式和显式的比较在分离和耦合解方法中,离散,非线性控制方程被线化为每一个计算单元中相关变量的方程组。然后用线化方程组的解来更新流场。控制方程的线化形式可能包括关于相关变量的隐式或显式形式。隐式和显式的意义如下:隐式:对于给定变量,单元内的未知值用邻近单元的已知和未知值计算得出。因此,每一个未知值会在不止一个方程中出现,这些方程必须同时解来给出未知量。显示:对于给定变量,每一个单元内的未知量用只包含已知量的关系式计算得到。因此未知量只在一个方程中出现,而且每一个单元内的未知量的方程只需解一次就可以给出未知量的值。在分离求解器中,每一个离散控制方程都是该方程的相关变量的隐式线化。从而区域内每一个单元只有一个方程,这些方程组成一个方程组。因为每一个单元只有一个方程,所以常常会被称为标量系统方程。点隐式(高斯-塞德尔)线化方程求解器和代数多重网格方法(AMG)一起被用于解单元内相关变量的标量系统方程。例如,x向动量方程被线化得到速度u未知的方程系统。方程系统的共时解(用标量AMG求解器)更新了u方向上的速度场。总而言之,分离解方法同时考虑所有单元来解出单个变量的场(如:p)。然后再同时考虑所有单元来解出下一个变量的场,直至全部解出。分离求解器没有什么明确的选项。在耦合解方法中你可以选择控制方程的隐式或者显式线化形式。这一选项只用于耦合控制方程组。与耦合方程组分开解的附加标量,如湍流、辐射等,的控制方程是采用和分离解方法中介绍的相同程序来线化和解出的。不管你选择的是显式还是隐式格式,解的过程都要遵循上图中的耦合解方法。如果你选择耦合求解器的隐式选项,耦合控制方程组的每一个方程都是关于方程组中所有相关变量的隐式线化。这样我们便得到了区域内每一个单元的具有N个方程的线化方程系统,其中N是方程组中耦合方程的数量。因为每一个单元中有N个方程,所以这通常被称为方程的块系统。因为每个单元有N个方程,所以它通常被称为方程的块系统。点隐式(块结构高斯-塞德尔)线化方程求解器和代数多重网格方法(AMG)一起被用于解单元内N个相关变量的块系统方程。例如,连续性方程和x,y,z方向动量方程以及能量方程的耦合会产生一个方程系统,在这个方程系统中,p,u,v,w和T都是未知的。用块AMG求解器同时解这些方程就会马上更新压力、三个坐标轴方向上的速度以及温度场。总而言之,耦合隐式求解器同时在所有单元内解出所有变量(p,u,v,w,T)。如果你选择耦合求解器的显式选项,耦合的一组控制方程都用显式的方式线化。和隐式选项一样,通过这种方法也会得到区域内每一个单元的具有N个方程的方程系统。同样地,方程系统中的所有相关变量都同时更新。然而,方程系统中都是未知的因变量。例如,x向动量方程写成的形式是为了保证更新后的x速度为流场变量已知值的函数。正因为如此,我们不需要线化方程求解器。取而代之的是,解的更新是使用多步(Runge-Kutta)求解器来完成的。在这里你可以选择全近似存储(FAS)多重网格格式来加速多步求解器。FAS多重网格的耦合显示求解器原来是用于RAMPANT中的。总而言之,耦合显式方法同时解一个单元内的所有变量(p,u,v,w,T)。注意FAS多重网格是显式求解器方法的一个可选部分,而AMG方法是分离和耦合隐式方法需要的部分。离散FLUENT使用基于控制体的方法将控制方程转换为可以用数值方法解出的代数方程。该方法,在每一个控制体内积分控制方程,从而产生基于控制体的每一个变量都守恒的离散方程。考虑标量输运的定常状态守恒方程可以很容易的说明控制方程的离散。下面就是写成对于控制体积V的积分形式的方程:VdVSdAdAv其中r=密度v=速度矢量(=u,i(hat)+v,j(hat)in2D)A=曲面面积矢量G_f=f的扩散系数?f=f的梯度(=(秄/?x),i(hat)+(秄/?y),j(hat)in2D)S_f=每一单位体积f的源项上面的方程被应用于区域内每一个控制体积或者单元。下面图中的二维三角单元就是控制体积的一个例子。在给定单元内离散上面的方程有:facesfacesNffnNffffVSAAvwhereN_faces=封闭单元的面的个数f_f=通过表面f的对流量v_f=通过表面的质量流量A_f=表面的面积,|A|(=|A_xi(hat)+A_yj(hat)|in2D)(?f)_n=magnitudeof?fnormaltofacefV=单元体积由FLUENT所解的方程和上面所给出的一般形式相同,而且很容易扩展到多维情况和友人以多边形、多面体组成的非结构网格。Figure1:用于显示标量输运方程离散的控制体积FLUENT在单元的中心(上图的c0和c1)存贮标量f的离散值。然而,方程3的对流项中需要表面值f_f,因此必须从单元中心插值。这个任务由迎风格式完成。迎风的意思就是,表面值f_f是从单元上游或者说迎风处的量推导出来的,这个上游是指相对于方程3法向速度v_n的方向而言的,FLUENT允许你选择几种迎风格式:一阶迎风,二阶迎风,幂率和QUICK格式。这些格式在一阶迎风格式一节中介绍[95]。方程3中的扩散项是中心差分而且一般具有二阶精度。一阶迎风格式当需要一阶精度时,我们假定描述单元内变量平均值的单元中心变量就是整个单元内各个变量的值,而且单元表面的量等于单元内的量。因此,当选择一阶迎风格式时,表面值f_f被设定等于迎风单元的单元中心值。幂率格式幂率离散格式使用一维对流扩散方程的精确解来插值变量f在表面处的值。xxux其中G和ru是通过间隔?x的常值。积分方程1可得如下f随x的变化关系:1exp1exp00PLxPxL其中:f_0=f|_x=0f_L=f|_x=LPe是Peclet数。uLP下图所示为不同Pelect数下f(x)在x=0和x=L之间的变化关系。该图表明对于较大的Pe,f在x=L/2处的值近似等于迎风值。这就意味着当流动由对流项主导时,只需要让变量表面处的值等于迎风或者上游值就可以完成插值。这是FLUENT的标准一阶格式。Figure1:变量f在x=0和x=L之间的变化(方程1)如果选择幂率格式,FLUENT用方程3等价的幂率格式[118]作为插值格式。如一阶迎风格式所述,上图表明,对于较大的Pe,f在x=L/2处的值近似等于迎风值。当Pe=0(无流动或者纯扩散)图1表明f可以用x=0到x=1之间简单的线性平均来实现插值。当Peclet数的值适中时,f在x=L/2处的插值必须使用方程3等价的幂率插值格式来得到。二阶迎风格式当需要二阶精度时,使用多维线性重建方法[5]来计算单元表面处的值。在这种方法中,通过单元中心解在单元中心处的泰勒展开来实现单元表面的二阶精度值。因此,当使用二阶迎风格式时,用下面的方程来计算表面值f_f:Sf其中f和?f分别是单元中心值和迎风单元的梯度值,Ds是从迎风单元中心到表面中心的位移矢量。在这种情况下需要确定每个单元内的梯度?f。我们使用散度定理来计算这个梯度,其离散格式如下:facesNffAV1在这里,表面处的值f_f由邻近表面的两个单元的f的平均值来计算。昀后,限制梯度?f以保证不会引进新的昀大值和昀小值。QUICK格式对于四边形和六面体网格,我们可以确定它们唯一的上游和下游表面以及单元。FLUENT还提供了计算对流变量在表面处高阶值的QUICK格式。QUICK类型的格式[95]是通过变量的二阶迎风与中心插值加上适当的权因子得到的,具体可以写成:WcucPcucuEdcdPdcdeSSSSSSSSSSSSS21Figure1:一维控制体在上式中q=1就是中心二阶插值,q=0就是二阶迎风值。传统的QUICK格式对应的q=1/8。FLUENT中使用一个变量,解相关的q值,以避免引进新的解的极值。当结构网格和流动方向一致时,QUICK格式明显具有较高精度。需要注意的是FLUENT也允许对非结构网格或者混合网格使用QUICK格式,在这种情况下,常用的二阶迎风离散格式将被用于非六面体单元表面或者非四边形单元表面。当使用并行求解器时,二阶迎风格式还被用于划分的边界处。离散方程的线化形式离散标量输运方程(离散一节中的方程3)包括了单元中心的标量f的未知值,还包括周围相邻单元出的未知值。一般说来这些方程关于这些变量是非线性的。离散一节中方程3的线化形式为:nbnbnbPbaa其中下标nb是指相邻单元,a_p和a_nb分别是f和f_nb.的线化系数。每一个单元的邻近单元的数量取决于网格的拓扑结构,但是一般说来都等于围成该单元的表面的数量(边界单元除外)。在网格中每一个单元都可以写出相似的方程。这样就产生了具有稀疏系数矩阵的代数方程。对于标量方程,FLUENT是用点隐式(Gauss-Seidel)线化方程求解器与代数多重网格方法(AMG)连接起来从而解出这个线性系统。亚松驰由于FLUENT所解方程组的非线性,我们有必要控制的变化。一般用亚松驰方法