Fluent求解器——SIMPLE、SIMPLEC、PISO与Coupled算法

一、压力基求解器

    Fluent提供两种不同的求解器,基于压力的求解器(Pressure-Based)和基于密度的求解器(Density-Based),压力基求解器也叫分离式求解器(Segregated Solver),密度基求解器也叫耦合式求解器(Coupled Solver)。

    压力基求解器适用于低速、不可压缩流体,此求解器首先由动量方程求速度场,继而由压力方程进行修正使得速度场满足连续性条件。由于压力方程来源于连续性方程和动量方程,从而保证流场的模拟同时满足质量守恒和动量守恒。密度基求解器适用于高速、可压缩流体,此求解器直接求解瞬态N-S方程(此方程理论上是绝对稳定的),将稳态问题转化为时间推进的瞬态问题,由给定的初场时间推进到收敛的稳态解,即时间推进法。适用于求解亚音速、高超音速等的强可压缩问题。本文只对压力基求解下的Methods进行整理。

    基于压力的求解器采用的是一种称为投影法(projection method)的一般方法类。在投影方法中,速度场的质量守恒(连续性)的约束通过求解压力(或压力校正)方程来实现;压力方程由连续性方程和动量方程推导而来,通过压力校正的速度场满足连续性;由于控制方程是非线性的并且彼此耦合,所以求解过程涉及迭代,其中重复求解整个控制方程组,直到解收敛。

    Fluent中提供了两种基于压力的求解器算法:分离算法(The Pressure-Based Segregated Algorithm)和耦合算法(The Pressure-Based Coupled Algorithm)。(这里的耦合算法要区别于密度基的耦合式求解)

二、分离算法与耦合算法

    在 Solution Methods 设置中,使用压力基求解器时,在求解时涉及到算法的问题,这里的算法一般有以下几种:SIMPLE、SIMPLEC、PISO和Coupled。在FLUENT 6.3版本以前,这四种算法分为2类,即前3种称为分离求解方法,第4种称为耦合求解方法。分离式求解器以前主要用于不可压缩流动和微可压流动,而耦合式求解器用于高速可压流动。现在,两种求解器都适用于从不可压到高速可压的很大范围的流动,但总的来讲,当计算高速可压流动时,耦合式求解器比分离式求解器更有优势。 

1、分离算法

    基于压力的分离算法按照顺序求解其中控制方程(即对控制方程组彼此分离求解),由于控制方程是非线性和耦合的,因此必须迭代执行解循环以获得收敛的数值解。在分离算法中,解变量(例如压力项、温度项、速度项等)单独控制方程一个接一个地求解,每个控制方程在求解时都与其他方程“解耦”或“分离”,因此得名。分离算法是实时储存的,因为离散化方程只需要一次存储一个,然而,由于方程是以解耦的方式求解,所以解的收敛速度相对较慢。分离算法对燃烧、多相流问题更加有效。

    求解流程:

    (1) 基于当前方案流体的属性(e.g. 密度、粘度、比热),包括湍流粘度(扩散率)进行更新;

    (2) 使用最新的压力和面质量通量值,逐个求解动量方程;

    (3) 使用最新获得的速度场和质量通量求解压力校正方程;

    (4) 使用上述步骤获得的压力,校正面质量通量、压力和速度场;

    (5) 使用当前求解所得的变量值求解附加(如有)方程,如湍流量、能量、物料和辐射强度;

    (6) 更新由不同相位之间的相互作用产生的源项(例如,离散粒子引起的载流子相位的源项);

    (7) 检查方程的收敛性。

2、耦合算法

    基于压力的耦合算法求解包括动量方程和基于压力的连续性方程的耦合方程组。因此,在耦合算法中,分离解算法中的步骤2和3由求解耦合方程组的单个步骤代替。其余方程以分离算法中的解耦方式求解;由于动量和连续性方程以紧密耦合的方式求解,与分离算法相比,解的收敛速度显著提高。然而,由于在求解速度场和压力场时,所有基于动量和压力的连续性方程的离散系统必须存储在存储器中(而不是像分离算法那样仅存储一个方程),因此,存储需求增加了分离算法的1.5~2倍。但是,耦合算法可以和所有动网格、多相流、燃烧、和化学反应模型兼容,收敛速度远高于密度基求解器。

3、注意事项

    需要注意的是,在分离式求解器中提供的几个物理模型,在耦合式求解器中是没有的。这些物理模型包括:流体体积模型(VOF),多项混合模型,欧拉混合模型,PDF燃烧模型,预混合燃烧模型,部分预混合燃烧模型,烟灰和NOx模型,Rosseland辐射模型,熔化和凝固等相变模型,指定质量流量的周期流动模型,周期性热传导模型和壳传导模型等。 

    而下列物理模型只在耦合式求解器中有效,在分离式求解器中无效:理想气体模型,用户定义的理想气体模型,NIST理想气体模型,非反射边界条件和用于层流火焰的化学模型。

三、算法介绍

1、SIMPLE

    原理即分离求解的流程,可以概括为预测-校正。SIMPLE 算法是目前工程上应用最为广泛的一种流场计算方法,它属于压力修正法的一种。

2、SIMPLEC

    求解思路同SIMPLE,唯一区别在于为面通量引入一个修正函数进行修正,主要解决了压力-速度耦合方法难以获得解的问题,提高了收敛的速度。

    操作指导:SIMPLEC开启后需要选择使用Skewness Correction的个数,默认是0。

3、PISO

    压力隐式算子分离法,更大提升了压力和速度之间的近似程度,通过引入两个校正指标:neighbor correction(领域校正)和 skewness correction(偏度校正),即每个迭代步中增加了动量修正和网格畸变修正过程。解决了分离算法中,求解压力校正方程后,每个迭代步获得的压强场与动量方程偏离过大,速度和相应的通量不满足动量平衡的问题。虽然PISO算法的的计算量大于SIMPLE 算法和 SIMPLEC 算法,但是由于每个迭代步中获得的压强场更准确,所以使得计算收敛得更快,也就是说获得收敛解需要的迭代步数大大减少了。

    操作指导:

    (1) 使用带Neighbor Correction的PISO时,建议所有方程的松弛因子为1.0或接近1.0。

    (2) 使用带Skewness Correction的PISO时,动量和压力的松弛因子的和应设置为1(例如Pressure为0.3,Momentum为0.7)。

    (3) 同时使用两种校正的PISO时,遵循带Neighbor Correction的PISO的建议;

    (4) Skewness-Neighbor Coupling是默认开启的,大多数情况不必禁用,如果网格高度扭曲建议禁用。

    (5) 开启PISO后可以设置基于Skewness校正还是基于Neighbor校正,1为开启,0为关闭,默认是耦合状态(两个都是1)大多数情况不建议更改,因为这是为了计算速度更快,但其鲁棒性是有所牺牲的。

4、Coupled

    这种基于压力的耦合算法为密度基和压力基两者提供了一种共同的替代方案,具有简单类型的压力-速度耦合。分离算法是分别求解动量方程和压力修正方程的半隐式解法,它导致的问题是收敛速度变慢;而耦合算法一起求解基于动量和压力的连续性方程,通过对动量方程中的压力梯度项进行隐式离散,以及对面质量通量(包括Rhie-Chow压力耗散项)进行隐式的离散,实现了全隐式耦合。

    操作指导:

    (1) 使用多孔跳跃边界条件的某些情况下,耦合方案可能会遇到收敛问题,此时建议改为分离算法。

    (2) 更适合于稳态的计算,因为它的优势就是计算单相流动的鲁棒性强。

    (3) 使用Coupled但不开启伪瞬态,则需要对库朗数(Courant Number)(默认200)、pressure和momentum的松弛因子(默认均为0.5)进行一些设定(可参考Theory Guide)。

5、Non-Iterative Time Advancement

    Non-Iterative Time Advancement(非迭代时间推进法)是专门针对非稳态问题的一种方法,一般与 PISO 算法联合使用,称为瞬态问题的 PISO 算法。与稳态问题的计算相区别,在瞬态计算的每个时间步内,利用PISO算法计算时不需要迭代。PISO算法的精度取决于时间步长,使用越小的时间步长,可取得越高的计算精度,当步长比较小时,不进行迭代也可保证计算有足够的精度。

    在大多数情况下,求解方法的默认值足以设置由于歪斜引起的内部压力校正子迭代的鲁棒收敛性。只有非常复杂的问题(如移动变形网格、滑动界面、VOF模型等)可能需要将压力的松弛减少到0.7或0.8。

6、算法对比及其亚松弛因子的设置

    (1) 分离式求解方法以前主要用于从不可压流动和微可压流动,而耦合式求解器用于高速可压流动。现在,两种求解器都适用于从不可压到高速可压流动,但总的来讲,当计算高速可压流动时,耦合式求解器比分离式求解器更有优势。

    (2) 针对稳态计算:建议使用Coupled算法。分离算法的优势是每次迭代至收敛的速度更快,耦合算法的优势是用更少的迭代实现收敛。

    (3)针对瞬态计算:Coupled算法的优势是鲁棒性好(尤其是大时间步长的情况),但如果time step较小,PISO算法有明显的优势。

    (4) SIMPLE和SIMPLEC的算法基本是一致的,均可以求解稳态问题。SIMPLEC理论优势是提升收敛速度,但带来的是欠松弛问题。

    所以,若求解相对简单的流动(层流,且不添加其他模型)时,SIMPLEC可以快速获得收敛解,是比较好的选择。如果用SIMPLEC算法,压力校正的亚松弛因子通常设置为1.0,这有助于加快收敛速度。然而,在某些问题中,将松弛下的压力校正增加到1.0可能会由于高网格偏斜而导致不稳定。对于这种情况,需要使用一个或多个偏度校正的方法,可以稍微下调欠松弛因子(最多到0.7),或使用SIMPLE算法。但是,若求解湍流以及附加了其他物理模型的复杂流动,SIMPLE和SIMPLEC的收敛速度差别不大。

    (5) 对于所有的过渡流动计算,以及具有大时间步长的瞬态计算,强烈推荐使用带Neighbor Correction的PISO算法。PISO算法可以在较大的时间步、设置Pressure和Momentum松弛因子为1.0的情况下保持稳定计算。但是,使用LES湍流模型的问题(通常用较小的时间步长)和稳态计算中,PISO算法没有明显优势,建议使用SIMPLE或SIMPLEC。

    而对于高度畸变网格的稳态和瞬态计算,建议使用带Skewness Correction的PISO算法。注意按照前文中设定动量和压力的亚松驰因子之和为1.0。

你可能感兴趣的:(Fluent,算法)