实用标准文案
一维 Riemann 问题数值解与计算程序
一维 Riemann问题,即激波管问题,是一个典型的一维可压缩无黏气体动力
学问题,并有解析解。对它采用二阶精度MacCormack两步差分格式进行数值求
解。同时,为了初学者入门和练习方便
,这里给出了用
C
语言和
编写的
Fortran77
计算一维 Riemann问题的计算程序,供大家学习参考。
A-1 利用 MacCormack两步差分格式求解一维Riemann问题
1.一维 Riemann问题
一维 Riemann问题实际上就是激波管问题。激波管是一根两端封闭、内部充
满气体的直管,如图A.1 所示。在直
管中由一薄膜将激波管隔开, 在薄膜两
侧充有均匀理想气体(可以是同一种气
体,也可以是不同种气体) ,薄膜两侧
气体的压力、密度不同。当t0 时,
气体处于静止状态。当t0 时,薄膜
图 A.1 激波管问题示意图
瞬时突然破裂, 气体从高压端冲向低压端,同时在管内形成激波、 稀疏波和接触
间断等复杂波系。
2.基本方程组、初始条件和边界条件
设气体是理想气体。一维Riemann问题在数学上可以用一维可压缩无黏气体
Euler方程组来描述。在直角坐标系下量纲为一的一维Euler方程组为:
u
f
1
x 1
(A.1)
t
0,
x
u