本文描述SRS模型中的各种数值算法选择与设置。数值算法主要包括空间离散算法与时间离散算法。
5.1 空间离散
5.1.1 动量方程
如前文所述,SRS模型的主要目的是在网格分辨率的极限下耗散湍流谱中的能量。涡旋粘性的定义是为了在更大的LES尺度上提供正确的耗散。这里假设数值格式都是非耗散的,且所有的耗散都是由LES模型产生。为此,需要在LES区域选择一种相对于亚格子LES模式所提供的耗散方法具有低耗散的数值格式;另一种策略是避免引入LES(亚格子)涡粘性,而是通过数值格式提供所有阻尼。这种方法被称为单调积分大涡模拟(Monotone Integrated Large Eddy Simulation,MILES)(Boris等,1992年))。在ANSYS-CFD中,采用标准的大涡模拟方法,通过大涡模型引入耗散项,并将数值耗散项保持在较低的数值范围内。
为了实现低数值耗散,不能使用RANS方程的标准对流数值格式(如Second Order Upwind Schemes,SOU),因为这些格式本质上是数值耗散的。相反,LES使用中心差分(Central Difference,CD)格式。在工业模拟中,通常使用二阶中心差分格式。然而,在具有非理想网格的复杂几何结构中,CD格式经常是不稳定的,并且会产生非物理振荡,最终会破坏求解。为了克服这一问题,CD格式的各种变种被开发出来,它们具有更大的耗散特性,但仍然比迎风格式的耗散要小得多,一个例子是Jasak等(1999)的有界中心差分(Bounded Central Difference,BCD)格式。
CD格式可以成功地用于最优网格(通常是具有低歪斜的六面体网格)上的简单流动的大涡模拟(WM),如槽道或管道流等。对于更复杂的几何形状,ELES允许将LES区域缩小到一个有限的区域,并在该区域内使用高质量的网格,在这种情况下,可以在LES部分内使用CD格式,同时对计算域中的RANS部分使用标准的迎风格式。
对于全局模型(如SAS或DDES/SDES/SBES),模型中涉及到RANS和LES部分,但它们之间没有明确定义的界面,大多数情况下需要使用BCD格式,该格式可以以可接受的精度处理RANS和LES区域。
在ANSYS Fluent中使用ELES时,可以手动在RANS和LES区域(例如Cokljat等,2009)之间切换数值格式。
在ANSYS CFX中,SAS和DDES/SDES/SBES模型默认采用相同的数值格式,该格式根据流动状态,使用Strelets(2001)提出的开关函数,在二阶迎风和CD格式之间显式切换。此切换算法相对复杂,建议采用代码中也可用的不太复杂的BCD格式。在ANSYS CFX中,BCD格式有一个附加参数,允许数值格式从BCD到CD连续变化。该参数称为“CDS Bound”。CDS Bound=1时仅使用BCD格式,CDS Bound=0时仅使用CD格式。
5.1.2 湍流方程
湍流模型对流项的空间离散在SRS模型中并不重要,因为模型主要由源项决定。因此,对于这些方程一阶迎风格式(First Order Upwind)是足够的,但也可以使用二阶迎风格式(Second Order Upwind)。对于SBES模型,在复杂网格具有二阶湍流数值格式上观察到了存在数值问题,因此建议使用一阶数值格式,注意这对计算精度几乎没有影响,因为RANS区域通常对此切换不敏感。在LES区域,两方程模型无论如何都会被LES模型所覆盖。
5.1.3 梯度离散
在高质量的六面体网格上,梯度离散方法的选择与SRS并没有太大的相关性。对于歪斜较大的网格或多面体网格,一般建议使用Least Square method(LSM)。对于SAS模型,通常应该使用LSM或Green-Gauss Node Based(GGNB)。后者允许对初始不稳定性稍高的敏感性。
5.1.4 压力离散
SRS对压力插值相对较为敏感。验证研究表明,PRESTO!格式比其他格式的耗散性更强,除非出于其他原因需要,否则应避免使用。对于验证研究,通常使用标准压力插值。
5.2 时间离散
5.2.1 时间积分
时间积分常采用二阶后向欧拉格式(Second Order Backward Euler),此算法已被证明具有足够的准确性,且适用于广泛的应用场景。对于湍流变量和其他正变量,使用有界二阶隐式Euler格式(Bounded Second Order Implicit Euler),此格式在CFX中为默认选项,而在Fluent中需要手动选择。
应选择合适的时间步长以确保计算域的 LES 部分实现 的 Courant 数。
对于具有高拉伸因子的复杂几何形状和网格,CFL数的定义并不总是非常可靠(例如,如果流动通过高度拉伸的单元格区域)。在这种情况下,可以根据要解析的剪切层的物理尺寸进行估计。如果需要N个立方体网格来解析剪切层(假设跨过厚度的混合层需要的网格数N=15-20)并且要达到一定的CFL数,则需要的时间步长为:
考虑到与RANS湍流长度尺度成正比,因此该估计课可进一步简化为:
式中,。这意味着可以在前置RANS 模拟上估计时间步长。
还可以通过评估流体通过计算区域的时间来进行更全面的估计。这是流体以速度U通过长度为L的LES区域所需的时间。通过估计沿该轨迹将通过多少个网格单元N,可以得到。
5.2.2 时间推进及亚松弛
在Fluent中有多种不同的时间推进方法。首先选择的是迭代(ITA)和非迭代时间推进(NITA)。NITA适用于高质量网格以及方程之间物理耦合有限的流动。这只是一个一般性的指导原则;应该检查NITA是否有任何新的应用程序,因为它可以显著节省CPU。在NITA中,建议使用fractional step方法,但在评估时间步长时必须非常谨慎和保守。尝试在CFL>1的情况下执行仿真可能会导致错误的解决方案。此外,应确保所有方程的残差降至0.0001。
对于ITA方案(除NITA以外的所有方案),分离解算器通常比耦合解算器更快。在大多数情况下,最佳选择是SIMPLEC方案。此方案的默认欠松弛参数设置用于稳态模拟。对于SRS模型模拟,应将其更改为尽可能接近1的值,以提高迭代收敛性。通常,SIMPLEC所需的内部迭代循环的数量取决于流动问题的复杂性。最关键的物理量量是质量守恒。每一个时间步质量残差应至少减少一个数量级。由于具有高度的欠松弛和良好的网格质量,即使只有两个内部迭代,也可以获得良好的计算结果。
耦合解算器在每次迭代中速度较慢,但拥有更稳健的收敛性,对于复杂情况可能更有利。对于耦合解算器,通常也会指定松弛值为(或接近)1。内循环的数量通常为。在ANSYS CFX中,耦合解算器用于所有模拟。
对于具有附加物理模型(多相流、燃烧等)的流动,对于所有求解器,每个时间步的内部迭代次数可能都需要增加。
需要强调的是,最优欠松弛因子和最优内迭代次数取决于具体的应用场景。可能需要进行一些优化才能获得最有效的结果。
本文译自《Best Practice: Scale-Resolving Simulations in ANSYS CFD》
原文作者:F.R. Menter”
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册