Ansys Fluent 允许选择以下两种数值方法之一:

  • 压力基求解器
  • 密度基求解器

历史上,压力基求解器主要用于低速不可压缩流动,而密度基求解器主要用于高速可压缩流动。然而,最近这两种方法都得到了扩展和重写,以解决和操作超出其传统或原始意图的广泛流动条件。

在这两种方法中,速度场都是由动量方程得到的。在密度基求解器中,利用连续性方程得到密度场,压力场通过状态方程确定。另一方面,在压力基求解器中,压力场是通过求解压力或压力校正方程来提取的,而该方程是通过处理连续性和动量方程获得的。

无论使用哪种方法,Fluent 都将求解质量和动量守恒以及能量和其他标量(如湍流和化学物质)守恒的控制积分方程。在这两种情况下,都使用了基于控制体的技术,包括:

  • 使用计算网格将域划分为离散的控制体。 -  对各个控制体积上的控制方程进行积分,以构建离散因变量的代数方程,例如速度、压力、温度和守恒标量。 -  离散方程的线性化及合成线性方程组的解,以产生因变量的更新值。

这两种数值方法采用类似的离散化过程(有限体积法),但用于线性化和求解离散方程的方法有所不同。

23.1.1 压力基求解器

压力基求解器采用一种称为投影法的一般方法类[99]。在投影法中,速度场的质量守恒(连续性)约束是通过求解压力(或压力修正)方程来实现的。压力方程由连续性方程和动量方程导出,其中速度场经压力修正后满足连续性。由于控制方程是非线性的,且相互耦合,因此求解过程中包括迭代,其中整个控制方程组被反复求解,直到求解收敛。

fluent中提供了两种压力基求解算法:分离算法与耦合算法。下面将讨论这两种方法。

23.1.1.1 压力基分离算法

压力基求解器中,控制方程按顺序求解。由于控制方程是非线性耦合的,为了得到收敛的数值解,必须采用迭代方法进行求解。

在分离算法中,解变量的各个控制方程(如 等)被一个接一个地求解,每个控制方程在求解时都与其他方程“解耦”或“分离”,因此得名。分离算法消耗的内存较小,因为离散的方程在内存中一次只需要存储一个。然而分离算法求解收敛相对较慢,因为方程是以解耦方式求解的。

对于分离算法,每个迭代包括图24.1所示的步骤。主要包括:

  1. 基于当前计算结果更新流体属性(如密度、粘度、比热等),包括湍流粘度(扩散率)
  2. 利用最近更新的压力和面质量通量值,一个接一个地求解动量方程
  3. 利用最近获得的速度场和质量通量求解压力修正方程
  4. 使用从步骤 3 中获得的压力校正来校正表面质量通量、压力和速度场
  5. 使用解变量的当前值求解其他标量方程,例如湍流量、能量、组分和辐射强度等
  6. 更新由不同相间相互作用产生的源项(如由于离散颗粒而导致的载流子相的源项)
  7. 检查方程的收敛性

求解流程如下图所示。

23.1.1.2 压力基耦合算法

与分离算法不同,压力基耦合算法求解由动量方程和基于压力的连续性方程组成的耦合方程组。因此,在耦合算法中,分离算法中的步骤2和3被求解耦合方程组的单个步骤所取代。其它的方程采用分离算法中的解耦方式进行求解。

由于动量方程和连续性方程是以紧密耦合的方式求解的,因此与分离算法相比,耦合算法的求解收敛速度显著提高。然而由于求解速度场和压力场时,所有动量和压力连续方程的离散系统必须存储在内存中(而不是像分离算法那样只存储一个方程),因此内存需求比分离算法增加了1.5–2倍。

耦合算法求解流程如下图所示。

23.1.2 密度基求解器

密度基求解器同时求解连续方程、动量方程、能量方程和组分输运方程。其他标量控制方程将在随后依次求解。由于控制方程是非线性的(并且是耦合的),在得到收敛解之前,需要采用迭代方法进行计算。求解过程如下:

  1. 基于当前计算结果更新流体特性(如果计算刚刚开始,将根据初始值更新流体特性)
  2. 同时求解连续方程、动量方程、能量方程和组分方程
  3. 在适当的情况下,使用先前更新的其他变量值求解湍流和辐射等标量方程
  4. 当考虑相间耦合时,用离散相轨迹计算更新相应连续相方程中的源项
  5. 检查方程组的收敛性

流程如下图所示。

在密度基求解方法中,可以使用耦合显式形式或耦合隐式形式求解耦合方程组(连续方程、动量、能量和组分方程)。

下面描述密度基显式形式和隐式形式之间的主要区别。

在密度基求解方法中,将离散的非线性控制方程进行线性化,得到每个计算网格中因变量的方程组。由此产生线性方程组,然后求解得到一个更新的流场分布。对于所关心的因变量),控制方程线性化的方式可以采取“隐式”或“显式”形式。隐式或显式的含义如下:

  • 隐式:对于给定的变量,每个网格中的未知值是使用一个关系式计算的,该关系式包括相邻网格中的现有值和未知值。因此,每个未知数将出现在系统中的多个方程中,这些方程必须同时求解才能得到未知数。
  • 显式:对于给定的变量,每个网格中的未知值是使用仅包含现有值的关系式计算的。因此,每个未知数只出现在系统中的一个方程中,每个单元中的未知数的方程可以一次求解一个,从而得到未知数

在密度基求解方法中,可以选择使用控制方程的隐式或显式线性化。此选择仅适用于耦合的控制方程组。附加标量的输运方程从耦合集(如湍流、辐射等)分离出来求解。用一般标量输运方程的离散化和求解方法对输运方程进行线性化和隐式求解。

如果选择密度基求解器的“隐式”选项,则耦合控制方程组中的每个方程将相对于该组中的所有因变量隐式线性化。这将产生一个线性方程组,其中计算域中每个单元有N个方程,其中N是集合中耦合方程的个数。因为每个单元有N个方程,这有时被称为“块”方程组。

采用点隐式线性方程组求解器(Incomplete Lower Upperfactorization scheme(ILU)分解格式或对称分块Gauss-Seidel)结合代数多重网格方法(AMG)求解每个单元中所有N个因变量的分块方程组。例如,耦合连续性、x、y、z方向的动量方程和能量方程的线性化将产生一个方程组,其中p、u、v、w和T是未知数。同时解决这个方程组(使用块AMG解算器)产生一次更新的压力,u,v,w速度和温度场。

总之,耦合隐式方法可以同时求解所有单元中的所有变量()。

如果选择密度基求解器(density based solver)的“显式”(explicit)选项,则耦合控制方程组中的每个方程都将显式线性化。与隐式选项一样,这也将导致一个方程组,其中计算域中的每个网格都有N个方程,同样,集合中的所有因变量都将立即更新。然而,这个方程组在未知的因变量中是显式的。例如,写x动量方程时,更新的x速度是场变量现有值的函数。因此,不需要线性方程求解器。相反,使用多级(Runge-Kutta)解算器更新解。在这里还可以选择使用完全近似存储(FAS)多重网格方案来加速多级求解器。

总之,密度基显式方法一次求解一个网格单元的所有变量()。

请注意,FAS多重网格是显式方法的可选组件,而AMG是压力基和密度基隐式方法的必选项。