中科大计算流体力学CFD之大作业二
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CFD 实验报告二
姓名: 学号:
一、题目
求解Poisson 方程
y x y x cos sin 2
222=∂∂+∂∂ψ
ψ, 10≤≤x , 10≤≤y , 0|0==x ψ,
y x ==1|ψ2
cos 1sin y
-
, ==0|y ψ2sin x -, x y ==1|ψ2
1
cos sin x -,
描出等值线:05.0=ψ, 0.2, 0.5, 0.75, 1.
要求所用方法:(1) Jacobi, G-S 选一;SOR ,线SOR ,块SOR 选一。迭代法要求误差610-;
(2) CG 方法,MG 方法选一。
二、报告要求
1)简述问题的性质、求解原则; 2)列出全部计算公式和步骤;
3)表列出程序中各主要符号和数组意义; 4)计算结果与精确解比较
5)结果分析(方案选择、比较、讨论、体会、建议等); 6)附源程序。
三、问题简要分析
3.1问题性质
从题目给出的问题可以看出,该方程是一个二阶线性非齐次偏微分方程,并且给出了四个边界条件,更具定解条件,所以该方程是可以求解的。
3.2求解原则
题中是关于x 和y 的二阶导数,因此可以用二阶中心差分离散,即用正五点格式离散泊松方程。将差分方程整理成以五对角矩阵为系数的线性方程组,用Jacobi 或者CG 或者SOR 等迭代方法求解线性方程组,即可得到函数,i j ψ的在网
格点处的离散值。同时,计算域为Lx Ly ⨯的矩形区域,划分结构网格,均匀步长,设x 方向网格步长x ∆,y 方向网格步长y ∆,则x 方向网格点数为m=/1Lx x ∆+, y 方向网格点数为n=/1Ly y ∆+。
四、计算公式和步骤
4.1 精确解的计算
题中已知四个边界条件,可以通过现已有的解析求解不难求得精确解(解析
解)为1
sin cos 2
x y xy ψ=-⨯+。
4.2迭代求解一般过程
迭代法是求解离散代数方程组的主要方法。假如我们对题目中的PDE 给定一个离散格式,则对每一个确定的离散点(i ,j ),PDE 转化为FDE ,为
,1,,(,sin[(1)]cos[(1)])i j a b c d F i x i y ψψψ=-∆-∆,其中,,~a b c d ψψ是离散格式中所有
与,i j ψ有关的点,函数1F 中所有元素都是线性叠加,即1F 是线性多元函数。所以,将边界上给定结果以及中间的离散格式得到的结果综合起来就是一个线性方程组如下:
22221,11,(1)1,11,11,11,1(1),1
(1),(1)0sin11sin1cos 0sin1cos1n n n n n n n n a a a a ψψψψ++++++++⎡⎤⎡⎤⎡⎤
⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⨯⎢⎥⎢⎥⎢⎥
=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎣⎦
也就是AV B =,0
A ≠,令A N P =-,N A ≈ 故AV PV
B PV +=+,即NV B PV =+
1n n NV PV B +∴=+
其中N 可以分为对角阵、三对角阵、上下三角阵。 迭代式:
111n n V N PV N B +--=+,给出初值0V
或者1n n n n n NV PV B PV AV B AV +=+=++-,~n n R B AV =-残量
推出1n n n NV NV R +=+
收敛准则:1)n 足够大,残量趋于零(小于ε) 2)10()n n V V ε+-→< 4.3方程离散
上述泊松方程在(,)i j x y 的正五点差分格式为:
1,,1,,1,,1
2
2
22sin cos i j i j i j i j i j i j i j x y x
y
ψψψψψψ+-+--+-++
=∆∆
将泊松方程在计算域网格点(,)i j x y 上进行差分得到差分方程:
22223,22,21,22,32,22,12222223,32,31,32,42,32,22322223,n 12,n 11,n 12,n 2,n 12,n 22,2(2)(2)sin cos 2,3
(2)(2)sin cos 2,1(2)(2)s i j y x x y x y i j y x x y x y i j n y x x y ψψψψψψψψψψψψψψψψψψ-----==∆-++∆-+=∆∆==∆-++∆-+=∆∆==-∆-++∆-+=∆∆2122224,23,22,23,33,23,13222224,33,32,33,43,33,233224,n 13,n 12,n 13,n 3,n in cos 3,2(2)(2)sin cos 3,3
(2)(2)sin cos 3,1(2)(2n x y i j y x x y x y i j y x x y x y i j n y x ψψψψψψψψψψψψψψψψψ----⎧⎪
⎪⎨⎪
⎪⎩
==∆-++∆-+=∆∆==∆-++∆-+=∆∆==-∆-++∆-2213,n 231)sin cos n x y x y ψ---⎧⎪
⎪⎨⎪
⎪+=∆∆⎩
2222m,2m 1,2m 2,2m 1,3m 1,2m 1,1122222m,3m 1,3m 2,3m 1,4m 1,3m 1,2132m,n 1m 1,n 1m 2,n 11,2(2)(2)sin cos 1,3(2)(2)sin cos 1,1(2m m i m j y x x y x y i m j y x x y x y i m j n y ψψψψψψψψψψψψψψψ-----------------=-=∆-++∆-+=∆∆=-=∆-++∆-+=∆∆=-=-∆-+222m 1,n m 1,n 1m 1,n 211)(2)sin cos m n x x y x y ψψψ-------⎧⎪⎪⎨⎪
⎪+∆-+=∆∆⎩
以下对边界条件进行离散:
1,m,k,1k,n 1:0,(1,2...)sin1cos :,(1),(1,2...)2sin 1:,(1),(1,2...)2sin cos1:,(1),(1,2...)2
k k k k k k
k k k k i k n y i m y y k y k n x j x k x k m x j n x x k x k m ψψψψ===⎧
⎪
⎪==-=-∆=⎪⎪⎨==-=-∆=⎪⎪
⎪==-=-∆=⎪⎩左边界右边界下边界上边界
综合差分方程及边界条件将方程整理成线性方程组K B Φ=的形式得到: