当前位置:文档之家› 计算流体力学

计算流体力学

计算流体力学
计算流体力学

第一部分 计算流体力学(CFD)的基本思想

一、什么是计算流体力学(CFD)?

计算流体力学(Computational Fluid Dynamics)是流体力学的一个新兴的分支,是一

个采用数值方法利用计算机来求解流体流动的控制偏微分方程组,并通过得到的流场和其它物理场来研究流体流动现象以及相关的物理或化学过程的学科。事实上,研究流动现象就是研究流动参数如速度、压力、温度等的空间分布和时间变化,而流动现象是由一些基本的守恒方程(质量、动量、能量等)控制的,因此,通过求解这些流动控制方程,我们就可以得

到流动参数在流场中的分布以及随时间的变化,这听起来似乎十分简单。但遗憾的是,常见的流动控制方程如纳维-斯托克斯(Navier-Stokes)方程或欧拉(Euler)方程都是复杂的

非线性的偏微分方程组,以解析方法求解在大多数情况下是不可能的。实际上,对于绝大多数有实际意义的流动,其控制方程的求解通常都只能采用数值方法的求解。因此,采用CFD 方法在计算机上模拟流体流动现象本质上是流动控制方程(多数情况下是纳维-斯托克斯方

程或欧拉方程)的数值求解,而CFD 软件本质上就是一些求解流动控制方程的计算机程序。

二、计算流体力学的控制方程

计算流体力学的控制方程就是流体流动的质量、动量和能量守恒方程。守恒方程的常见

的推导方法是基于流体微元的质量、动量和能量衡算。通过质量衡算可以得到连续性方程,通过动量守恒可以得到动量方程,通过能量衡算可以得到能量方程。式(1)-(3)是未经任何简化的流动守恒微分方程,即纳维-斯托克斯方程(N-S 方程)。

0)(=??+??V t

v ρρ (1) x zx xy xx f z

y x x p V u t u ρτττρρ+??+??+??+???=??+??)()(v (2a) y yz yy xy f z

y x y p V v t v ρτττρρ+??+??+??+???=??+??)()(v (2b) z zz yz xz f z

y x z p V w t w ρτττρρ+??+??+??+???=??+??)()(v (2c) V f w z

w y

w x v z v y v x u z u y u x z wp y vp x up z

T k z y T k y x T k x q V E t E zz yz xz zy yy xy zx yx xx v v &v ?+??+??+??+??+??+??+??+??+??+?????????????+????+????+=??+??ρτττττττττρρρ)()()()()()()()()()()()()()()()()( (3) N-S 方程可以表示成许多不同形式,上面的N-S 方程是所谓的守恒形式,之所以称为守恒形式,是因为这种形式的N-S 方程求解的变量ρ、u ρ、v ρ、w ρ、E ρ是守恒型的,是质量、

动量和能量的守恒变量。事实上也可以直接求解u、v、w、T 等原始变量,这种形式的N-S 方程被称为非守恒形式,因为这些变量并不守恒。也可以根据具体的流动状况进行简化,比如对于无粘流动N-S 方程可以简化为欧拉方程(粘性项被去掉),如式(4)-(6) 所示;对于不可压缩流动(液体的流动,马赫数小于0.3的气体流动),N-S 方程可以简化为不可压缩的N-S 方程(密度恒定,因此被消去);对于定常流动,N-S 方程可以去掉时间导数项,简化为稳态的N-S 方程;流体流动往往具有三维性质,但是也常常可以简化为二维流动甚至一维流动。对于CFD 的计算来说三维简化为二维或一维意味着运算量的大幅度降低。

0)(=??+??V t

v ρρ (4) x f x

p V u t u ρρρ+???=??+??)()(v (5a) y f y

p V v t v ρρρ+???=??+??)()(v (5b) z f z

p V w t w ρρρ+???=??+??)()(v (5c) V f z

wp y vp x up q V E t E v v &v ?+?????????=??+??ρρρρ)()()()()( (6)

三 、求解控制方程的数值方法

对于无法用解析方法求解的微分方程可以用数值方法求解,所谓数值方法求解就是用近似的数值解逼近微分方程的精确解。流动控制方程的精确解是流场计算域内流动参数(如速度、压力、温度等)的连续分布,而数值解则是流场计算域内离散的点上的近似解对连续精确解的逼近,换句话说,我们可以把连续的流场离散为一定数目的不连续的点,在这些离散点上,守恒方程被近似满足,如果离散点之间的距离为无穷小,则近似解将无限趋近于精确解,因此我们可以用近似解代替精确解。这就是流动微分方程数值求解的基本思想。

以数值方法求解流动微分方程,首先要把需要求解的流场的几何空间(或称为计算域)离散为孤立的不连续的点,或者说用一定数量的点覆盖或代表要求解的连续的流场,然后将流动控制方程的偏导数用离散点之间的有限变化来代替,例如,表示速度梯度的导数x

u ??/用差商来代替,其中和x u ΔΔ/u Δx Δ分别是x 坐标方向的两个相邻的点的速度差和坐标x 的增量。可以想象,如果控制微分方程中的所有导数或偏导数都被类似于差商的量代替的话,偏微分方程将有可能变成一个线性方程,一个只包含离散点的坐标和待求函数值(如上述的u)的线性方程。事实上,我们可以把流动控制方程组的每一个偏微分方程在每一个离散点

上转变为一个线性方程。假如我们用100个点离散一个计算域,那么对每个偏微分方程我们将得到100个线性方程。至此,偏微分方程的求解已经转化为线性方程组的求解,如果得到线性方程组的解,我们就得到了偏微分方程组的近似数值解。因此,我们也可以说,CFD 模拟的过程本质上是在计算域上构建线性方程组并求解线性方程组的过程。

从上面的论述可以看出,数值方法求解流动微分方程至少包括三个步骤:首先,离散计算域;其次,在离散后的计算域上离散控制方程;其三,求解离散得到的线性方程组。需要补充的是,并不是所有的线性方程都需要求解,实际上有些特殊点上的流动变量值或其梯度是已知的,这些特殊的点就是计算域边界上的点。通常为了限定微分方程的解,我们需要给

出定解条件,在这里就是所谓边界条件。同样的道理,对于包含时间导数的微分方程,我们需要给定初始条件。

上面我们用差商取代导数的方法介绍了离散(把连续空间里的微分方程转化为该连续空间内的不连续的点上的近似的线性方程的过程叫做离散化)微分方程的思想。但是应该注意的是,流动控制微分方程的离散化需要严谨的数学推导、证明和分析。离散化方法的研究是CFD最重要的部分,也是CFD中的数值方法的基础。计算流体力学中有三大类主要离散化方法,即:有限差分方法(FDM),有限体积方法(FVM)和有限元方法(FEM)。三者的区别主要在于它们处理最基本的离散单元的方法,其中有限差分和有限体积法更为常用。有限差分法通常在离散点上直接以差分替代微分(即差商替代导数),差分可以分为向前、向后和中心差分;有限体积法则首先对构造在离散点周围的控制体进行积分,将一阶导数项转换为代数项,然后在控制体界面插值来实现离散化。对于不同的控制方程,每一类方法又有许多具体的实施办法,这些实施方法被称为格式(scheme)。

1.计算网格的生成

在计算流体力学术语中,计算域的离散被称之计算网格生成,所谓网格实际上就是用上述的离散点以某种方式连接而成的“网络”。最直观的网格是二维网格,例如,我们可以将一个矩形计算域用一定间隔的x方向的若干条直线和类似的y方向的若干条直线划分为一个个小的矩形单元组成的网状结构,这个网状结构就是一个最简单的二维网格。前述的用于离散控制方程的点可以是网格线的交叉点,也可以是矩形单元的中心,这取决于离散控制方程所采用的方法。

实际上,划分网格有很多方法,网格线可以是直线或曲线、正交的或非正交的,网格线的间隔可以是均匀的或非均匀的。而有些网格并不存在有意义的网格线,或者说网格线没有规则的结构,如用小的三角形单元构成的二维网格(类似于有限元网格),这样的网格被称为非结构网格(unstructured grid),相对应的是前面所说的具有直线或曲线网格线的网格被称为结构网格(structured grid)。二维网格是最据直观意义的网格,而一维网格的划分实际上是将一个有限长度的直线或曲线分割成长度一定数量的均匀或不均匀的小的线段,控制方程将在这些小线段的端点或中心离散。三维网格则可以看作二维网格在第三维方向的延伸,例如三维结构网格的网格单元常见的是长方体或扭曲的长方体(视直线网格或曲线网格而定),三维非结构网格的网格单元多为四面体。

网格生成是CFD模拟的一个十分重要的部分,为了确保计算精度,网格必须足够密集,事实上我们并不要求网格的密度在整个网格范围均匀一致,通常对流动参数梯度大的地方要采用较为密集的网格(例如激波的位置,边界层附近),梯度小的地方则可以适当采用疏松的网格(比较开阔的空间、流动被扰动较少的地方)。一个高质量的网格是CFD模拟成功的关键因素,不合适的网格可能直接导致计算的失败。因此,人们在生成网格上花费的时间常常超过全部CFD工作时间的50%,对于复杂的几何形状网格生成所花费的时间甚至达到70%。由于网格生成的复杂性和巨大的工作量,许多专业的网格生成工具应运而生,例如ICEM CFD, Gambit等。

2.边界条件与初始条件

对于CFD模拟要求解的问题,计算域的几何边界定义了流场的范围,或者说计算域是由

几何边界确定的,而边界的物理特性则定义了问题本身。如前所述,边界点的流动参数值常常是给定的,因此是已知的,这就是边界条件。从给定方式来看,边界条件有三种形式:其一,Dirichlet 边界条件,直接给定流动参数的值,如给定边界的速度、温度;其二,Neumann 边界条件,给定一阶导数,如给定压力梯度;其三,混合边界条件,是Dirichlet 边界条件和Neumann 边界条件的混合。以上三种边界条件也被称为第一、第二、第三类边界条件。从

边界的物理性质来看,边界条件又可分为:固壁边界条件、入口边界条件、出口边界条件等等。给定正确或合适的边界条件对于CFD 计算也是十分重要的,实际上流场的特性很大程度上是由边界条件决定的。

相对而言,初始条件的设定比较简单,我们需要给定的是一个初始时刻已知的流场。事

实上并不是所有的CFD 计算都需要初始条件,初始条件仅对于随时间变化的流场的求解才是必不可少的。

3. 计算结果的后处理

一个成功的CFD 计算环节完成之后,CFD 程序或软件将计算结果写入一个或多个特定格

式(因特定的软件而异)的数据文件,这些数据文件通常包括计算网格点的坐标,每个网格点上的流动参数值(如速度,压力,温度,密度等),对于这些数据的分析还需要专门的工

具软件,这些工具软件将网格的结构、流动参数的分布等显示出来。常见的基本的显示方法包括标量等值线分布(如温度、压力分布的云图),向量分布(例如用带箭头的线段表示速

度的大小和方向),X-Y 曲线图等。这些后处理方法将计算结果清晰地显示出来,供人们方便地分析和评价计算结果。

4. 举例:一维激波管内流动的CFD 模拟

一维激波管内压力驱动的气体可压缩流动是一个气体动力学的经典问题。如图1所示,考虑一个两端封闭、中间用隔膜(Diaphragm)隔开的管子,隔膜左右的封闭空间里分别充满不同压力的气体,其中左面为高压,右面为低压, 有,而且压差较大。假设在某一瞬间隔膜破裂,隔膜右侧的空间产生一个向右运动的激波,而在隔膜的左面将产生一个向左运动的膨胀波,该激波和膨胀波随时间的推移向两个不同方向传播,如图2所示。实际上,在隔膜破裂、可压缩流动建立以后,激波管内存在着四个不同的区域,如图2所示,从右到左,区1是激波前面的尚未受到扰动的低压区域(压力为初始压力,密度为初始

密度4p 1p 14p p >1p 1ρ)

;区2是位于激波之后,是被激波扰动过的低压区域,在这个区中,压力和密度均大于区1中的压力和密度,即:,12p p >12ρρ>;区3位于膨胀波之后,是已经受到膨胀波扰动的高压区,其压力和密度均低于初始的压力和密度,即:,43p p <43ρρ<

,与区2相比较,尽管23ρρ>,但是32p p =,区2和区3的分界在隔膜的初始位置,在此处存在一个接触间断,其压力是连续的,但密度是间断的;在激波管的最左端的区4是尚未受到膨胀波扰动的初始高压区,压力为,密度为4p 4ρ。事实上,当时间足够长,膨胀波和激波将到达左右两端,区1和区4将不复存在,因此本文考虑的问题是在隔膜破裂之后激波和膨胀波尚未到达两端的情况。

图1

激波管:两端封闭,中间用隔膜隔开,左面充气的压力大于右面

图2隔膜破裂后产生激波(向右)和膨胀波(向左)

很显然上述的激波管问题是一个非定常的可压缩流动,由于管径没有变化,流动具有沿管子轴线方向的一维流动性质,也就是说,我们可以忽略管子半径方向的变化而仅考虑轴向的流动情况。另一方面,流动的特性主要由气体的可压缩性决定(流动由初始时刻的压差决定,激波和膨胀波是气体可压缩性的反应),粘性的影响可以忽略,因此对于该流动问题的

控制方程我们选择是一维欧拉方程,如式(7)所示。

0=??+??x F

t U

(7)

其中矩阵U 和F 分别定义如下:

??????????=E u U ρρρ, (8)

?????????

?+=uH p u u F ρρρ2其中ρ为气体的密度,u 是速度,u ρ是单位气体体积动量,E 是单位质量气体的总能量:,H 为总焓:2/2u e E +=ρ/p E H +=。对于理想气体,以下定义或关系成立:

RT

a u h H RT T c h RT T c e T

R p p v γγγ

γρ=+=?==?=

==2

112

(9)

其中v p c c /=γ,对于空气,4.1=γ;气体常数R=287J/kgK。

以矩阵形式表示的一维欧拉方程,见式(7),实际上代表了三个方程,分别为连续性方

程、x 方向动量方程和能量方程。其中U 矩阵包含了未知量ρ,u ,E ,如果求得了这三个量,我们又可以通过公式(9)从以上三个变量中求出其它变量如p ,T ,H , 以及音速。在本例中我们将采用Lax 格式来离散上述的一维欧拉方程,并求得激波管流动的数值解。由于三个偏微分方程具有相同的形式,我们将把矩阵U 和F 作为代表三个方程的一般变量来推导,即在下面的推导中,U 和F 被当作普通的变量,通过它们得到的结果可用于全部三个方程。

a

x Δx

Δ

图3 一维网格

图3是代表激波管的一维网格,我们以第j 个节点为例离散一维欧拉方程,首先将式(7)

写作以下形式:

x

F t U ???=?? (10) 并以差商近似代替导数:

x F F t U U n j n j n j

n

j Δ??≈Δ??++21

11 (11)

式中n 代表当前时间步,n+1代表下个时间步,j 表示目标节点,j-1代表左邻节点,j+1代表右邻节点,如图3所示。整理式(11)可以得到(约等号用等号代替):

)(2111n j n j n

j n j F F x

t U U ?++?ΔΔ?= (12) 至此,我们得到了一维欧拉方程在点j 的一种离散形式,所使用的方法为有限差分方法,其中时间导数的离散称之为向前差分,空间导数的差分为中心差分。从式(12)看来,我们可以从点j 及其邻点j+1和j-1在合适的时间步长t Δ和空间步长x Δ下求得新的时刻t t Δ+的

函数值,并继续重复这个过程计算任意时刻的。但遗憾的是,数值方法稳定性分析

表明式(12)所示的格式是不稳定的,就是说随着计算的进行,误差将越来越大,直至计算

发散(误差趋近无限大)。上述的格式被称为FTCS(时间向前差分、空间中心差分的英文缩

写)。我们在本例中将采用的Lax 格式是对FTCS 的一种改进。

1+n

j U j U 在Lax 格式中,FTCS 格式中当前时间步在节点j 上的值被其左右邻点j+1和j-1上

的平均值代替: n

j U n U )(2)(2111111n j n j n j n j n j F F x

t U U U ?+?++?ΔΔ?+= (13)

稳定性分析表明Lax 格式是由条件稳定的,即有如下的稳定性条件:

1||≤ΔΔx

t a (14) 式中|a|是音速的绝对值,显然上式的意义在于扰动在一个时间步长内传播的距离必须不超

过网格的宽度。为了编程方便,我们把式(13)所示的矩阵U 和F 表示的Lax 格式分解成矩阵元素所代表的三个方程:

2)()(211111n j n j n j n

j n j u u x

t ?+?++?ΔΔ?+=ρρρρρ (15a) 2)()(2)()()(1212111n j n j n j n j n j p u p u x t u u u ?+?+++?+ΔΔ?+=ρρρρρ (15b)

2)()(2)()()(11111

n j n j n j n j n j uH uH x t E E E ?+?++?ΔΔ?+=

ρρρρρ (15c) 可以看出,在已知初始条件的前提下,我们通过Lax 格式,即公式(15a-c),可以计算一个

时间步长之后时刻的流场(即ρ,u ρ,E ρ,从中可以通过热力学关系,求出,T,p)

,在新的时间步下重复式(15a-c)的计算,则可以得到任何时刻的流场。这种算法实际上是一

种“时间踏步”。激波管问题本质上是一个初值问题,因此时间踏步类算法是适用的。事实

上,求解激波管问题的一维欧拉方程有很多种时间踏步类方法(也称显式时间格式),如

Lax-Wendroff 格式,MacCormack 格式,Van Leer 格式,Roe 格式等等,Lax 格式是其中的最简单的一种。

编写Lax 格式的程序可以遵循以下步骤:

1) 初始化所有的变量:p , T , u , ρ, E ,H ,γ, R ,, ,, 计

算初始音速x Δstart x end x RT a γ=

,以及Courant 数x t a ΔΔ=/σ。 2)

计算允许的最大时间步长 )|/(|max max a u t t +Δ=Δσ 3)

在所有的节点上求解方程(15) 4)

重复2)和3)计算下个时间步 5)

当达到要计算的物理时间时,结束求解过程,输出结果。

下面是以Matlab 语言编写的利用Lax 格式求解激波管一维可压缩流动的程序:

% An M-file script to implement Lax’s scheme

% for solving 1D Euler equations in a shock tube

timeOut = 0.005 % physical time to compute, s

lendom = 10.0 % length of the doamin in x direction, m

nnod = 101 % number of nodes

dx = lendom/(nnod - 1) % space interval

X = [0.:dx:lendom] % x - coordinates of nods

Tini = 300.0 % initial temperature, K

PiniL = 10.0 % left initial pressure, bar

PiniR = 1.0 % right initial pressure, bar

uini = 0.0 % initial velocity, m/s

gamma = 1.4 % Cp/Cv

R = 287.0 % gas constant, J/kg.K

CFL = 0.98

DiniL = 100000.0*PiniL/(R*Tini) % left density, kg/m^3

DiniR = 100000.0*PiniR/(R*Tini) % right density, kg/m^3

Eini = R*Tini/(gamma - 1.0) % initial total energy, J/kg

Hini = Eini + R*Tini % initial enthalpy, J/kg

aini = (gamma*R*Tini)^0.5 % initial sound speed, m/s

Den = zeros(1, nnod) % Density at nodes

Tem = zeros(1, nnod) % Temperature at nodes

Pre = zeros(1, nnod) % Pressure at nodes

Vel = zeros(1, nnod) % Velocity at nodes

M = zeros(1, nnod) % Mach number at nodes

Ene = zeros(1, nnod) % Total energy at nodes

Ent = zeros(1, nnod) % Enthalpy at nodes

a = zeros(1, nnod) % Sound speed at nodes

dt = CFL*dx/aini % initial CFL condition

% Construction and initialization of U matrix

U1 = [DiniL*ones(1, (nnod - 1)/2), DiniR*ones(1, (nnod - 1)/2 + 1)] % rho

U2 = zeros(1, nnod) % rho*u

U3 = [DiniL*Eini*ones(1, (nnod - 1)/2),DiniR*Eini*ones(1, (nnod - 1)/2 +1)] % rho*E Un = [U1; U2; U3]

Un1 = Un

% Construction and initialization of F matrix

F1 = zeros(1, nnod) % rho*u

F2 = [PiniL*ones(1, (nnod - 1)/2), PiniR*ones(1, (nnod - 1)/2 + 1)] % rho*u^2 + p F3 = zeros(1, nnod) % rho*u*H

Fn = [F1; F2; F3]

Un1(1:3, 1) = Un(1:3, 1) % B.C.

Un1(1:3,nnod) = Un(1:3, nnod) % B.C.

time = 0.0

while(time < timeOut) % Physical time loop -- begin

time = time + dt

for j = 1: nnod

if (j~=1)&(j~=nnod)

% Solve Un+1|j = (Un|j+1 + Un|j-1)/2 - dt/dx (Fn|j+1 - Fn|j-1)/2

Un1(1:3,j) = (Un(1:3,j+1) + Un(1:3,j-1))/2.0

Un1(1:3,j) = Un1(1:3,j) - dt/dx*(Fn(1:3,j+1) - Fn(1:3,j-1))/2.0

end

end

%% Calculate flow properties from Un+1

Den = Un1(1,1:end)

Vel = Un1(2,1:end)./Den

Ene = Un1(3,1:end)./Den

Tem = (Ene - 0.5*Vel.*Vel)*(gamma - 1.0)/R

Pre = R*Den.*Tem

Ent = Ene + R*Tem

a = (gamma*R*Tem).^0.5

M = Vel./a

%% Calculate minimum time step (CFL condition)

dt = CFL*dx/max(a + Vel)

%% Update Un and Fn

Un = Un1

Fn = [Den.*Vel; Den.*Vel.*Vel + Pre; Den.*Vel.*Ent]

end % Physical time loop – end

图4-图7所示是Lax格式求解一维欧拉方程所得到的激波管模拟计算结果,图中实线为解析解。从上述的结果可以看出,Lax格式的数值解与解析解比较存在一定误差,特别是在间断(激波、接触间断)附近。事实上,Lax格式并不适合间断捕捉,本文介绍这种方法是因为它具有简单易懂的特点。

图4 激波管数值解:密度(kg/m 3) 图5 激波管数值解:压力(Pa)

图6 激波管数值解:马赫数 图7激波管数值解:速度(m/s)

第二部分CFD通用软件综述1

计算流体力学,简称CFD(Computational Fluid Dynamics)是20世纪60年代起伴随计算机技术迅速崛起的学科。经过半个世纪的迅猛发展,这门学科己相当成熟,成熟的一个重要标志是近十几年来,各种 CFD 通用性软件包络续出现,成为商品化软件,为工业界广泛接受,性能日趋完善,应用范围不断扩大。至今,CFD技术的应用早己超越传统的流体力学和流体工程的范畴,如航空、航天、船舶、动力、水利等,而扩展到化工、核能、冶金、建筑、环境等许多相关领域中去了。

CFD通用软件包的出现与商业化,对CFD技术在工程应用中的推广起了巨大的促进作用。在此之前,航空和航天工程一直较重视CFD技术,并早已研制出用于气动设计的专业性应用软件包。但在其他方面,主要还是在学术范围内开展研究工作,真正在工程设计中实际应用并不多。显然,CFD技术艰深的理论背景与流体力学问题的复杂多变阻碍了它向工业界推广。一般工程技术人员很难较深入地了解这门学科,由专家编制的程序用起来也不容易,因为总有不少条件、参数要根据具体问题以及运算过程随时做出修改调整,若不熟悉方法和程序,往往会束手无策,此外,前、后处理也显得十分棘手。CFD研究成果与实际应用的结合成为极大难题,这一切曾使人们对CFD的工程应用前景产生疑虑。在此情况下,通用软件包应运而生。一般认为是Spalding主持的英国CHAM公司跨出了第一步,Spalding与Patankar提出的SIMPLE算法(半隐式压力校正解法)在70年代己被广泛用于热流问题求解,CHAM公司在80年代初以该方法为基础推出了计算流体力学与传热学的商业化软件- PHOENICS的早期版本。这是CFD通用软件包的雏型,具有一定通用性,尽管功能还很不完备,但问世后很受欢迎。于是,在其版本不断更新的同时,新的通用软件,如 FLUENT、STAR-CD与CFX等也相继问世,这些软件十分重视商业化的要求,致力于工程实际应用,并在前、后处理,人机对话等方面下大功夫,从而被工业界所认识和接受,为CFD技术打开了广阔的应用前景。进入90年代,更多的商业化CFD应用软件如雨后春笋般出现,涉及范围越来越广。CFD通用软件以其模拟复杂流动现象的强大功能、人机对话式的界面操作以及直观清晰的流场显示引起了广泛关注,其发展在西方国家得到工业界和政府部门的有力支持。九十年代后期,在工程技术界还曾出现推广学习CFD技术的热潮。这标志着CFD技术终于成功走出学术研究的象牙之塔,成为工程设计的重要手段。

计算流体力学在20世纪80年代左右取得了不少重大进展。在高速可压缩流动方面,基于总变差减小 (Total Variation Diminishing,TVD)[1~3]与矢通量分裂(Flux Vector Splitting)[4,5]、通量差分分裂(Flux Difference Splitting)[6,7]等方法的高精致格式(High Resolution Scheme)终于较好地解决了流体力学的一大难题--跨、超音速计算的激波精确捕获。而采用传统的人工粘性方法的Jameson格式[8]等在这方面也取得很大的成功。多层网格与残差光顺[9,10](Resisual Smoothing)等加速收敛技术有效地减少了三维流动模拟的巨大计算工作量。而在低速不可压流动方面,利用人工可压缩性方法与压力校正法等对纳维-斯托克斯方程组的直接求解取代了局限性很大的流函数-涡量法等传统解法,从而也促进CFD技术向流体传热、多相流、燃烧与化学反应流等领域迅速扩展与深入。这些进展为通用软件的发展奠定了良好的理论基础。

1本文取材于姚征、陈康民的论文“CFD通用软件综述”(《上海理工大学学报》24卷第2期, 2002年)

受种种条件、因素的限制与影响,CFD通用软件在我国的引进推广比较晚,直到最近几年才有较大起色。在很长一段时间内,只有极少数研究单位和大型企业引进正规CFD软件,人们接触较多的是PHOENICS的早期版本(基本上是免费的),虽有一些CFD软件公司曾在我国找过代理,举办过产品介绍会,但收效甚微。著名软件“CFX”于1995年在我国设立代理,并成功地发展了一批用户,是进入较早的一个CFD通用软件;自1997起,PHOENICS以其较低廉的价格、较高的性价比以及代理商的成功促销发展了不少国内用户。PHOENICS和CFX使很多人对CFD通用软件包的特点与功能有了初步认识。1998年,全球市场占有率最高的CFD软件—FLURENT在北京设立代理公司,正式进入中国市场,并迅速取得良好的销售业绩。STAR-CD、NUMECA(FINE)等著名软件也先后在中国设立代理,发展用户,于是国内出现了CFD软件群雄逐鹿的局面。

由于CFD软件是专业性很强的高科技产品,很多用户,尤其是工业界用户,对其性能特点和技术背景了解很少,即便是从事流体力学工作的人,如对数值模拟缺乏了解,对CFD软件的认识也比较模糊。随着CFD通用软件的推广,其用户与潜在用户在迅速增加,不少人迫切希望对CFD软件有个较全面的了解。本文将根据笔者所了解的情况及有关资料对CFD通用软件共同的特点、软件的离散格式与解法、湍流模型与网格生成等方面,以及国内市场的主要CFD通用软件概况作一个综合介绍。

1CFD通用软件的主要特点

各种CFD通用软件的数学模型的组成都是以纳维-斯托克斯方程组与各种湍流模型为主体,再加上多相流模型、燃烧与化学反应流模型、自由面流模型以及非牛顿流体模型等。大多数附加的模型是在主体方程组上补充一些附加源项、附加输运方程与关系式。随着应用范围的不断扩大和新方法的出现,新的模型也在增加。

离散方法采用有限体积法(FVM)或有限元素法(FEM)。由于有限体积法继承了有限差分法的丰富格式,具有良好的守恒性,能像有限元素法那样采用各种形状的网格以适应复杂的边界几何形状,却比有限元素法简便得多,因此,现在大多数CFD软件都采用有限体积法。然而,有限元素法也有其优点,它对高阶导数的离散精度高于有限体积法,低速粘性流动与非牛顿流体运动采用有限元素法可以提高精度。有限元素法也更适合流体力学与固体力学相耦合的问题,如气动弹性、振动噪声等,因此在CFD方法中将有其自己的领域。目前国内销售的CFD通用软件 PHOENICS、FLUENT、STAR-CD、CFX-TASCflow 和 NUMECA等都采用有限体积法。而以固体力学计算为主的著名有限元软件ANSYS中包含着流体力学计算模块,适于合流固耦合计算。国外著名的CFD有限元软件还有适合非牛顿流体计算的POLYFLOW以及具有较强通用性的热流计算软件FIDAP、FLOTRAN、TURB、N3S等(POLYFLOW与FIDAP软件己在1997年为FLUENT公司收购)。

为了体现通用性,CFD通用软件应能适应从低速到高超音速的宽广速度范围。然而跨、超音速流动计算涉及激波的精确捕获,对离散格式精度要求甚高,难度较大。由于跨、超音速流动主要存在于各种飞行器、高速旋转叶轮机械以及高速喷管、阀门等,在其他工程应用中很少出现,所以有些主要面向低速流动的CFD通用软件在高速流动方面功能比较弱。

由于从纳维尔-斯托克斯方程组出发,因此内流与外流、旋转与非旋转系统的差别只是反映在边界条件与源项的设置上。

三维流动数值模拟的计算量巨大,所以CFD通用软件尽可能采用各种加速收敛技术,如

多层网格法、残差光顺法与当地时间步长法等来加快收敛。并且利用平行计算法缓解单机容量不足与计算时间过长的困难。

为了方便用户,有针对性地设置各种专用模块。如PHOENICS中模拟建筑物暖通空调的FLAIR模块, CFX-TASCf1ow与NUMECA中模拟叶轮机械旋转流动的模块等。FLURENT 公司更是针对不同的应用发行了多种专用版,如模拟搅拌现象的MIXSIM软件,模拟暖通空调的AIRPAK软件等。专用模块与专用版本使这些复杂流动计算中繁冗的网格生成和边界条件设置等工作得到很大程度减轻,而且提供计算结果分析处理的辅助工具,是吸引工业用户的重要途径。

CFD软件都配有网格生成(前处理)与流动显示(后处理)模块。网格生成质量对计算精度与稳定性影响极大,然而在几何形状复杂的区域上要生成好网格也是相当困难的,所以网格生成能力的强弱也是衡量CFD通用软件性能的一个重要因素。网格分为结构型和非结构型两大类,目前广泛采用的仍是结构型网格。对于较复杂的求解域,构造结构型网格时要根据其拓破性质分成若干子域,各子域间采用分区对接[11]或分区重叠技术来连接[12]。现在CFD通用软件都已能够借助CAD软件对流场几何形状建模输入,但生成结构型网格仍是件相当费时费力的工作。CFD软件设置的各种专用模块有个很重要的作用,就是提供网格自动生成功能,如CFX-TASCflow与NUMECA的叶轮机械模块都能按用户提供的几何参数自动生成单级或多级叶轮的三维网格。另一方面,由于非结构网格不受求解域的拓破结构与边界形状限制,构造起来方便得多,而且便于生成自适应网格,能根据流场特征自动调整网格密度,对提高局部区域计算精度十分有利。然而,非结构网格所需内存量和计算工作量都比结构型网格大很多,有些流场解法和模型不适用于非结构网格,如目前常用的一些代数湍流模型和壁面函数等就有这样的问题;此外,多层网格技术用于非结构网格也有较多困难。因此,两者结合的复合型网格是网格生成技术的发展方向。由于网格类型与流场计算方法关系密切,把结构型网格的CFD软件改变为非结构型网格,其流场计算模块也需作大量修改,直至重新编制。目前,FLURENT、STAR-CD与CFX都已具有非结构网格功能。除了CFD软件自带的网格生成模块,还可采用专门的网格生成软件,如EAGLE、GRIDGEN等生成网格。

CFD软件的流动显示模块都具有三维显示功能来展现各种流动特性,有的还能以动画功能演示非定常过程。流动显示与流场计算没有内在联系,但其输出端应能与图形处理软件方便连接,否则用户会感到很不方便。

2 CFD通用软件采用的基本解法、离散格式与湍流模型

纳维-斯托克斯方程组的求解模块是CFD软件的核心部分。纳维-斯托克斯方程组对于不可压缩流体与可压缩流体的流动所表现的不同性质导致解法上的差别。对于低速不可压流动,如不考虑温差引起的浮力效应,连续方程与动量方程便可构成封闭方程组,由一定的压力分布通过动量方程即可解得速度场。但速度场必须满足连续方程的约束,而连续方程与压力却没有直接关系,从而导致求解的困难。针对这一问题出现了多种解法,如人工可压缩性方法、压力校正法与时间分裂法等。由于第一个CFD通用软件PHOENICS采用了压力校正法,即SIMPLE方法(后发展为SIMPLER、SIMPLEC、PISO[13]等,目前PHOENICS采用的是SIMPLEC),而FLUENT、CFX和STAR-CD等目前的主流软件也都采用压力校正法作为其低速计算模块,这样就使得该方法成为目前CFD通用软件求解低速问题的主要方法。该方法所采用的离散格式,以PHOENICS为例,省缺格式是上风与中心相结合的一阶精度杂交型格式

(Hybrid Scheme),但备有多种一阶、二阶精度格式供选择。一阶精度格式通常都有明显的数值耗散,二阶精度格式可减少数值耗散,但易产生数值震荡。为了抑制数值震荡须以各种方式(显式或隐式)引入非线性的人工粘性因子,所以有实际应用价值的二阶精度格式几何都是非线性格式,如PH0ENICS推荐的SMART格式[14],以及具有TVD性质的V on.Leer格式[15]、V on.Albert格式[16]等。此外,PH0ENICS还提供了一种改进的一阶上风格式CLDS(守恒型低耗散格式)[17],其原理是将每个四方形单元用对角线(面)拆分为4个三角形(三棱柱)单元,称为X 单元,再按上风格式计算对流通量,据介绍可有效地降低流动方向与网格偏斜导致的数值耗散。

目前,PH0ENICS、FLUENT、CFX和STAR-CD等都采纳了对流项二阶迎风插值格式—QUICK格式(Quadratic Upwind Interpolation for Convection Kinetics scheme)[18]。它的数值耗散明显低于一阶上风与杂交型格式,因此有较高精度,其构造也较简单,从而被通用软件广泛采用。然而QUICK格式作为一种高精度的线性格式,同样会导致振荡,即存在格式的有界性问题,尤其流场变化强烈的地方。为了改进QUICK格式,人们仿照构造可压缩流动二阶TVD格式的做法,对它引入各种非线性的限制器(Limiter)来抑制振荡发生,如PHOENICS 推荐的SMART以及HQUICK等格式就是这样构成的。PHOENICS的说明文本中详细列出了包括QUICK系列在内的各种离散格式的表达式,并利用一个简单算例对它们的耗散性和有界性作了检验。

一般说来,低速流动计算对离散格式不太敏感,但普通的一阶精度格式包含过多的数值耗散,所以作定量分析计算时要避免采用。

对于可压缩流动,连续方程、动量方程与能量方程联列求解,称作耦合解法。非定常的可压缩流动的纳维-斯托克斯方程组是双曲-抛物型方程组,对亚、跨、超音速流动具有统一的数学特性,从而可以用统一的离散格式求解,这对于解决复杂的跨音速计算是极有利的。定常可压缩流动可以通过增添瞬变项而非定常化,称为时间相关法(Time-Marching Method)。对于低速流动,由于微分方程组的双曲-抛物型特征的丧失,使耦合解法不能奏效。然而预条件法(Precondition Method)[19]通过适当的数学处理改变了离散后的代数方程组的特征,使得低速流动问题也可以求解。这样,耦合解法使流体力学问题的求解模式实现高度统一,但采用预条件法解低速流动问题的计算工作量要比压力校正法大。耦合法中可以将时间和空间混在一起离散,如20世纪7、80年代十分流行的Lax-Wondroff格式、MacCormack 预测-校正格式[20]和 Richtmyer 两步格式[21]等;也可以将时间和空间分开处理,先单独对空间离散,离散后的方程成为对时间的常微分方程组,再用人们熟悉的常微分方程组的数值积分法对时间积分求解。由于后者更便于程序处理,现在被广泛采用。

以NUMECA软件为例,它是全部按耦合法编制的,采用中心和上风两类格式。其中心格式是 Jameson 的二阶精度显格式[8],这一格式是在物理通量的简单中心离散格式上,加上一个非线性二阶人工粘性项和一个线性四阶人工粘性项,前者用于控制激波间断附近的虚假振荡,在光滑区域趋于零;后者用于消除其他较小的振荡,它们往往发生在叶片后缘一类的区域。通过开关函数控制,四阶粘性项在间断面附近变为零。除了这种有效的人工粘性以外,Jameson 等还采用了当地时间步长与隐式残差光顺技术来加速收敛,并将对时间的多步Runge-Kutta积分方法与多层网格技术结合成优化的迭代格式。Jameson方法是目前三维可压缩流动计算中应用最广泛的格式之一。

在上风格式方面,NUMECA采用了具有TVD性质的一阶和二阶精度的通量差分分裂格

式。通量差分分裂格式基于对欧拉方程组的对流通量的特征分析,将对流过程中物理信息传播的方向性和激波间断特性嵌入了离散格式,捕获激波精度高,适合于复杂的流动。二阶精度通量差分分裂格式在激波附近也会产生数值振荡,为了抑制虚假振荡,配置了多种限制器(Limiter),其作用相当于以一种精致的方式施加了人工粘性[22],这样的格式具有总变差单调下降的特性,称为TVD格式。基于对欧拉方程组的特征分析的二阶精度格式,如通量分裂、通量差分分裂格式等,在赋予TVD属性后成为高精致格式(High Resolution Scheme),它们对激波间断的分辨率高,计算稳定性好,但计算量也较大。相比之下,采用中心格式的Jameson方法要经济得多,尤其在作三维计算时,所以人们乐于使用它,但Jameson方法的人工粘性系数需人工调节,对于复杂流动,这种调节也有一定难度。 TVD方法也可用于中心格式,得到对称的TVD格式[3],NUMECA也配置了对称型TVD格式。

离散格式是CFD技术中发展最快的部分,新的格式总在不断地推出。如作为对TVD格式的改进,能在极值点也保持二阶精度的基本无振荡格式[23](TVD格式在极值点退化为一阶精度),以及中心格式的各向异性人工粘性模型[24](上述Jameson格式用的是各向同性人工粘性)等。然而,至今高精度格式的研究,主要是针对跨、超声速流动中激波捕获一类问题,所以新的格式通常在航空航天工业的专业级软件中先被采用(如NASA推出的软件)。通用商业软件面向一般工程领域,由于绝大多数工作是速度较低的流动,对离散格式要求并不突出,而离散格式又是软件的核心部分,改动起来困难很大,所以通用商业软件在这方面往往比较保守些。软件开发公司通常在湍流模型、多相流与化学反应流等真实流体模型,以及前后处理和用户界面等方面下更多功夫。这一类改进一般只是在原有框架上增添一些子块或作些局部修改,但对多数用户却更有意义。然而,在一般工程问题中也会碰到跨、超声速流动,如高速旋转的叶轮中的流动、高压气体喷嘴和阀门附近的流动等,这时,离散格式的质量对计算就有极大影响。如果用户有这一类计算任务,就要重视对软件的离散格式的考察。

近年来,非结构网格得到迅速推广,由于结构型网格的高精度格式不能直接推广应用于非结构网格,从而发展适合非结构网格的离散格式显得十分重要和紧迫。在这方面也已取得不少进展,如Jameson提出了局部极值减小(Local Extreme Diminishing, LED)原理[26]将基于一维分析的TVD概念向多维推广,它对于建立适合非结构网格的高精致格式有重要意义。而作为基于一维分析的通量差分分裂格式的推广,脉动分裂格式(Fluctuation splitting scheme)[26]可以适应非结构网格单元表面方向复杂多变的情形。

湍流模型是CFD软件的主要组成部分之一。通用CFD软件都配有各种层次的湍流模型,通常包括代数模型、一方程模型、二方程模型、湍应力模型等,有的甚至已将大涡模拟也列入。对工程应用而言,主要采用代数模型和二方程模型。

代数应力模型尽管只能反映湍流的当地影响,不能反映对流与扩散效应,但如果边界层没有明显的分离,代数模型与二方程模型的计算结果十分接近,由于其简便经济,在三维计算中仍广泛采用[27,28]。代数应力模型中有的是根据特定对象专门设计的,如PH0ENICS中用于窄小空间低雷诺数流动的LVEL模型[29]等。

应用最广泛的二方程模型是k-ε模型,由于各向同性,它适合于较大雷诺数、低旋、弱浮力流动,而对强旋流、浮力流和近壁流等明显各向非同性的流动就不适用。同时,标准k-ε模型的耗散性过强,为此出现许多修正的k-ε模型[30],在各通用软件中都收录,但在一般应用中,其差别不大明显。由于k-ε模型不适于近壁流动,在计算中经常用壁面函数模拟近壁流态,在通用软件中都配置了壁面函数。

湍应力模型要增加6个湍应力输运方程,不但计算工作量和内存量大幅度增长,而且要给出新增变量的初、边值条件以及收敛控制都不容易,对工程问题并不理想。至于大涡模拟,无论从计算机能力和方法的成熟程度来看,离实际应用还有较长距离,但湍流模型方面的研究重点已转向大涡模拟,估计在今后10年内,随着这一方法的成熟以及计算机能力进一步提高,将逐步成为湍流模拟的主要方法。

除了上述各类模型以外,有实用价值的还有改进的一方程模型[31],它对近壁流的模拟效果较好;以及简化的湍应力模型,即代数应力模型[32]。从实用性来说,它们很有推广价值,尤其是代数应力模型,既能反映湍流的各向非同性,计算量又远小于湍应力模型。然而,就笔者所知,却还没有一个CFD通用软件采用了它们,可能在实现通用性上有某些困难。

3 著名CFD通用软件简介

目前在我国设有代理或办事处的著名CFD通用软件有PHOENICS、FLUENT、STAR-CD、CFX-TASCflow与NUMECA等,PHOENICS软件是最早推出的CFD通用软件,FLUENT、STAR-CD与CFX-TASCflow是目前国际市场上主流软件,而NUMECA则代表了CFD通用软件中的后起之秀。

PHOENICS软件以低速热流输运现象为主要模拟对象,由于长期积累以及Spalding在建立理论模型上非凡的创造力,PHOENICS包含的湍流模型、多相流模型、燃烧与化学反应模型等相当丰富,其中有不少原创性的成分,如将湍流与层流成分假设为两种流体的双流体湍流模型 MFM[33]、专为组件杂阵的狭小空间(如计算机箱体)内的流动和传热计算而设计的代数湍流模型LVEL等都是Spalding与其合作者提出的。PHOENICS的边界条件设置也很有特点,是以源项的方式给定的。这个软件附带了从简到繁的大量算例,一般的工程应用问题几乎都可以从中找到相近的范例,再作一些修改就可计算用户的课题,所以能给用户带来极大方便。PHOENICS的暖通空调计算模块 FLAIR被广泛应用,也被一些别的应用软件包采纳,如英国集成环境公司(IES)的虚拟环境软件,就用它来模拟局部空间的热流现象。由于PHOENICS以压力校正法为基本解法,从而不大适合高速可压流计算。PHOENICS可以用非正交贴体网格,但网格畸变较大时可能会发生因难,估计是在算法中采用交错网格离散的缘故。笔者用PHOENICS计算风机流动,当叶片安装角(倾斜度)超过一定范围收敛就有困难。所以PHOENICS提倡采用直角形网格(笛卡儿网格),并提供了网格局部加密功能与网格被边界切割的补偿功能(PASOL)[34]与之相配合。近年来,直角形网格以其极其简便的优势,重新为人们关注[35, 36],PHOENICS在这方面的努力很有意义。PHOENICS软件的价格比其他CFD通用软件低得多,其高性价比使之成为国内用户最多的软件。

FLUENT、STAR-CD 与 CFX-TASCflow 堪称目前CFD主流商业软件,FLUENT(包括其多种专用版本)的市场占有率达40%左右,显然是应用面最广、影响最大的CFD软件;STAR-CD在日本销量占首位,在汽车工业中广泛用于内燃机计算;而CFX-TASCflow则在叶轮机、核能工程等领域广泛使用。这几种软件有不少共同的特点,例如它们都采用了压力校正法作为低速不可压流动计算方法,而可压缩流动则采用耦合法。它们在前、后处理上都下了极大功夫,FLUENT还根据用户的不同需求推出多种专用版本,如用于电子设备冷却的ICEPAK、用于空调分析的AIRPAK、用于化工搅拌的MIXSIM等,为用户带来很大便利,这是它们取得商业化成功的重要因素。STAR-CD是按非结构网格设计的软件,FLUENT与CFX 在其新版本FLUENT5与CFX5中采用了非结构网格。非结构网格由于其表面方向的多变性,

使一些在结构型网格中成功应用的高精度离散格式,如基于矢通量分裂或通量差分分裂的二阶上风格式及其限制器,不能直接推广应用于非结构网格;QUICK格式用于非结构网格时精度也降低。FLUENT采用的二阶上风格式是Barth与Jespersen针对非结构网格提出的多维梯度重构法(multi-dimensional gradient reconstruction)[37]。这个方法也是第一个较成功地用于非结构网格的二阶上风格式,它后来进一步发展,采用最小二乘法估算梯度[38],能较好地处理畸变网格的计算。FLUENT等率先采用非结构网格使它们在技术上处于领先,然而总的说来,非结构网格技术还不十分成熟,对于复杂的流态,结构型网格能获得较高的计算精度。FLUENT与STAR-CD都提供了结构型、非结构型以及两者混合的多种网格类型供用户选择。此外,在非定常流计算中十分重要的滑移网格(moving mesh)技术方面,FLUENT与STAR-CD 也有领先优势。在湍流模型、多相流模型等方面,这几个软件都相当丰富,在此不赘。

NUMECA 代表CFD应用软件中的后起之秀,它目前正式名称是“FINE”,但人们都习惯以其软件开发公司的名称“NUMECA”来称呼它。这个软件的前身是布鲁塞尔自由大学与瑞典航空研究所共同为欧洲空间发展中心(ESA)开发的航天飞行器计算软件“EURANUS”,后来发展为通用性的商业化软件,90年代中期才开始推向市场。由于它的前身是计算高速流动的专业级软件,从而软件的核心部分—离散格式与解法,以及跟求解密切相关的多层网格等方面的质量很高。如前所述,其中心格式采用了Jameson人工粘性显格式,上风格式采用基于TVD与通量差分分裂方法的高精致格式,方程求解采用多步Runge-kutta法,低速计算采用预条件法等,并采用了多层网格与隐式残差光顺法等加速收敛技术。该软件的主体部分是在九十年代初编制的,这些技术体现了当时CFD的最高水平。NUMECA后来重点发展其叶轮机流动计算模块,由于其高速流动计算的性能很强,从而对于包含跨、超音速区的高速压缩机、汽轮机等的模拟具有明显优势。NUMECA目前也在致力于开发其非结构网格版本。

4 结束语

本文对CFD通用商业软件的发展概况与技术特点等方面作了综述,由于CFD软件涉及的技术面很广,使人们在选择时常有无所适从之感。依笔者之见,应重点关注:

a.离散格式、求解方法以及多层网格等加速收敛功能。这是软件的核心部分,对解的精度

与求解速度等起决定作用,软件完成后也很难再改变,所以是决定软件先进性的重要因素,对计算精度要求较高的用户以及需要计算跨、超音速流动的用户,这方面尤其要留心。这些功能要通过具体算例来考察,不能仅依据说明介绍。

b. 网格生成功能及与之相匹配的算法。网格生成功能的重要性毋需烦言,还要注意与各种

网格相匹配的算法。如多模块网格中相邻模块对接或叠合时的数据连接方法;又如叶栅流动模拟中常采用C、O型结构网格,周期边界面上会失去网格点周期性,因此需要软件能通过插值施加周期边条等。对于非结构网格及自适应网格,则软件要有与之匹配的离散格式与算法,不能沿用结构型网格的算法。

c.处理用户的特定计算对象的能力。

CFD技术在工程上主要用于热、流相关产品与设施的研制设计过程,随着我国工业技术从引进、仿制走向自行设计开发新产品,这一高科技方法将深入到各相关领域,CFD通用软件在我国有着广阔的应用前景。

参考文献

[1] Harten A. High resolution scheme for hyperbolic system of conservation law[J]. J Comp Phys. 1983, 49:357-393

[2] Sweby P K. High resolution schemes using flux limiters for hyperbolic conservation laws[J]. SIAM J Num Anal. 1984, 21:995-1011

[3] Yee H C. Construction of explicit and implicit symmetric TVD scheme and their applications[J]. J Comp Phys., 1987, 68:151-179

[4] Steger J L, Warming R F. Flux vector splitting of the inviscid gasdynamic equations with application to finite difference methods[J]. J Comp Phys., 1981,40: 263-293

[5] Chakravarthy S R. The split-coefficient matrix method for hyperbolic system of gas dynamics equations. AIAA Paper 80-268, 1980

[6] Roe p l. Approximate Riemann solvers, parameter vectors and different schemes[J]. J Comp Phys., 1981, 43: 357-372

[7] Van Leer B. Towards the ultimate conservative difference scheme V: A second order sequal to Godunov’s method[J]. J of Comp Phys., 1979, 32:101-136

[8] Jameson A, Schmidt W, Turkel E. Numerical solution of the Euler equation by finite volume methods with Runge-Kutta time stepping schemes. AIAA paper 81-1259

[9] Ni R H. A Multiple grid scheme for solving the Euler equation[J]. J. AIAA , 1982, 20:1565-1571

[10] Van Leer B, Tai C H, Powell K G. Design of optimally smoothing multistage schemes for the Euler equations. AIAA paper 89-1933

[11] Steinbrener J P, Chawner J R, Fouts C L. Multiple block grid generation in the interactive environment. AIAA Paper 90-1602

[12] Benek J A, Buning P G, Steger J L. A 3-D Chimera grid embedding technique. AIAA Paper 85-1523

[13] Versteeg H K, Malalasekera W. An introduction to computational fluid dynamics The finite volume method. Longman Group Ltd 1995

[14] Gaskell P H, Lau A K C. Curvature-compensated convective transport: SMART, a new boundedness-preserving transport algorithm[J]. Int J Num Meth Fluids, 1988, 8: 617- [15] Van Leer B. Towards the ultimate conservative difference scheme II[J]. J Comp Phys., 1974, 14: 361-

[16] Van Albada G D, Van Leer B, Roberts W W. A comparative study of computational methods in cosmic gas dynamics. Astron. Astrophysics, 108: 76-, 1982

[17] Spolding D B, Zhubrrin S V. X-cell: a new algorithm for fluid-flow simulation in Phoenics. Lecture at Phoenics user conference in Tokyo. 1996

[18] Leonard B P. A stable and accurate convective modeling procedure based on quadratic upstream interpolation[J]. Comp Meth Appl Mech Engrg., 1979, 29: 59-98.

[19] Turkel E. Preconditioning method for solving the incompressible and low s;peed compressible equations[J]. J. Comp. Phys. 1988, 72: 277-298

[20] MacCormack R W, Baldwin B S. A numerical method for solving the Navier-Stokes equations with application to shock-boundary layer iteration. AIAA Paper 75-1

[21] Ritchtmayer R D, Morton K W. Difference methods for initial value problems. John

Wiley and Sons. 1967

[22] Hirsch Ch. Numerical computation of internal and external flows, V ol.II. John Wiley and Sons. 1988

[23] Harten A, Osher S. Uniformly high order accurate essentially non-oscillatory schemes[J]. J. Appl. Num. Math. 1986(2): 347-377

[24] Swanson R C, Turkel E. Artificial dissipation and central difference schemes for the Euler and N-S equations. AIAA Paper 87-1107

[25] Jameson A. Analysis and design of numerical schemes for gas dynamics. I. Artificial diffusion, upwind biasing, limiters and their effects on accuracy and multigrid

convergence[J]. Int J Comp Fluid Dyn., 1994(4):171-218

[26] Paillere H, Deconinck H, Struijs R, Roe P L, Mesaros L M, Muller J D. Computations of compressible flows using fluctuation-splitting on triangular meshes. AIAA Paper

93-3301-CP

[27] Cebeci T, Smith A M O. Analysis of turbulent boundary layers. Acad. Press. 1974

[28] Baldwin B S, Lomax H. Thin layer approximation and algebraic model for separated turbulent flows. AIAA Paper 78-257

[29] Agonafer D, Liao GL, Spalding B. The LVEL turbulence model for conjugate heat transfer at low Reynolds numbers. PHOENICS|Polis|Lecture|LEVEL 1993

[30] PHOENICS|Polis|Lectures|Turbulence Models

[31] Baldwin B S, Barth T. A one-equation turblence transport model for higf Reynolds number wall boundary flow. AIAA Paper 91-0610

[32] Rodi W. Turbulence model and their application in hydraulics. The Netherlands: Int.

Asso. For Hydraulics Research, 1980

[33] Spalding B, Zhubrin S. MFM simulations of flows near walls.

PHOENICS|Polis|Lectures| MFM

[34] PHOENICS|Polis|Workshop|the use of Pasol

[35] Smith R J, Johson LJ. Automatic grid generation and flow solution for complex geometries[J]. AIAA J. 1996, 34:1120-1124.

[36] Zeeuw D De, Powell K G. An adaptively refined Cartesian mesh solver for Euler equation[J]. J Comp Phys 1993, 104:56-68.

[37] Bath TJ, Jespersen DC. The design and application of upwind schemes on unstructured neshes. AIAA Paper 89-0366

[38] Barth TJ. Numerical aspects of computing viscous high Reynolds number flows on unstructured meshes. AIAA Paper 91-0721

实验1 二维有障碍通道内的流动

一、实验目的

1、初步掌握PHENICS软件的操作与边界条件设置方法;

2、能够对计算出的特性流场进行初步分析。

二、实验原理

本实验研究的是空气在一两维有障碍通道内的流动,如图1.1所示:

图1.1 二维有障碍通道示意图

WALL-W和WALL-E 是左右两块绝热板。IN-PLATE 是管道内的一块隔板,IN-BLOCK 是一管道内的可导热的绝热块,WALL-H是一绝热板,WALL-L是一可导热的板,同时也是热源。

三、实验方法与步骤

1.进入PHENICS-VR界面

1)点击桌面上的PHENICS图标,或从开始菜单进入在程序里PHENICS中点击

PHENICS即可打开PHENICS-VR界面;

2)选择File\Start New Case\Core,完成初始化。

2.环境变量的设置

1)在VR-Editor窗口中点击按钮,弹出Domain Settings对话框,对应Title项中

键入2-dimensional labyrinth flow;

2)点击Geometry按钮,在弹出的对话框中,将Domain size中的X-direction值改为

0.2m,Y-direction,Z-direction值改为0.1m确认退出;

3)点击Models按钮,将'solution for velocities and pressure'设置为'ON';点击'energy

equation'对应的按钮,在弹出的对话框中选择'Temperature',确认退出,并点击Total

按钮将其切换至Static;

4)点击按钮,再点击OK完成环境变量的设置。

3.实体的建立

高等计算流体力学讲义(2)

高等计算流体力学讲义(2) 第二章 可压缩流动的数值方法 §1. Euler 方程的基本理论 0 概述 在计算流体力学中,传统上,针对可压缩Navier -Stokes 方程的无粘部分和粘性部分分别构造数值方法。其中最为困难和复杂的是无粘部分的离散方法;而粘性项的离散相对简单,一般采用中心差分离散。所以,本章主要研究无粘的Euler 方程的解法。在推广到Navier -Stokes 方程时,只需在Euler 方程的基础上,加上粘性项的离散即可。Euler 方程是一种典型的非线性守恒系统。下面我们将讨论一般的非线性守恒系统以及Euler 方程的一些数学理论,作为研究数值方法的基础。 1非线性守恒系统和Euler 方程 一维一阶非线性守恒系统(守恒律)可写为下列一般形式 =??+??x F t U ,0,>∈t R x (1) 其中U 称为守恒变量,是有m 个分量的列向量,即T m u u u U ),...,(21=。T m f f f F ),...,(21=称为通量函数,是U 的充分光滑的函数,且满足归零条件,即: 0)(lim =→U F U 即通量是对守恒变量的输运,守恒变量为零时,通量也为零。 守恒律的物理意义 设U 的初始值为:0(,0)(),U x U x x =∈R 。如果0()U x 在x ∈R 中有紧支集(即0U 在有限区域以外恒为零),则0(,)()U x t dx U x dx =??R R 。即此时虽然(,)U x t 的分布可以随时 间变化,但其总量保持守恒。 多维守恒律可以写为 )(=++??+??k H j G i F t U (2) 守恒律的空间导数项可以写为散度形式。 守恒系统(1)可以展开成所谓拟线性形式

计算流体力学软件CFD在燃烧器设计中的应用探讨

计算流体力学软件CFD在燃烧器设计中的应用探讨[摘要]本文通过对目前燃烧器的现状与技术发展的研究,探讨计算流体力学 软件CFD在燃烧器设计中应用的必要性和可行性,以CFD(计算流体力学)软件为工具,以普通大气式燃烧器为研究对象,采用实验和理论相结合的方法,充分利用现代计算机技术,达到降低燃烧器设计成本和研制费用的目的。 [关键词]燃烧器数值模拟计算流体力学 一、燃烧器的发展现状 1.部分预混式燃烧器的产生及其原理 燃烧的方法被分为扩散式燃烧、部分预混式燃烧和完全预混式燃烧。扩散式燃烧易产生不完全燃烧产物,燃烧温度很低,并未充分利用燃气的能量;而一旦预先混入一部分空气后火焰就会变的清洁,燃烧温度也可以提高,燃烧较充分。完全预混燃烧(无焰燃烧)要求事先按照化学当量比将燃气和空气均匀混合(实际应用中空气系数要大于1),燃烧充分,火焰温度很高,但稳定性较差,易回火。所以民用燃具多采用部分预混式燃烧。 1855年工程师本生发明了一种燃烧器,能从周围大气中吸入一些空气和燃气预混,在燃烧时形成不发光的蓝色火焰,这就是实验室常用的本生灯(单火孔燃烧器)。这种燃烧技术就被称作部分预混式燃烧。 本生灯燃烧所产生的火焰为部分预混层流火焰(俗称本生火焰)。它由内焰,外焰及燃烧区域外围肉眼看不见的高温区组成。火焰一般呈锥体状。燃气—空气的混合气体先在内锥燃烧,中间产物及未燃尽的部分便从锥内向外流出,且混合气体出流的速度与内锥表面火焰向内传播速度相互平衡,此外便形成一个稳定的焰面,呈蓝色。而未燃烧尽的混合气体残余物继续与大气中的空气进行二次混合燃烧,形成火焰外锥。如图1所示,完成燃烧后产生高温co2和水进而在外焰的外侧形成外焰膜(肉眼看不见的高温层): 图1. 本生灯示意图 如果混合气流是处于层流状态,则外焰面呈较光滑的锥形;如果处于紊流状态,则外焰面产生褶皱,直至产生强烈扰动,气团不断飞散、燃尽。

计算流体力学课程总结

计算流体力学课程总结 计算流体动力学(computational Fluid Dynamics,简称CFD)是通过计算机数值 计算和图像显示,对包含有流体流动和热传导等相关物理现象的系统所做的分析。是用电子计算机和离散化的数值方法对流体力学问题进行数值模拟和分析的一个分支。 流体力学和其他学科一样,是通过理论分析和实验研究两种手段发展起来的。很早就已有理论流体力学和实验流体力学两大分支。理论分析是用数学方法求出问题的定量结果。但能用这种方法求出结果的问题毕竟是少数,计算流体力学正是为弥补分析方法的不足而发展起来的。计算流体力学是目前国际上一个强有力的研究领域,是进行传热、传质、动量传递及燃烧、多相流和化学反应研究的核心和重要技术,广泛应用于航天设计、汽车设计、生物医学工业、化工处理工业、涡轮机设计、半导体设计、HAVC&R 等诸多工程领域。 计算流体力学的任务是流体力学的数值模拟。数值模拟是“在计算机上实现的一 个特定的计算,通过数值计算和图像显示履行一个虚拟的物理实验——数值实验“。 数值模拟包括以下几个部分。首先,要建立反映问题(工程问题、物理问题等)本质数 学模型。其次,数学模型建立以后需要解决的问题是寻求高效率、高准确度的计算方法。再次,在确定了计算方法和坐标系统后,编制程序和进行计算式整个工作的主体。最后,当计算工作完成后,流畅的图像显示是不可缺少的部分。 还有一个就是CFD的基本思想问题,它就是把原来在时间域及空间域上连续的物理量的场,如速度场和压力场,用一系列有限个离散点上的变量值的集合来代替,通 过一定的原则和方式建立起关于这些离散点上场变量之间关系的代数方程组,然后求 解代数方程组获得场变量的近似值。 经过四十多年的发展,CFD出现了多种数值解法。这些方法之间的主要区别在于 对控制方程的离散方式。根据离散的原理不同,CFD大体上可分为三个分支: ?有限差分法(Finite Different Method,FDM) ?有限元法(Finite EIement Method,FEM) ?有限体积法(Finite Volume Method,FVM) 有限差分法是应用最早、最经典的CFD方法,也是最成熟、最常用的方法。它将求解域划分为差分网格,用有限个网格节点代替连续的求解域,然后将偏微分方程的 导数用差商代替,推导出含有离散点上有限个未知数的差分方程组。求出差分万程组 的解,就是微分方程定解问题的数值近似解。它是一种直接将微分问题变为代数问题 的近似数值解法。

计算流体力学常用数值方法简介[1]

计算流体力学常用数值方法简介 李志印 熊小辉 吴家鸣 (华南理工大学交通学院) 关键词 计算流体力学 数值计算 一 前 言 任何流体运动的动力学特征都是由质量守恒、动量守恒和能量守恒定律所确定的,这些基本定律可以由流体流动的控制方程组来描述。利用数值方法通过计算机求解描述流体运动的控制方程,揭示流体运动的物理规律,研究流体运动的时一空物理特征,这样的学科称为计算流体力学。 计算流体力学是一门由多领域交叉而形成的一门应用基础学科,它涉及流体力学理论、计算机技术、偏微分方程的数学理论、数值方法等学科。一般认为计算流体力学是从20世纪60年代中后期逐步发展起来的,大致经历了四个发展阶段:无粘性线性、无粘性非线性、雷诺平均的N-S方程以及完全的N-S方程。随着计算机技术、网络技术、计算方法和后处理技术的迅速发展,利用计算流体力学解决流动问题的能力越来越高,现在许多复杂的流动问题可以通过数值计算手段进行分析并给出相应的结果。 经过40年来的发展,计算流体力学己经成为一种有力的数值实验与设计手段,在许多工业领域如航天航空、汽车、船舶等部门解决了大量的工程设计实际问题,其中在航天航空领域所取得的成绩尤为显著。现在人们已经可以利用计算流体力学方法来设计飞机的外形,确定其气动载荷,从而有效地提高了设计效率,减少了风洞试验次数,大大地降低了设计成本。此外,计算流体力学也己经大量应用于大气、生态环境、车辆工程、船舶工程、传热以及工业中的化学反应等各个领域,显示了计算流体力学强大的生命力。 随着计算机技术的发展和所需要解决的工程问题的复杂性的增加,计算流体力学也己经发展成为以数值手段求解流体力学物理模型、分析其流动机理为主线,包括计算机技术、计算方法、网格技术和可视化后处理技术等多种技术的综合体。目前计算流体力学主要向二个方向发展:一方面是研究流动非定常稳定性以及湍流流动机理,开展高精度、高分辩率的计算方法和并行算法等的流动机理与算法研究;另一方面是将计算流体力学直接应用于模拟各种实际流动,解决工业生产中的各种问题。 二 计算流体力学常用数值方法 流体力学数值方法有很多种,其数学原理各不相同,但有二点是所有方法都具备的,即离散化和代数化。总的来说其基本思想是:将原来连续的求解区域划分成网格或单元子区

计算流体力学课后题作业

课后习题 第一章 1.计算流体动力学的基本任务是什么 计算流体动力学是通过计算机数值计算和图像显示,对包含有流体流动和热传导等相关物理现象的系统所做的分析。 2.什么叫控制方程?常用的控制方程有哪几个?各用在什么场合? 流体流动要受物理守恒定律的支配,基本的守恒定律包括:质量守恒定律、动量守恒定律、能量守恒定律。如果流动包含有不同组分的混合或相互作用,系统还要遵守组分守恒定律。如果流动处于湍流状态,系统还要遵守附加的湍流输运方程。控制方程是这些守恒定律的数学描述。 常用的控制方程有质量守恒方程、动量守恒方程、能量守恒方程、组分质量守恒方程。质量守恒方程和动量守恒方程任何流动问题都必须满足,能量守恒定律是包含有热交换的流动系统必须满足的基本定律。组分质量守恒方程,在一个特定的系统中,可能存在质的交换,或者存在多种化学组分,每种组分都需要遵守组分质量守恒定律。 4.研究控制方程通用形式的意义何在?请分析控制方程通用形式中各项的意义。 建立控制方程通用形式是为了便于对各控制方程进行分析,并用同一程序对各控制方程进行求解。

各项依次为瞬态项、对流项、扩散项、源项。 6.CFD商用软件与用户自行设计的CFD程序相比,各有何优势?常用的商用CFD软件有哪些?特点如何? 由于CFD的复杂性及计算机软硬件条件的多样性,用户各自的应用程序往往缺乏通用性。 CFD商用软件的特点是 功能比较全面、适用性强。 具有比较易用的前后处理系统和其他CAD及CFD软件的接口能力,便于用户快速完成造型、网格划分等工作。 具有比较完备的容错机制和操作界面,稳定性高。 可在多种计算机、多种操作系统,包括并行环境下运行。 常用的商用CFD软件有PHOENICS、CFX、SRAR-CD、FIDAP、FLUENT。PHOENICS除了通用CFD软件应该拥有的功能外,PHOENICS软件有自己独特的功能:开放性、CAD接口、运动物体功能、多种模型选择、双重算法选择、多模块选择。 CFX除了可以使用有限体积法外,还采用基于有限元的有限体积法。用于模拟流体流动、传热、多相流、化学反应、燃烧问题。其优势在于处理流动物理现象简单而几何形状复杂的问题。 SRAR-CD基于有限体积法,适用于不可压流体和可压流的计算、热力学的计算及非牛顿流的计算。它具有前处理器、求解器、后处理器三大模块,以良好的可视化用户界面把建模、求解及后处理与全部的物理模型和算法结合在一个软件包中。

计算流体力学软件Fluent在烟气脱硫中的应用

计算流体力学软件Fluent在烟气脱硫中的应用 0引言 污染最为有效的方法之一,而石灰石—石膏湿烟气脱硫是目前能大规模控制燃煤造成SO 2 法脱硫技术以其脱硫效率高、吸收剂来源丰富、成本低廉、技术成熟和运行可靠等优点获得广泛应用.从气液两相流体力学和化学反应动力学的观点看,脱硫吸收塔内流体流动的目的是强化气液两相的混合和质量传递、延长气液两相在塔内的接触时间、增大气液两相的接触面积并尽量减小吸收塔的阻力.合理的塔内流场分布对提高脱硫效率、降低脱硫投资和运行成本都具有重要意义. 目前,国内外对烟气脱硫吸收塔进行大量研究,主要采用实验方法,如研究塔的阻力特性、液滴运动速度沿塔高变化和TCA塔内温度场分布等,这些研究对指导工业应用具有重要意义,但其结果往往只针对特定的设备或结构,具有较大的局限性.随着计算机技术的迅速发展,计算流体力学(ComputationalFluidDynamic,CFD)已成为研究三维流动的重要方法:周山明等[4]利用FLUENT计算空塔和喷淋状态下的塔热态流场,结果表明脱硫吸收塔入口处流场变化最剧烈、压降损失最大,并根据计算结果改造来流烟道;孙克勤等采用混合网格和随机颗粒生成模型对烟气脱硫吸收塔的热态流场进行数值模拟;郭瑞堂等采用FLUENT结合非稳态反应传质-反应理论对湿法脱硫液柱冲的吸收进行数值模拟. 击塔内的流场和SO 2 本文尝试应用FLUENT对某脱硫吸收塔内烟气脱硫过程进行初步数值模拟,通过对内部流场进行分析验证本文模拟的合理性,进而对脱硫过程中脱硫吸收塔内是否存在湿壁现象进行深入分析研究. 1基于RANS求解器的CFD数值模拟 方法 1.1控制方程 时均的不可压缩连续性方程和N S方程 (RANS方程)如下: 1.2湍流模型和多相流模型

计算流体力学过渡到编程的傻瓜入门教程

借宝地写几个小短文,介绍CFD的一些实际的入门知识。主要是因为这里支持Latex,写起来比较便。 CFD,计算流体力学,是一个挺难的学科,涉及流体力学、数值分析和计算机算法,还有计算机图形学的一些知识。尤其是有关偏微分程数值分析的东西,不是那么容易入门。大多数图书,片中数学原理而不重实际动手,因为作者都把读者当做已经掌握基础知识的科班学生了。所以数学基础不那么好的读者往往看得很吃力,看了还不知道怎么实现。本人当年虽说是学航天工程的,但是那时本科教育已经退步,基础的流体力学课被砍得只剩下一维气体动力学了,因此自学CFD的时候也是头晕眼花。不知道怎么实现,也很难找到教学代码——那时候网络还不发达,只在教研室的故纸堆里搜罗到一些完全没有注释,编程风格也不好的冗长代码,硬着头皮分析。后来网上淘到一些代码研读,结合书籍论文才慢慢入门。可以说中间没有老师教,后来赌博士为了混学分上过CFD专门课程,不过那时候我已经都掌握课堂上那些了。 回想自己入门艰辛,不免有一个想法——写点通俗易懂的CFD入门短文给师弟师妹们。本人不打算搞得很系统,而是希望能结合实际,阐明一些最基本的概念和手段,其中一些复杂的道理只是点到为止。目前也没有具体的计划,想到哪里写到哪里,因此可能会很零散。但是我争取让初学CFD 的人能够了解一些基本的东西,看过之后,会知道一个CFD代码怎么炼成的(这“炼”字好像很流行啊)。欢迎大家提出意见,这样我尽可能的可以追加一些修改和解释。

言归正传,第一部分,我打算介绍一个最基本的算例,一维激波管问题。说白了就是一根两端封闭的管子,中间有个隔板,隔板左边和右边的气体状态(密度、速度、压力)不一样,突然把隔板抽去,管子面的气体怎么运动。这是个一维问题,被称作黎曼间断问题,好像是黎曼最初研究双曲微分程的时候提出的一个问题,用一维无粘可压缩Euler程就可以描述了。 这里 这个程就是描述的气体密度、动量和能量随时间的变化()与它们各自的流量(密度流量,动量流量,能量流量)随空间变化()的关系。 在CFD常把这个程写成矢量形式 这里 进一步可以写成散度形式

计算流体力学实例

汽车外部气体流动模拟 振动和噪声控制研究所 1.模型概述 在汽车外部建立一个较大的长方体几何空间,长度约为30m,宽度和高度约为5m,在空间内部挖出汽车形状的空腔,汽车尺寸参照本田CRV为4550mm*1820mm*1685mm。由于汽车向前开进,气体从车头流向车尾,因此将汽车前方空间设为气体入口,后方空间设为气体出口,模拟气体在车外的流动。另外为了节省计算成本将整个模型按1:100的比例缩小,考虑到模型和流体均是对称的,因此仅画出几何模型的一半区域,建立对称面以考虑生成包含理想气体的流体域。在Catia中建立的模型如图1.1所示。 图1.1几何模型 2.利用ICEM CFD进行网格划分 a)导入有Catia生成的stp格式的模型; b)模型修复,删除多余的点、线、面,允许公差设为0.1; c)生成体,由于本模型仅为流体区域,因此将全部区域划分为一个体,选取方法可以 使用整体模型选取; d)为了后面的设置边界方便,因此将具有相同特性的面设为一个part,共设置了in, out,FreeWalls,Symmetry和Body; e)网格划分,设置Max element=2,共划分了1333817个单元,有225390个节点; f)网格输出,设置求解器为ANSYS CFX,输出cfx5文件。 3.利用ANSYS CFX求解 a)生成域,物质选定Air Ideal Gas,参考压强设为1atm,浮力选项为无浮力模型,

域运动选项为静止,网格变形为无;流体模型设定中的热量传输设定为Isothermal,流体温度设定为288k,湍流模型设定为Shear Stress Transport模型,壁面函数 选择Automatic。 b)入口边界设定,类型为Inlet,位置选定在in,质量与栋梁选定Normal Speed,设 定为15m/s,湍流模型设定类型为Intensity and Length Scale=0.05,Eddy Len.Scale=0.1m。 c)出口边界设定,边界类型为Outlet,位置选out。质量与动量选项为Static Pressure,相对压强为0pa。 d)壁面边界设定,边界类型为Wall,位置选在FreeWalls。壁面边界详细信息中指定 WallInfluence On Flow为Free Slip。 e)对称边界设定,边界类型为Symmetry,位置选在Symmetry。 f)汽车外壁面设定,边界类型为Wall,位置设在Body,壁面详细信息选项中指定Wall Influence On Flow为No Slip,即汽车壁面为无滑移壁面。 g)初始条件设定,初始速度分量设为U方向为15m/s,其他两个方向的速度为零。 h)求解设置,残差类型选为RMS,残差目标设定为1e-5,当求解达到此目标时,求解 自动终止。求解之前的模型如图3.1所示。 图3.1求解之前的模型 4.结果后处理 从图4.1中可以看出计算收敛。

计算流体力学课程大作业

《计算流体力学》课程大作业 ——基于涡量-流函数法的不可压缩方腔驱动流问题数值模拟 张伊哲 航博101 1、 引言和综述 2、 问题的提出,怎样使用涡量-流函数方法建立差分格式 3、 程序说明 4、 计算结果和讨论 5、 结论 1引言 虽然不可压缩流动的控制方程从形式上看更为简单,但实际上,目前不可压缩流动的数值方法远远不如可压缩流动的数值方法成熟。 考虑不可压缩流动的N-S 方程: 01()P t νρ??=? ? ??+??=-?+???? U U UU f U (1.1) 其中ν是运动粘性系数,认为是常数。将方程组写成无量纲的形式: 01()Re P t ??=?? ??+??=-?+????U U UU f U (1.2) 其中Re 是雷诺数。 从数学角度看,不可压缩流动的控制方程中不含有密度对时间的偏导数项,方程表现出椭圆-抛物组合型的特点;从物理意义上看,在不可压缩流动中,压力这一物理量的波动具有无穷大的传播速度,它瞬间传遍全场,以使不可压缩条件在任何时间、任何位置满足,这就是椭圆型方程的物理意义。这就造成不可压缩的N-S 方程不能使用比较成熟的发展型...偏微分方程的数值求解理论和方法。 如果将动量方程和连续性方程完全耦合求解,即使使用显示的离散格式,也将会得到一个刚性很强的、庞大的稀疏线性方程组,计算量巨大,更重要的问题是不易收敛。因此,实际应用中,通常都必须将连续方程和动量方程在一定程度上解耦。 目前,求解不可压缩流动的方法主要有涡量-流函数法,SIMPLE 法及其衍生的改进方法,有限元法,谱方法等,这些方法各有优缺点。其中涡量-流函数法是解决二维不可压缩流动的有效方法。作者本学期学习了研究生计算流体课程,为了熟悉计算流体的基本方法,选择使用涡量-流函数法计算不可压缩方腔驱动流问题,并且对于不同雷诺数下的解进行比较和分析,得出一些结论。 本文接下来的内容安排为:第2节提出不可压缩方腔驱动流问题,并分析该问题怎样使用涡量-流函数方法建立差分格式、选择边界条件。第3节介绍程序的结构。第4节对于不同雷诺数下的计算结果进行分析,并且与U.GHIA 等人【1】的经典结论进行对比,评述本

计算流体力学_CFD_的通用软件_翟建华

第26卷第2期河北科技大学学报Vol.26,No.2 2005年6月Journal of Hebei University of Science and T echnology June2005 文章编号:100821542(2005)022******* 计算流体力学(CFD)的通用软件 翟建华 (河北科技大学国际交流与合作处,河北石家庄050018) 摘要:对化学工程领域中的通用CFD(Computational Fluid Dynamics)模拟软件Phoenics,Flu2 ent,CFX等的具体特点和应用情况进行了综述,指出了他们各自的结构特点、特有模块、包含的数学模型和成功应用领域;给出了选用CFD软件平台的7项准则,对今后CFD技术的发展进行了预测,指出,今后CFD研究的主要方向将集中在数学模型开发、工程改造和新设备开发及与工艺软件的匹配连用等方面。 关键词:计算流体力学;模拟软件;CFX;FLUENT;PH OENICS 中图分类号:T Q015.9文献标识码:A Review of commercial CFD software ZH AI Jian2hua (Department of Int ernation Exchange and Cooperation,H ebei University of Science and Technology,Shijiazhuang H ebei 050018,China) Abstr act:The paper summar izes the features and application of the CF D simulation software like Phoenics,F luent and CFX etc in chemical engineering,and discusses their str ucture features,special modules,mathematical models and successful application areas.It also puts forward seven r ules for the good choice of commercial CF D code for the CF D simulation resea rcher s.Based on t he predict ion of the technology development,it points out the possible r esear ch direction for CF D in the future will focus on the development of mathematical model,project transformat ion,new equipment and their matching application with technologi2 cal softwa re. Key words:CF D;simulation software;CF X;FLUENT;P HOENICS CFD(Computational Fluid Dynamics)软件是计算流体力学软件的简称,是用来进行流场分析、计算、预测的专用工具。通过CFD模拟,可以分析并且显示流体流动过程中发生的现象,及时预测流体在模拟区域的流动性能,并通过各种参数改变,得到相应过程的最佳设计参数。CFD的数值模拟,能使我们更加深刻地理解问题产生的机理,为实验提供指导,节省以往实验所需的人力、物力和时间,并对实验结果整理和规律发现起到指导作用。随着计算机软硬件技术的发展和数值计算方法的日趋成熟,出现了基于现有流动理论的商用CFD软件。这使许多不擅长CFD工作的其他专业研究人员能够轻松地进行流体数值计算,从而使研究人员从编制繁杂、重复性的程序中解放出来,以更多的精力投入到研究问题的物理本质、问题提法、边界(初值)条件和计算结果的合理解释等重要方面上,充分发挥商用CFD软件开发人员和其他专业研究人员各自的智力优势,为解决实际工程问题开辟了道路。 CFD研究走过了相当漫长的过程。早期数值模拟阶段,由于缺乏模拟工具,研究者一般根据自身工作性质和研究过程,自行编制模拟程序,其优点是针对性强,对具体问题的解决有一定精度,但是,带来的问题 收稿日期:2004208221;修回日期:2004211221;责任编辑:张军 作者简介:翟建华(19642),男,河北平乡人,教授,主要从事化工CFD、高效传质与分离和精细化工方面的研究。

流体力学的应用

流体力学在航空航天工程中的应用 (洪渊,西安科技大学,能源学院采矿工程卓越1301班,1303110113) 摘要:航天航空工程综合了最新最高的现代科学与技术,是一个国家科技实力和国防现代化的重要标志之一,更是目前世界各国之间争相研究发展的顶尖科技产业,它直接关系到国家的安全和经济的发展。随着科学技术的进步和航天器的发展,遥远而深邃的宇宙已不再可望而不可及,飞天早已不再是无稽之谈。在20世纪对人类影响最大的20项技术中就包括航空航天技术,流体力学的发展对航空航天科技的发展起到了关键性的作用,而这些看似离我们非常遥远的高薪技术其实其基本原理无时无刻不伴随我们。因为我们身边有各种流体的存在。 关键词:航空航天技术、流体、流体力学 Application of fluid mechanics in Aerospace Engineering (Hong Yuan, Xi'an University of Science And Technology, the Institute of mining engineering excellence 1301, 1303110113) Aerospace Engineering integrated the latest modern science and technology, is a national science and technology strength and the important symbol of the modernization of national defense, but also the world's top scientific and technological industry, which is directly related to the national security and economic development. With the development of science and technology and the progress of the spacecraft, as remote and profound universe is no longer inaccessible and, flying already no longer is nonsense. In twentieth Century the greatest impact on human beings in the 20 technologies, including aerospace technology, the development of fluid mechanics to the development of Aerospace Science and technology has played a key role, and these seemingly away from us very far from the high paying technology in fact its basic principles are not accompanied by us. Because we have all kinds of fluid in the presence of. Key words: aerospace technology, fluid, fluid mechanics

流体力学讲义

流体力学讲义 课程简介:流体力学是动力、能源、航空、环境、暖通、机械、力学等专业的重要基础课。本课程的任务是系统介绍流体的力学性质、流体力学的基本概念和观点、基础理论和常用分析方法、有关的工程应用知识等;培养学生具有对简单流体力学问题的分析和求解能力,掌握一定的实验技能,为今后学习专业课程,从事相关的工程技术和科学研究工作打下坚实基础。 流体力学学科既是基础学科,又是用途广泛的应用学科;既是古老的学科,又是不断发展、充满活力的学科。当前,流体力学进入了一个新的发展时期:分析手段更加先进,与各类工程专业结合更为密切,与其他学科的交叉渗透更加广泛深入。但由于流体力学理论性较强,概念抽象,学生普遍缺乏对流体的感性认识,使流体力学课程历来被认为是教师难教、学生难学的课程之一。为改进流体力学教学质量,所以,我们采用多媒体教学的方式,尽可能多地给学生提供大量的图片,增加感性认识。 学生在学习的过程中,要特别注意学习目标、学习方法、重点内容、注意事项等问题。 第一章绪论 第一节工程流体力学的研究对象、内容和方法 一、研究对象和内容 研究对象和内容:工程流体力学以流体(包括液体和气体)为研究对象,研究流体宏观的平衡和运动的规律,流体与固体壁面之间的相互作用规律,以及这些规律在工程实际中的应用。 自然界存在着大量复杂的流动现象,随着人类认识的深入,开始利用流动规律改造自然界。最典型的例子是人类利用空气对运动中的机翼产生升力的机理发明了飞机。航空技术的发展强烈推动了流体力学的迅速发展。 流体力学是一门基础性很强和应用性很广的学科,是力学的一个重要分支。它的研究对象随着生产的需要与科学的发展在不断地更新、深化和扩大。60年代以前,它主要围绕航空、航天、大气、海洋、航运、水利和各种管路系统等方面,研究流体运动中的动量传递问题,即局限于研究流体的运动规律,和它与固体、液体或大气界面之间的相互作用力问题。60年代以后,能源、环境保护、化工和石油等领域中的流体力学问题逐渐受到重视,这类问题的特征是:尺寸小、速度低,并在流体运动过程中存在传热、传质现象。这样,流体力学除了研究流体的运动规律以外,还要研究它的传热、传质规律。同样,在固体、液体或气体界面处,不仅研究相互之间的作用力,而且还需要研究它们之间的传热、传质规律。

计算流体力学软件

计算流体力学(CFD)是近代流体力学,数值数学和计算机科学结合的产物,是一门具有强大生命力的边缘科学。它以电子计算机为工具,应用各种离散化的数学方法,对流体力学的各类问题进行数值实验、计算机模拟和分析研究,以解决各种实际问题。 计算流体力学和相关的计算传热学,计算燃烧学的原理是用数值方法求解非线性联立的质量、能量、组分、动量和自定义的标量的微分方程组,求解结果能预报流动、传热、传质、燃烧等过程的细节,并成为过程装置优化和放大定量设计的有力工具。计算流体力学的基本特征是数值模拟和计算机实验,它从基本物理定理出发,在很大程度上替代了耗资巨大的流体动力学实验设备,在科学研究和工程技术中产生巨大的影响。目前比较好的CFD软件有:Fluent、CFX,Phoenics、Star-CD,除了Fluent 是美国公司的软件外,其它三个都是英国公司的产品 ------------------------------------------------------ FLUENT FLUENT是目前国际上比较流行的商用CFD软件包,在美国的市场占有率为60%。举凡跟流体,热传递及化学反应等有关的工业均可使用。它具有丰富的物理模型、先进的数值方法以及强大的前后处理功能,在航空航天、汽车设计、石油天然气、涡轮机设计等方面都有着广泛的应用。其在石油天然气工业上的应用包括:燃烧、井下分析、喷射控制、环境分析、油气消散/聚积、多相流、管道流动等等。 Fluent的软件设计基于CFD软件群的思想,从用户需求角度出发,针对各种复杂流动的物理现象,FLUENT软件采用不同的离散格式和数值方法,以期在特定的领域内使计算速度、稳定性和精度等方面达到最佳组合,从而高效率地解决各个领域的复杂流动计算问题。基于上述思想,Fluent开发了适用于各个领域的流动模拟软件,这些软件能够模拟流体流动、传热传质、化学反应和其它复杂的物理现象,软件之间采用了统一的网格生成技术及共同的图形界面,而各软件之间的区别仅在于应用的工业背景不同,因此大大方便了用户。其各软件模块包括: GAMBIT——专用的CFD前置处理器,FLUENT系列产品皆采用FLUENT公司自行研发的Gambit 前处理软件来建立几何形状及生成网格,是一具有超强组合建构模型能力之前处理器,然后由Fluent 进行求解。也可以用ICEM CFD进行前处理,由TecPlot进行后处理。 Fluent5.4——基于非结构化网格的通用CFD求解器,针对非结构性网格模型设计,是用有限元法求解不可压缩流及中度可压缩流流场问题的CFD软件。可应用的范围有紊流、热传、化学反应、混合、旋转流(rotating flow)及震波(shocks)等。在涡轮机及推进系统分析都有相当优秀的结果,并且对模型的快速建立及shocks处的格点调适都有相当好的效果。 Fidap——基于有限元方法的通用CFD求解器,为一专门解决科学及工程上有关流体力学传质及传热等问题的分析软件,是全球第一套使用有限元法于CFD领域的软件,其应用的范围有一般流体的流场、自由表面的问题、紊流、非牛顿流流场、热传、化学反应等等。 FIDAP本身含有完整的前后处理系统及流场数值分析系统。对问题整个研究的程序,数据输入与输出的协调及应用均极有效率。 Polyflow——针对粘弹性流动的专用CFD求解器,用有限元法仿真聚合物加工的CFD软件,主要应用于塑料射出成形机,挤型机和吹瓶机的模具设计。 Mixsim——针对搅拌混合问题的专用CFD软件,是一个专业化的前处理器,可建立搅拌槽及混合槽的几何模型,不需要一般计算流力软件的冗长学习过程。它的图形人机接口和组件数据库,让工程师

流体力学计算软件报告

三维方管内部二次流特征分析 ——基于NUMECA 数值仿真 2120130457 李明月 【摘 要】运用NUMECA 数值仿真的方法,通过在有粘与无粘的工况下三维方管的内部三维流线对比分析,重点在分析粘性工况下方管内部沿流向各截面上的切向速度矢量分布特征和总压系数分布特征对二次流机理进行讨论和分析。 【关键字】数值仿真 二次流 欧拉方程 N-S 方程 压力梯度 0 前言 在边界层内流体质点向着压力梯度相反并与主流运动方向大致垂直的方向流动,称为二次流。几乎所有的过流通到里面都存在着速度和压力分布不均的情况,压力分布不均则产生一个从高压指向低压的作用力,它与惯性力的大小关系是能否形成二次流的关键。而二次流会使叶轮机械叶片的边界层增厚从而导致分离和损失,而二次流在换热器中增强了对流换热,从而强化了传热,故对二次流的成因和特征的研究具有很大的现实意义。而运用NUMECA 软件对一个简单的三维方管在不同工况下进行数值运算,能够直观地观察得到二次流的结果,并对此进行对比和分析,对流体初学者而言,一方面可以熟悉NUMECA 软件的基本操作,一方面可以基于此加深对二次流的理解。 1 几何描述 如图一所示为三维方管的三维图与所需设定的边界条件。在此算例中,最大的特点在于 中部有一个90°的弯道,且出流部分较长。 10m m 30m m 80m m r20m m r10m m 图1 几何模型

2 网格划分与边界条件 在调入IGG data 文件生成几何文件之后,用网格功能中生成网格块的功能用对应网格顶点与几何顶点重合的方式将网格块贴附在几何模型上,再调整网格数量,和Cluster Points 功能调整边界网格大小,使得近壁面的网格较密,使数值计算时能更好地捕捉到近壁面的参数。生成的网格如图2所示。网格生成后一共33×33×129个网格,网格质量为:最小的正交角度为50.68°,最大宽高比为200,最大膨胀比为1.51,多重网格数为3。在边界条件上,管壁设为SOL 类型,另外短管端面设为INL 类型,剩下那一面设为OUT 类型。 3 边界设定及收敛特性 在NUMECA Fine Turbo 里面建立两个工况并命名为一个无粘一个有粘。在无粘的工况下,选择的流动模型为基于Euler 方程的数学模型。在有粘工况下,流动模型选择的是湍流N-S 方程,并且湍流模型为Spalart-Allmaras 模型。两个工况皆为理想气体的定常流动,进口边界设为总量下(total quantities imposed )马赫数推断(mach number extrapolated ),进口压力为1.3bar ,进口温度为340K 。出口设定为由静压推断(static pressure imposed ),出口压力为1.0bar 。固壁面在欧拉方程下为无粘的欧拉壁,在N-S 方程里为绝热壁。经初始化后选择计算后输出的参数,除了常规的静压静温和速度外,在壁面数据(solid data )里额外输出一个粘性压力(viscous stress )。选择500次迭代后,两种工况下的收敛曲线如图3~图6所示。 图2 三维方管网格划分示意图 图3 Euler 方程下残差收敛曲线

第二章计算流体力学的基本知识

第二章计算流体力学的基本知识 流体流动现象大量存在于自然界及多种工程领域中,所有这些工程都受质量守恒、动量守恒和能量守恒等基本物理定律的支配。这章将首先介绍流体动力学的发展和流体力学中几个重要守恒定律及其数学表达式,最后介绍几种常用的商业软件。 2.1 计算流体力学简介 2.1.1计算流体力学的发展 流体力学的基本方程组非常复杂,在考虑粘性作用时更是如此,如果不靠计算机,就只能对比较简单的情形或简化后的欧拉方程或N-S方程进行计算。20世纪30~40年代,对于复杂而又特别重要的流体力学问题,曾组织过人力用几个月甚至几年的时间做数值计算,比如圆锥做超声速飞行时周围的无粘流场就从1943年一直算到1947年。 数学的发展,计算机的不断进步,以及流体力学各种计算方法的发明,使许多原来无法用理论分析求解的复杂流体力学问题有了求得数值解的可能性,这又促进了流体力学计算方法的发展,并形成了"计算流体力学"。 从20世纪60年代起,在飞行器和其他涉及流体运动的课题中,经常采用电子计算机做数值模拟,这可以和物理实验相辅相成。数值模拟和实验模拟相互配合,使科学技术的研究和工程设计的速度加快,并节省开支。数值计算方法最近发展很快,其重要性与日俱增。 自然界存在着大量复杂的流动现象,随着人类认识的深入,人们开始利用流动规律来改造自然界。最典型的例子是人类利用空气对运动中的机翼产生升力的机理发明了飞机。航空技术的发展强烈推动了流体力学的迅速发展。 流体运动的规律由一组控制方程描述。计算机没有发明前,流体力学家们在对方程经过大量简化后能够得到一些线形问题解析解。但实际的流动问题大都是复杂的强非线形问题,无法求得精确的解析解。计算机的出现以及计算技术的迅速发展使人们直接求解控制方程组的梦想逐步得到实现,从而催生了计算流体力

并行计算流体力学的研究与应用

并行计算流体力学的研究与应用 1 计算流体力学(CFD)概况 自然界存在着大量复杂的流动现象,随着人类认识的深入,开始利用流动规律改造自然界。最典型的例子是人类利用空气对运动中的机翼产生升力的机理发明了飞机。航空技术的发展强烈推动了流体力学的迅速发展。 流体运动的规律由一组控制方程描述。计算机没有发明前,流体力学家们在对方程经过大量简化后能够得到一些线形问题解析解。但实际的流动问题大都是复杂的强非线形问题,无法求得精确的解析解。计算机的出现以及计算技术的迅速发展使人们直接求解控制方程组的梦想逐步得到实现,从而催生了计算流体力学这门交叉学科。 计算流体力学(CFD,Computational Fluid Dynamics)是一门用数值计算方法直接求解流动主控方程(Euler或Navier-Stokes方程)以发现各种流动现象规律的学科。它综合了计算数学、计算机科学、流体力学、科学可视化等多种学科。广义的CFD包括计算水动力学、计算空气动力学、计算燃烧学、计算传热学、计算化学反应流动,甚至数值天气预报也可列入其中。 自二十世纪六十年代以来CFD技术得到飞速发展,其原动力是不断增长的工业需求,而航空航天工业自始至终是最强大的推动力。传统飞行器设计方法试验昂贵、费时,所获信息有限,迫使人们需要用先进的计算机仿真手段指导设计,大量减少原型机试验,缩短研发周期,节约研究经费。四十年来,CFD在湍流模型、网格技术、数值算法、可视化、并行计算等方面取得飞速发展,并给工业界带来了革命性的变化。如在汽车工业中,CFD和其它计算机辅助工程(CAE)工具一起,使原来新车研发需要上百辆样车减少为目前的十几辆车;国外飞机厂商用CFD取代大量实物试验,如美国战斗机YF-23采用CFD进行气动设计后比前一代YF-17减少了60%的风洞试验量。目前在航空、航天、汽车等工业领域,利用C FD进行的反复设计、分析、优化已成为标准的必经步骤和手段。 当前CFD问题的规模为:机理研究方面如湍流直接模拟,网格数达到了109(十亿)量级,在工业应用方面,网格数最多达到了107(千万)量级。 2 并行计算流体力学(Parallel CFD)研究与应用现状 2.1 Parallel CFD的推动力 随着计算机技术的迅猛发展,CFD得以迅速发展和普及。单机性能的提高使过去根本无法解算的问题在普通微机上可以解算,从而推动了CFD成为尖端工业、乃至一般过程工业的基本设计分析手段,从而大大激发了其应用,但人们一直难以解决以下问题: (1)工业应用方面的大规模设计计算问题。如飞机设计中全机气动性能计算,火箭发动机复杂多变的燃烧和跨音速流动模拟,导弹的气动隐身性能评估,低阻力系数高性能汽车外形的设计和分析,透平机械复杂叶型及组合的设计分析,潜艇尾迹模拟,高超音速航天器空气动力学设计分析,核电站水蒸汽两相流流动分析,非定常状态的物理过程如飞机起飞降落、过载下空间推进剂晃动分析等。这些大规模设计计算问题不但单个作业计算量庞大,且需不断调整,重复计算。

计算流体力学简介

計算流體力學主要有以下幾個主要問題大家比較關心 1.關於瞬態計算的問題 2.關於建模的問題 3.關於網格化的問題 4.關於動畫顯示的問題 5.關於交變載荷的問題 一、關於第一個問題的解答: 計算瞬態設置參數與穩態不同,主要設置的參數爲: 1.FLDATA1,SOLU,TRAN,1設置爲瞬態模式 2.FLDATA4,TIME,STEP,0.02,自定義時間步時間間隔0.02秒 3.FLDATA4,TIME,TEND,0.1,設置結束時間0。1秒 4.FLDATA4,TIME,GLOB,10,設置每個時間步多少次運算 5.fldata4a,time,appe,0.02設置記錄時間間隔 6.SET,LIST,2查看結果 7.SET,LAST設爲最後一步 8.ANDATA,0.5,,2,1,6,1,0,1動態顯示結果 以上爲瞬態和穩態不同部分的設置和操作,特別是第五步。爲了動態顯示開始到結束時間內氣流組織的情況,還是花了我們很多時間來找到這條命令。如果你是做房間空調送風計算的,這項對你來說非常好,可以觀察到從開空調機到穩定狀態的過程。 二.關於建模的問題 大家主要關心的建模問題是模型的導入和導出,及存在的一些問題。這些問題主要體現在:1.AUTOCAD建模導出後的格式與ANSYS相容的只有SAT格式。PROE可以是IGES格式或SAT格式。當然還有其他格式,本人使用的限於正版軟體,只有上述兩種格式。SAT格式可由PROE中導出爲IGES格式。ANSYS默認的導入模型爲IGES格式的圖形模型。 2.使用AUTOCAD一般繪製介面比較複雜的拉伸體非常方便。如果是不規則體,用PROE和ANSYS都比較方便,當然本人推薦用ANSYS本身的建模功能。對於PROE,因爲它的功能強大,本人推薦建立很複雜的模型如變截面不規則曲線彎管(如血管)。 3.導入過程中會出現默認選項和自定義選項,一般本人推薦使用自定義選項,以避免一些操作帶來的問題。有時出現顯示只有線而沒有面顔色的問題,可以用命令: /FACET,NORML來解決這個問題。 三.關於網格化的問題。 網格化對結果影響很大,如果網格化不合理,出現的結果會不準確,或者計算時不收斂。更甚者,網格數量太大,減慢求解速度。對計算流體力學來說,實際應用中三維問題偏多,計算量一般非常大,由於ANSYS採用的是有限元,所以同有限差分比較來說,收斂慢,記憶體需要量大。但這並不是說水平不如有限差分的流體計算軟體。ANSYS的計算結果直觀性較好,特別對渦流的處理很形象很準確(其他軟體往往看不到該有的渦流,給人的感覺太粗糙)。當然對於稍大的模型,就有點力不從心的感覺。

相关主题
文本预览
相关文档 最新文档