编c f d
程
欧拉方程数值离散:
W S
t
Fdy Gdx T d
Wd
Fdy Gdx
F AKX G AKY
V
Z
dWk
dt
1 kedges ZU P y
k i i
Z V P x Z H
按照上式的离散方式,很明显求解过程是
按边来循环的。计算每个边上的通
量,按左加右减的原则,加到边的两侧单元上,边循环完,求解过程也结束
程序总体结构为:
一、程序全局变量定义采用 FORTRAN90的面向对象定义方式:module。数组 的定义采用了动态分配方式 allocatable:: w(:,:)。注意:fortra n程序中一定要 力加上:implicit none
网格数据定义说明:
1单元属性定义:网格单元按I, J方向依次扫描,任意网格编号可以表示为 N (J 1)*
Jmax I。单元分为两类:左单元和右单元,左右单元的定义与边 上法失的方向有关。程序中数组定义为 NEAR(2,NF),1表示左单元,2表 示右单元。 体积(讲时要画图。)?
2、 网格单元体积 VOL (NCELL )。
3、 边法失VECT (2,NF):网格边的扫描方式介绍。(讲时要画图)
注意:FORTRAN数据存储方式的不同点。
网格程序的输入与输出:
输入:按一定方式读入网格格点坐标。
输出:边法失VECT (2,NF),单元体积 VOL (NCELL),边的左右 单元
NEAR (2,NF)。有了这些网格信息,网格与求解就相对 独立。
三、流场初始化
该程序功能包含以下几个内容:使用 allocate为数组分配地址空间;给定计 算条件,其中还涉及到无量纲问题;初始化各网格格心上的流场初始值, (4,NCELL )。
W
四、流场求解
Solver的流程图如下所示:
s o lv e r
SOLVER
厂压力计算:
无粘通量:
COMPUTATION P
『当地时间步长:] 人工粘性:r
通量叠加:
Jameson Timestep DiSSi SUMMTION
1
r
MODIFY DP
\
FLUX
边界条件:
BDCDT
1、 COMPUTATION_P主要是计算网格格心的压力值,用于当地时间步长 的计算
中。
2、 Jameson的输入是网格格心的物理量,即 w (4,NE);输出无粘通量 XXX
(4,NE)。
3、 Timestep输出当地时间步长 DT (NE)。 4、 人工粘性,输出XXX (4,NE)
5、 通量叠加:输入2、4中计算的通量;输出,方程右端项的叠加。
附:程序列表
程序列表 Mai n 内容 数据文件 程序调用 备用 主程序 调用程序 Grid,Flowi nit Defin iti on Flowi nit 定义全部变量 (module,metch) 流场初始化,来 流条 件,格心守 恒,变量 GRID Solver 前处理网格,边 发矢,单兀体积 主求解程序 读 Grid,dat Computati on_p, James on; Summatio n Output Timestep dissi ModifyDP Computatio n_p 计算所用网格中 心的压力值,并 修正 modifydp James on Timestep Dissi Flux BDCDT Summatio n Output 修正密度,压力 值 计算非粘性通量 计算当地时间步 长 Flux 计算人工粘性 计算单条边上的 非粘性通量 Modifydp BDCDT 远场边界条件 Modifydp 非粘性通量,与 人工粘性的叠加 输出来流条件, 最终写 Result.dat 计算结果W (4, NE) Visc BL模型计算紊流 粘性