文档库 最新最全的文档下载
当前位置:文档库 › fluent解算器的使用63

fluent解算器的使用63

fluent解算器的使用63
fluent解算器的使用63

使用求解器

本章介绍FLUENT求解器的结构以及使用方法。

目录

数值格式概况

离散

分离解

耦合解

求解器的使用概况

离散差分格式的选择

选择压力速度耦合方法

设定松弛因子

改变Courant数

Turning On FAS Multigrid

设定解的限制

解的初始化

计算

监视解的收敛性

计算期间命令的执行

收敛性与稳定性

数值格式概况

FLUENT提供两种数值求解方法:分离解法("FLUENT/UNS")和耦合解法("RAMPANT")。

Fluent的两种解法都可以解守恒型积分方程,其中包括动量、能量、质量以及其他标量如湍流和化学组分的守恒。在两种情况下都应用了控制体技术,它包括:

使用计算网格对流体区域进行划分

对控制方程在控制区域内进行积分以建立代数方程,这些代数方程中包括各种相关的离散变量如:速度、压力、温度以及其他的守恒标量

离散方程的线化以及获取线性方程结果以更新相关变量的值

两种数值方法采用相似的离散过程——有限体积,但线化的方法以及离散方程的解法是不同的。首先我们在离散解法与耦合解法中讨论一般的解法,然后讨论一下线性显式与隐式中的线化方法

分离解方法

分离求解器原来是FLUENT 4和FLUENT/UNS所用的算法。使用该方法,控制方程是分离解出的(即:一个一个的解)。因为控制方程是非线性的(还是耦合的),所以在得到收敛解之前,必须进行迭代。下面是对每步迭代的介绍:

1. 在当前解的基础上,更新流体属性(如果计算刚刚开始,流体的属性用初始解来更新)

2. 为了更新流场,u,v和w的动量方程用当前压力和表面质量流量按顺序解出。

3. 因为第一步得到的速度可能在局部不满足连续性方程,所以从连续性方程和线化动量方

程推导出压力校正的泊松方程。然后解出压力校正方程获取压力和速度场以及表面质量流量的必要校正从而满足连续性方程。

4. 在适当的地方,用前面更新的其它变量的数值解出湍流、能量、组分与及辐射等标量。

5. 当包含相间耦合时,可以用离散相轨迹计算来更新连续相的源项。

6. 检查设定的方程的收敛性。

直到满足收敛判据才会结束上述步骤。

Figure 1: 分离求解器方法概述

耦合解方法

耦合求解器原来用于RAMPANT。该方法同时解连续性、动量、能量以及组分输运的控制方程(即:耦合在一起)。然后分离解方法中的分离求解器程序解附加的标量控制方程(即:和耦合方程是分离的)。因为控制方程式非线性的和耦合的,所以在获取收敛解之前需要进行适当的解循环的迭代。组成每一步迭代的步骤见上图,现概括如下:

1. 在当前解的基础上更新流体属性(如果刚刚开始计算则用初始解来更新)。

2. 同时解连续性、动量、能量和组分输运方程。

3. 在适当的地方,用前面更新的其它变量的数值解出如湍流和及辐射等标量。

4. 当包含相间耦合时,可以用离散相轨迹计算来更新连续相的源项。

5. 检查设定的方程的收敛性。

直到满足收敛判据才会结束上述步骤。

Figure 1: 耦合解方法概述

线化:隐式和显式的比较

在分离和耦合解方法中,离散,非线性控制方程被线化为每一个计算单元中相关变量的方程组。然后用线化方程组的解来更新流场。

控制方程的线化形式可能包括关于相关变量的隐式或显式形式。隐式和显式的意义如下:

●隐式:对于给定变量,单元内的未知值用邻近单元的已知和未知值计算得出。因此,每

一个未知值会在不止一个方程中出现,这些方程必须同时解来给出未知量。

●显示:对于给定变量,每一个单元内的未知量用只包含已知量的关系式计算得到。因此

未知量只在一个方程中出现,而且每一个单元内的未知量的方程只需解一次就可以给出未知量的值。

在分离求解器中,每一个离散控制方程都是该方程的相关变量的隐式线化。从而区域内每一个单元只有一个方程,这些方程组成一个方程组。因为每一个单元只有一个方程,所以常常会被称为标量系统方程。点隐式(高斯-塞德尔)线化方程求解器和代数多重网格方法(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 的积分形式的方程:

???+??Γ=?V dV S dA dA v φφφρφ

其中

r = 密度

v = 速度矢量(= u ,i(hat) + v ,j(hat) in 2D)

A = 曲面面积矢量

G_f = f 的扩散系数

?f = f 的梯度 (= (秄/?x) ,i(hat) + (秄/?y) ,j(hat) in 2D)

S_f = 每一单位体积f 的源项

上面的方程被应用于区域内每一个控制体积或者单元。下面图中的二维三角单元就是控制体积的一个例子。在给定单元内离散上面的方程有:

()∑∑+?Γ=faces faces

N f f n N f f f f V S A A v φφφφ

where

N_faces

= 封闭单元的面的个数 f_f =

通过表面f 的对流量 v_f =

通过表面的质量流量 A_f =

表面φ的面积,|A| (= | A_x i(hat) + A_y j(hat) | in 2D)

(?f)_n = magnitude of ?f normal to face f

V = 单元体积

由FLUENT 所解的方程和上面所给出的一般形式相同,而且很容易扩展到多维情况和友人以多边形、多面体组成的非结构网格。

Figure 1: 用于显示标量输运方程离散的控制体积

FLUENT 在单元的中心(上图的c0和c1)存贮标量f 的离散值。然而,方程3的对流项中需要表面值f_f ,因此必须从单元中心插值。这个任务由迎风格式完成。

迎风的意思就是,表面值f_f 是从单元上游或者说迎风处的量推导出来的,这个上游是指相对于方程3法向速度v_n 的方向而言的,FLUENT 允许你选择几种迎风格式:一阶迎风,二阶迎风,幂率和QUICK 格式。这些格式在一阶迎风格式一节中介绍[95]。

方程3中的扩散项是中心差分而且一般具有二阶精度。

一阶迎风格式

当需要一阶精度时,我们假定描述单元内变量平均值的单元中心变量就是整个单元内各个变量的值,而且单元表面的量等于单元内的量。因此,当选择一阶迎风格式时,表面值f_f 被设定等于迎风单元的单元中心值。

幂率格式

幂率离散格式使用一维对流扩散方程的精确解来插值变量f 在表面处的值。

()x

x u x ??Γ??=??φφρ 其中G 和r u 是通过间隔?x 的常值。积分方程1可得如下f 随x 的变化关系:

()()1

exp 1exp 00--??? ??=--εεφφφφP L x P x L 其中:

f_0 = f|_x=0

f_L = f|_x=L

Pe 是Peclet 数。

Γ=uL

P ρε

下图所示为不同Pelect 数下f(x)在x=0和x=L 之间的变化关系。该图表明对于较大的Pe ,f 在x=L/2处的值近似等于迎风值。这就意味着当流动由对流项主导时,只需要让变量表面处的值等于迎风或者上游值就可以完成插值。这是FLUENT 的标准一阶格式。

Figure 1: 变量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 :

S f ???+=φφφ

其中f 和?f 分别是单元中心值和迎风单元的梯度值,Ds 是从迎风单元中心到表面中心的位移矢量。在这种情况下需要确定每个单元内的梯度?f 。我们使用散度定理来计算这个梯度,其离散格式如下:

∑=?faces N f f A V φφ1

在这里,表面处的值f _f 由邻近表面的两个单元的f 的平均值来计算。最后,限制梯度?f 以保证不会引进新的最大值和最小值。

QUICK 格式

对于四边形和六面体网格,我们可以确定它们唯一的上游和下游表面以及单元。

FLUENT 还提供了计算对流变量φ在表面处高阶值的QUICK 格式。QUICK 类型的格式[95]是通过变量的二阶迎风与中心插值加上适当的权因子得到的,具体可以写成:

()???

???+-++-+??????+++=W c u c P c u c u E d c d P d c d e S S S S S S S S S S S S S φφθφφθφ21

Figure 1: 一维控制体

在上式中φq=1就是中心二阶插值,φq=0就是二阶迎风值。

传统的QUICK 格式对应的φq= 1/8。FLUENT 中使用一个变量,解相关的q 值,以避免引进新的解的极值。

当结构网格和流动方向一致时,QUICK 格式明显具有较高精度。需要注意的是FLUENT 也允许对非结构网格或者混合网格使用QUICK 格式,在这种情况下,常用的二阶迎风离散格式将被用于非六面体单元表面或者非四边形单元表面。当使用并行求解器时,二阶迎风格式还被用于划分的边界处。

离散方程的线化形式

离散标量输运方程(离散一节中的方程3)包括了单元中心的标量f 的未知值,还包括周围相邻单元出的未知值。一般说来这些方程关于这些变量是非线性的。离散一节中方程3的线化形式为:

∑+=nb

nb nb P b a a φφ

其中下标nb 是指相邻单元,a_p 和a_nb 分别是f 和f_nb.的线化系数。

每一个单元的邻近单元的数量取决于网格的拓扑结构,但是一般说来都等于围成该单元的表面的数量(边界单元除外)。

在网格中每一个单元都可以写出相似的方程。这样就产生了具有稀疏系数矩阵的代数方程。对于标量方程,FLUENT 是用点隐式(Gauss-Seidel )线化方程求解器与代数多重网格方法(AMG )连接起来从而解出这个线性系统。

亚松驰

由于FLUENT 所解方程组的非线性,我们有必要控制φ的变化。一般用亚松驰方法来实现控制,该方法在每一部迭代中减少了f 的变化量。亚松驰最简单的形式为:单元内变量f 等于原来的值f_old 加上亚松驰因子a 与f 变化的积:

φαφφ?+=old

分离求解器

在本节中,我们主要介绍了几个练习,这几个练习和动量方程和连续性方程的离散以及通过分离求解器计算出相应的解有关。通过考虑定常状态的连续性和动量方程一般形式可以和容易介绍这几个练习:

0=??dA v ρ

????+?+?=?V

FdV dA dA pI dA vv τρ 其中I 是单位矩阵,t 是应力张量,F 是力矢。

动量方程的离散

标量输运方程的离散中所讨论的离散格式也用于离散动量方程。例如,设定f=u 可以很容易得到x 向动量方程:

S A p u a u a f nb

nb nb P +?+=∑∑ι?

如果已知压力场和表面质量通量,我们就可以用离散一节所介绍的方法来解方程1并获取一个速度场。但是,压力场和表面质量流率预先是未知的,因此必须作为解的一部分。关于压力的存储和压力梯度项的离散有重要的问题需要讨论,下一步我们就会讨论这些问题。

FLUENT 使用共同定位格式,在这种情况下,压力和速度共同存储在单元中心。然而,如离散一节的图1所示,方程1需要单元c0和c1之间的表面处的压力值。因此,我们需要使用插值格式来从单元处压力值计算表面压力值。

压力插值格式

在默认的情况下,FLUENT 使用动量方程系数[132]来处理表面处的压力插值。只要单元中心的压力变化比较光滑,这个程序都可以算得很好。当控制体之间的动量源项有跳跃或者较大的梯度时,在单元表面处的压力轮廓会有较大的梯度,此时不可以用这种格式来插值。如果还是用这种格式,就会出现单元速度过大和过小的矛盾。

标准压力插值格式有问题的流动包括:具有大体积力的流动,如强烈的漩流、高Rayleigh 数自然对流等。在这种情况下,有必要在大梯度区域处理网格从而能够较好的分辨压力的变化。

FLUENT 的另一个误差源就是假定壁面法向压力梯度为零。这种假定对于边界层是有

效的,但是对于出现体积力或者曲率的情况就不合适了。此外,压力梯度计算最明显的错误就是速度矢量指向或者指出壁面。

当标准压力插值格式不可用时,FLUENT 提供了几种可选的方法:

● 线性格式用相邻单元压力的平均值来计算表面压力。

● 二阶格式用二阶精度对流项(见二阶迎风格式一节)中使用的方法来重建表面压力。这

一格式可能会比标准和线性格式有所改善,但是如果将其用于初始计算和/或较差网格计算就可能会出现一些麻烦。

● 体积力加权格式假定压力和体积力之间差值梯度为常数来计算表面压力。如果动量方程

中的体积力预先知道(如:浮力和轴对称涡流的计算),那么这一格式会处理得很好。 ● PRESTO! (PREssure STaggering Option)格式使用离散连续性平衡来计算交错压力的表

面处的交错体积。这一程序和非结构网格中[118]使用的交错网格格式的思想相似。 注意:PRESTO!格式只用于四边形或者六面体网格。

当使用这些可选格式时,推荐大家参阅一下选择压力插值格式一节。

连续性方程的离散

分离求解器中的方程1可以在离散一节中的图1所示的控制体上积分,从而得到如下离散方程:

0=∑faces

N f f J

其中J_f 是通过表面f, r v_n A_f 的质量流速。因此:

0=∑faces

N f f n A v ρ

如数值格式概述一节所述,动量方程和连续性方程式按顺序解出的。在这个顺序格式中,连续性方程是作为压力的方程使用的。但是对于不可压流动,压力并没有明确出现在方程3中,这是因为密度并不是直接和压力相关。SIMPLE (Semi-Implicit Method for Pressure-Linked Equations)的一组算法[118]将压力引进连续性方程。具体可以参阅SIMPLE 一节。

为了将来能够继续下去,有必要将速度的表面值v_n 和速度在单元的中心的存储值关联起来。单元中心速度到表面的线性插值会导致压力的非物理校验板(checker-boarding )。FLUENT 用Rhie 和Chow[132]概述的相似程序来避免校验板。速度v_n 的表面值不是线性平均而是动量权重平均,这个权重因子是基于动量方程离散一节中的方程1的a_P 系数的。采用这种程序,表面流动速度J_f 可以写成:

()1

0?c c f f f p p d J J -+= 其中,p_c0和p_c1是表面两边单元的压力,J(hat)_f 包含了这些单元中速度的影响(见离散一节中的图1)。d_f 向可以写成:

P a A d f

f 2

ρ=

a(bar)_P 项是表面两边单元中动量方程a_P 系数的平均。

压力-速度耦合

使用连续性方程的离散一节中的方程5来实现压力速度耦合,从而从离散连续性方程(连续性方程离散一节中的方程3)推导出一个压力方程。FLUENT 提供了三种可选的压力速度耦合算法:SIMPLE ,SIMPLEC 和PISO 。关于这些算法的选择请参阅选择压力速度耦合方法一节。

SIMPLE

SIMPLE 算法使用压力和速度之间的相互校正关系来强制质量守恒并获取压力场。

如果用猜测压力场p^*来解动量方程,从连续性方程离散一节中的方程5所得到的表面流量J^*_f 为:

()*1*0**

?c c f f f p p d J J -+=

它并不满足连续性方程。因此将校正项J^'_f 加入到表面流速J^*_f 中来校正质量流速J_f :

f f f J J J '+=*

此时满足了连续性方程。SIMPLE 假定J^'_f 写成如下形式:

()10c c

f f p p d J '-'=' 其中p^'是单元压力校正。

SIMPLE 算法将流量校正方程(方程3和5)代入到离散连续性方程(连续性方程的离散一节中的方程3)从而得到单元内压力校正p^'的离散方程。

∑+'='nb

nb

nb P b p a p a 其中,源项b 是流入单元的净流速。

∑=faces

N f f J

b *

压力校正方程(方程7)可以用代数多重网格一节中所介绍的代数多重网格方法来解。一旦得到解,使用下面的方程校正单元压力和表面流动速度:

p p p p '+=α*

()10*

c c f f f p p

d J J '-'+=

在这里,a_p 是压力亚松驰因子(请参阅亚松驰方面的介绍)。校正后的表面流速J_f 在每一部迭代中同一地满足离散连续性方程。

SIMPLEC

基本SIMPLE 算法的很多变量都可以在相关文献资料中查到。除了SIMPLE 算法之外,FLUENT 还提供了SIMPLEC (SIMPLE-Consistent )算法[164]。SIMPLE 算法是默认的,但是对于很多问题如果使用SIMPLEC 可能会更好一些,具体可以参阅SIMPLE 与SIMPLEC 的比较一节。

SIMPLEC 程序和SIMPLE 程序相似。两种算法所使用的表达式唯一的区别就是表面流动速度校正项。和SIMPLE 中一样,校正方程可写为:

()10*

c c f f f p p

d J J '-'+=

但是系数d_f 重新定义为:

??

? ??-=∑nb nb f f a ap A d 2ρ

可以看出,在压力速度耦合是得到解的主要因素时,使用修改后的校正方程可以加速收敛。

PISO

压力隐式分裂算子(PISO)的压力速度耦合格式是SIMPLE 算法族的一部分,它是基于压力速度校正之间的高度近似关系的一种算法。SIMPLE 和SIMPLEC 算法的一个限制就是在压力校正方程解出之后新的速度值和相应的流量不满足动量平衡。因此必须重复计算直至平衡得到满足。为了提高该计算的效率,PISO 算法执行了两个附加的校正:相邻校正和偏斜校正。

PISO 算法的主要思想就是将压力校正方程[69]中解的阶段中的SIMPLE 和SIMPLEC 算法所需的重复计算移除。经过一个或更多的附加PISO 循环,校正的速度会更接近满足连续性和动量方程。这一迭代过程被称为动量校正或者邻近校正。PISO 算法在每个迭代中要花费稍多的CPU 时间但是极大的减少了达到收敛所需要的迭代次数,尤其是对于过渡问题,这一优点更为明显。

对于具有一些倾斜度的网格,单元表面质量流量校正和邻近单元压力校正差值之间的关系是相当简略的。因为沿着单元表面的压力校正梯度的分量开始是未知的,所以需要进行一个和上面所述的PISO 邻近校正中相似的迭代步骤[51]。初始化压力校正方程的解之后,重新计算压力校正梯度然后用重新计算出来的值更新质量流量校正。这个被称为偏斜矫正的过程极大的减少了计算高度扭曲网格所遇到的收敛性困难。PISO 偏斜校正可以使我们在基本相同的迭代步中,从高度偏斜的网格上得到和更为正交的网格上不相上下的解。

多相流中强体积力的特定处理

当多项流中存在较大的体积力(如:重力或者表面张力),动量方程中的体积力项和压力梯度项几乎是平衡的,相比较来说,对流项和粘性项的贡献就较小了。除非考虑压力梯度和体积力的局部平衡,否则分离算法的收敛性会很差。FLUENT 提供了一种可选的隐式体积力处理,这种处理考虑了上面所说的影响从而使得解更具有鲁棒性。

基本的程序是将包含体积力的校正项增加到表面流动校正方程中(SIMPLE 中的方程

13)。这样,SIMPLE 中的方程9就多了一个额外的体积力校正项,从而使得流动在迭代过程中提早得到真实的压力场。

这一选项只在多项流计算中使用,但是在默认情况下是关闭的。设定多相流计算的说明中包括了打开隐式体积力处理的说明,具体可以在以下几节中找到相关说明:在VOF 计算中包括体积力,在气穴计算中包括体积力,在代数滑移混合计算中包括体积力。

除此之外,通过使用体积力的亚松驰因子,FLUENT 允许你控制体积力中的变化。

耦合求解器

FLUENT 中的耦合求解器同时解连续性、动量、(合适的话)能量和组分输运,并将它们作为一组控制方程或者方程的矢量来处理。随后会按顺序解附加标量的控制方程(也就是说这些附加标量方程相互之间是分离的而且和耦合方程组之间是分离的)。

矢量形式的控制方程

将曲面面积微分dA 作为控制体积,积分描述平均流动属性的单组分流体的控制方程系统,相应的笛卡尔坐标形式为:

[]???=?-+??V V

HdV dA G F WdV t 其中,矢量W ,F 和G 分别定义为:

??????????????????=E w v u W ρρρρρ,??????????????????++++=pv vE k p vw j p vv i p vu v F ρρρρρ ??,????

??????????????+=q v G j ij zi yi xi ττττ0 矢量H 包含了诸如体积力、能量等源项。

在这里,r 、v 、E 和p 分别是流体的密度、速度、单位质量的总能量以及压力。T 是粘性应力张量,q 是热流量。

总能量E 和总焓H 的关系为:

ρp H E -=

其中:

22v h H +=

在方程1中所表示的Navier-Stokes 方程在低马赫数下会非常具有刚性,这主要是因为流体速度v 和声速c 相差太大。对于不可压流来说这种情况尤其真实,不管流动速度有多大,不可压流体中的声速都是无穷大。在这些情况下,方程的数值刚性会导致较差的收敛速度。在FLUENT 中,我们采用耦合求解器中的一种被称为(时间导数)预处理[175]的方法克服了这种困难。

预处理

时间导数预处理方法,是用预处理矩阵先乘以矢量形式控制方程中方程1的时间导数项。这一步就重新标度了所解方程系统的声速(特征值),从而减轻了低马赫数和不可压流动中会遇到的数值刚性的影响。

推导预处理矩阵,首先是用微分学中的一个法则(具体看方程就知道了)将守恒量W 在控制方程的方程1的因变量形式变形为原始变量Q 的形式,结果如下:

[]???=?-+????V V HdV dA G F QdV t

Q W 其中,Q 是矢量{p, u, v, w, T }^T ,雅克比(Jacobian )矩阵?W/?Q 为:

??????????????????+=??p p p

p p p C TH w v u H

Tw w Tv v Tu u T Q W ρρρρρρρρρρρρρρρρρ0000000

00 其中: T p p ??=ρρ,p

T T ??=ρρ 对于理想气体d = 1,对于不可压流体d = 0。

选择原始变量Q 作为因变量有几个原因。首先,解不可压流动时它是自然的选择。其次,当我们使用二阶精度时,为了得到粘性流动中更高精度的速度和温度梯度以及无粘流动的压力梯度,我们需要重建Q 而不是W 。最后,选择压力作为因变量允许系统中的声波的传播被挑选出来[165]。

我们用预处理矩阵G 来替换雅克比矩阵?W/?Q (方程3)来实现方程的预处理,这样,预处理系统的守恒形式为: []???=?-+??ΓV V

HdV dA G F QdV t 其中:

??????????????????+ΘΘΘΘΘ=Γp C TH w v u

H Tw w Tv v Tu u T ρρρρρρρρρρρρ0000

00000 参数Θ为:

???

? ??-=Θp r C T U ρρ21 方程9中的参考速度U_r 在当地选取,从而保证系统的特征值关于对流和耗散时间尺度能够调节的很好[175]。

预处理之后的方程系统(方程5)的特征值为:

c u c u u u u '-''+',,,, 其中: ()Q A F F F L R σ?2

121Γ-+= 在这里,d Q 是空间差分Q_R - Q_L 。流量F_R = F(Q_R)和F_L = F(Q_L)是用表面“右边”

和“左边”的(重建解)矢量Q_R 和Q_L 计算出来的。矩阵|A(hat)|定义为:

1?-Λ=M M A

其中L 是特征值的对角阵,M 是G^-1A 对角化的模式矩阵,其中A 是无粘流量Jacobian 矩阵?F/?Q 。

对于非预处理系统(和理想气体),方程13化简为在Roe 平均用于估计G,|A(hat)|时的Roe 流量差分分裂[133]。目前所使用的是Q_R 和Q_L 的平均。

在当前形式中,方程13可以看成二阶中心差分加上附加的矩阵耗散。附加的矩阵耗散项不仅对对流变量迎风的产生和超音速流动的压力和流量速度有作用,而且还提供了定常状态的压力速度耦合,并对低速和不可压流的稳定性和高效收敛有作用。

定常流的时间步进法

FLUENT 中耦合控制方程组(预处理中的方程5)在时间上的离散既可以用于定常计算也可以用于非定常计算。在定常情况下,进行时间步进计算直至达到定常解。耦合方程可以用隐式也可以用显式时间步进来进行时间离散。这两种算法在下面的显式和隐式格式两节中介绍。

显式格式

在显式格式中,预处理的方程5是用多步,时间步进算法[73]来离散时间导数的。从第n 步迭代到第n+1步迭代是用m 步Runge-Kutta 格式来提高解的,m 步Runge-Kutta 格式为: ()()()VH A Q G Q F R faces N i

i i -?-=∑ 时间步D t 是从CFL (Courant-Friedrichs-Lewy )条件计算得到的

max λx

CFL t ?=?

其中l_max 是预处理一节中方程11定义的局部特征值的最大值。

使用全近似多重网格方法(FAS )可以加快显示格式的收敛速度,关于FAS 请参阅后面将要介绍的内容。

通过与相邻残差的隐式平均增加格式的支持可以在后面的计算中增加最大时间步长。残差通过Laplacian 光滑算子进行过滤,其中Laplacian 光滑算子为:

()∑-+=i j i i R R R R ε

该方程可以用下面的Jacobi 迭代解出:

∑∑++=-111εεm j i m i R R R i (译者注:分母为什么这样写?)

对于e=0.5,两次Jacobi 迭代就足可以允许时间步增加一倍。

隐式格式

在显式格式中,控制方程(预处理一节中的方程5)的时间Euler 隐式离散和流量的牛顿类型线化界和得到下面delta 形式的线化系统[174]:

n n N j k j R Q

S D faces -=???

????++∑1, 中心D 和对角线下面的系数矩阵S_j,k 分别为:

∑+Γ?=faces N j i j S t

V D , ???

? ????-??=k j k j k j Q G Q F S , 残差矢量R^n 和时间步D 分别在显式格式中的方程1和方程3中定义。

方程1是用点Gauss-Seidel 格式和适应耦合的一组方程的代数多重网格方法解出的。

非定常流的时间离散

对于时间精度计算,可以使用显式和隐式时间步进格式。(隐式方法也被称为双重时间步进法)

显式时间步进

在显式时间步进方法中,使用显式格式一节所介绍的方法,在区域的每一个单元内使用相同的时间步,取消预处理选项。

双重时间步进

为了得到预处理方程的高效的,时间精度解,我们采用双重时间步进法和多步格式。在这里我们在矢量形式的控制方程的方程1中引入伪时间导数:

[]????=?-+??Γ+??V

V V HdV dA G F QdV WdV t τ 其中t 是物理时间,t 是时间步进程序中的伪时间。注意:方程1左手边的第二项t??消失了,而重新获得了矢量形式控制方程中的方程1。

方程1中的时间相关项是用一阶或者二阶精度后向时间差分进行隐式离散的。写成半隐式形式如下:

0=+b A e φ

其中f_e 是精确解。在解收敛之前可能会有一个和近似解f 有关的误差d :

d b A =+φ

我们寻找一个校正f 的y ,这样,精确解由下式给出:

?φφ+=e

将方程7代入到方程3中有:

()0=++b A ?φ

()0=++b A A φ?

现在,使用方程5和方程9可以得到:

0=+d A ?

这是根据初始细化层面算子A 和误差d 的校正方程。假如局部(高频)误差在精细层面已经充分消除,就可以在下一个较粗糙的层面光滑校正y 并更有效的解决问题。

限制和延拓

在粗化层面解校正方程需要将精细层面(限制)的误差转移过来,还需要计算校正方程,然后再将校正结果从粗化网格层面(延拓)传回来。粗化层面校正y^H 可以写为: 0=+Rd A H H ?

其中A^H 是粗化层面算子,R 是限制算字,负责将精细层面的误差传到粗化层面。根据更新之后的精细层面解可以给出方程1的解为:

H new P ?φφ+=

其中P 是延拓算子,用于将粗化层面的校正传给细化层面。

非结构多重网格

在非结构网格中使用多重网格的主要困难在于粗化网格的创建和使用。在结构网格中,可以通过简单的从精细网格中移去每隔一个的网格线来得到粗化网格而且限制和延拓算子很容易用公式表示出来(如:注入和双线性插值)。

FLUENT 中使用两种多重网格方法分开的方式克服了在非结构网格上应用多重网格的困难。迄今为止所讨论的基本原则和多重网格循环一节中讨论的循环策略是相同的,限制、延拓和粗化网格算子的建构技巧是不同的,具体在代数多重网格(AMG )和全近似存储(FAS )多重网格两节中分别讨论了AMG 和FAS 方法。

译者注:

多重网格法基本原理

微分方程的误差分量可以分为两大类,一类是频率变化较缓慢的低频分量;另一类是频率高,摆动快的高频分量。一般的迭代方法可以迅速地将摆动误差衰减,但对那些低频分量,迭代法的效果不是很显著。高频分量和低频分量是相对的,与网格尺度有关,在细网格上被视为低频的分量,在粗网格上可能为高频分量。

多重网格方法作为一种快速计算方法,迭代求解由偏微分方程组离散以后组成的代数方程组,其基本原理在于一定的网格最容易消除波长与网格步长相对应的误差分量。该方法采用不同尺度的网格,不同疏密的网格消除不同波长的误差分量,首先在细网格上采用迭代法,

当收敛速度变缓慢时暗示误差已经光滑,则转移到较粗的网格上消除与该层网格上相对应的较易消除的那些误差分量,这样逐层进行下去直到消除各种误差分量,再逐层返回到细网格上。

目前两层网格方法从理论上已证明是收敛的,并且其收敛速度与网格尺度无关[哈克布思,1988]。多重网格法是迭代法与粗网格修正的组合,经过证明,迭代法可迅速地将那些高频分量去掉,粗网格修正则可以帮助消除那些光滑了的低频分量,而对那些高频分量基本不起作用。

在多重网格计算中,需要一些媒介把细网格上的信息传递到粗网格上去,同时还需要一些媒介把粗网格上的信息传递到细网格上去。限制算子I ih(i-1)h是把细网格i-1层上的残余限制到粗网格i层上的算子,最简单的算子是平凡单射,另外还有特殊加权限制;插值算子I ih(i-1)h是把粗网格i层上的结果插值到细网格i-1层上的算子,一般采用线性插值或完全加权限制算子。

需要说明的是在多重网格迭代方法中,粗网格修正之前,细网格必须进行光滑迭代,以消除高频误差,使粗网格修正最有效地发挥其作用;在粗网格修正之后,不可避免的引入高频误差,所以也必须进行光滑迭代,不过高频误差能很快的通过光滑迭代消除。

Multigrid Cycles

多重网格循环可以定义为在每一个网格层面通过网格层次时在网格层面内应用的递归程序。FLUENT中有四种多重网格循环:V,W,F以及灵活("flex")循环。V和W循环可以用在AMG和FAS中,F和灵活循环只限用于AMG方法。(W和灵活AMG循环由于要花费大量的计算而不可用于解耦合方程组。)

The V and W Cycles

下面两个图分别是V和W多重网格循环(定义如下)。在每一个图中,多重网格循环被描述为正方形,然后被扩展来表示循环内执行的个别步骤。当你读下面的步骤时,你可能想要遵循图中所描述的步骤。

Figure 1: V循环多重网格

Figure 2: W循环多重网格

对于V和W循环,各个层面的转换由三个参数控制:b_1,b_2和b_3:

1. b_1“滤波”(有时称为预松弛扫描),在当前网格层面进行滤波减少误差(当地误差)的高频部分。

在图1和2中,这一步被描述为一个循环,并标记了多重网格循环的起点。误差的高频分量必须减小直至所剩下的误差在下一个较粗糙的网格中没有明显的混淆现象。

如果这是最粗糙的网格层面,在这个层面的多重网格循环就结束了(在图1和2中有3个粗糙网格层,所以描述层面3多重网格循环的四边形等价于每一个图中最后一个图表的循环)

注意:在AMG方法中b_1的默认值是0(即:没有预松弛)。

2. 接着就是用适当的限制算子将问题限制映射到下一个粗糙网格层面。

在图1和2中,从精细网格限制映射到较粗糙网格层面用向下的斜线来表示。

3. 通过执行b_2多重网格循环可以减少粗化网格的误差(在图1和2中用四边形表示)。通常说来,对于固定的多重网格策略,b_2是1或者2,分别对应V循环和W循环多重网格。

4. 然后,使用适当的延拓算子,在粗化网格上积累的校正用内插替换返回到精细网格并加到精细网格解中。

在图1和2中,延拓算子用斜向上的线来表示。

现在在精细网格层面上出现了高频误差,这个误差是由于延拓程序使用传递矫正而造成的。

5. 在最后一步,执行b_3光滑(后松弛)来去掉b_2网格循环在粗糙网格中引进的高频误差。

在图1和2中,松弛程序用一个三角形表示。

注意:在FAS方法中,在这一步中使用显式格式中的拉普拉斯光滑算子,校正又会被进行光滑处理,b_3的默认值是零(也就是说,不进行这种光滑处理);在最精细的网格层面的循环结束处从来不进行b_3光滑。

代数多重网格(AMG)

我们将会看到,这一算法之所以被称为代数多重网格格式,主要是因为粗糙层面方程的生成不需要在粗糙层使用任何几何图形或者重新离散;这一功能使得在使用非结构网格时AMG尤其有用。优点在于:不必创建或者存储粗糙网格,而且不需要在粗糙层面估计任何流量或者源项。这一方法和FAS (有时被称为几何学的)多重网格方法形成鲜明对比,在FAS方法中需要网格的层级,和每一个层面的离散方程。。从理论上说,FAS优于AMG方法的地方在于,对于非线性问题前者可以做得更好,这是因为系统的非线性可以通过重新离散传到粗糙层面;当使用AMG时,一旦系统被线化,直到细化层面算子被更新,求解器才会“感觉到”非线性。

AMG限制和延拓算子

这里所使用的限制和延拓算子是基于附加校正(AC)策略的,结构网格的附加校正是由Hutchinson和Raithby[68]描述的。层间的传递是用分段线性插值和延拓完成的。任何粗化层面单元的缺点由细化层面包含的缺点的总和给出的,通过注入粗化层面的值来获取细化层面的校正。在这种方式中,延拓算子由限制算子的转置给出。

T

P

R

限制算子是用细化层面单元粗化或者分组到粗化层面单元来定义。在这个过程中,每一个细化层面的单元用一个或者更多的最强相邻网格来分组,对当前未分组的相邻网格优先选择。这个算法尝试将单元集中到成组的固定尺寸中,一般是二或者四组,但是可以指定任何数。在分组的前后关系中,最强是指当前单元i 的相邻单元j 的系数A_ij 是最大的。对于成组的耦合方程,A_ij 是一个块矩阵,它的大小的度量被简单的看成第一个单元的大小。除此之外,对于给定单元的一组耦合方程被一起处理,而且在不同的粗糙单元中不再划分。这样,就对系统中的每一个方程产生了相同的粗化。

AMG 粗糙层面算子

使用Galerkin 方法来建构粗化层面算子A^H 。在这里,当转移到粗化层面时,与细化层面解有关的缺陷必须消除。因此我们可以写出:

0=new Rd

在双重时间步中的方程5和限制和延拓中的方程3的基础上替换d^new 和f^new 可以得到: ()0=+b A R new φ

()[]

0=++b P A R H ?φ

现在重新整理和使用双重时间步一节中的方程5有: ()0=++b A R RAP H φ?

0=+Rd RAP H ?

比较限制和延拓一节中的方程1和方程5可以得到下面的粗化层面算子的表达式: RAP A H =

因此,粗化层面算子的建构减少到所有精细层面单元的对角线与组中的相应对角线下面的块之和来形成该组粗化单元的对角线块。

F 循环

多重网格F 循环本质上是V 和W 循环的结合。

多重网格循环是一个递归程序,该程序通过在当前层面完成单一网格循环来扩展到下一个粗糙网格层面。参阅V 和W 循环一节中的图1中的V 和W 循环以及图2中的V 和W 循环我们可以看出,F 循环就是用0-1层循环(每一个图中的第二个图表)程序来替换当前层(描述单一循环)的方块。可以看出,V 循环包括:

smooth prolongate Vcycle restrict smooth 31ββ→→→→

W 循环包括:

smooth prolongate Wcycle Wcycle restrict smooth 31ββ→→→→→

F 循环则是用W 循环之后进行V 循环来构成:

smooth prolongate Vcycle Wcycle restrict smooth 31ββ→→→→→

学习fluent(流体常识及软件计算参数设置)

luent 中一些问题 ( 目录 ) 离散化的目的 计算区域的离散及通常使用的网格 控制方程的离散及其方法 各种离散化方法的区别 8 9 10在GAMBIT 中显示的“check 主要通过哪几种来判断其网格的质量?及其在做网格时大 致注意到哪些细节? 11 在两个面的交界线上如果出现网格间距不同的情况时,即两块网格不连续时,怎么样克 服这种情况呢? 12在设置GAMBIT 边界层类型时需要注意的几个问题: a 、没有定义的边界线如何处理? b 、计算域内的内部边界如何处理( 2D )? 13 为何在划分网格后,还要指定边界类型和区域类型?常用的边界类型和区域类型有哪 些? 14 20 何为流体区域( fluid zone )和固体区域( solid zone )?为什么要使用区域的概念? FLUENT 是怎样使用区域的? 15 21 如何监视 FLUENT 的计算结果?如何判断计算是否收敛?在 FLUENT 中收敛准则是 如何定义的?分析计算收敛性的各控制参数,并说明如何选择和设置这些 参数?解决不收1 如何入门 2 CFD 2.1 2.2 2. 3 2.4 2.5 2.6 计算中涉及到的流体及流动的基本概念和术语 理想流体( Ideal Fluid )和粘性流体( Viscous Fluid ) 牛顿流体( Newtonian Fluid )和非牛顿流体( non-Newtonian Fluid ) 可压缩流体 ( Compressible Fluid )和不可压缩流体( Incompressible Fluid ) 层流( Laminar Flow )和湍流( Turbulent Flow ) 定常流动( Steady Flow )和非定常流动( Unsteady Flow ) 亚音 速流动 (Subsonic) 与超音速流动( Supersonic ) 热传导( Heat Transfer )及扩散 ( Diffusion ) 2.7 3 在数值模拟过程中,离散化的目的是什么?如何对计算区域进行离散化?离散化时通常 使用哪些网格?如何对控制方程进行离散?离散化常用的方法有哪些?它们有 什么不 同? 3.1 3.2 3.3 3.4 4 常见离散格式的性能的对比(稳定性、精度和经济性) 5 流场数值计算的目的是什么?主要方法有哪些?其基本思路是什么?各自的适用范围是 什 么? 6 可压缩流动和不可压缩流动,在数值解法上各有何特点?为何不可压缩流动在求解时反 而比 可压缩流动有更多的困难? 6.1 可压缩 Euler 及 Navier-Stokes 方程数值解 6.2 不可压缩 Navier-Stokes 方程求解 什么叫边界条件?有何物理意义?它与初始条件有什么关系? 在数值计算中,偏微分方程的 双曲型方程、椭圆型方程、抛物型方程有什么区别? 在网格生成技术中,什么叫贴体坐标 系?什么叫网格独立解?

FLUENT中的求解器、算法和离散方法

FLUENT中的求解器、算法和离散方法 作为一个非科班出身的CFD工程师,一开始常常被CFD软件里各种概念搞的晕头转向。最近终于静下心来看了看CFD理论的书,理清了一些概念。就此写一遍博文,顺便整理一下所学内容。 I 求解器: FLUENT中求解器的选择在如下图所示界面中设置: FLUENT中的求解器主要是按照是否联立求解各控制方程来区分的,详见下图:

II 算法: 算法是求解时的策略,即按照什么样的方式和步骤进行求解。FLUENT中算法的选择在如下图所示的界面中设置:

这里简单介绍一下SIMPLE、SIMPLEC、PISO等算法的基本思想和适用范围。 SIMPLE算法:基本思想如前面讲求解器的那张图中解释分离式求解器的例子所示的一样,这里再贴一遍: 1.假设初始压力场分布。 2.利用压力场求解动量方程,得到速度场。 3.利用速度场求解连续性方程,使压力场得到修正。 4.根据需要,求解湍流方程及其他方程 5.判断但前计算是否收敛。若不收敛,返回第二步。 简单说来,SIMPLE算法就是分两步走:第一步预测,第二步修正,即预测-修正。 SIMPLC算法:是对SIMPLE算法的一种改进,其计算步骤与SIMPLE算法相同,只是压力修正项中的一些系数不同,可以加快迭代过程的收敛。 PISO算法:比SIMPLE算法增加了一个修正步,即分三步:第一步预测,第二步修正得到一个修正的场分布,第三步在第二步基础上在进行一侧修正。即预测-修正-修正。PISO算法在求解瞬态问题时有明显优势。对于稳态问题可能SIMPLE 或SIMPLEC更合适。 如果你实在不知道该如何选择,就保持FLUENT的默认选项好了。因为默认选项可以很好解决70%以上的问题,而且对于大部分出了问题的计算来说,也很少是因为算法选择不恰当所致。 III 离散方法: 离散方法是指按照什么样的方式将控制方程在网格节点离散,即将偏微分格式的控制方程转化为各节点上的代数方程组。FLUENT中离散方法的选择在如下图所示的界面中设置:

fluent学习笔记

fluent技术基础与应用实例 4.2.2 fluent数值模拟步骤简介 主要步骤: 1、根据实际问题选择2D或3Dfluent求解器从而进行数值模拟。 2、导入网格(File→Read→Case,然后选择有gambit导出的.msh文件) 3、检查网格(Grid→Check)。如果网格最小体积为负值,就要重新 进行网格划分。 4、选择计算模型。 5、确定流体物理性质(Define→Material)。 6、定义操作环境(Define→operating condition) 7、制定边界条件(Define→Boundary Conditions) 8、求解方法的设置及其控制。 9、流场初始化(Solve→Initialize) 10、迭代求解(Solve→Iterate) 11、检查结果。 12、保存结果,后处理等。 具体操作步骤: 1、fluent2d或3d求解器的选择。 2、网格的相关操作 (1)、读入网格文件 (2)、检查网格文件 文件读入后,一定要对网格进行检查。上述的操作可以得到网格信息,从中看出几何区域的大小。另外从minimum volume 可以知道最小网格的体积,若是它的值大于零,网格可以用于计算,否则就要重新划 分网格。 (3)、设置计算区域 在gambit中画出的图形是没有单位的,它是一个纯数量的模型。故 在进行实际计算的时候,要根据实际将模型放大或缩小。方法是改变fluent总求解器的单位。 (4)、显示网格。 Display→Grid 3、选择计算模型

(1)、基本求解器的定义 Define→Models→Solver Fluent中提供了三种求解方法: ·非耦合求解 segregated ·耦合隐式求解 coupled implicit ·耦合显示求解 coupled explicit 非耦合求解方法主要用于不可压缩流体或者压缩性不强的流体。 耦合求解方法用在高速可压缩流体 fluent默认设置是非耦合求解方法,但对于高速可压缩流动,有强的体积力(浮力或离心力)的流动,求解问题时网格要比较密集,建 议采用耦合隐式求解方法。耦合能量和动量方程,可以较快的得到收敛值。耦合隐式求解的短板:运行所需要的存比较大。若果必须要耦合求解而机器存不够用,可以考虑采用耦合显示求解方法。盖求解方法也耦合了动量,能量和组分方程,但是存却比隐式求解方法要小。 需要指出的是,非耦合求解器的一些模型在耦合求解器里并不一定都有。耦合求解器里没有的模型包括:多相流模型、混合分数/PDF燃烧模型、预混燃烧模型。污染物生成模型、相变模型、Rosseland辐射模型、确定质量流率的周期性流动模型和周期性换热模型。 %%%有点重复,但是可以看看加深理解 Fluent提供三种不同的求解方法;分离解、隐式耦合解、显示耦合解。分理解和耦合解的主要区别在于:连续方程、动量方程、能量方程和 组分方程解的步骤不同。 分离解按照顺序解,耦合解是同时解。两种解法都是最后解附加的标量方程。隐式解和显示解的区别在于线性耦合方程的方式不同。 Fluent默认使用分离求解器,但是对于高速可压流动,强体积力导致 的强烈耦合流动(流体流动耦合流体换热耦合流体的混合,三者相互耦合的过程—文档整理者注)(浮力或者旋转力),或者在非常精细的网格上的流动,需要考虑隐式解。这一解法耦合了流动和能量方程, 收敛很快。%%% (2)、其他求解器的选择 在实际问题中,除了要计算流场,有时还要计算温度场或者浓度场等,因此还需要其他的模型。主要的模型有: Multiphase(多相流动)viscous(层流或湍流)energy(是否考虑传热)species(反应及其传热相关) (3)操作环境的设置 Define→operation→condition

学习fluent (流体常识及软件计算参数设置)

luent中一些问题----(目录) 1 如何入门 2 CFD计算中涉及到的流体及流动的基本概念和术语 2.1 理想流体(Ideal Fluid)和粘性流体(Viscous Fluid) 2.2 牛顿流体(Newtonian Fluid)和非牛顿流体(non-Newtonian Fluid) 2.3 可压缩流体(Compressible Fluid)和不可压缩流体(Incompressible Fluid) 2.4 层流(Laminar Flow)和湍流(Turbulent Flow) 2.5 定常流动(Steady Flow)和非定常流动(Unsteady Flow) 2.6 亚音速流动(Subsonic)与超音速流动(Supersonic) 2.7 热传导(Heat Transfer)及扩散(Diffusion) 3 在数值模拟过程中,离散化的目的是什么?如何对计算区域进行离散化?离散化时通常使用哪些网格?如何对控制方程进行离散?离散化常用的方法有哪些?它们有什么不 同? 3.1 离散化的目的 3.2 计算区域的离散及通常使用的网格 3.3 控制方程的离散及其方法 3.4 各种离散化方法的区别 4 常见离散格式的性能的对比(稳定性、精度和经济性) 5 流场数值计算的目的是什么?主要方法有哪些?其基本思路是什么?各自的适用范围是什么? 6 可压缩流动和不可压缩流动,在数值解法上各有何特点?为何不可压缩流动在求解时反而比可压缩流动有更多的困难? 6.1 可压缩Euler及Navier-Stokes方程数值解 6.2 不可压缩Navier-Stokes方程求解 7 什么叫边界条件?有何物理意义?它与初始条件有什么关系? 8 在数值计算中,偏微分方程的双曲型方程、椭圆型方程、抛物型方程有什么区别? 9 在网格生成技术中,什么叫贴体坐标系?什么叫网格独立解? 10 在GAMBIT中显示的“check”主要通过哪几种来判断其网格的质量?及其在做网格时大致注意到哪些细节? 11 在两个面的交界线上如果出现网格间距不同的情况时,即两块网格不连续时,怎么样克服这种情况呢? 12 在设置GAMBIT边界层类型时需要注意的几个问题:a、没有定义的边界线如何处理? b、计算域内的内部边界如何处理(2D)? 13 为何在划分网格后,还要指定边界类型和区域类型?常用的边界类型和区域类型有哪些? 14 20 何为流体区域(fluid zone)和固体区域(solid zone)?为什么要使用区域的概念?FLUENT是怎样使用区域的? 15 21 如何监视FLUENT的计算结果?如何判断计算是否收敛?在FLUENT中收敛准则是如何定义的?分析计算收敛性的各控制参数,并说明如何选择和设置这些参数?解决不收

利用FLUENT 3D求解器求解

利用FLUENT 3D求解器求解 一、在FLUENT中读入网格文件,检查网格并定义长度单位 1、启动FLUENT,进入3D模式 操作:开始→程序→FLUENT→3d→Run,进入FLUENT。 2、读入网格文件 操作:File→Read→Case,选择在Gambit中绘制的网格文件.msh文件,点击OK完成数据读入。 3、调整网格尺寸比例 操作:Grid→Scale 打开“Scale Grid”对话框 (1)在Units Conversion 下的Grid Was Created In 右侧列表中选择合适的单位如:cm (在gambit中一般是以m为单位,要转化成fluent对应的单位cm); (2)点击Change length Units: 此时左侧的Scale Factors下的X,Y,Z项都变为0.01。 (3)点击下边的Scale按钮:此时,Domain Extents下的单位由m变成cm;并给出区域的范围; (4)点击Close关闭对话框。 4、检查网格 操作:Grid→Check Fluent会对网格进行各种检查并在信息反馈窗口显示检查过程和结果,其中要注意保持最小体积为正值。 5、显示网格 操作:Display→Grid 打开网格显示对话框后,点击Display。 注意:用鼠标右键点击边界线,则在信息反馈窗口内将显示此边界的类型等信息。也可用此方法检查任何内部节点和网格线的信息。 二、创建计算模型 1、设置求解器 操作:Define→Models→Solver (1)在Solver项选择Segregated; (2)在Formulation项选择Implicit; (3)在Space项选择3D; (4)在Time项选择Unsteady; (5)Velocity Formulation,Unsteady Formulation保持默认值; (6)点击OK。 2、定义多相流模型 操作:Define→Models→Multiphase (1)在Model项选择Volume of Fluid; (2)在Number of Phase下选2; (3)在VOF Scheme项选择Geo-Reconstruct,Courant Number保持默认值; (fluent6.3.26里边VOF Scheme选expicity。) 在Body Force Formulation项选择Implicit Body Force; (4)点击OK。 3 、设置标准的k﹣ε湍流模型 操作:Define→Models→Viscous

FLUENT中求解方法的区别与选择

FLUENT中求解方法的区别与选择 2012-02-11 12:08:37| 分类:数值模拟|字号订阅 1.非耦合求解( Segregated );2.耦合隐式求解( Coupled Implicit );3.耦合显式求 解( Coupled Explicit ) 非耦合求解方法主要用于不可压缩或压缩性不强的流体流动。耦合求解则可以用在高速可压缩流动。FLUENT默认设置是非耦合求解,但对于高速可压流动,有强的体积力(浮力或离心力)的流动,求解问题时网格要比较密,建议采用耦合隐式求解方法,可以耦合求解能量和动量方程,能比较快地得到收敛解。缺点是需要的内存比较大(是非耦合求解迭代时间的1.5-2倍)。如果必须要耦合求解,但是你的机器内存不够,这时候可以考虑用耦合显式解法器求解问题。该解法器也耦合了动量,能量及组分方程,但内存却比隐式求解方法小。缺点是收敛时间比较长。 这里需要指出的是非耦合求解的一些模型在耦合求解解法器里并不都有。耦合解法器没有的模型包括:多相流模型,混合分数/PDF燃烧模型,预混燃烧模型,污染物生成模型,相变模型,Rosseland辐射模型,确定质量流率的周期性流动模型及周期性换热模型等。 隐式( Implicit ):对于给定变量,单元内的未知值用邻近单元的已知和未知值计算得出。因此,每一个未知值会在不止一个方程中出现,这些方程必须同时解来给出未知量。 显式( Explicit ):对于给定变量,每一个单元内的未知量用只包含已知量的关系式计算得到。因此未知量只在一个方程中出现,而且每一个单元内的未知量的方程只需解一次就可以给出未知量的值。 一阶迎风格式( First Order Upwind ):当需要一阶精度时,我们假定描述单元内变量平均值的单元中心变量就是整个单元内各个变量的值,而且单元表面的量等于单元内的量。因此,当选择一阶迎风格式时,表面值被设定等于迎风单元的单元中心值。 二阶迎风格式( Second Order Upwind ):当需要二阶精度时,使用多维线性重建方法来计算单元表面处的值。在这种方法中,通过单元中心解在单元中心处的泰勒展开来实现单元表面的二阶精度值。因此,当使用二阶迎风格式时,用下面的方程来计算表面值; QUICK格式:对于四边形和六面体网格,我们可以确定它们唯一的上游和下游表面以及单元。FLUENT还提供了计算对流变量在表面处高阶值的QUICK格式。QUICK类型的格式是通过变量的二阶迎风与中心插值加上适当的权因子得到的; 亚松驰( Under-Relaxation ):由于FLUENT所解方程组的非线性,我们有必要控制的变化。一般用亚松驰方法来实现控制,该方法在每一部迭代中减少了f的变化量。亚松驰最简单的形式为:单元内变量f等于原来的值f_old加上亚松驰因子a与f变化的积. SIMPLE:SIMPLE算法使用压力和速度之间的相互校正关系来强制质量守恒并获取压力场。

辐射和对流模型Fluent参数设置

辐射和对流模型Fluent参数设置 1.读入***.mesh文件,并对网格文件进行进行检查,Grid→cheek,主要看最小体积和最小面积不能为负,之后进行刻度转换,Grid→scale,在Gmbit 里面建模默认尺寸为米,与实际尺寸之间要进行转化,如下图: 2.选择求解器,Define→Models→sover……根据情况选择,如上图:接着选择辐射模型,Define→Models→Radiation,如下图,当Radiation Model面板上 点击ok时,会出现一个信息提示框,告诉你新 的材料物性被添加了,你将在后面设置物性参 数,因此现在只需单击ok确认这个信息即可, 如下图: 注意:当你激活辐射模型后,Fluent会自动打开能量求解器,如下图: 不用再Define→Models→Energy……

3.设置流体粘性,由于模型中空气流速比较大,设成双方程模型:如下图: 4.设置操作条件,此模型此有流体,属有重力情况,Define→Operating Conditions,选中 Gravity.Y方向加速度设置为-9.8 2 m,击OK确定。 /s 设置工作温度,在后面要激活的Boussinesq model要用到,(Boussinesq model:

考虑温度变化而忽略压强变化引起的密度变化叫做Boussinesq 假设) 5. 定义材料并设置其物理属性 Define →Material …… 先定义空气物性,要定义成有浮力的,取Boussinesq 选项。 Density=1.1653/m kg ,()k kg j C p ?=/1005 Thermal Conductivity=0.0267()k m w ?/,Material Type :fluid ; Thermal Expansion Coefficient =0.0033()k /1。 通过滚动条使先前面板中不可见的物性显示出来。在Scattering Coefficient 和Scattering Phase Function 中保持默认值,在要解决的问题中不涉及到散射问题;设定热扩散系数(用boussinesq 模型时)为1e-5K -1。单击Change/Create ,关闭Materials 面板。 6.设置边界条件Define → Boundary Conditions ……

Fluent经典问题及解答

Fluent经典问题及解答 1 对于刚接触到FLUENT新手来说,面对铺天盖地的学习资料和令人难读的FLUENT help,如何学习才能在最短的时间内入门并掌握基本学习方法呢?(#61) 2 CFD计算中涉及到的流体及流动的基本概念和术语:理想流体和粘性流体;牛顿流体和非牛顿流体;可压缩流体和不可压缩流体;层流和湍流;定常流动和非定常流动;亚音速与超音速流动;热传导和扩散等。(13楼) 3 在数值模拟过程中,离散化的目的是什么?如何对计算区域进行离散化?离散化时通常使用哪些网格?如何对控制方程进行离散?离散化常用的方法有哪些?它们有什么不同?(#80) 4 常见离散格式的性能的对比(稳定性、精度和经济性)(#62) 5 在利用有限体积法建立离散方程时,必须遵守哪几个基本原则?(#81) 6 流场数值计算的目的是什么?主要方法有哪些?其基本思路是什么?各自的适用范围是什么?(#130) 7 可压缩流动和不可压缩流动,在数值解法上各有何特点?为何不可压缩流动在求解时反而比可压缩流动有更多的困难?(#55) 8 什么叫边界条件?有何物理意义?它与初始条件有什么关系?(#56) 9 在一个物理问题的多个边界上,如何协调各边界上的不同边界条件?在边界条件的组合问题上,有什么原则? 10 在数值计算中,偏微分方程的双曲型方程、椭圆型方程、抛物型方程有什么区别?(#143) 11 在网格生成技术中,什么叫贴体坐标系?什么叫网格独立解?(#35) 12 在GAMBIT的foreground和background中,真实体和虚实体、实操作和虚操作四个之间是什么关系? 13 在GAMBIT中显示的“check”主要通过哪几种来判断其网格的质量?及其在做网格时大致注意到哪些细节?(#38) 14 画网格时,网格类型和网格方法如何配合使用?各种方法有什么样的应用范围及做网格时需注意的问题?(#169) 15 对于自己的模型,大多数人有这样的想法:我的模型如何来画网格?用什么样的方法最简单?这样做网格到底对不对?(#154) 16 在两个面的交界线上如果出现网格间距不同的情况时,即两块网格不连续时,怎么样克服这种情况呢?(#40) 17 依据实体在GAMBIT建模之前简化时,必须遵循哪几个原则?(#170) 18 在设置GAMBIT边界层类型时需要注意的几个问题:a、没有定义的边界线如何处理?b、计算域内的内部边界如何处理(2D)?(#128) 19 为何在划分网格后,还要指定边界类型和区域类型?常用的边界类型和区域类型有哪些?(#127) 20 何为流体区域(fluid zone)和固体区域(solid zone)?为什么要使用区域的概念?FLUENT是怎样使用区域的?(#41) 21 如何监视FLUENT的计算结果?如何判断计算是否收敛?在FLUENT中收敛准则是如何定义的?分析计算收敛性的各控制参数,并说明如何选择和设置这些参数?解决不收敛问题通常的几个解决方法是什么?(9楼) 22 什么叫松弛因子?松弛因子对计算结果有什么样的影响?它对计算的收敛情况又有什么样的影响?(7楼)

Fluent求解参数设置

求解参数设置(Solution Methods/Solution Controls): 在设置完计算模型和边界条件后,即可开始求解计算了,因为常会出现求解不收敛或者收敛速度很慢的情况,所以就要根据具体的模型制定具体的求解策略,主要通过修改求解参数来完成。在求解参数中主要设置求解的控制方程、选择压力速度耦合方法、松弛因子、离散格式等。 在VOF模型中,PISO比较适合于不复杂的流体,SIMPLE和SIMPLEC适合于可压缩的流体或者处于封闭域中的流体。 ? 求解的控制方程: 在求解参数设置中,可以选择所需要求 解的控制方程。可选择的方程包括Flow(流动方 程)、Turbulence(湍流方程)、Energy(能量方 程)、Volume Fraction(体积分数方程)等。在 求解过程中,有时为了得到收敛的解,先关闭 一些方程,等一些简单的方程收敛后,再开启 复杂的方程一起计算。 ? 选择压力速度耦合方法: 在基于压力求解器中,FLUENT提供了压 力速度耦合的4种方法,即SIMPLE、 SIMPLEC(SIMPLE.Consistent)、PISO以及 Coupled。定常状态计算一般使用SIMPLE或者 SIMPLEC方法,对于过渡计算推荐使用PISO方 法。PISO方法还可以用于高度倾斜网格的定常 状态计算和过渡计算。需要注意的是压力速度 耦合只用于分离求解器,在耦合求解器中不可 以使用。 在FLUENT中,可以使用标准SIMPLE算法和SIMPLEC算法,默认是SIMPLE算法,但对于许多问题如果使用SIMPLEC可能会得到更好的结果,尤其是可以应用增加的亚松弛迭代时。 对于相对简单的问题(如没有附加模型激活的层流流动),其收敛性可以被压力速度耦合所限制,用户通常可以使用SIMPLEC算法很快得到收敛解。在SIMPLEC算法中,压力校正亚松弛因子通常设为1.0,它有助于收敛,但是,在有些问题中,将压力校正松弛因子增加到1.0可能会导致流动不稳定,对于这种情况,则需要使用更为保守的亚松弛或者使用SIMPLE算法。对于包含湍流或附加物理模型的复杂流动,只要用压力速度耦合做限制,SIMPLEC就会提高收敛性,它通常是一种限制收敛性的附加模拟参数,在这种情况下,SIMPLE和SIMPLEC 会给出相似的收敛速度。 对于所有的过渡流动计算,推荐使用PISO算法邻近校正。它允许用户使用大的时间步,而且对于动量和压力都可以使用亚松弛因子1.0。对于定常状态问题,具有邻近校正的PISO并不会比具有较好的亚松弛因子的SIMPLE或SIMPLEC好。对于具有较大扭曲网格上的定常状态和过渡计算推荐使用PISO倾斜校正。 当使用PISO邻近校正时,对所有方程都推荐使用亚松弛因子为1.0或者接近1.0。如果只对高度扭曲的网格使用PISO倾斜校正,则要设定动量和压力的亚松弛因子之和为1.0(例如,压力亚松弛因子0.3,动量亚松弛因子0.7)。

FLUENT知识点解读(良心出品必属精品)

一、基本设置 1.Double Precision的选择 启动设置如图,这里着重说说Double Precision(双精度)复选框,对于大多数情况,单精度求解器已能很好的满足精度要求,且计算量小,这里我们选择单精度。然而对于以下一些特定的问题,使用双精度求解器可能更有利[1]。 a.几何特征包含某些极端的尺度(如非常长且窄的管道),单精度求解器可能不能足够精确地表达各尺度方向的节点信息。 b.如果几何模型包含多个通过小直径管道相互连接的体,而某一个区域的压力特别大(因为用户只能设定一个总体的参考压力位置),此时,双精度求解器可能更能体现压差带来的流动(如渐缩渐扩管的无粘与可压缩流动模拟)。 c.对于某些高导热系数比或高宽纵比的网格,使用单精度求解器可能会遇到收敛性不佳或精确度不足不足的问题,此时,使用双精度求解器可能会有所帮助。 [1] 李鹏飞,徐敏义,王飞飞.精通CFD工程仿真与案例实战:FLUENT GAMBIT ICEM CFD Tecplot[M]. 北京,人民邮电出版社,2011:114-116

2.网格光顺化 用光滑和交换的方式改善网格:通过Mesh下的Smooth/Swap来实现,可用来提高网格质量,一般用于三角形或四边形网格,不过质量提高的效果一般般,影响较小,网格质量的提高主要还是在网格生成软件里面实现,所以这里不再用光滑和交换的方式改善网格,其原理可参考《FLUENT全攻略》(已下载)。 3.Pressure-based与Density-based 求解器设置如图。下面说一说Pressure-based和Density-based 的区别: Pressure-Based Solver是Fluent的优势,它是基于压力法的求解器,使用的是压力修正算法,求解的控制方程是标量形式的,擅长求解不可压缩流动,对于可压流动也可以求解;Fluent 6.3以前的版本求解器,只有Segregated Solver和Coupled Solver,其实也是Pressure-Based Solver的两种处理方法;

详细FLUENT实例讲座翼型计算

详细FLUENT实例讲座翼型计算 部门: xxx 时间: xxx 整理范文,仅供参考,可下载自行编辑

CAE联盟论坛精品讲座系列 详细FLUENT实例讲座-翼型计算 主讲人:流沙 CAE联盟论坛总版主 1.1 问题描述 翼型升阻力计算是CFD最常规的应用之一。本例计算的翼型为 RAE2822,其几何参数可以查看翼型数据库。本例计算在来流速度0.75马赫,攻角3.19°情况下,翼型的升阻系数及流场分布,并将计算结果与实验数据进行对比。模型示意图如图1所示。 b5E2RGbCAP 1.p ng(12.13 K>2018/7/29 23:41:251.2 FLUENT前处理设置Step 1:导入计算模型 以3D,双精度方式启动FLUENT14.5。 利用菜单【File】>【Read】>【Mesh…】,在弹出的文件选择对话框中选择网格文件rae2822_coarse.msh,点击OK按钮选择文件。如图2所示。p1EanqFDPw

点击FLUENT模型树按钮General,在右侧设置面板中点击按钮Display…,在弹出的设置对话框中保持默认设置,点击Display按钮,显示网格。如图3所示。DXDiTa9E3d 2.png(11.51 K>2018/7/29 23:41:25

3.png(33.41 K>2018/7/29 23:41:253-2.png(52.04 K>2018/7/29 23:41:25Step 2:检查网格 采用如图4所示步骤进行网格的检查与显示。点击FLUENT模型树节点General节点,在右侧面板中通过按钮Scale…、Check及 Report Quality实现网格检查。 4.png(12. 10 K>RTCrpUDGiT2018/7/29 23:41:25点击按钮Check,在命令输出按钮出现如图5所示网格统计信息。从图中可以看出,网格尺寸分布: x轴:-48.97~50m

求解器的使用

求解器的使用 FLUENT提供了三种不同的求解器 Segregated,coupled implicit,coupled explicit(显式格式主要用于激波等波动解的捕捉问题) 传统上,分离解法(segregated)主要用于不可压缩以及适度压缩的流动中。相反,耦合算法是为高速可压流体设计的。 默认情况下,fluent使用分离求解器。对于高速可压流体,与很强的体积力高度耦合的流动,或者是在非常精确的网格上求解流动情况,可以考虑使用耦合隐式算法代替。 对于需要使用耦合隐式算法(coupled implicit)的case,如果电脑没有足够的内存,可以使用分离解法(segregated)或者耦合显式算法(coupled explicit)代替。(显示算法节约内存,但是需要更多的计算步数达到收敛。) 选择离散格式 1.一阶迎风格式v.s. 二阶迎风格式 当流动与网格匹配(校准)时,一阶迎风格式是可以接受的。对于三角形和四面体网格,由于流动不会与网格匹配,通常使用二阶离散格式会得到更准确的结果。对于四边形/六面体网格,使用二阶离散格式会取得更好的结果,尤其是复杂的流动情况。对于大多数情况,可以在计算初始,使用二阶的离散格式。然而在一些情况下,可以开始使用一阶的离散格式然后在一些计算之后转变为二阶格式。例如,如果正在运行一个高马赫数的流动计算,这个的初始解与期望的解相差很大,最终,如果二阶离散格式很难收敛,应该尝试使用一阶离散格式。 2.Quick格式v.s. Upwind(Quick格式适用于网络结构,流动方向与网格一致,对于非结 构网格推荐使用二阶迎风) 对于在四边形或者六面体网格中的旋转或者回旋流,Quick离散格相比于二阶离散格式可以提供更准确的结果。对于存在震动的可压缩流动(网格为四边形,六面体或者混合网格),推荐对所有的变量使用Quick离散格式,包括密度。 3.中心差分格式v.s. 迎风格式 当使用LES湍流模型时,是可以使用中心差分格式的,并且只有当网格间距足够好,以至于局部的Peclet数的大小小于1时才可以使用。 4.power法则(power law)v.s. 迎风 power法则是可以使用的,但是总体上产生与一阶格式相同的准确度 选择压力离散格式 当使用分离式求解器时(segregated),可以使用多种压力离散格式。在大多数情况下,(默认的)标准的格式是可以接受的,但是一些类型的模型会在其他格式中取得更好的结果:对于包含大的体积力的问题,推荐使用体积力重量(body-force-weighted)格式。 对于包含高的漩涡数,高瑞利数的自然对流,高速的旋转流动,包含多孔介质的流动,在高度弯曲区域中的流动,使用PRESTO!格式 对于可压流,应使用二阶格式 当其他格式并不合适时,使用二阶格式以提高准确性。 选择密度离散格式(求解一个单相可压流动) 如果计算一个含有震动的可压流动时,一阶迎风格式可以平滑震动;对于这样的流动,应该使用二阶迎风或者Quick格式

fluent求解器

Model slover slover:求解器 Pressuere based: 基于压力 Density based:基于密度 Formulation:算法 implicit: 隐式算法 explicit:显式算法 space:选择空间属性 2D:二维空间 Axisymmetric:轴对称空间 Axisymmetric swirl:轴对称旋转空间 3D:三维空间 time:时间 steady:稳态 unsteady:非稳态 (~~~~~~~~~~~~~~~~~) velocity formulation:速度属性 absolute:绝对速度 relative:相对速度 Gradient option:梯度选项 Green-Gauss Cell-Based:格林-高斯基于单元体-默认方法;解有伪扩散(求解域的拖尾现象)。伪扩散是指在平流扩散方程数值解中因平流项有限差分的截断误差引起的虚假扩散。这是解方程欧拉型模式所特有的。其大小与所用的有限差分格式有关,有时甚至完全掩盖方程中其他扩散项的作用。为克服伪扩散,须采取特殊的技术措施和各种不同的差分格式。 Green-Gauss Node-Based:格林-高斯基于节点-更精确;最小化伪扩散;推荐用在三角网格上。 least-quares cell based:基于单元体的最小二乘法插值。推荐用于多面体网格,与基于节点的格林-高斯格式具有相同的 精度和格式。 porous formulation:选择多孔算法 superficial velocity:表面速度算法 physical velocity:物理速度算法 Multiphase Model:多相流模型 Volume of Fluid:VOF模型 Mixture:混合模型 Eulerian:欧拉模型 Energy:能量方程

FLUENT系列资料5之蒸汽喷射器内的传热模拟

蒸汽喷射器内的传热模拟 问题描述: 该问题为一个蒸汽喷射器的内部流动和热量交换问题。左侧进入的工作蒸汽12245Pa,下侧进入的引射流体压力为1360.5Pa,右侧出口的压力为6802.5Pa。该问题中所说的压力皆为相对压力,蒸汽皆为饱和水蒸汽。喷射器的结构如图1所示。 图1 喷射器结构图 在本例中将利用FLUENT-2D的非耦合、隐式求解器,针对在喷射器内的定常流动进行求解。在求解过程忠,还会利用FLUENT的网格优化功能对网格进行优化,使所得到的解更加可信。 本例涉及到: 一、利用GAMBIT建立喷射器计算模型 (1)在CAD中画出喷射器的图形 (2)将CAD图形输出为*.sat的文件格式 (3)用GAMBIT读入上面输出的*.sat文件 (4)对各条边定义网格节点的分布,在面上创建网格 (5)定义边界内型 (6)为FLUENT5/6输出网格文件 二、利用FLUENT-2D求解器进行求解 (1)读入网格文件 (2)确定长度单位:MM (3)确定流体材料及其物理属性 (4)确定边界类型 (5)计算初始化并设置监视器 (6)使用非耦合、隐式求解器求解 (7)利用图形显示方法观察流场与温度场

一、前处理——用CAD画出喷射器结构图并导入GAMBIT中 在CAD中按所给的尺寸画出喷射器的结构图,画完后输出为pensheqi.sat的文件(如图2所示)。 CAD中的操作:文件→输出…. 点击保存到你想保存到的文件夹中 图2 输出数据对话框 启动GAMBIT ,建立一个新的GAMBIT文件。 操作:File→NEW… 此时出现的窗口如图3所示。在ID右侧的文本框内填入:f:\文件夹名\pensheqi 点击Accept后,即建立了一个新的文件。

FLUENT求解器设置

FLUENT求解器设置主要包括:1、压力-速度耦合方程格式选择2、对流插值3、梯度插值4、压力插值 下面对这几种设置做详细说明。 一、压力-速度耦合方程求解算法 FLUENT中主要有四种算法:SIMPLE,SIMPLEC,PISO,FSM (1)SIMPLE(semi-implicit method for pressure-linked equations)半隐式连接压力方程方法,是FLUENT的默认格式。 (2)SIMPLEC(SIMPLE-consistent)。对于简单的问题收敛非常快速,不对压力进行修正,所以压力松弛因子可以设置为1 (3)Pressure-Implicit with Splitting of Operators (PISO)。对非定常流动问题或者包含比平均网格倾斜度更高的网格适用 (4)Fractional Step Method (FSM)对非定常流的分步方法。用于NITA格式,与PISO具有相同的特性。 二、对流插值(动量方程) FLUENT有五种方法:一阶迎风格式、幂率格式、二阶迎风格式、MUSL三阶格式、QUICK格式 (1)FLUENT默认采用一阶格式。容易收敛,但精度较差,主要用于初值计算。 (2)Power Lar.幂率格式,当雷诺数低于5时,计算精度比一阶格式要高。 (3)二阶迎风格式。二阶迎风格式相对于一阶格式来说,使用更小的截断误差,适用于三角形、四面体网格或流动与网格不在同一直线上;二阶格式收敛可能比较慢。 (4)MUSL(monotone upstream-centered schemes for conservation laws).当地3阶离散格式。主要用于非结构网格,在预测二次流,漩涡,力等时更精确。 (5)QUICK(Quadratic upwind interpolation)格式。此格式用于四边形/六面体时具有三阶精度,用于杂交网格或三角形/四面体时只具有二阶精度。 三、梯度插值梯度插值主要是针对扩散项。 FLUENT有三种梯度插值方案:green-gauss cell-based,Green-gauss node-based,least-quares cell based. (1)格林-高斯基于单元体。求解方法可能会出现伪扩散。 (2)格林-高斯基于节点。求解更精确,最小化伪扩散,推荐用于三角形网格上 (3)基于单元体的最小二乘法插值。推荐用于多面体网格,与基于节点的格林-高斯格式具有相同的精度和格式。 四、压力插值压力基分离求解器主要有五种压力插值算法。 (1)标准格式(Standard)。为FLUENT缺省格式,对大表妹边界层附近的曲线发现压力梯度流动求解精度会降低(但不能用于流动中压力急剧变化的地方——此时应该使用PRESTO!格式代替) (2)PRESTO!主要用于高旋流,压力急剧变化流(如多孔介质、风扇模型等),或剧烈弯曲的区域。 (3)Linear(线性格式)。当其他选项导致收敛困难或出现非物理解时使用此格式。 (4)second order(二阶格式)。用于可压缩流动,不能用于多孔介质、阶跃、风扇、VOF/MIXTURE多相流。 (5)Body Force Weighted体积力。当体积力很大时,如高雷诺数自然对流或高回旋流动中采用此格式。

FLUENT各种求解器介绍和应用领域

FLUENT求解器介绍 作者:Simwe 来源:发布时间:2011-07-25 Segregated Solver 该算法源于经典的SIMPLE算法。其适用范围为不可压缩流动和中等可压缩流动。这种算法不对Navier-Stokes方程联立求解,而是对动量方程进行压力修正。该算法是一种很成熟的算法,在应用上经过了很广泛的验证。这种方法拥有多种燃烧、化学反应及辐射、多相流模型与其配合,适用于汽车领域的CFD 模拟。 Coupled Explicit Solver 这种算法由Fluent公司与NASA联合开发,主要用来求解可压缩流动。该方法与SIMPLE算法不同,而是对整个Navier-Stokes方程组进行联立求解,空间离散采用通量差分分裂格式,时间离散采用多步Runge-Kutta格式,并采用了多重网格加速收敛技术。对于稳态计算,还采用了当地时间步长和隐式残差光顺技术。该算法稳定性好,内存占用小,应用极为广泛。 Coupled Implicit Solver 该算法是其它所有商用CFD软件都不具备的。该算法也对Navier-Stokes方程组进行联立求解,由于采用隐式格式,因而计算精度与收敛性要优于Coupled Explicit方法,但却占用较多的内存。该算法另一个突出的优点是可以求解全速度范围,即求解范围从低速流动到高速流动。 FLUENT求解方法的选择 ①非耦合求解;②耦合隐式求解;③耦合显式求解, 非耦合求解方法主要用于不可压缩或低马赫数压缩性流体的流动。耦合求解方法则可以用在高速可压缩流动。FLUENT默认设置是非耦合求解,但对于高速可压流动,或需要考虑体积力(浮力或离心力)的流动,求解问题时网格要比较密,建议采用耦合隐式求解方法求解能量和动量方程,可较快地得到收敛解。缺点是需要的内存比较大(是非耦合求解迭代时间的1.5-2.0倍)。如果必须要耦合求解,但机器内存不够时,可以考虑用耦合显式解法器求解问题。该解法器也耦合了动量,能量及组分方程,但内存却比隐式求解方法小。缺点是收敛时间比较长

FLUENT操作过程及全参数选择

振动流化床仿真操作过程及参数选择 1创建流化床模型。 根据靳海波论文提供的试验机参数,创建流化床模型。流化床直148mm 高1m开孔率9%孔径2mm在筛板上铺两层帆布保证气流均布。 因为实验机为一个圆形的流化床,所以可简化为仅二维模型。而实际实验中流化高度远小于1m甚至500mm所以为提高计算时间,可将模型高度缩为500mm由于筛板上铺设两层帆布以达到气流均分的目的,所以认为沿整个筛板的进口风速为均匀的。最终简化模型如下图所示: 上图为流化后的流化床模型,可以看出流化床下端的网格相对上端较密,因为流化行为主要发生的流化床下端,为了加快计算时间,所以采用这种下密上疏的划分方式。其中进口设置为velocity inlet ;出口设置为outflow ;左右两边分为设置为wall。在GAMBIT中设置完毕后,输出二维模型vfb.msh。 outflow 边界条件不需要给定任何入口的物理条件,但是应用也会有限制,大致为以下四点: 1.只能用于不可压缩流动

2.出口处流动充分发展 3.不能与任何压力边界条件搭配使用(压力入口、压力出口) 4.不能用于计算流量分配问题(比如有多个出口的问题) 2 打开FLUENT 6326,导入模型vfb.msh 点击GRID—CHECK检查网格信息及模型中设置的信息,核对是否正确,尤其查看是否出现负体积和负面积,如出现马上修改。核对完毕后,点击GRID-SCAL弹出SCALEGRID窗口,设置单位为mm 并点击change length unit 按钮。具体设置如下: 3设置求解器 保持其他设置为默认,更改TIME为unsteady,因为实际流化的过程是随时间变化的。 (1)pressure based 求解方法在求解不可压流体时,如果我们联立求解 从动量方程和连续性方程离散得到的代数方程组,可以直接得到各速

相关文档