fluent基本物理模型介绍 下载本文

基本物理模型

本章介绍了FLUENT所提供的基本物理模型以及相关的定义和使用。 基本物理模型概述

FLUENT提供了从不可压到可压、层流、湍流等很大范围模拟能力。在FLUENT中,输运现象的数学模型与所模拟的几何图形的复杂情况是结合在一起的。FLUENT应用的例子包括层流非牛顿流的模拟,涡轮机和汽车引擎的湍流热传导,锅炉内煤炭粉碎机的燃烧,可压射流,空气动力外流,以及固体火箭发动机的可压化学反应流。

为了与工业应用相结合,FLUENT提供了很多有用的功能。如多孔介质,块参数(风扇和热交换),周期性流动和热传导,涡流,以及移动坐标系模型。移动参考系模型可以模拟单一或者多个参考系。FLUENT还提供了时间精度滑动网格方法以及计算时间平均流动流场的混合平面模型,滑动网格方法在模拟涡轮机多重过程中很有用。FLUENT中另一个很有用的模型是离散相模型,这个模型何以用于分析喷雾和粒子流。,多项流模型可以用于预测射流的破散以及大坝塌陷之后流体的运动,气穴现象,沉淀和分离。

湍流模型是FLUENT中很重要的一部分,湍流会影响到其它的物理现象如浮力和可压缩性。湍流模型提供了很大的应用范围,而不需要对特定的应用做出适当的调节,而且它涵括了其它物理现象的影响,如浮力和可压缩性。通过使用扩展壁面函数和区域模型,它可以对近壁面的精度问题有很好的考虑。

各种热传导模式可以被模拟,其中包括具有或不具有其它复杂性如变化热传导的,多孔介质的自然的、受迫的以及混合的对流。模拟相应介质的辐射模型及子模型的设定通常可以将燃烧的复杂性考虑进来。FLUENT一个最强大的功能就是它可以通过耗散模型或者和概率密度函数模型来模拟燃烧现象。对于燃烧应用十分有用的其它模型也可以在FLUENT中使用,其中包括碳和液滴的燃烧以及污染形成模型。

连续性和动量方程

对于所有的流动,FLUENT都是解质量和动量守恒方程。对于包括热传导或可压性的流动,需要解能量守恒的附加方程。对于包括组分混合和反应的流动,需要解组分守恒方程或者使用PDF模型来解混合分数的守恒方程以及其方差。当流动是湍流时,还要解附加的输运方程。

本节所介绍的是层流流动的守恒方程(在惯性(无加速度)的坐标系中)。后面几节将会讨论热传导、湍流模拟以及组分输运的守恒方程。关于旋转坐标系中的方程将在移动区域的流动中介绍。

欧拉方程用于解决无粘流动,将在无粘流动一节中介绍

质量守恒方程

质量守恒方程又称连续性方程:

??????ui??Sm ?t?xi该方程是质量守恒方程的一般形式,它适用于可压流动和不可压流动。源项S_m是从分散的二级相中加入到连续相的质量(比方说由于液滴的蒸发),源项也可以是任何的自定

义源项。

二维轴对称问题的连续性方程为:

?????v???u????v??Sm ?t?x?xr 具体各个变量的意义可以参阅相关的流体力学书籍,其中有具体而详细地介绍。

动量守恒方程

在惯性(非加速)坐标系中i方向上的动量守恒方程为[8]:

???p??ij??ui????uiuj??????gi?Fi ?t?xj?xi?xj其中p是静压,t_ij是下面将会介绍的应力张量,r g_i和F_i分别为i方向上的重力体积力和外部体积力(如离散相相互作用产生的升力)。F_i包含了其它的模型相关源项,如多孔介质和自定义源项。

应力张量由下式给出:

???ui?uj??2?ul?????ij??????ij

??????xj?xi???3?xl上式的物理意义可以参阅流体力学教科书,其中会讲得很清楚。 对于二维轴对称几何外形,轴向和径向的动量守恒方程分别为:

??????u2??u??1??r?uu??1??r?vu????p?1??????r?2???v???tr?xr?r?xr?x???x3???1????u?v??r??2????Fx?r?r???r?x??

以及

??????v?u??1????v2??v??1??r?uv??1??r?vv????p?1??????r???r?2???v????r?r??tr?xr?r?rr?x??x?r?x3????????v2?w2????v????Fr?2?2?rr3r其中:

??u?vv??v???

?x?rrw是漩涡速度(具体可以参阅模拟轴对称涡流中漩涡和旋转流动的信息)

热传导

FLUENT允许在你模型的流体和/或固体区域包含热传导。本节中所介绍的物理模型和相关输入可以处理从流体内热混合到复合固体的热传导等问题。自然对流问题会在浮力驱动流动一节介绍,自然对流与辐射模型将在辐射模拟一节介绍

FLUENT可以预测周期性几何外形的热传导,如密集的热交换器,它只需要考虑单个

的周期性模块进行分析。关于这样流动的处理,需要使用周期性边界条件,具体可以参阅周期性流动和热传导一节。

在两个分离的流动区域解决热传导问题

如果所模拟的流动包括了两个流体区域,其中被固体区域或者壁面分离开,如下图所示,你需要更细心的定义问题。主要需要指定:

? 两个流体区域都不可以使用质量出口边界条件 ? 每一个流体区域可以选择不同的流体材料。(然而对于组分计算,你只能在整个区域选

择唯一一种混合材料)

Figure 1:典型的逆流热交换,在两个流体区域包括了热传导

理论

能量方程

FLUENT所解的能量方程的形式为

??????T???E???ui??E?p????keff??hj?Jj??uj??ij?eff???Sh ?t?xi?xi??xij??其中k_eff是有效热传导系数(k + k_t,其中k_t是湍流热传导系数,根据所使用的湍流模型

来定义),J_j^'是组分j^'的扩散流量。上面方程右手边的前三项分别描述了热传导、组分扩散和粘性耗散带来的能量输运。S_h包括了化学反应热以及其它用户定义的体积热源项。 在上面的方程中:

pui2E?h??

?2其中,理想气体的显焓定义为:

h??mj?hj?

j?对于可压流为:

h??mj?hj??j?p?

在方程5和7中,m_j^'是组分j^'的质量分数,而且

hj???cp,j?dT

Tref其中T_ref为298.15 K.

PDF模型的能量方程

当激活非绝热PDF燃烧模型时,FLUENT解总焓形式的能量方程:

Tki?H?????????ik?ui?Sh ??H????uiH????t?xi?xi?cp?xi??xi?假定Lewis数为1,右手边第一项表示传导和组分扩散项。非守恒形式的粘性扩散项的贡献由第二项描述。总焓H定义为:

H??mj?Hj?

j?其中m_j^'为组分j^'的质量分数,而且

Hj???TTref,j0??cdT?hT???p,jjref,j ?h0j??Tref,j??是在参考温度T_ref,j^'下组分j^' 的生成焓

包括压力作用和动能项

能量方程中的方程1包含了不可压流动中常常忽略的压力作用和动能项。因此,在默认的情况下,分离解算器在解不可压流动时不考虑压力作用和动能项。如果你希望考虑这些作用,可以使用define/models/energy?文本命令将所需的项激活。

模拟可压流或者使用耦合解算器时,压力作用和动能项总是压考虑的。

包括粘性耗散项

能量方程中的方程1和PDF模型的能量方程中的方程1包括了粘性耗散项,该项所描述的是粘性剪切所产生的热能。使用分离解算器时,FLUENT默认的能量方程不包括它(因为粘性热可以忽略)。当Brinkman数Br接近或者大于一,粘性热将会很重要。其中:

Br??Ue2k?T

D T为系统温度的差分。

你需要考虑粘性耗散项并且使用分离解算器,你需要在粘性模型面板激活粘性热项。对于可压流动一般有Br ?1。但是需要注意的是,当使用分离解算器时,如果你定义了可压流动模型,FLUENT并不自动激活粘性耗散项。

当使用耦合解算器时,所解的能量方程总会包含粘性耗散项。

包括组分扩散项

能量方程一节中的方程1和PDF模型的能量方程一节中的方程1包括了由于组分扩散而导致的焓的输运的影响。当使用分离解算器时,在默认情况下,

?hj?Jj?会包含在能??xij?量方程一节的方程1中。如果你不想包括它,你可以在组分模型面板中关闭扩散能量源项的

选项。

当使用非绝热PDF燃烧模型时,该项并不是显式的出现在能量方程中,因为对于PDF模型的能量方程一节中的方程1来说,该方程右手边的第一项已经包含了它。

当使用耦合解算器时,该项总是包含在能量方程中。

由于化学反应产生的能量源项

能量方程一节中的方程1的能量源项S_h包括了由于化学反应而产生的能量源项:

?h0?Trefj?Sh,reaction??????cp,j?dT?Rj?

Tref,jMj????j??其中h^o_j^'是组分j^'的生成焓,R_j^'是组分j^'的体积生成速度。

非绝热PDF燃烧模型的能量方程中,焓的定义已经包括了能量的生成(见PDF模型的能量方程一节中的方程5,所以能量的反应源项不包括在S_h中。.

由于辐射产生的能量源项

当使用某一辐射模型时,能量方程一节中的方程1和PDF模型的能量方程一节中的方程1的S_h也包括了辐射源项。详情参阅辐射模型一节。

相间的能量源项

需要注意的是,能量源项S_h还包括连续和离散相之间的热传导。在后面的离散与连续相耦合一节将会详细讨论。

壁面处热传导的边界条件

壁面处热传导边界条件在标准壁面函数一节中讨论。

固体区域的能量方程

FLUENT所用的固体区域的能量输运方程的形式为:

??T??????? ??h?????uih????k?q???t?xi?xi??xi?其中r =密度

h = 显焓(integral_T_ref^T c_p dT) k = 传导系数 T = 温度

q(dot)^\= 体积热源

方程1左手边的第二项体现了由于固体的平移和旋转而导致的能量对流热传导。速度场u_i由指定固体区域的运动计算出来(见固体条件一节)。方程1右手边的项分别是固体内部热传导流量和体积热源的热流量。

固体的各向异性热传导

当使用分离解算器时,FLUENT允许你制定固体材料的各向异性热传导系数。固体的各向异性传导项形式为:

???T???kij ???xi??xi?其中k_ij是热传导系数矩阵。关于固体材料的各向异性热传导系数的制定可以参阅固

体的各向异性热传导系数一节。

入口处的扩散

入口处能量的净输入既包括对流部分也包括扩散部分。对流部分由你所指定的入口温度确定。扩散部分依赖于计算出温度场的梯度。因此扩散部分(相应的净入口输运)不是提前指定的。

在某些情况下,你可能希望指定入口处的能量净输运而不是入口温度。如果你使用分离解算器,你可以通过取消入口能量扩散来实现这一目标。在默认的情况下,FLUENT在入口处会考虑能量的扩散流量。要关闭入口扩散,可以使用文本命令:define/models/energy?。

如果你使用耦合解算器,入口扩散选项无法关闭。

热传导所需的用户输入

当FLUENT模型包含了热传导,你需要激活相关的模型,提供热边界条件,并输入控制热传导和/或随温度变化的材料属性。本节将会介绍这些输入。

下面将会介绍热传导问题的设定步骤。(注意:本步骤只包括热传导模型设定的必须步骤,你还要设定其它的模型,边界条件等。)

1. 要激活热传导的计算,请在能量面板中打开激活能量方程选项。菜单:

Define/Models ?Energy...。

Figure 1: 能量面板

2. (可选,只用于分离解算器)如果你模拟粘性流动,而且希望在能量方程中包括粘性热传

导项,请在粘性模型面板中打开粘性热传导项。如包含粘性耗散一节中所述,当使用分离解算器时,FLUENT在默认的情况下会忽略能量方程中的粘性热传导项(如果使用耦合解散器,则会一直包含粘性热传导项。当流体中的剪切应力较大(如:润滑问题)和/或速度较高、可压流动,就应该激活粘性耗散项(见包含粘性耗散项一节中的方程1)。菜单Define/Models/Viscous...

3. 在流动入口、出口和壁面处定义热边界条件。菜单:Define/Boundary Conditions...。

在流动的出入口你需要设定温度,在壁面处你可能需要设定下面的某一热条件: ? 指定热流量 ? 指定温度 ? 对流热传导 ? 外部辐射

? 外部辐射和外部对流热传导的结合

定义壁面处热边界条件一节详细地介绍了控制热边界条件的模型输入。入口处默认的热边界条件为指定的温度300 K;壁面处默认的条件为零热流量(绝热)。关于边界条件的输入请参阅边界条件一章。

4. 定义适合于热传导的材料属性。菜单:Define/Materials...

如物理属性一节所述,必须定义热容和热传导系数,而且你可以指定很多属性为温度的函数。

温度的上下限

出于稳定性考虑,FLUENT包括了预测温度范围的限制。设定温度上下限的目的是为了提高计算的稳定性,从物理意义上说,温度应该处于已知极限的范围之内。有时候方程中间解会导致温度超出这些极限,此时就无法很好的定义属性。温度极限保证你的问题的温度在期待的范围之内。如果计算的温度超出最大极限,那么所存储的温度就会固定在最大值处。默认的温度上限是5000 K。如果计算的温度低于最小极限,那么存储的温度就会固定在最小值处。默认的温度下限是1 K。

如果你所预期的温度超过5000 K,你应该使用解限制面板来增加最大温度。菜单:Solve/Controls/Limits...。

热传导的解过程

虽然使用Fluent默认的解参数可以成功的解决很多简单的热传导问题,你还是可以使用本节所提供的指导方针来加速收敛速度和解的稳定性。

能量方程的亚松驰

使用分离解算器时,FLUENT可以使用你在解控制面板所定义的亚松驰参数来处理亚松驰能量方程,具体可以参阅设定松弛因子一节所介绍的内容。菜单:Solve/Controls/Solution...。

如果使用非绝热PDF模型,你需要像通常一样设定能量亚松弛因子,但是你也可以设定温度的亚松弛因子,其用法和解焓方程时温度的亚松驰一节所介绍的一样。

FLUENT不会管所解能量方程是温度还是焓形式,它都会设定默认的亚松弛因子为1.0。在能量场影响流体流动(通过温度相关属性或者焓)的问题中,你应该是用较小的亚松弛因子,一般在0.8到1.0之间。当流场和温度场解耦时(没有温度相关属性或者浮力),你可以保留松弛因子的默认值1.0。

解焓方程时温度的亚松驰

当解焓形式的能量方程时(即当你使用非绝热PDF燃烧模型时),FLUENT也对温度进行亚松驰,也就是说,只是用焓(亚松驰)变化对应的温度变化的某一分数来更新温度场。当你希望焓场变化较快时,二层的亚松驰很有用,只是温度响应比较之后,相应的温度对流场的影响也会滞后。FLUENT对于温度的亚松驰默认设定为1.0,此设定使用解控制面板来实现。

屏蔽组分扩散项

如果使用分离解算器来解决组分输运,而且遇到了收敛困难,你应该考虑在组分模型面板中关闭扩散能量源项。菜单:Define/Models/Species...。

当改选项关闭时,FLUENT会忽略能量方程的组分扩散影响。注意:当使用耦合解算器时组分扩散影响总会被考虑到的。

步进解

最为有效的预测热传导策略是先计算等温流动然后加入能量方程的计算。步骤稍有不同,主要取决于流动和热传导是否耦合。

如果流动和热传导是解耦的(没有温度相关属性或浮力),你可以首先解等温流动(关闭能量方程)来产生收敛的流场解,然后单独解能量输运方程。

注意:因为耦合解算器总是一起解流动和能量方程,所以单独解能量方程只应用于分离解算器。

你可以在解控制面板中的方程列表中取消能量选项来临时关闭流动方程或者能量方程(请参阅步进解一节)。菜单:Solve/Controls/Solution...。

如果流动和热传导是耦合的(也就是模型中包括温度相关属性或浮力),你可以在打开能量方程之前首先解流动方程。一旦你有了收敛的流场解,你就可以打开能量选项然后同时解流动和能量方程完成热传导的模拟。

热传导的报告

FLUENT为热传导模拟提供了附加的报告选项。你可以生成图形或者报告下面的变量或函数: ? 静温 ? 总温 ? 焓

? 相对总温

? 壁面温度(内部表面) ? 壁面温度(外部表面)

? ? ? ? ? ? ? ? ?

总焓 总焓误差 熵 总能量 内能

表面热流量 表面热传导系数

表面努塞尔(Nusselt)数 表面斯坦顿(Stanton)数

上面所示的前11个变量包含在后处理面板中的变量选择下拉列表的温度类别中,剩下的变量在壁面流量类别中。关于它们的定义可以参阅流场函数定义一节。

在报告和显示中焓与能量的定义

焓与能量报告值的定义是不同的,它取决于流动可压与否。完全的定义请参阅流场变量及其定义的列表。

报告通过边界的热传导

你可以使用流量报告面板来计算通过每一个边界的热传导或者将通过所有边界的热流量加起来来检查热平衡。菜单:Report/Fluxes...。

推荐检查热平衡以确认你的解是收敛的。关于流量报告的生成请参阅通过边界的流量一节。

报告通过表面的热传导

你可以使用曲面积分面板(在曲面积分一节介绍)来计算通过任何边界的热传导或者计算通过曲面的热传导,这个曲面可以在显示和报告曲面数据一节中介绍的方法来创建。菜单:Report/Surface Integrals...。

要报告焓的流速

??Q???HV?dA

在曲面积分面板选择流动速度选项,选择焓(在温度类别中)作为流场变量,然后选择需要积分的一个或多个曲面。

报告平均热传导系数

曲面积分面板还可以报告在曲面上的平均热传导系数h,菜单:Report/Surface Integrals...。

在曲面积分面板中选择平均选项,选择曲面热传导系数(在壁面流量类别中)作为流场变量然后点击相应的曲面。

浮力驱动流动和自然对流

当加热流体,而且流体密度随温度变化是,流体会由于重力原因的而导致密度的变化。这种流动现象被称为自然对流(或者混合对流),Fluent可以模拟这种流动。 理论

可以用Grashof数Reynolds雷诺数的比值来度量浮力在混合对流中的作用:

Gr??gh?Re2?v2

当这个数接近或者超过一,你应该考虑浮力对于流动的贡献。反之,你就可以忽略浮力的影响。在纯粹的自然对流中,浮力诱导流动由瑞利数(Rayleigh)度量:

3Ra?g??TL???

其中热膨胀系数为:

???1????T

热扩散系数为:

??k?cp

Rayleigh数小于10^8表明浮力诱导为层流流动,当瑞利数在10^8到10^10之间就开始过渡到湍流了。

Boussinesq模型

对于很多自然对流流动,你可以用Boussinesq模型来得到更好的收敛速度,它要比设定密度为温度的函数来解决问题收敛得快。除了动量方程的浮力项之外,该模型在所有解决的方程中将密度看成常数。动量方程为:

????0?g???0??T?T0?g

其中r_0是流动的常数密度,T_0是操作温度,b是热扩散系数。上面的方程是通过Boussinesq近似等于r_0 (1 - b D T)来消除浮力项中的r得到的。只要真实密度变化很小,该近似是很精确的.

使用Boussinesq模型的时机

在封闭区域使用Boussinesq模型来计算时间相关自然对流是很必要的。假如温度变化很小,该模型也可以用于定常问题。

Boussinesq模型不能用于组分,燃烧和反应流动的计算。

浮力驱动流动的用户输入

在混合或自然对流中,你必须提供下面的输入来考虑浮力问题: 1. 在能量面板中打开能量方程选项。菜单:Define/Models/Energy...。

2. 在操作条件面板(下图)中打开重力选项,并在每一个方向上输入相应的重力加速度数

值。菜单:Define/Operating Conditions

Figure 1: 操作条件面板

注意,FLUENT中默认的重力加速度为零

3. 如果使用不可压理想气体定律,要在操作条件面板中检查操作压力的数值(非零值)。 4. 下面的选项取决于你是否使用Boussinesq近似: ? 如果不使用Boussinesq模型,输入如下:

1. 必要的话在操作条件面板中激活操作密度选项,然后指定操作密度,详细设置可以

参阅定义操作密度一节。

2. 定义流体密度为温度的函数,具体可以参阅使用温度相关函数和密度定义属性一

节。菜单:Define/Materials...。

? 如果使用Boussinesq模型,输入如下:

1. 在操作条件面板中指定操作温度(Boussinesq模型一节中方程1的T_0)

2. 选择Boussines方法来计算在使用材料面板中的密度(具体可以参阅使用温度相关

函数和密度定义属性一节)。

3. 还是在材料面板中,设定热扩散系数并指定常数密度。

注意:如果模型包括多种材料,对于每一个材料你都可以选择是否使用Boussinesq模型。因此你可以对某些材料使用Boussinesq模型其它的可以不使用。关于每一个材料的设

定步骤都和上面所介绍的一样。

5. 在压力入口和出口边界处的你所输入的边界压力是重新定义的压力,该压力由操作密度

的定义一节中的方程3给出。一般说来,如果没有外部强加的压力梯度,FLUENT模型在入口和出口边界处的压力p^'应该是相等的。菜单:Define/Boundary Conditions...。 6. 在解控制面板中,选择加权的体积力或者二阶方法作为压力的离散方法。菜单:

Solve/Controls/Solution...。

你需要在近壁面增加单元以解决边界层问题。

如果你使用四边形或六面体网格并使用分离解算器,推荐选择PRESTO!作为压力的离散方法。也可以参阅热传导计算设定所需的用户输入。

操作密度的定义

当不使用Boussinesq近似时,操作密度r_0在动量方程中出现在体积力一项中:

????0?g

该种形式的体积力项遵从FLUENT中压力的重定义:

p?s??0gx?ps

这样,静止流体可以保证静压平衡

?ps??g ?x变成:

?p?s?????0?g ?x

因此,在所有的浮力驱动流动中,参考密度的定义都是很重要的。

在默认的情况下,FLUENT会通过对所有单元取平均来计算操作密度。在某些算例中如果你明确指定操作密度而不是让解算器来计算密度,你可能会得到更好的结果。比方说,如果你用压力边界条件解自然对流问题,知道你所指定的压力是方程3中的p_s^'是很重要的。。即使你知道真实压力p_s,你还是需要知道操作密度r_0,以便于从p_s确定p_s^'。因此,你应该明确定义操作密度而不使用计算的平均值。但无论如何你所指定的密度都应该是对平均值的描述。

在某些情况下,指定操作密度会提高解的收敛性而不会改善实际的结果。对于这种情况,使用近似bulk密度值作为操作密度,并保证你所选的值对于区域的特征温度是合适的。

注意:如果你使用Boussinesq近似,就不会使用操作密度了,所以你也不必指定它。

浮力驱动流动的解策略

对于高瑞利数流动,你需要考虑下面的解决方针。除此之外,在解决其它热传导问题的处理过程中所介绍的指导原则也可以用于浮力驱动流动。但是,需要注意的是对于高瑞利数的某些层流流动是没有定常解存在的。

解决高瑞利(Rayleigh)数流动的方针

对于高瑞利数流动(Ra > 10^8),为了得到最好的结果你应该遵循下面所介绍的某一处理程序:

第一个程序使用定常状态方法:

1. 开始解决时使用较低的瑞利数(如:10^7),然后使用一阶格式运行直到收敛。

2. 改变有效瑞利数,改变重力加速度的数值(如:从9.8改为0.098来使瑞利数减

少两个量级).

3. 使用上面的结果作为高瑞利数流动的初始猜测,然后用一阶格式开始高瑞利数流动的计

算。

4. 用一阶格式获得解之后,你可以采用高阶格式继续计算。

第二个程序使用时间相关方法来获取定常解[62]:

1. 使用相同或较低瑞利数时得到的定常状态解开始计算。 2. 估计时间常数为[14]:

LL2L ??~?PrRa??12?U?g??TL其中L和U分别是长度和速度。使用时间步长D t:

?t? 4如果使用更大的时间步长D t可能会导致发散。mp

3. 当频率f t = 0.05--0.09的振动衰减之后,就达到了定常状态。注意,t是方程1中估计

的时间常数,f是单位为Hz的振动频率。一般说来,要达到定常状态一般要进行5000个时间步。

注意:除非使用Boussinesq近似,否则非定常方法不能用于封闭区域。它总是用于具有入口和出口的区域。

浮力驱动流动的后处理

浮力驱动流动的后处理报告和其它热传导计算的报告一样。详情请参阅热传导的报告一节

?周期性流动和热传导

周期流是指流动和热的解具有周期性重复的特点。周期性流动分两种:一种是在周期性平面内没有压降的周期流;第二种是流向周期流。本解讨论流向周期流以及周期性热传导,关于没有压降的周期流请参阅周期性边界条件一节。 引言

FLUENT提供流向周期流的计算。这种流动具有广泛的应用,如热交换管道以及通过水箱的管流。在这些流动模式中,几何外形沿流动方向上具有重复性的特点,从而导致了周期性完全发展的流动。这些周期性条件在足够的入口长度后就会形成,具体与雷诺数和几何

外形有关。

流向周期流会在足够长度L之后形成,在流向的每一个重复流动模式之间会有一个一定的压降。下图就是一例。

? ?

Figure 1: 二维热交换几何外形的周期性流动例子

交换的几何外形

当壁面是常温或者热流一定时会产生周期性热条件。在这一问题中,温度场是周期性发展的。至于周期性流动,分析这类问题可以将数值模型限制为单一模块或者周期性章度。 使用流向周期性流动和热传导的限制 : 流动必须不可压

几何外形必须是平移性的周期

用耦合解你只能指定压力跳跃,分离解可以指定压力跳跃或者流速。 在流动入口和出口没有质量的增加,外部源项或者离散相源 只能模拟出入口所包括的组分(没有质量的净增加),不允许有反应流 不允许离散相和多项流模型

周期性热传导的特殊限制: 必须使用分离解

热边界条件必须指定热流或者壁面温度常数。而且在特定的问题上这些边界类型不能结合在一起:对于常温算例,所有壁面温度必须是相同的,在壁面流量中,不同的热流必须区分为不同的壁面。

在有固体的区域不可以横跨周期性平面

热动力学和流体的输运性质(比热容,热传导系数,粘性系数,密度)不能是温度的函数,因此不可以模拟化学反应流。然而输运性质可能会以周期性的方式变化,这就允许你模拟周期性湍流,在这种周期性湍流流动中,输运性质(有效热传导系数,有效粘性系数)随着湍流流场变化。

? ? ? ? ? ? ? ?

? ?

周期流模拟程序概述

考虑流向周期性流动和热传导的典型计算分两个部分。第一是不考虑温度场的速度场计算,然后固定速度场来计算温度场。步骤如下: 2. 设定流向周期性边界条件网格

3. 输入热力学常数和输运常数

4. 通过周期性边界条件指定周期性压力梯度以及净质量流速

5. 计算周期性流场,计算动量方程、连续性方程以及湍流方程(可选) 6. 指定壁面热边界条件:温度或热流 7. 定义入口温度

8. 解能量方程预测周期性温度场

下面详细介绍

流向周期性流动 理论

对于位置矢量,周期性假定有如下形式

?????u?r??u?r?L??u?r?2L??? ???v?r??v?r?L??v?r?2L??? ?????w?r??w?r?L??w?r?2L???

其中L是所考虑区域的周期长度矢量

在方程1中压力不是周期性的。取而代之的是,模块之间的压降是周期性的:

??????????p?p?r??p?r?L??p?r?L??p?r?2L???

如果使用某一耦合解算器,D p被指定为常值。对于分离解算器,区域内每一位置的压力梯度可以分解为两个部分:周期性部分的梯度?p (r),以及线性变化部分的梯度b (L/|L|):

?L????p?r??????p?r?

L周期性压力(p (r))减去线性变化的压力而得到的压力。压力的线性变化部分(b |r|)在动量方程中对流体有一作用力。因为b的值无法提前预知,所以必须迭代直到达到在计算模型中你所定义的质量流速为止。B的修正是在SIMPLE, SIMPLEC, 或PISO算法的修正步中实现的,其修正是基于所需质量流和实际质量流之间的差值的。你可以控制子迭代的次数来更新b,具体可以参阅使用分离解算器计算流向周期性流动所需用户输入一节。

使用分离解算器计算流向周期性流动的用户输入

如果使用分离解算器,为了计算出具有指定质量流速和压力导数的空间周期性流动,你必须创建具有平移性周期边界的网格,该网格中的单元相互平行且尺寸相等。你可以在周期性面板中指定平移性周期,具体可以参阅周期性边界条件一节。(如果想要创建周期性边界请参阅创建周期性区域一节)。

读入网格之后,你需要在周期性条件面板(Figure 1)中完成下面的输入。菜单:Define/Periodic Conditions...。

Figure 1: 周期性条件面板

1. 选择指定质量流速选项或者指定压力梯度选项。对于大多数问题,通过周期性边界的质

量流速是已知的,如果质量流速未知,压力梯度也将会是已知的量。 2. 指定质量流速和/或指定压力梯度:

? 如果指定质量流速,请输入相应的数值。你还可以输入出示压力梯度的猜测值,但

不是必需的。需要注意的是,对于轴对称流动,质量流动速度是每2p的质量流速 ? 如果指定压力梯度,请输入压力梯度的数值。

3. 在流动方向框中分别输入X,Y和Z的值作为方向矢量。此是流动就会从起始点沿着

指定的方向到达指定点。流动方向必须是平行于周期性平移方向或者反向。 4. 如果在第一步中选择质量流速,请输入计算b的相应的参数。这些参数的输入可以参阅

使用分离解算器计算流向周期性流动的用户输入一节。

完成上述输入之后,你就可以计算周期性速度场直到收敛了。

如果指定质量流速,FLUENT需要计算压力梯度b的适当值。你不可以通过指定松弛因子、迭代次数或压力梯度初始猜测值来控制压力梯度的计算。所有的这些输入都在周期性条件面板中完成。

迭代次数设定了压力校正方程中校正b的子迭代次数。因为b的值无法预先知道,所以在计算模型中,你必须在定义的质量流速计算之后才会完成b的迭代。B的校正出现在SIPLE或者SIMPLEC算法的压力校正步中。对b的当前值的校正是基于预期质量流速和实际质量流速之间的差值的。此出涉及的子迭代是在压力校正步中完成的,目的是为了提高在解校正方程获得压力(和速度)校正值之前提高b的校正质量。默认的子迭代次数为2,它可以满足大多数问题,但是可以增加它以获取快速的收敛。松弛因子在此处是压松弛因子,它控制了迭代过程的收敛。

你可以在压力梯度框中输入猜测的初始压力梯度来提高周期性计算的收敛速度。如果你完成了任何计算,这个框会显示当前的b值。要用当前的数值更新压力梯度框,你可以点击更新按钮。

使用耦合解算器计算流向周期性流动的用户输入

如果你使用某一耦合解算器,为了计算具有指定压力跳跃的空间周期性流场,你首先要创建具有平移性边界条件的网格,这些网格相互平行,尺寸相等。(如果需要创建周期性边界,请参阅创建周期性区域一节)。然后遵循如下步骤:

1. 在边界条件面板中打开周期性面板(Figure 1),选择平移性周期(默认)。菜单:

Define/Boundary Conditions...。

Figure 1:周期性面板

2. 在周期性面板中设定周期性压力跳跃D p。

完成上述输入可以开始计算直至收敛。

检测压力梯度的值

如果指定质量流速,你可以在解的过程中监视压力梯度的数值。具体方法:打开静态监视面板,选择per/pr-grad作为监视变量。详情请参阅静态监视一节。

流向周期性流动的后处理

速度和压力场的结果应该完全是周期性的。如果用耦合解算器计算周期性流动,压力场的报告将是真实压力p的报告。如果使用分离解算器,FLUENT所报告的压力场将会是方程5中的周期性压力场p (r)。下图显示的是概述一节中的几何图形中的周期性压力场。

如果指定质量流量并要FLUENT计算压力梯度,你可以在周期性条件面板中查找流向压力梯度(b)的当前值。

Figure 1: 二维热交换几何图形的周期性压力场预测

指定温度边界条件的周期性热传导

FLUENT可以解决两类热传导问题:与常数温度壁面具有热交换的流向周期性流动是FLUENT可以解决的一种周期性热传导问题。另一种可以解决的是具有指定壁面热流量的流动,具体可以参阅具有指定热流量条件的周期性热传导一节。

注意:只有在使用分离解算器时才可以模拟周期性热传导。

常数壁面温度条件的周期性热传导方程

对于常数壁面温度,当流体通过周期性区域时,其温度接近壁面边界的温度。但是温度可以用具有周期性行为来衡量。对于具有常数壁面温度的周期性流动,对温度较合适的度量为[119]:

?T?r??Twall??

Tbulk,inlet?Twall体积温度T_bulk,inlet定义为:

??T?dV?dA?ATbulk,inlet???

??dV?dAA其中积分是对整个入口周期性边界(A)的积分。正是规定的温度q服从通过长度为L的周期性条件。

常数壁面温度周期性热传导的用户输入

为了模拟周期性热传导,你需要参照使用分离解算器模拟流向周期流动所需用户输入一节所介绍的方法来设定你的周期性模型,同时要注意概述中所提出的限制。除此之外,你需

要提供如下与热传导模型相关的信息:

1. 在能量面板中激活能量方程解。菜单:Define/Models/Energy...。

2. 在各自的壁面面板为每一个壁面边界设定边温度T_wall。注意:所有的壁面边界必须

分配相同的温度,而且整个流场(除了周期性边界)必须由固定温度条件或者对称或零热流量边界来封闭不同的壁面边界。菜单:Define/Boundary Conditions...

3. 合适的话,定义固体区域。假如在区域的周边由固定温度条件封闭,你可以在区域内使

用传导性固体区域。当你使用固定温度条件解周期性热传导时,固体区域内不可以有热生成。菜单:Define/Boundary Conditions...

4. 设定常数流体属性(密度,热容,粘性,热传导系数,而不是在使用材料面板的1中定

义温度相关流体属性)。菜单:Define/Materials... 5. 在周期性面板中指定逆流体积温度。(体积温度不能等于壁面温度,因为它会给出常数

温度在任何位置的价值不高的解。)菜单:Define/Periodic Conditions...。

周期性热传导的解策略

完成了周期性热传导常数壁面温度的用户输入之后,你就可以解决流动和热传导问题直至收敛。最为有效的解决方法是首先解没有热传导的周期性流动,然后不改变流场来解热传导问题,具体步骤如下:

1. 在解控制面板中关闭能量方程选项。菜单:Solve/Controls/Solution...。 2. 解剩下的方程(连续性,动量以及湍流参数(可选))来获取收敛的周期性流动的流场

解。 注意,当你在开始计算之前初始化流场时,请使用入口体积温度和壁面温度的平均值作为流场的初始温度。

3. 回到解控制面板,关闭流动方程打开能量方程。 4. 解能量方程直至收敛获取周期性温度场。

当同时考虑流动和热传导来解决周期性流动和热传导问题时,你就会发现上面所介绍的方法相当有效。

监视收敛性

为了保证得到收敛解,你可以监测体积温度比的值:

??Twall?Tbulk,inlet

Twall?Tbulk,exit在计算过程中,打开静态监测面板,选择per/bulk-temp-ratio作为监测变量。详情请参阅静态监测一节。

固定温度条件的周期性热传导的后处理

在周期性模型中,由FLUENT所计算出的温度常将不会是周期性的,而且在后处理中察看温度结果时,FLUENT会显示常数壁面温度度条件下周期性热传导方程1中的真实温度场。所显示的温度可能会超出入口体积温度和壁面温度定义的范围。这种情况是允许的,因为在入口周期性表面处的真实温度轮廓可能会不等于入口体积温度。

在后处理面板中,我们可以在变量选择下拉列表的温度类别中找到静温选项:下图所示为周期性热交换器的温度常。

Figure 1: 具有固定温度边界条件的二维热交换器的温度场

指定热流量条件的周期性热传导

当指定热流量条件时,我们可以获得周期性完全发展的温度场。在这种情况下,周期性边界之间的温度交换变成了常数,而且从边界处获取的热量的净增量有关。这个边界是指本节所介绍的边界。

只有在使用分离解算器时才可以模拟周期性热传导。

指定热流量条件的周期性热传导方程

当考虑具有热流量条件的周期性热传导,非按尺度增加的温度场的形式变得和周期性流动的压力场相似

????T?r??T?r?L?T?r?L??T?r?2L????.

LL其中L是区域内周期性长度矢量。温度梯度s与区域内部总的热量增加Q的关系为:

?????T?TQ?bulk,exitbulk,inlet ?cpLmL其中m(dot)是指定的或者计算的质量流速。

指定热流量周期性热传导的用户输入

为了模拟周期性热传导,你需要遵照使用分离解算器计算流向周期性流动所需用户输入一节中介绍的方法来设定周期性模型,只是要注意一下引言中所讨论的限制条件。除此之外,你需要为热传导模型提供下面的相关输入:

1. 在能量面板中激活能量方程解。菜单:Define/Models/Energy...。 2. 在壁面面板为每一个壁面设定热流量。不同的壁面边界可以定义不同的热流量值,待是

在该区域内部不可以有其它的热边界条件。菜单:Define/Boundary Conditions...

3. 合适的话,定义固体区域。你可以在区域内任何位置定义传导性固体区域,需要的话还

可以包括固体内部体积热的增加。菜单:Define/Boundary Conditions...

4. 设定常数流体属性(密度,热容,粘性,热传导系数,而不是在使用材料面板的1中定

义温度相关流体属性)。菜单:Define/Materials...

5. 在周期性面板中指定逆流体积温度。菜单:Define/Periodic Conditions...。

解决周期性热传导问题

完成上面的输入之后,你就可以解决流动和热传导问题直至收敛。然而最为有效的解决方法应该遵循:首先解没有热传导的周期性流动,然后不改变流场来解热传导。这一步骤的具体介绍可以参阅周期性热传导的解策略一节。

指定流量条件的周期性热传导的后处理

具有指定热流量的周期性流动的后处理和指定温度条件的周期性流动的后处理相同。具体可以参阅固定温度的周期性热传导的后处理一节。

涡流和旋转流动

在许多重要的工程问题中都包括涡流和旋转,FLUENT很适合模拟这些流动。在燃烧中涡流是很常见的,为了增加滞留时间和流动模式的稳定性,在喷嘴和燃烧室中需要诱导涡流。在涡轮机,混合箱和各种各样的其它应用中都存在旋转流动问题。

在对涡流和旋转流动分析之前,你首先要对所解决的问题进行大致的分类,一般有如下五种流动类别:

? 涡流和旋转流的轴对称流动 ? 完全的三维涡流或旋转流动 ? 需要旋转参考系的的流动

? 需要多重旋转参考系或混合平面的流动 ? 需要滑动网格的流动

本节将会介绍前两类问题的模拟和解决过程。剩下的问题都包括移动壁面问题,我们将会在移动壁面中的流动一节讨论。

旋转流动和涡流的概述

涡流和旋转流动的轴对称流动

你的问题可能是关于几何图形与边界条件为轴对称的,但是仍然包括旋转和涡流。在这种情况下,你可以在模拟二维流动(即解决轴对称问题),并包括圆周速度(或涡流)的预测。需要注意的是,轴对称假定隐含了流动中没有周向梯度,但是仍然有非零的涡流速度。

二维涡流的切向动量方程为:

??w???w??1??r?uw??1??r?vw??1??r??tr?xr?rr?x???x???1??3??w??vwr?????r2?r??r?r??r??

其中x是坐标轴,r是径向坐标,u是轴向速度,v是径向速度,w是漩涡速度。

三维涡流

当几何图形有变化和/或具有周向流动梯度时,你需要用三维模型预测漩涡流动。如果你使用的三维模型中包括了涡流和旋转流动,你必须注意坐标系限制。除此之外你可能还会考虑将问题简化为一个等价的轴对称问题,尤其是对初始的模拟计算。初始的二维研究可以很快确定各种模拟和设计的选项的影响,所以它对我们模拟涡流的复杂性很有帮助。 对于包含涡流和旋转的三维问题,在问题的设定过程中没有什么特别需要输入的内容,也没有特别的解的程序。但是需要注意的是,在定义速度入口边界条件的输入时,你可能需要使用柱坐标系,具体可以参阅定义速度一节。而且你会发现在解的过程中旋转速度(设定为壁面或入口边界条件)的缓慢增加是非常有用的。在轴对称涡流的解策略一节中,描述了轴对称涡流的这方面内容。

需要旋转参考系的流动

如果你的流动包括了通过流体的旋转边界(如螺旋桨叶片或者沟槽或者锯齿状曲面),你就需要使用旋转参考系来模拟这类问题。旋转参考系中的流动一节详细介绍了这方面的应用。如果有不止一个旋转边界(比如说有一排螺旋桨),你可以使用多重参考系(MRF)或者混合平面。多重参考系模型一节介绍了多重参考系的相关内容,混合平面模型一节介绍了混合平面的相关内容。

涡流和旋转流动的物理描述

在涡流中,角动量守恒( r w or r^2 W = constant)往往导致了新的自由涡流动的产生,在自由涡流动中,周向速度w随着半径r的减小而急剧增加,在半径为零的附近由于粘性力占主导地位,w减小到零。龙卷风就是自由涡的一个典型例子。下图是一个自由涡周向速度和半径r的关系图。

Figure 1: Typical Radial Distribution of w in a Free Vortex

可以看出,对于理想自由涡流动,有圆周运动所产生的离心力和径向压力梯度是平衡的。

?p?w2? ?rr在非理想涡角动量分布变化时,径向压力梯度也会相应的变化,从而驱动径向和轴向流动来响应梯度变化所导致的非同一压力。因此当你计算FLUENT模型中的涡流的分布时,

你还要注意静压分布的变化以及相应的轴向和径向流动速度的变化。涡流和压力场之间的高度耦合时的涡流的模拟相当的复杂。

在壁面旋转驱动的流动中,壁面的运动常常会造成流体的受迫的涡运动,其中的w / r或者W为常数。这种流动最重要的特征就是流体倾向于具有很高的角动量(如:近壁面的流动)而被沿径向甩出(Figure 2)。因为旋转壁面将流体沿径向向外抽吸,所以这种现象常被称为“径向抽吸”。

Figure 2: 空腔内旋转流动流函数的等值线(具有旋转或涡流的轴对称流动一节中Figure 1

的几何图形)

涡流中的湍流模型

如果模拟具有大量漩涡的湍流流动(如:气旋流动,漩涡射流),你应该使用某一种高级湍流模型:RNG k-e模型,可实行的k-e模型或者雷诺应力模型。选择哪种模型依赖于涡的强度,它可以用漩涡的数量来度量。漩涡数量定义为角动量轴向流量与轴向流量动量的比值:

rwv?dA?S? R?uv?dA其中,R(bar)是水力学半径。

对于较弱的中等涡流(S < 0.5),RNG k-e模型和可实行的k-e模型比标准k-e要好一些。这些方法的详细描述可以参阅可实行的k-e模型和涡流修改一节。 对于强度较高的漩涡流动(S > 0.5),推荐使用雷诺应力(RSM)模型。高强度湍流的各项异性的影响只需要用RSM中采用的二动量闭合就可以严格模拟。关于本模型的详细设定请参阅雷诺应力模型和湍流流动问题的设定一节。

对于装置中遇到的涡流,如气旋分离器和漩涡燃烧室,近壁面湍流模拟常常是次要的问题。在这些算例中问题的可信度主要由核心区域湍流模型的的精度决定。但是在对于壁面在涡的生成过程中作用较大时(即:次要的流动和涡流是由压力产生时),非平衡壁面函数常

常可以提高预测的准确度,其原因在于它使用对压力敏感的平均速度的壁面定律。具体可以参阅壁面限制湍流流动的壁面处理中有关湍流近壁面处理的内容。

涡流和旋转流动的网格设定

坐标系的限制

大家应该还记得,对于轴对称问题,旋转轴必须是x轴,网格必须在直线y=0上或上方。具体可以参阅网格一章。

涡流和旋转流动的网格敏感性

除了坐标系限制之外,你还要注意在解决包括涡流和旋转的问题时你的网格应该有足够的分辨率。最为典型的就是旋转边界层,它会特别薄,因此你的FLUENT模型需要在旋转壁面处有相当精细的网格。除此之外,涡流的周向速度通常有很大的梯度(比如说自由涡流动接近中线的区域),此时也需要网格具有很高的分辨率。

具有涡流或旋转流动的轴对称流动

如旋转和涡流概述一节所讨论的,你可以解包括圆周和涡流速度预测的二维轴对称问题。轴对称假设暗含了流动没有周向梯度,但是可能有非零的周向速度。下面两个图就是包含涡流或者旋转的轴对称流动的例子:

Figure 1: 空腔内的旋转流动

Figure 2: 气体燃烧室内的涡流

轴对称涡流的问题的设定

对于轴对称问题,你需要在问题设定时执行下面的步骤(其它的与轴对称涡流或旋转流动无关步骤和其它的问题设定一样):

1. 在解面板中打开轴对称涡流选项,激活圆周方向的动量方程解。菜单

Define/Models ?Solver...

2. 在入口或壁面处定义速度的旋转或涡流分量r W。菜单:Define/Boundary Conditions... 注意:对于旋转轴要记住所使用的轴边界类型。

在移动壁面处定义速度和定义速度条件一节将会详细介绍在入口处和壁面处旋转速度输入的步骤。

轴对称涡流的解策略

与解涡流和旋转流动相关的困难就是动量方程的高度耦合性,它是旋转项的影响过大所致。高度的旋转导致了驱动轴向和径向流动的较大径向压力梯度。这按顺序确定了流场的涡流和旋转。耦合可能会导致流动解的不稳定,所以为了获取收敛解需要采用特定的技巧。下面是解涡流和旋转流动的解技巧:

? (只用于分离解算器)如果使用四边形或六面体网格,你需要使用PRESTO!格式(在

解控制面板的离散的压力列表中),它很适合于解决涡流中具有很大压力梯度的流动。 ? 确保网格在压力和漩涡速度较大梯度的地方具有足够的解析度。

? (只用于分离解算器)改变速度的亚松驰参数,对于旋转流动可能是0.3--0.5,对于涡

流可能是0.8--1.0。 ? (只用于分离解算器)使用顺序的或者步进解,在这些解法中有些方程暂时是未被激活

的(请参阅轴对称涡流的解策略一节)。 ? 必要的话,开始计算时采用较低的旋转速度或涡流速度,然后逐渐增加直至所需要的操

作条件(请参阅轴对称涡流的解策略一节)。 关于解参数的改变请参阅使用解算器一章。下面详细介绍了步进程序和旋转速度逐渐增加的方法。

一般说来,如果你使用下面的步进解方法很容易解高度的涡流和旋转流动,在步进解中的每一步只有所选的方程是被激活的。该方法允许你建立角动量场,然后在更新速度场时固定角动量场,最后同时解所有的方程将两个场耦合。

注意:因为耦合解算器同时解所有的方程,所以下面的方法只应用于分离解算器。 在这些方法中,你需要使用解控制面板中的方程列表来打开和关闭个别的输运方程。 1. 如果你的问题包括质量流入和/或流出,首先开始计算没有旋转和涡流影响的流动。也

就是说在解控制面板中激活轴对称选项而不是轴对称涡流选项,然后不设定任何旋转边界条件。所得的流场数据结果可用于完全问题的初始猜测。 2. 激活轴对称涡流选项,然后设定所有的旋转/涡流边界条件。

3. 首先只解描述圆周速度的动量方程来预测旋转/涡流流动。该项列于解控制面板的方程

列表中的旋转速度选项。在边界条件输入的基础上让旋转在整个流场“扩散”。在湍流模拟中,你可能还要在这一步中让湍流方程也激活。这一步在整个流场中建立了旋转场。 4. 关闭描述旋转运动(涡流速度)的动量方程。固定周向速度,在其它坐标方向上解动量

和连续性(压力)方程(解控制面板的方程列表中的流动)。这一步将会建立流场中由于旋转而导致的轴向和径向速度。如果你的问题还包括湍流流动,在这一步计算时你要保持激活湍流方程。

5. 同时打开所有的方程获取完全的耦合解。要注意轴对称涡流解策略中关于亚松驰控制的

介绍。

除了上述步骤之外,在增加热传导之前,你可能需要通过解等温流动来简化你的计算,在增加湍流模型之前时,你可能需要先解层流流动。这两种方法可以用于任何解算器(分离解算器、耦合解算器)。

因为边界条件中定义的旋转或涡流会导致流动中出现较大的较复杂的力,所以当旋转速度或者涡流角度增加时,你的FLUENT计算可能稳定性会变差。因此,解决这类问题最为行之有效的方法就是,在开始的时候用较低的旋转速度或者漩涡速度解决问题,然后逐渐增加它们的大小直至所需要的标准。具体做法如下:

1. 在边界条件的设定中,用较低的旋转速度或涡流速度设定问题。在第一次尝试时,旋转

和涡流一般选定为真实操作条件的10%。

2. 在这些条件下解决问题。此时可能要使用轴对称涡流解策略一节中介绍的步进解方法。 3. 保存初始解数据。 4. 修改输入(边界条件)。增加旋转速度,可能用双倍的速度。 5. 用第三步得到的解重新开始计算。保存新的数据。

6. 继续增加旋转速度,重复第四第五步直到达到所需的操作条件。

轴对称涡流的后处理

轴对称流动结果的报告和其它流动一样。当激活轴对称涡流时,在后处理过程中可以处理下面的附加变量:

? 漩涡速度(在速度类别中)。

? 漩涡壁面剪切应力(在壁面流量类别中)

可压流动

在高速流动或者压力变化剧烈的流动中会遇到压缩性影响。当流体流动速度接近或者大于气体的声速时或者系统的压力变化D p /p较大时,气体随压力变化密度会对流动速度、温度有较大的影响。可压缩性流动具有独特的物理性质,本节将会介绍载客压缩性流动中你必须注意的特定的输入和解的技巧。下面两个图是用FLUENT计算的两个可压缩流动的例子。

Figure 1:收缩扩张喷管的跨声速流动

Figure 2: 二维管道上突起的马赫数为0.675的流动

可压缩性流动可以用马赫数来表征

M?uc

其中c是气体的声速

c??RT

其中c是气体的比热比c_p/c_v

马赫数小于一为亚声速。当马赫数远小于一时(M < 0.1),可压缩性影响可以忽略,在模拟中气体密度随压力的变化可以忽略。当马赫数接近一时(被称为跨声速流动区域),可压缩性影响变得越来越重要了。当马赫数达于一时,称为超声速流动,其中可能会包含激波或者膨胀波,它们会对流动有较大的影响。FLUENT可以模拟压声速,跨声速和超声速流动的很大范围内的可压缩流动。

可压流动的物理描述

可压缩性流动最为典型的是使用总压p_0和总温T_0来描述。对于理想气体,总压、总温和静压、静温的关系为:

p0???1??1?M?ps?2?????12

T0??12?1?M Ts2这些关系是表示在等熵条件下流动的静压和静温和流动速度(马赫数)的变化关系。比方说:给定入口和出口的压力比(总压除以静压),上面的方程1可用于估计一维等熵流的出口马赫数。对于空气来说,方程1预测阻赛流动(马赫数为一处)的等熵压力比p_s/p_0为0.5283。阻赛流动条件出现在流动截面最小的点处(比方说:喷管的喉部)。在后面的扩张流动中,如果是超音速流,流动速度会加快,压力继续下降,如果是亚声速流动,流动速度会减慢并伴随着压力的升高。如果超声速流动受到压力升高的阻碍就会产生激波,通过激波之后压力会有很大的下降。

可压流动的基本方程

可压缩性流动用Fluent所解的标准连续性和动量方程来描述,你不必设定任何特殊的物理模型(除了气体定律的可压缩性形式一节中介绍的密度的可压缩性处理。FLUENT所解的能量方程很好的处理了流动速度和静温之间的耦合,不管你什么时候解可压缩性流动都必须激活能量方程。除此之外,如果你使用分离解算器,你需要激活能量方程一节中方程1的粘性耗散项,该项在高马赫数流动中会变得很重要。

气体定律的可压形式

对于可压缩性流动,理想气体定律的形式为:

???pop?p?RTs

其中p_op是操作条件面板中定义的操作压力,p是相对于操作压力的当地静压。气体常数从你所输入的分子量计算出来,温度T_s从能量方程中计算出来。

可压流动所需的模型输入

在FLUENT中设定可压流动步骤如下:

1. 在操作条件面板中设定操作压力。菜单:Define/Operating Conditions...。(你可以认为

p_op为流动中标准压力p为零的点处的绝对静压。)

2. 在能量面板中激活能量方程的解。菜单:Define/Models ?Energy...。 3. (只用于分离解算器)如果模拟湍流流动,请在粘性面板打开粘性热传导来激活能量方

程的粘性耗散项。这些项在高速流动中可能会十分重要。菜单:Define/Models/Viscous...。 !如果使用耦合解算器这一步就不必要了,因为耦合解算器在能量方程中总是包含粘性耗散项。

4. 在使用材料面板中设定下面几项。菜单:Define/Materials...

1. 在密度后面的下拉菜单中选择理想气体

2. 定义所有的相关属性(比热,分子量,热传导系数等)。 5. 设定边界条件,要确保边界条件与流动区域很好的结合。详情请参阅可压流动的边界条

件一节。必须记住,所有的压力输入(总压或静压)都必须是相对于操作压力而言的,入口处的温度必须是总温(驻点温度)而不是静温。菜单:Define/Boundary Conditions... 这些输入应该能够较好的描述可压缩流动问题。在计算之前你可能要考虑特定的解的参数的设定,具体可以参阅可压流动的解策略一节。

可压流动的边界条件

可压流动入口处口边界条件的提法如下: ? 对流动入口:

? 压力入口:入口总温和入口总压,如果是超声速入口还有静压。 ? 质量入口:入口质量流动和总温 ? 对流动出口:

? 压力出口:出口静压(如果是超声速流动此项忽略)

一定要记住,边界条件的压力输入(总压或静压)必须是根据标准压力,也就是操作条件面板中定义的操作压力来设定的。具体可以参阅可压流动建模所需要的输入一节。入口处的所有温度输入都必须是总温(驻点温度)而不是静温。

可压流动的解策略

解决可压缩流动主要难点在于速度、密度、压力和能量之间的高度耦合。耦合可能会导致解的不稳定,所以为了得到收敛解需要特定解决技巧。除此之外,激波(间断面)的产生可能会导致计算中出现其它的不稳定性问题。下面介绍一下可能会对计算有帮助的几个技巧:

? (只用于分离解算器)对速度使用守恒的亚松驰参数,大约为0.2或者0.3。

? (只用于分离解算器)设定压力的亚松驰约为0.1并使用SIMPLE算法。一定要注意对

于可压缩流动不能使用SIMPLEC或者PISO算法。

? 在解限制面板中设定温度和压力的极限以避免解的发散,尤其是初始解的发散。如果

FLUENT的消息输出被限制的温度或者压力作为接近收敛的解,那么你就需要改变限制的范围,因为较高或较低的计算值可能是物理解。 ? 如果需要的话,开始解决问题时在边界处使用减小的压力比,然后增加压力比直至达到

所需的操作条件。虽然不可压流动解在某些情况下可能是对可压流动较差的猜测,你还是可以考虑从不可压流动解开始计算可压流动解。 ? 在某些情况下从无粘流动开始计算可能很有帮助。

关于这些解参数的具体的改变步骤的详细介绍可以参阅解算器使用一章。

可压流动结果的报告

你可以使用和不可压流动一样的方式来显示可压流动的计算结果。当模拟可压流动时,下面的变量尤为重要: ? 总温 ? 总压 ? 马赫数

在后处理面板的变量选择下拉列表中包含了这些变量。总温在温度类别中,总压在压力类别中,马赫数在速度类别中。关于它们的定义可以参阅流场函数定义一节。

无粘流动

无粘流动分析不考虑粘性影响,而且很适合于处理高雷诺数应用问题中惯性力由区域粘性力主导的情况。高速导弹气动分析就是较为合适的无粘流动的例子。像这样的例子物体上压力远远大于粘性力。因此,无粘流动分析可以很快的给出作用于物体上的力的初步估计。当改变物体外形来最小化升力或者阻力,你就可以考虑在升力和阻力中流体粘性和湍流粘性的影响来进行粘性分析。

无粘流动另一个常用的领域是,对包含复杂物理现象或者复杂流动几何外形流动进行分析,从而给出初始解。在这种情况下,粘性力是很重要的,但是在初期计算时会忽略动量方程粘性项。一旦计算已经开始而且残差开始减小,你就可以打开粘性项(通过激活层流或湍流流动)继续计算直至收敛。对于一些复杂流动,这是唯一可以开始计算的方法。

欧拉方程

对于无粘流,FLUENT解欧拉方程。质量守恒方程和层流流动的一样,但是动量方程和能量方程因为忽略了分子扩散项而得到化简。

本节的无粘流动方程是在惯性(无旋转)参考系中的。后面几节将会介绍组分输运和其它模型相关的守恒方程。对于非惯性系的应用请参阅移动区域中的流动一章。

质量守恒方程

质量守恒或者连续性方程可以写成:

??????ui??Sm ?t?xi该方程是质量守恒方程的一般形式,适用于不可压流和可压流。源项S_m是从散布的二级相加入到连续相中的质量(如:液滴的蒸发)以及自定义的源项。

对于二维轴对称问题,连续性方程由下式给出:

?????v???u????v??Sm ?t?x?xr其中x是轴坐标,r是径坐标,u是轴向速度,v是径向速度。

动量守恒方程

i向动量守恒方程为:

???ui?????uiuj????p??gi?Fi ?t?xj?xi其中p是静压,r g_i和F_i分别是i向的重力体积力和外部体积力(如离散相之间的相互作用而产生的力)。F_i还包括其它的模型相关源项,比如多孔介质或者自定义源项。

对于二维轴对称几何图形,轴向和径向动量守恒方程分别为:

???u??1??r?uu??1??r?vu????p?Fx ?tr?xr?r?x以及:

???v??1??r?uv??1??r?vv????p?Fr ?tr?xr?r?r其中:

??u?vv??v???

?x?rr能量守恒方程

???E????ui??E?p??????hj?Jj??Sh ?t?xi?xij?

设定无粘流动的模型

对于无粘流动,在问题设定过程中你需要执行如下步骤(只列出与无粘流动相关的设定,其它的问题你还要进行相关设定。

1. 在粘性模型面板中选择无粘来激活无粘流动的计算。菜单:Define/Models/Viscous...。 2. 设定边界条件和流动属性。菜单:Define/Boundary Conditions...以及Define/Materials...。 3. 解决问题并检查结果。

解决无粘流动模型的解策略

因为无粘流动中通常包括高速流动,所以,如果你使用分离解算器,你需要减小动量的亚松驰因子;如果你使用耦合解算器,为了开始解算你还要设定Courant数。一旦开始计算,并且残差开始减少,你就可以逐渐将亚松驰因子或Courant数恢复到默认值。

亚松驰因子和Courant数的修改可以在解控制面板中进行。菜单:Solve/Controls/Solution...。

可压流动的解策略也要用到无粘流动中。具体可以参阅可压流动的解策略一节。

无粘流动的后处理

如果你对作用于模型上的升力和阻力感兴趣,你可以使用力报告面板来计算它们。详情请参阅边界处的力一节。

时间相关模拟

FLUENT可以解决质量、动量、能量、组分及其它标量的守恒方程的时间相关形式。它可以解决很大范围的时间相关现象,如: ? 涡的脱落和其它时间相关现象 ? 压缩注入和倾倒问题 ? 瞬时热传导

? 瞬时的化学混合与反应

下面两个图是圆柱绕流尾迹的时间相关涡的脱落的图案:

Figure 1: Time = 3.66 sec

Figure 2: Time = 41.6 sec

当解决区域不稳定的定常状态问题(如:雷诺数接近过渡区域的自然对流问题),激活时间相关通常是很有帮助的。通过积分时间相关方程在很多情况下都可以获得定常解。

时间离散

在FLUENT中时间相关方程必须在时间和空间中离散。时间相关方程的空间离散和定常状态(见离散一节)的离散是一样的。时间离散包括微分方程中每一项关于时间步D t的积分。瞬时项的积分是很简单的,如下所示: 变量f随时间变化的一半表达式为:

???F??? ?t其中函数F为任何空间离散的合并。如果用后向差分来离散时间导数,一阶精度的时间离散为:

?n?1??n?t?F???

二阶离散为:

3?n?1?4?n??n?1?F???

2?t其中

f = 标量

n+1 = 下一个时间步(t + D t)的值 n = 当前时间(t)的值

n-1 = 上一个时间步(t - D t)的值

一旦时间导数被离散,还需要选择F(f)的估值:尤其是在估计F(f)时要用到时间步中的f值的情况

隐式时间积分

一个方法就是在将来时间步中估计F(f)的值:

?n?1??n?t?F?n?1

??因为在给定单元中的f^n+1和通过F(f^n+1)的邻近单元的f^n+1有关,所以它被称为隐式积分:

?n?1??n??tF??n?1?

该隐式方程可以通过重复的初始化f^i到f^n并迭代下面的方程直至f^i不再变化(即:收敛f^n+1 =f^i)而解出:

?i??n??tF??i?

此格式为一阶格式

?i?43?n?13?n?1?23?tF??i?

此格式为二阶隐式格式。

全隐格式的优点是它关于时间步无条件稳定。

显式时间积分

当使用耦合显式解算器时可以用二阶方法。该方法在当前的时间步中估计F(f)的值:

?n?1??n?t?F?n

??它被称为显式积分,这是因为f^n+1可以根据已有的解f^n来明确表示:

?n?1??n??tF??n?

(该方法和RAMPANT中的全局时间步方法等价。)

在这里,时间步D t受到解算器稳定性极限的限制(即:时间步对应的courant数近似为1)。为了保证时间精度,区域内所有的单元都必须使用相同的时间步。出于稳定性考虑,时间步必须是区域内所有当地时间步的最小值。

显式时间步的使用时有很多限制的。它主要用于捕捉移动波(如激波)的过渡行为,这是因为在这种情况下,它比隐式时间步更精确也更省时。在下面的几种情况中,你不可以使用显式时间步进:

? 使用分离或者耦合隐式解算器时。显式时间步形式只能用在耦合显式解算器中。

? 不可压流动。显式时间步不能用于计算时间精度不可压流动(即:除了理想气体的气体

定律)。在每一个时间步内,不可压解必须迭代直至收敛。 ? 收敛加速。FAS多重网格和残差光滑不能用于显式时间步进,这是因为它们破坏了解算

器的时间精度。

时间相关问题的用户输入

要解决时间相关问题,请遵循下面的步骤: 1. 在解面板中激活非定常选项(下图),并指定所需要的非定常形式。菜单:

Define/Models/Solver...。

Figure 1: 非定常计算的解算器面板

一阶隐式格式对于大多数问题已经足够了。显式形式只有在面板顶部的解算器和形式选项下面选择耦合显式解算器时才可以使用。显式形式主要用于解决捕捉诸如激波之类的运动波的过渡问题。详细内容可以参阅时间离散一节。 2. 定义所有相关模型和边界条件。注意:任何用自定义函数指定的任何边界条件可以在时

间中改变。详细内容清参阅UDF一章。

3. 如果你使用分离解算器,在解控制面板中的离散选项下选择PISO作为压力速度耦合格

式。菜单:Solve/Controls/Solution...。 一般说来,你不需要改变PISO参数的默认值。关于PISO的更多信息请参阅PISO一节。 4. (此步可选,但是在显式非定常形式中推荐使用)使用统计监视面板激活每一次迭代重

当前时间的输出选项。菜单:Solve/Monitors/Statistic...。

在统计列表中选择时间并打开打印选项,当FLUENT在每一步迭代中将残差打印到控制台窗口时,还会打印一栏当前的时间。

5. (此步可选)使用力监视面板或者曲面监视面板来监视(和/或保存到一个文件)随时

间变化各力的系数值或者在曲面上随时间变化的变量或者函数的平均值、质量平均、积分或者流量。详细内容可以参阅监视解的收敛性一节。 6. 使用解初始化面板设定初始条件(在时间t=0时)。菜单:Solve/Initialize/Initialize...。

你也可以读入一个定常数据文件作为初始条件设定。菜单:File/Read/Data...。

7. (此步可选)在解的过程中使用自动保存功能来指定需要保存文件的名字以及case文

件和data文件的保存频率。菜单:File/Write/Autosave...。

关于该功能的详细使用可以参阅,case和data文件的自动保存一节。 你还可能希望用监视命令面板来请求其它命令的自动保存(如:显示等值线图并自动将它保存到硬拷贝文件)具体方法可以参阅在计算中执行命令一节。

8. 设定时间相关解参数并计算出一个解。下面分别是隐式和显式非定常形式的介绍:

? 如果你使用一阶或者二阶隐式形式,你需要在迭代面板(下图)中设定时间相关解

参数并对所需要的时间步来计算流动解。菜单:Solve/Iterate...。

Figure 2: 隐式非定常计算的迭代面板

下面是隐式非定常格式的解参数:

? 每一个时间步的最大迭代次数:当FLUENT使用隐式各式解时间相关方程时,在

每一个时间步都要进行必要的迭代。这个参数设定了每一个时间步内的最大迭代次数。如果在最大迭代次数之前已经满足了收敛判据,就会进行下一个时间步的解算。 ? 时间步的大小:时间步的大小就是D t的大小。因为FLUENT用全隐格式,所以

不存在用来确定D t的稳定性判据。但是为了正确模拟瞬时现象,有必要将D t设定比所模拟的系统最小时间常数小一个量级。判断D t选择的一个好方法就是观察每一个时间步中达到收敛FLUENT所需要的迭代次数。每一个时间步的理想迭代次数是10—20。如果FLUENT需要更多迭代次数才会收敛就说明时间步太大了。如果FLUENT在每个时间步中只需要很少的迭代次数,就可以增加D t。时间相关问题最常见的就是突然启动然后很快衰退。因此最好在前5-10个时间步中选择较小的D t,然后在计算过程中逐渐增加D t。

对于时间周期性计算,你需要在周期性时间尺度的基础上来选择时间步长。例如:对于转子/定子模型,你可能需要在每一个叶片通过的时间间隔中选取20个时间步。对于涡的脱落,你需要在每个周期选取20个时间步。

在计算过程中,FLUENT会在每一个时间步结束时打印当前的时间。 ? 如果选择显式非定常形式,你需要遵照下面的程序:

1. 在解控制面板中选取默认的解算器参数设定(即:没有多重网格,没有残差光

滑,Courant数为1)。菜单:Solve/Controls/Solution...。如果你曾经修改了默认的解算器参数,你可以点击默认按钮回到原来的默认设定。 2. 对所需的迭代次数计算流动解。菜单:Solve/Iterate...。

一定要记住,对于显式非定常形式,每一个迭代就是一个时间步。当FLUENT将残差打印到控制台窗口时,同时也会包括一栏当前时间(如果在上面第4步作了如此请求的话)。 9. 如果需要的话,请保存最后的数据文件和case文件(如果该文件被修改了),从而保证

以后还可以继续非定常计算。菜单:File/Write/Data...。

时间相关问题的后处理

时间相关数据的后处理和定常状态数据的后处理相似,我们可以使用图形和文字命令。你可以读入计算中任何点处手动或自动保存的数据文件来恢复任何所存储的时间步中的数据。菜单:File/Read/Data...。 FLUENT会用当前数据设定的时间值标记任何图形和文字报告。

如果你将力或曲面监视器的数据保存到文件(时间相关问题的用户输入中的第五步),你可以将这些文件读入并画出相关图形来查看监视量的历史纪录。下图是以该方法产生的一个例子:

Figure 1: 时间周期解的升力系数图

自定义标量输运模拟

FLUENT可以解决任意的,自定义标量(UDS)的输运方程,解决办法和解其它标量如组分质量分数的输运方程一样。在某一燃烧应用或者等离子体放大曲面反应模型中可能会需要其它的标量输运方程。例如,自定义标量可以用于实现磁流体力学(MHD)模型,来解决磁场中流体传导的流动问题。在MHD中,传导流体的流动诱发磁场,该磁场就应该用自定义标量来解。磁场产生了对流动的阻力,这个阻力是用自定义源项来模拟的(见自定义源项一节)。

对于任意标量f_k,FLUENT根据计算对流流量所使用的方法来解决下面三个方程的某一方程:

? 如果对流流量将不被计算,FLUENT解下面的方程:

????k?????k?S?k,k?1,...,N

???xi??xi?其中G_k和S_f_k分别是你所提供的N-标量方程的每一个方程补充的扩散系数和源项。

? 如果对流流量用质量流速计算,FLUENT解下面的方程:

??k???????ui?k??k?S?k,k?1,...,N

???xi??xi?? 也可能指定一个用于计算对流流量的自定义函数。此时,FLUENT解下面的方程:

??k???????Fi?k??k?S?k,k?1,...,N

??xi??xi?其中F_i是自定义流量。

在FLUENT中,自定义标量只在流体单元而不在固体单元重中解。

定义、解决和后处理一个UDS

下面概述了一下定义、解算和后处理自定义标量的步骤:

1. 在自定义标量面板(下图)中指定标量的数目。菜单:Define/Models/User-Defined

Scalars...。

Figure 1: 自定义标量面板

2. 指定流量函数为无、质量流速或者自定义函数(已定义的自定义函数的名字会出现在流

量函数列表中)。流量函数确定了对流流量如何计算,它确定了FLUENT处理UDS的方程。选择无、质量流速或者自定义函数,FLUENT会分别解自定义标量输运模拟的方程1,自定义标量输运模拟的方程3和自定义标量输运模拟的方程5

注意:对于所有的UDS你需要指定一个流量函数。如果你有多个UDS,它们都会以同一种方式计算对流流量。如果你选择自定义函数,所有的UDS都必须包括流量函数。 3. 对于所有壁面,质量入流和质量出流边界,你需要为UDS指定边界条件。你可以为每

一个标量定义一个指定值或指定的流量。菜单:Define/Boundary Conditions...。 1. 在自定义标量边界条件(例如下图)中标量后面的下拉列表中选择指定流量或者指

定值。

Figure 2: 自定义标量输入的速度入口面板

2. 在自定义标量边界值中输入常值或者为每一个标量选择自定义函数。如果选择指定

流量,你所输入的就是边界处的流量值,如果你选择指定值,你所输入的就是边界处标量自己的值。

4. 如果你想在UDS方程中包含源项,请在流体面板中激活源项选项,并设定标量的源项

为常值或者自定义函数(如下图)。如果指定的源项是自定义函数,你的函数必须计算

源项S及其导数ds/df。菜单:Define/Boundary Conditions...。

Figure 3:自定义标量源项的流体面板输入

5. 设定解参数,指定每一个UDS(如你为所有其它标量输运方程所做的定义)的初值,

并计算出一个解。

6. 使用后处理工具检查结果。在每一个后处理面板中,流场变量列表会包括自定义标量类

别,这个类别包括了每一个UDS的值和扩散系数(自定义标量输运模拟中方程1,自定义标量输运模拟方程3或者自定义标量输运模拟的方程5的G_k: ? 标量n

? 标量n的扩散系数