当前位置:
文档之家› 清华大学计算流体力学第一次作业答案
清华大学计算流体力学第一次作业答案
整理得:
( 2∆x (u )
x j
j −1
∆x j − 2 + ∆x 2 j − 2 u j − ( ∆x j −1 + ∆x j − 2 ) u j −1 + ( ∆x j −1 ) u j − 2
2 2
∆x j −1∆x j − 2 ( ∆x j −1 + ∆x j − 2 )
)
+ T .E .
x
图1 T=2 时取不同 c 值得到的数值结果与精确解对比
6
4
2
0
u
-2 c=0.5 c=1.0 c=1.2 exact
-4
-6 -1.5
-1
-0.5
0
0.5
1
1.5
x
图2 T=4 时取不同 c 值得到的数值结果与精确解对比
由图 1, 图 2 可得, c=1 时计算结果与精确解符合的很好; c=0.5 时, 差分格式具有正耗散性, 数值解的振幅随时间减小, 虽然格式是稳定的, 但由于耗散太大, 因此, 数值解的精度很低; c=0.5 时,差分格式具有负耗散行,数值解的振幅随时间增大,随着时间推进,数值解将发 散。 Von Neumann 稳定性分析
∆t = 0.5, 1, 1.2 , ∆x
要求:编程计算,并整理文档,其中写明计算格式;初始、边界条件;计算结果图(给出图 中结果对应的计算参数,如时间,空间步长,推进步数等) ,并附上源程序。 解:精确解: u ( x, t ) = − sin 2π ( x − t ) 差分格式:
(
)
(ห้องสมุดไป่ตู้
)
(2)
代入待定系数表达式得:
2 2 1 c ( ∆x j −1 + ∆x j − 2 ) + b ( ∆x j −1 ) ( u xx ) j = T .E . − (a + b + c)u j + c ( ∆x j −1 + ∆x j − 2 ) + b∆x j −1 + 1 ( u x ) j − 2 3 3 1 T .E. = − b ( ∆x j −1 ) + c ( ∆x j −1 + ∆x j − 2 ) ( u xxx ) j + O ∆x3 6 求解关于 a、b、c 的方程组:
2 1 T .E. = − ( ∆x j −1 ) + ∆x j −1∆x j − 2 ( u xxx ) j + O ∆x3 = O ∆x 2 6
(
)
(
)
故截断误差为 2 阶。
2、若网格均匀,试用一阶后差离散源方程中的空间导数项,时间方向采用一阶前差,写出 完整的差分格式。编程计算 T=2,4 时的数值解,并讨论计算参数对计算结果的影响。其 中网格点数取为 20,时间步长分别取为 c =
《计算流体力学》作业 1
线性对流方程初边值问题
∂u ∂u 0 ∂t + ∂x = u ( x,0) = − sin(2π x ) u (1, t = ) u ( −1, t )
l、设 x j − x j −1 = ∆x j −1 , x j −1 − x j −2 = ∆x j −2 ,试利用 j-2、j-1、 j 三点构造非均匀网格上逼 近一阶导数项 (u x ) j 的差分公式,并分析上述差分公式的截断误差;
c=1 时, Gm = 1 ,振幅保持不变。
解:待定系数法:
( ux ) j − ( au j + bu j −1 + cu j −2 ) =Ο ( ∆x k )
泰勒展开:
(1)
1 3 u j −1 = u j − ∆x j −1 ( u x ) j + ∆x 2 j −1 ( u xx ) j + Ο ∆x j −1 2 2 3 1 u j −2 = u j − ( ∆x j −1 + ∆x j − 2 ) ( u x ) j + ( ∆x j −1 + ∆x j − 2 ) ( u xx ) j + Ο ( ∆x j −1 + ∆x j − 2 ) 2
(
)
2∆x j −1 + ∆x j − 2 a= ∆x j −1 ( ∆x j −1 + ∆x j − 2 ) 0 a+b+c = ∆x j −1 + ∆x j − 2 0 ⇒ b = − c ( ∆x j −1 + ∆x j − 2 ) + b∆x j −1 + 1 = ∆x j −1∆x j − 2 2 2 1 1 c ( ∆x + ∆x ) + b ( ∆x ) = 0 ∆x j −1 j −1 j −2 j −1 2 c = 2 ∆x j − 2 ( ∆x j −1 + ∆x j − 2 )
n n ikm xk uk = Am e
n +1 ikm xk n ikm xk n ikm xk −1 Am e = e + cAm e (1 − c ) Am
n +1 n Gm = Am Am = (1 − c ) + ce − ikm ∆x = 1 − c + c cos ( km ∆x ) − ic sin ( km ∆x ) 2 2 = 1 − c + c cos ( km ∆x ) + c sin ( km ∆x ) =1 + 2c ( c − 1) ⇒ 0 ≤ c ≤1 1 − cos ( km ∆x ) ≤1 2
+1 un − un j j
∆t
+
n un j − u j −1
∆x
n +1 =⇒ =− 0 un (1 c)u n j j + cu j −1
2.5 2 1.5 1 0.5 0
u
-0.5 -1 -1.5 -2 -2.5 -1.5 -1 -0.5 0 0.5 1 1.5 c=0.5 c=1.0 c=1.2 exact