admin管理员组

文章数量:1567522

2023年12月25日发(作者:)

9. 求解。

1. 设置求解控制参数

 离散格式对求解器性能的影响

控制方程中的扩散项一般采用中心差分格式离散,而对流项则可采用多种不同的格式进行离散4。FLUENT允许用户为对流项选择不同的离散格式(注意粘性项总是自动使用二阶精确度的离散格式)。默认情况下,当使用分离式求解器时,所有方程中的对流项均用一阶迎风格式离散;当使用祸合式求解器时,流动方程使用二阶精度格式、其他方程使用一阶精度格式进行离散。此外,当使用分离式求解器时,用户还可为压力选择插值方式。

当流动与网格对齐时,如使用四边形或六面体网格模拟层流流动,使用一阶精度离散格式是可以接受的。但当流动斜穿网格线时,一阶精度格式将产生明显的离散误差(数值扩散)。因此,对于2D三角形及3D四面体网格,注意要使用二阶精度格式,特别是对复杂流动更是如此。一般来讲,.在一阶精度格式下容易收散,但精度较差。有时,为了加快计算速度,可先在一阶精度格式下计算,然后再转到二阶精度格式下计算。如果使用二阶精度格式遇到难于收敛的情况,则可考虑改换一阶精度格式。

对于转动及有旋流的计算,在使用四边形及六面体网格时,具有三阶精度的QUICK格式可能产生比二阶精度更好的结果。但是,一般情况下,用二阶精度就已足够,即使使用QUICK格式,结果也不一定好。乘方格式(Power-law scheme)一般产生与一阶精度格式相同精度的结果。中心差分格式一般只用于大涡模拟模型,而且要求网格很细的情况。

 欠松弛因子对性能的影响

欠松弛(Under Relaxation):所谓欠松弛就是将本层次计算结果与上一层次结果的差值作适当缩减,以避免由于差值过大而引起非线性迭代过程的发散。用通用变量来写出时,为松弛因子(Relaxation Factors)。《数值传热学-214》FLUENT中的欠松弛:由于FLUENT所解方程组的非线性,我们有必要控制的变化。一般用欠松弛方法来实现控制,该方法在每一部迭代中减少了的变化量。欠松弛最简单的形式为:单元内变量等于原来的值 加上欠松弛因子a与 变化的积 分离解算器使用欠松弛来控制每一步迭代中的计算变量的更新。这就意味着使用分离解算器解的方程,包括耦合解算器所解的非耦合方程(湍流和其他标量)都会有一个相关的欠松弛因子。在FLUENT中,所有变量的默认欠松弛因子都是对大多数问题的最优值。这个值适合于很多问题,但是对于一些特殊的非线性问题(如:某些湍流或者高Rayleigh数自然对流问题),在计算开始时要慎重减小欠松弛因子。使用默认的欠松弛因子开始计算是很好的习惯。如果经过4到5步的迭代残差仍然增长,你就需要减小欠松弛因子。有时候,如果发现残差开始增加,你可以改变欠松弛因子重新计算。在欠松弛因子过大时通常会出现这种情况。最为安全的方法就是在对欠松弛因子做任何修改之前先保存数据文件,并对解的算法做几步迭代以调节到新的参数。最典型的情况是,欠松弛因子的增加会使残差有少量的增加,但是随着解的进行残差的增加又消失了。如果残差变化有几个量级你就需要考虑停止计算并回到最后保存的较好的数据文件。注意:粘性和密度的欠松弛是在每一次迭代之间的。而且,如果直接解焓方程而不是温度方程(即:对PDF计算),基于焓的温度的更新是要进行欠松弛的。要查看默认的欠松弛因子的值,你可以在解控制面板点击默认按钮。对于大多数流动,不需要修改默认欠松弛因子。但是,如果出现不稳定或者发散你就需要减小默认的欠松弛因子了,其中压力、动量、k和e的欠松弛因子默认值分别为0.2,0.5,0.5和0.5。对于SIMPLEC格式一般不需要减小压力的欠松弛因子。在密度和温度强烈耦合的问题中,如相当高的Rayleigh数的自然或混合对流流动,应该对温度和/或密度(所用的欠松弛因子小于1.0)进行欠松弛。相反,当温度和动量方程没有耦合或者耦合较弱时,流动密度

是常数,温度的欠松弛因子可以设为1.0。对于其它的标量方程,如漩涡,组分,PDF变量,对于某些问题默认的欠松弛可能过大,尤其是对于初始计算。你可以将松弛因子设为0.8以使得收敛更容易。 SIMPLE与SIMPLEC比较 在FLUENT中,可以使用标准SIMPLE算法和SIMPLEC(SIMPLE-Consistent)算法,默认是SIMPLE算法,但是对于许多问题如果使用SIMPLEC可能会得到更好的结果,尤其是可以应用增加的欠松弛迭代时,具体介绍如下: 对于相对简单的问题(如:没有附加模型激活的层流流动),其收敛性已经被压力速度耦合所限制,你通常可以用SIMPLEC算法很快得到收敛解。在SIMPLEC中,压力校正欠松弛因子通常设为1.0,它有助于收敛。但是,在有些问题中,将压力校正松弛因子增加到1.0可能会导致不稳定。对于所有的过渡流动计算,强烈推荐使用PISO算法邻近校正。它允许你使用大的时间步,而且对于动量和压力都可以使用欠松弛因子1.0。对于定常状态问题,具有邻近校正的PISO并不会比具有较好的欠松弛因子的SIMPLE或SIMPLEC好。对于具有较大扭曲网格上的定常状态和过渡计算推荐使用PISO倾斜校正。当你使用PISO邻近校正时,对所有方程都推荐使用欠松弛因子为1.0或者接近1.0。如果你只对高度扭曲的网格使用PISO倾斜校正,请设定动量和压力的欠松弛因子之和为1.0比如:压力欠松弛因子0.3,动量欠松弛因子0.7)。如果你同时使用PISO的两种校正方法,推荐参阅PISO邻近校正中所用的方法。

 设置离散格式与欠松弛因子的方法

Solve/Control/Solution

1.

1. Equations:包含当前模型所有使用的控制方程的类型列表。常出现的选项包括Flow(流动方程)、Turbulence(湍流方程)、Energy(能量方程)。要求求解过程中临时关闭某个方程,可单击该方程,让其处于非选中状态。注意,Flow方程通常包含有压力方程(连续性方程)和动量方程。当使用耦合式求解器时,Energy选项将不作为单独的方程出现,它被包含在Flow方程中。

2.

3.

4.

5.

6.

7.

8.

Under-Relaxation Factors:包含使用分离式求解器求解的所有方程的欠松弛因子的列表。用户可根据前面介绍,输入适当的值。注意,当使用耦合式求解器时,没有进入耦合方程组的方程也需要在此给定其欠松弛因子。

Discretization:该选项用于设定相关方程的离散格式。相关选项的功能如下。Pressure:包含压力插值方式的列表。该选项只在分离求解器中出现。一般可选Standard;对于高速流动,特别是含有旋转及高曲率的情况下,选择PRESTO;对于可压流动,选择Second Order;对于含有大体力的流动,选择Body Force Weighted。

Flew:包含各流动力程的离散格式列表。该项只在祸合求解器出现。可选择First Order Upwind和Second Order Upwind。

Pressure-Velocity Coupling:包含压力速度藕合方式的列表。该项只在分离式求解器中出现。可以选择SIMPLE SIMPLEC和PISO。其中,SLMPLE是FLUENT默认的方式。但多数情况下选择SIMPLEC可能更合适,主要是SIMPLEC的欠松弛特性可加速收敛。该欠松弛因子一般取1.0,但有时可能造成计算的不稳定,需要减小欠松弛因子,或者选择SIMPLE算法。PISO算法主要用于瞬态问题的模拟,特别是希望使用大的时间步长的情况。当然,在网格高度变形的情况下,也可选择PISO用于稳态计算。注意,对于LES模拟来说,因LES需要小的时间步长,因此,PISO算法并不合适。对于动量及压力方程来讲,取1.0的欠松弛因了,PISO可保持计算的稳定。

Momentum及Energy等:指定正在求解的各方程的离散格式,可按前面介绍选择First Order Upwind Second Order Upwind

Power Law或QUICK格式。

Salver Parameters:该选项组包含与祸合式求解器相关的一组参数,当使用分离式求解器时不出现该选项组。主要包括Courant Number Multigrid Levels(多重网格的层次)和Residual

Smoothing(残差平滑)。

Courant Number:设置网格的 Courant数,用于控制祸合解时的时间步长。时间步长与Courant数成正比。对于耦合显式求解器来讲,需要严格限制Courant数不要过大,FLUENT默

认为1.0,但对某些2D问题可取大一些的值,但不应超过2.0。计算一开始,可以使用0.1—0.5的值先试验,以后视收敛性加大。对于耦合隐式求解器,Courant数可取得比较大,因为隐式算法从理论上是无条件收敛的。但考虑到耦合隐式求解器中对湍流等标量方程仍采用分离式解法,因此,Courant数也不能过大。一般可取5.0。但有时用到2.0甚至1.0,也可能取得收敛的结果。用户一开始计算时可取一个小值,然后视收敛性加大。注意,对十采用AMG解法的祸合式求解器,自身可以自动减小Courant数,与计算相适应。

9.

MultigridLevels:指定通过FAS求解器对网格进行粗化的最大层数。FAS(full-approximation storage)是耦合式求解器的一个选项,它相当于一个收敛加速器。它是通过将网格按层粗化后,形成多层次的网格,然后先在粗层次上求解,再逐渐向细层次上过渡,从而达到节省内存、加速收敛的目的。这里我们是控制所形成的多层网格的层数。该值应是一个大于0的数。该值也可通过Multigrid Controls对话框设置。注意,绝对不能对分离式求解器使用多重层格。

10.

Residual Smoothing:包含控制隐式残差平滑的参数·该选项只在耦合显式求解器中出现。

11.

Default:该按钮用于将各速度场、压力场、温度场等设为由FLUENT提供的默认值。在求解之后,Default按钮变成Reset按钮。

12.

Reset:将速度场、压力场、温度场的值设置为最近保存过的值。在执行后,Reset按钮变为Default按钮。

2)设置求解限制项

Solve/Controls/Limits

可以看到绝对压力和湍流量等使用了限制值。如果计算的某个压力值小于最小绝对压力或大于最大绝对压力,求解器就会用相应的极限值取代计算值。

3) 设置监视窗口

Solver →Monitors-Residual

求解过程中,通过检查变量的残差、统计值、力、面积分和体积分,用户可以动态的监视计算的收敛性和当前的计算结果、显示或打印升力、阻力、力矩系数、表面积分计各个变量的残差。对于非稳定流,用户还可以监视时间进程。

Option选项组让用户选则如何输出监视结果。Print表示在每一轮迭代后在文本窗口中打印残差;Plot选项表示在图形窗口中绘制残差随着迭代次数的变化结果图。

Storage选项组控制残差在数据文件中(*.dat文件)中的储存。其中,Iterations文本框中的数值表示要保存多少个迭代步的残差值。

Normalization选项组对于控制残差进行规格化及缩放处理。当选中Normalize复选框后,表示要将残差值被指定的Normalization Factor除,即取相对残差值进行输出显示。默认的Normalization Factor为前5个迭代步中的相应变量的最大残差值。选中Scale复选框表示对每种变量的残差进行缩放处理,以便观察。

Potting选项组包含与残差绘制相关的参数。其中,Windows设置在哪个窗口中绘制,该文本框可以让用户将不同的结果在不同的窗口中单独保存下来。Iterations文本框表示要绘制多少个迭代步的残差。Axes选项控制残差图中坐标的属性。Curves选项控制残差曲线的属性。

Residual表示具有残差信息 的变量名称。Monitor复选框表示是否要监视所对应的变量的残差。Normalization Factor 显示对每个变量进行规格化处理时所使用的系数,当上面的Normalize复选框没有选中时,该项不出现。Check Convergence表示是否监视对应变量的收敛性。若选中该复选框,表示当每个变量满足其指定的收敛判据时,计算过程自动停止。Convergence

Criterion表示当相应变量达到该文本框中规定的值时,则认为计算已经收敛,用户还可以手工设置该值

Plot按钮表示绘制当前残差历史记录

Renorm按钮表示设置残差规格化因子为残差历史中的最大值。

4) 求解初始化

Solver →Initialize →Initialize

在开始对;流场进行求解前,用户必须向FLUENT提供对流场的解得初始猜测。

5) 保存文件( *.cas)

File →write →Case

6) **次迭代计算

Solver →Iterate

①稳态问题的求解

②非稳态问题求解

当用户在Solver对话框中,选择time为Unsteady后,则表明当前的求解对象时一个与时间相关的非稳态问题。

用户可在该对话框中,为非稳态问题设置迭代参数。其中,Time选项组包含与时问步长及对间步数相关的参数。其中,Time Step Size指时间步长人小。Number of Tune Steps是需要求解的时间步数。用户可以通过Time Stepping Method来指定时间步长是Fixed(固定的),还是Adaptive(变的)。如果选择固定时间步长,FLUENT将使用Time Step Size文本框中的值作为时间步长,如果选择时间步长可变,则FLUENT选择Time Step Site文本框中的位作为初始

的时间步一长,然后视求解过程自动对时间步长的大小进才J;调节,使其与所求解的问题相适应。

选中Data Sampling for Time Statistics复选框,FLUENT会向用户报告某些物理量在某些迭代步内的平均值及均方根值,这一迭代步间隔的起始位置是用户选择Solve/initialize/Reset

Statistics命令时的即时迭代步。

Iterate选项组包含迭代参数。其中,Max Iterations per Time Step设置在每个时间步内的最大迭代计算次数。在到达这个迭代数之前,如果收敛判据被满足,FLUENT会转至下个时间步进行计算。Reporting Interval及UDF Profile Update Interval两项与在稳态问题中的作用相同。

如果用户在Time选项组中选择了可变时间步长的方案,则会出现Adaptive Time Stepping选项组。该选项组内的参数用于决定如何自动计算每个时间步所使用的时间步长,用户一般可使用默认值。

同稳态问题的迭代计算一样,单击Iterate按钮,则开始进行迭代计算。迭代计算完成后,可调用下一节将要介绍的方法查看计算结果,还可选择File/Write/Case&Date命令,将当前定义的全部信息及汁算结果保存到案例文件(*.Gas)和data文件(* .dat)中。

为了更好地进行非稳态问题的求解,下面对非稳态问题的计算提出几点注意事项:

即使对稳态问题,也可将其按非稳态问题进行计算。特别是当稳态计算出现不稳定现象时,例如在Rayleigh数接近过渡区的自然对流问题,通过积分时间相关的方程,可达到一个稳态解。

请使用UDF功能定义任何随时间或边界位置变化的边界条件。

如果使用分离式求解器求解,最好选择PISO算法:若使用LES湍流模型,最好选择SIMPLEC或SIMPLE算法。

如果在Salver对话框的Unsteady Fomulation选项组中使用l了Explicit方式,或在Iterate对话框的Time选项组中使用了Adaptive方式,建议用户激活在文本窗口打印当前时间及时间步长的功能(通过Salve/Monitors/Statistic命令打开Statistic Monitors对话框进行设置)。

建议使用Force Monitor对话框滩过Salve/Monitors/Fare。命令打开)或Surface Monitors对话框(通过 Solve/Monitors/Surface。命令打开)来监视随时间变化的力的大小、流场变量的平均值或流量、有关函数随时间变化的情况。

用户可通过Solution Initialization对话框设置t=0时刻的初始条件,还可通过File/Read/Data命令读取稳态数据文件来设置初始条件。

用户可使用File/Write/Autosave命令下的自动保存特性,在求解过程中每隔若干次迭代后将解的数据存盘。还可在求解过程中自动执行相关命令(通过Solve/Execute Command命令激活Execute Command,对话框来设置)。

用户可通过solve/Animate/Define命令激活Solution Animation功能,自动记求流场随时间变化的动画仿真纬果,以便在计算完成后播放。

注意保存data文件(*.dat文件),以便在以后需要的时候接着进行非稳态的计算。

7) 保存文件( *dat) 。

8) 显示计算结果

本文标签: 使用计算求解