计算流体力学上机实验报告

  • 格式:doc
  • 大小:335.50 KB
  • 文档页数:11

下载文档原格式

  / 11
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《计算流体力学》

上机实验报告

班级:

姓名:

学号:

北京航空航天大学流体力学研究所

上机实验名称

两平行平板间不可压缩流体绕物体的平面无旋流动

一、实验目的

通过具体算例,熟悉和掌握使用CFD方法获取给定流场的流动参数。

二、实验内容、方法及步骤

1.流动问题描述

如下图所示,考虑在平行放置的两平板之间流过的理想不可压缩流体绕方形物体的平面无旋流动。

2.求解区域

H;绕流物体是边长为2的正方形,设两平行平板之间的距离为6

L。根据流动的对称性,可取流上游来流入口位置与物体中心的距离为3

动区域的四分之一作为求解区域,如下图所示。

3. 控制方程

对于不可压缩流体的平面无旋流动,流函数 在区域 内

满足Laplace 方程

2

2

2

2

0x

y

4. 边界条件

(1)OABC 是一条流线,规定

0OABC

(2)对 OE 上任意一点 0,P y ,有

P

y ;

(3) ED 也是一条流线,所以

2ED

H ; (4)根据对称性,在 CD 上有

0CD

x

5. 定解问题

对于这里考虑的流动,可用下述定解问题来描述

2

2

2

2

0 , 0 , , , 2

0 , x y

OABC y OE H

ED CD

x

在 内

在上在上在上在 上

6. 求解区域的离散化 - 计算网格

将单位长度等分成n 份,记1

h n ,于是求解区域沿x 方向可划分成M L n 个网格,用0,1,2,3,,j M 来标记;沿y 方向可划分成2

H

N

n 个网格,用0,1,2,3,

,k N 来标记。

这些网格点可分成三类:

(1)当 01j L n 且 0k N ,

或者当 1L n

j

M 且 n k N 时,

网格点落在流场

内部,称为内点。这些网格点上的

流函数需通过求解方程组来计算; (2)当 1L

n j M 且 0k n 时,

网格点落在正方形物体内部,网格点上不存在流场,无需计算;

(3)其余的网格点落在流场

的边界上,称为边界点。这些

网格点上的流函数直接由边界条件给定,也无需计算。

7. 定解问题的离散化 - 差分格式

Laplace 方程

2

2

2

2

0x

y

的差分近似为

1,,1,,1

,,1

2

2

220j k

j k j k

j k j k j k h

h

边界条件

0x

的差分近似为

,1,0j k

j k

h

8. 内点上流函数的计算- 迭代算法

在实际的计算中,内点的数量非常多,计算流函数需要求解大型的代数方程组。将Laplace 方程的差分近似改写成

,1,1,,1,1

14

j k

j k j k j k j k

使用高斯-赛德尔迭代算法计算:

(1)()(1)()(1),1,1,,1,114

m m m m m j k

j k j k j k j k ( 0,1,2,3,m )

➢ 给定迭代的初始近似 (0),1j k

和迭代的收敛精度

δ15e 。 ➢ 对 0,1,2,3,

m

➢ 在流场内的每一个内点上用迭代公式

(1)

()(1)()(1),1,1,,1,1

14

m m m m m j k

j k j k j k j k

进行计算。等式右边如果有边界点,可直接将边界条件指定的流函数值代入。

➢ 在边界 CD 上的每一个网格点(不包括端点C 、D )处,用公式

(1)(1),1,m m j k

j k

计算。

➢ 对所有内点,计算 (1)(),,,max

m m j k

j k

j k

若 (1)(),,,max

m m j k j k

j k

δ ,迭代收敛。

否则将m加1,返回步骤3

9.计算源程序(matlab 编制)

function [liuxian,vx,vy]=jisuanliuti(x,y)

%%%%%%%%%%%%%%%%%%this is for Computational Fluid Dynamics;

%%%%%%%%%%%%%%%%使用方式:

[liuxian,vx,vy]=jisuanliuti(x,y);

%%%%%%%%%%%%%%%输入x:x轴方向单位长度上划分的网格(x>=3)

%%%%%%%%%%%%%%%输入y:y方向上单位长度上划分的网格(y>=3)

%%%%%%%%%%%%%%输出liuxian:输出各个网格点的流函数值

%%%%%%%%%%%%%%输出vx:输出x方向的速度u

%%%%%%%%%%%%%%输出vy:输出y方向的速度v

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if (x<3)||(y<3)

error('number of grids can not be divided too little');

end

%%%%%%%%%%%%%%%%参数定义

%%%%%%%%%%%%%%%%%%%%%%%%%%%%