computational fluid dynamics (cfd) 値流体力学特論 computational fluid dynamics (cfd) ii...

37
数値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques Reima Iwatsu, e-mail : [email protected] Winter Semester 2007, Graduate School, Tokyo Denki University 東京電機大学 平成 19 年度大学院後期授業, 2007 年神田キャンパス 11 号館 16F, 1601 教室 1

Upload: trinhkhanh

Post on 18-Mar-2018

226 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

数値流体力学特論COMPUTATIONAL FLUID DYNAMICS

(CFD)

II

基本的な離散化法Basic Discretization Techniques

岩津玲磨

Reima Iwatsu, e-mail : [email protected]

Winter Semester 2007, Graduate School, Tokyo Denki University

東京電機大学 平成19年度大学院後期授業, 2007年神田キャンパス11号館16F, 1601教室

1

Page 2: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

I 流体シミュレーションのための様々なレベルにおける数学モデル1. 序論: はじめてのCFDへのガイド1.1 仮想プロトタイピング

1.2 CFDシミュレーション・システムの構成要素

2. 流体力学の基礎方程式2.1 保存則の一般形

2.2 質量保存方程式

2.3 運動量保存方程式 (運動方程式)

2.4 エネルギー保存方程式

3. 近似の力学的レベル3.1 ナビエ・ストークス方程式

3.2 乱流の近似

3.3 薄いせん断層近似 (TSL)

3.4 放物化されたナビエ・ストークス方程式 (PNS)

3.5 境界層近似

2

Page 3: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

4. 流れの方程式の数学的性質と境界条件4.1 単純化された移流拡散方程式

4.2 連立偏微分方程式 (PDE)の数学的性質

4.3 双曲型と放物型の方程式 : 特性表面と影響領域

4.4 PDEの時間依存保存形

4.5 初期条件と境界条件

3

Page 4: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

離散化 (discretization)

空間の離散化 → メッシュ, 格子 (グリッド)

精度 (Order of Accuracy)

格子生成 (Grid Generation) → 格子の「質」で数値解の正確さが決まる♠ 「数学モデル」 ⇒ 「格子に関係した未知数の連立代数方程式」

「時間進行法」 (time marching), 「擬非定常」 (pseudo unsteady)

陽解法 (explicit), 陰解法 (implicit)

♣ 「離散法をえらぶ」 ⇒ 「アルゴリズムの解析(安定性, 収束性)」⇒ 「時間積分法, 反復解法」

4

Page 5: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

II の構成

有限差分法 (Finite Difference Method, FDM)

有限体積法 (Finite Volume Method, FVM)

有限要素法 (Finite Element Method, FEM)

異なった格子の種類

5

Page 6: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

5. 構造格子に対する(有限)差分法

Finite Difference Method for Structured Grids

目的とガイドライン5.1 有限差分法 (FDM)

精度 (Order of Accuracy)

5.2 多次元のFD公式

5.3 不等間隔格子

5.4 陰的差分公式 implicit FD formulas) コンパクト (compact)

(DNS,LES,CEM,Computational ElectroMagnetic, CAA)

6

Page 7: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

5.1 差分法 (FDM) の基礎オイラー (Leonhard Euler (1707-1783))

ux =∂u

∂x= lim

∆x→0

u(x + ∆x)− u(x)

∆x

精度 (order of accuracy of the FD approximation)

テイラー展開

u(x + ∆x) = u(x) + ∆x∂u

∂x+

∆x2

2

∂2u

∂x2+

∆x3

3!

∂2u

∂2x+ · · ·

有限差分

u(x + ∆x)− u(x)

∆x= ux(x) +

∆x

2uxx(x) +

∆x2

3!uxxx(x) + · · ·

打ち切り誤差 (truncation error)

u(x + ∆x)− u(x)

∆x' ux(x) +

∆x

2uxx(x) = ux(x) + O(∆x)

1次精度 (first order)

7

Page 8: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

5.1.1 1階と2階の導関数に対する差分公式連続体 → N 個の離散点 xi, i = 1, · · · , N

前進差分 (forward difference)

(ux)i =∂u

∂x

i=

ui+1 − ui

∆x− ∆x

2(uxx)i − ∆x2

6(uxxx)i + · · ·

=ui+1 − ui

∆x+ O(∆x)

後退差分 (backward difference)

(ux)i =∂u

∂x

i=

ui − ui−1

∆x+

∆x

2(uxx)i − ∆x2

6(uxxx)i + · · ·

=ui − ui−1

∆x+ O(∆x)

中心差分 (central difference)

(ux)i =∂u

∂x

i=

ui+1 − ui−1

2∆x− ∆x2

6(uxxx)i + · · · =

ui+1 − ui−1

2∆x+ O(∆x2)

8

Page 9: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

-

6

x

y

�����������������������

�����

��XXXXXHHHHH@@@@@AAAAAAAAA

y = u(x)

i− 1 i i + 1

¡¡

¡¡

¡¡

¡¡¡

©©©©©©©©©©©©©©©©©©

³³³³³³³³³³³³³³³³³³

ui−1

ui ui+1

Backwarddifference

Forwarddifference

Centraldifference

@@

@@@R

AA

AAAK

?

Fig. Geometrical interpretation

コメント

• 1次精度の差分は1次関数に対して厳密, 2次精度の差分は2次関数に対して厳密

• 前進差分は中点 xi+1/2 = (xi + xi+1)/2 に関する中心差分

9

Page 10: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

2次精度の片側差分

(ux)i =aui + bui−1 + cui−2

∆x+ O(∆x2)

係数 (a, b, c) は点 iのまわりのテイラー展開によって

ui−2 = ui − 2∆x(ux)i +(2∆x)2

2(uxx)i − (2∆x)3

6(uxxx)i + · · ·

ui−1 = ui −∆x(ux)i +∆x2

2(uxx)i − ∆x3

6(uxxx)i + · · ·

a, b, c をかけて

aui + bui−1 + cui−2 = (a + b + c)ui −∆x(b + 2c)(ux)i +∆x2

2(b + 4c)(uxx)i + O(∆x3)

a + b + c = 0, b + 2c = −1, b + 4c = 0

2次精度の片側差分公式は

(ux)i =3ui − 4ui−1 + ui−2

2∆x+ O(∆x2)

これは差分公式をもとめる一般的な手続き

1階導関数を陽的差分公式でもとめるとき, p + 1個の点をつかってp次精度

10

Page 11: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

2 階の導関数に対する差分公式(ux)i+1, (ux)i は後退差分で近似

(uxx)i =

∂2u

∂x2

i

=(ux)i+1 − (ux)i

∆x=

ui+1 − 2ui + ui−1

∆x2+ O(∆x2)

テイラー展開によっても2次精度

ui+1 − 2ui + ui−1

∆x2+ O(∆x2) = (uxx)i +

∆x2

12

∂4u

∂x4

i

+ · · ·

線形結合の形になる公式をさがす

(uxx)i =aui + bui−1 + cui−2

∆x2+ O(∆x2)

a + b + c = 0, b + 2c = 0, b + 4c = 2

片側 (後退)差分公式

(uxx)i =ui − 2ui−1 + ui−2

∆x2+ ∆x(uxxx)i + · · ·

11

Page 12: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

5.1.2 1次元モデル方程式の差分近似

(1) 線形な1次元移流方程式

∂u

∂t+ a

∂u

∂x= 0 ut + auxx = 0

u(x, t): (x, t) の未知関数, a: 移流速度, 波の伝播速度

♣ 初期境界値問題 a > 0

u(x, 0) = u(0)(x) t = 0 0 ≤ x ≤ L

u(0, t) = g(t) x = 0 t ≥ 0

12

Page 13: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

-

6

x

y

n− 1

n

n + 1

xi = i∆x

tn = n∆t

∆x

6

?

∆t

x

Fig. Discretization of the time and the space

♥ 空間, 時間を離散化する 時間レベルを上付きの添え字 n, 空間の位置を下付きの添え字 i

xi = i∆x tn = n∆t uni = u(i∆x, n∆t)

13

Page 14: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

半離散化 (semi-discrete), 「線の方法」 (method of lines)

(ut)i = − a

2∆x(ui+1 − ui−1)

前進差分un+1

i − uni

∆t= − a

2∆x(ui+1 − ui−1)

♠ オイラー法 (Euler method)

un+1i − un

i

∆t+

a

2∆x(un

i+1 − uni−1) = 0

陽解法 (explicit)

un+1i = un

i −a∆t

2∆x(un

i+1 − uni−1) = 0

陰解法 (implicit)un+1

i − uni

∆t+

a

2∆x(un+1

i+1 − un+1i−1 ) = 0

→ ♦ オイラーの陰解法 (implicit Euler method) → 3重対角行列→ トーマス法 (Thomas algorithm)

時間1次空間2次 

14

Page 15: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

時間1次空間1次後退差分

(ut)i = − a

∆x(ui − ui−1) = 0

前進差分 陽的スキームun+1

i − uni

∆t+

a

∆x(un

i − uni−1) = 0

陰的スキームun+1

i − uni

∆t+

a

∆x(un+1

i − un+1i−1 ) = 0

空間前進差分(ut)i = − a

∆x(ui+1 − ui) = 0

陽的スキームun+1

i − uni

∆t+

a

∆x(un

i+1 − uni ) = 0

陰的スキーム 1次精度風上差分 (upwind schemes)

un+1i − un

i

∆t+

a

∆x(un+1

i+1 − un+1i ) = 0

15

Page 16: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

時間1次空間2次後退差分

un+1i − un

i

∆t+ a

3ui − 4ui−1 + ui−2

2∆x= 0

陽的スキームun+1

i − uni

∆t

n

+ a3un

i − 4uni−1 + un

i−2

2∆x= 0

陰的スキームun+1

i − uni

∆t

n

+ a3un+1

i − 4un+1i−1 + un+1

i−2

2∆x= 0

時間2次空間2次中心差分

un+1i − un−1

i

2∆t+ a

uni+1 − un

i−1

2∆x= 0

「(中点)蛙飛び法」 (leapfrog scheme)

16

Page 17: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

(2) 線形な拡散方程式

∂u

∂t= α

∂2u

∂x2ut = αuxx

時間前進差分

un+1i = un

i +α∆t

∆x2(ui+1 − 2ui + ui−1)

陽解法

un+1i = un

i +α∆t

∆x2(ui+1 − 2ui + ui−1)

n

陰解法

un+1i = un

i +α∆t

∆x2(ui+1 − 2ui + ui−1)

n+1

クランク―ニコルソン法 (Crank-Nicholson scheme)

un+1i = un

i +1

2

α∆t

∆x2(ui+1 − 2ui + ui−1)

n +α∆t

∆x2(ui+1 − 2ui + ui−1)

n+1

17

Page 18: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

5.2 多次元の差分公式

-

6

x

y

i− 1 i i + 1

j − 1

j

j + 1

xi = i∆x

yj = j∆y

-¾∆x

6

?∆y

v

Fig. Two-dimensional Cartesian mesh

[ 2次元xi = x0 + i∆x yj = y0 + j∆y uij = u(xi, yj)

18

Page 19: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

5.2 多次元の差分公式 (つづき)点 (i, j)のまわりにテイラー展開する

u(xi + ∆x, yj + ∆y) ≡ uij +

∆x

∂x+ ∆y

∂y

u|ij

+1

2

∆x

∂x+ ∆y

∂y

2

u|ij +1

6

∆x

∂x+ ∆y

∂y

3

u|ij + · · ·

] 前進差分

(ux)ij =∂u

∂x

ij

=ui+1,j − uij

∆x+ (∆x)

(uy)ij =

∂u

∂y

ij

=ui,j+1 − uij

∆x+ (∆y)

\ 後退差分

(ux)ij =∂u

∂x

ij

=uij − ui−1,j

∆x+ (∆x)

(uy)ij =

∂u

∂y

ij

=uij − ui,j−1

∆x+ (∆y)

19

Page 20: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

5.2 多次元の差分公式 (つづき2)n中心差分

(uxx)ij =

∂2u

∂x2

ij

=ui+1,j − 2uij + ui−1,j

∆x2− ∆x2

12

∂4u

∂x4

ij

(uyy)ij =

∂2u

∂y2

ij

=ui,j+1 − 2uij + ui,j−1

∆y2− ∆y2

12

∂4u

∂y4

ij

[ 2次元の公式 · · · たとえば · · ·(ux)ij =

∂u

∂x

ij

=1

6

ui+1,j+1 − ui−1,j+1

2∆x+ 4

ui+1,j − ui−1,j

2∆x+

ui+1,j−1 − ui−1,j−1

2∆x

+ (∆x2)

20

Page 21: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

5.2.1 ラプラス演算子 (Laplace operator)♥ 5点差分

∆uij = uxx + uyy =ui+1,j − 2uij + ui−1,j

∆x2+

ui,j+1 − 2uij + ui,j−1

∆y2+ O(∆x2, ∆y2)

♦ 等間隔格子, ∆x = ∆y = h ∆(1)

ui+1,j + ui−1,j + ui,j+1 + ui,j−1 − 4uij

h2= ∆uij +

h2

12(uxxxx + uyyyy)ij

i

j y y y

y

y

1 1

1

1

−4

Fig. Computational molecule for the five-point Laplace operator

21

Page 22: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

ラプラス演算子 (つづき)♠ 5点混合差分 ∆(2)

∆uij =ui+1,j+1 + ui−1,j+1 + ui+1,j−1 + ui−1,j−1 − 4uij

2h2+ O(∆x2, ∆y2)

(偶数奇数格子の分離, odd-even decoupling)

i

j

y y

y y

1 1

1 1

−4y

i

j

y y

y y

y

n n

n n

n

Fig. Computational molecule for the five-point Laplace operator

22

Page 23: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

ラプラス演算子 (つづき2)♣ 9点公式

∆(3)uij = (a∆(1) + b∆(2))uij with a + b = 1

∆(3)uij = ∆uij +h2

12(uxxxx + uyyyy + 6buxxyy)ij

b = 1/3 打切り誤差 → 4次精度h2

12∆2u ∆u = λu ∆(3) =

2

3∆(1) +

1

3∆(2) − λ2h2

12u ∆(3)uij =

λ +

λ2h2

12

u

i

j

y y y

y y y

y y y

1 1

1 1

1 1

1

1

−8y

b = 2/3 i

j

y y y

y y y

y y y

1 1

2 2

1 1

2

2

−12y

b = 1/2

Fig. Computational molecule for the nine-point Laplace operator

23

Page 24: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

5.2.2 混合導関数 (Mixed derivatives)l中心差分

(uxy)ij =∂

∂x

=

ui,j+1 − ui,j−1

2∆y+ O(∆y2)

ui+1,j+1 − ui−1,j+1 − ui+1,j−1 + ui−1,j−1

4∆x∆y+ O(∆x2, ∆y2)

m中心差分とy方向前進差分

(uxy)ij =ui+1,j+1 + ui−1,j+1 + ui+1,j + ui−1,j

2∆x∆y+ O(∆x2, ∆y)

i

j

x x

x x

1 −1

−1 1

i

j x x

x x

⊗1 −1

−1 1

Fig. Computational molecule for the second order, mixed derivative formula

24

Page 25: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

5.3 不等間隔格子 (Non-uniform grids)n境界層の厚さ

δ '√√√√√√

νx

U∞=

x√Rex

with Rex =U∞x

ν]] 速度勾配 格子間隔

∂u

∂y/∂u

∂x∼

√Rex

∆y

∆x∼ 1

√Rex

[[ x-方向単位長さに 101 格子点, Re = 106 とすると, ∆x = 0.01, ∆y = 10−5 !

¸ 等比格子 yj+1 = y1rj 公比 (格子集中係数) r ∼ 1.1− 1.5

¤ 境界層領域に少なくとも 10− 20 格子点

xi xi+1

j − 1

j

j + 16

?

δ

�������

��������������

-

Fig. Grid in a boundary layer

25

Page 26: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

不等間隔格子 (つづき)物理量が定義される点と中点をどこに置くか♠ セル頂点 cell vertex

- x

i− 1 i i + 1 i + 2xi−1/2 xi+1/2

♣ セル中心 cell centered

- xy y y y y

i− 1 i i + 1 i + 2xi−1/2 xi+1/2

26

Page 27: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

5.3.1 1階導関数の差分公式$ 前進差分

(ux)i =ui+1 − ui

∆xi− ∆xi

2(uxx)i

£ 後退差分(ux)i =

ui − ui−1

∆xi−1+

∆xi−1

2(uxx)i

¿ 中心差分

(ux)i =1

2

ui+1 − ui

∆xi+

ui − ui−1

∆xi−1

− ∆xi −∆xi−1

4(uxx)i − ∆x2

i + ∆x2i−1

12(uxxx)i

「もし格子間隔が急に変わると, 精度の劣化が避けられない」

- x

-¾∆xi−1 -¾

∆xi

i− 1 i i + 1

27

Page 28: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

1階導関数の差分公式(つづき)¥ 2次精度の差分

(ux)i =1

∆xi + ∆xi−1

∆xi−1

∆xi(ui+1 − ui) +

∆xi

∆xi−1(ui − ui−1)

− ∆xi−1∆xi

6(uxxx)i

格子間隔によらず2次, 加重平均, 2,3次元では複雑, 2次以下の関数に対して厳密

保存的FD公式(ux)i =

ui+1/2 − ui−1/2

xi+1/2 − xi−1/2

xi+1/2 − xi−1/2 =1

2(∆xi−1 −∆xi) =

1

2(xi+1 − xi−1)

「反対のセル面で定義された値の差分で表わされた公式を保存形 とよぶ」

- x

-¾∆xi−1 -¾

∆xi

i− 1 i i + 1xi−1/2 xi+1/2

28

Page 29: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

保存的FD公式(つづき)

(ux)i =ui+1/2 − ui−1/2

xi+1/2 − xi−1/2− ∆xi −∆xi−1

4(uxx)i − ∆x2

i −∆xi∆xi−1 + ∆x2i−1

24(uxxx)i

1次精度 (格子点 iは i− 1/2,i + 1/2の中点でない)

中点近似 ui+1/2 = (ui + ui+1)/2

(ux)i =ui+1 − ui−1

xi+1 − xi−1− ∆xi −∆xi−1

2(uxx)i − ∆x2

i −∆xi∆xi−1 + ∆x2i−1

6(uxxx)i

1次精度 (なめらかな格子∆xi −∆xi−1 ∼ O(∆x2)でないかぎり)

- x

-¾∆xi−1 -¾

∆xi

i− 1 i i + 1xi−1/2 xi+1/2

29

Page 30: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

5.3.2 2階導関数の差分公式

(uxx)i =2

∆xi + ∆xi−1

(ui+1 − ui)

∆xi−1− (ui − ui−1)

∆xi−1

+

∆xi −∆xi−1

3(uxxx)i

−∆x2i −∆xi∆xi−1 + ∆x2

i−1

12(uxxxx)i

十分になめらかな格子∆xi −∆xi−1 ∼ O(∆x2)でないかぎり1次精度

(なめらかな格子∆xi −∆xi−1 ∼ O(∆x2)では2次精度)

- x

-¾∆xi−1 -¾

∆xi

i− 1 i i + 1xi−1/2 xi+1/2

30

Page 31: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

5.3.3 セル中心格子 (Cell-centered grids)有限体積法でよくもちいられる

∫ i+1/2i−1/2

∂u

∂xdx ' (ui+1/2 − ui−1/2)

� 中点近似 ui+1/2 = (ui + ui+1)/2 は1次精度

ui+1/2 =ui + ui−1

2− ∆xi −∆xi−1

4(ux)i − ∆x2

i + 2∆xi∆xi−1 −∆x2i−1

16(uxx)i + (∆x3)

� 任意の格子で2次精度

ui+1/2 =∆xiui + ∆xi−1ui−1

∆xi + ∆xi−1− 1

8∆xi−1∆xi(uxx)i + (∆x3)

- xy y y y

i− 1 i i + 1xi−1/2 xi+1/2

-¾∆xi−1 -¾

∆xi

31

Page 32: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

5.3.4 不等間隔格子のガイドライン♠不等間隔の格子による誤差は「なめらかに変化する格子」によって最小化できる

∆xi+1 −∆xi = O(∆x2i )

♦ 等比格子 xi+1 = rxi による誤差は 1次

∆xi+1 −∆xi = (r − 1)∆x = (∆xi)

だが, (r − 1)を小さくとれば誤差を小さくおさえることができる.

♣ となりあうセルの格子間隔が不連続にならないようにせよ

♥ 格子間隔の変化に連続な解析関数をもちいよたとえば

∆xi+1 = r∆xi

O 強い流れの変化がある場所では格子のなめらかさと格子密度に注意せよ

たとえば 翼前縁, よどみ点付近, はくり点付近, 物体後流など

32

Page 33: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

5.4 陰的差分公式 (Implicit FD formula)♠ 1階導関数

u′i−1 + 4u′i + u′i+1

4=

ui+1 − ui−1

2∆x+ (∆x4)

u′i + u′i+1

2=

ui+1 − ui

∆x+ (∆x2)

♣ 2階導関数u”i−1 + 10u”i + u”i+1

12=

ui+1 − 2ui + ui−1

∆x2+ (∆x4)

♥ コンパクト差分 : 3重対角行列の反転が必要, 高精度 (高分解能)

1 1

1 4 1

1 4 1

· · · · · · · · ·

u′1u′2· · ·u′n

=

(u2 − u1)/∆x

(u3 − u1)/2∆x

· · ·(un − un−1)/∆x

u′1u′2· · ·u′n

- xy y y

i− 1 i i + 1

-¾∆xi−1 -¾

∆xi

33

Page 34: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

陰的差分公式 (つづき)Mehrstellen, Hermitian method, compact method, spline method,

operator compact implicit (OCI) method

βu′i−2+αu′i−1+u′i+αu′i+1+βu′i+2 = aui+1 − ui−1

2∆x+b

ui+2 − ui−2

4∆x+c

ui+3 − ui−3

6∆x+(∆xp)

ui±1 = ui±∆x(u′)i +∆x2

2(u”)i±∆x3

6(u′′′)i +

∆x4

24(uIV )i±∆x5

5!(uV )i +

∆x6

6!(uV I)i + · · ·

ui±2 = ui±2∆x(u′)i+4∆x2

2(u”)i±8∆x3

6(u′′′)i+

16∆x4

24(uIV )i±32∆x5

5!(uV )i+

64∆x6

6!(uV I)i+· · ·

ui±3 = ui±3∆x(u′)i+9∆x2

2(u”)i±27∆x3

6(u′′′)i+

81∆x4

24(uIV )i±243∆x5

5!(uV )i+

(3∆x)6

6!(uV I)i+· · ·

u′i±1 = u′i±∆x(u”)i+∆x2

2(u′′′)i±∆x3

6(uIV )i+

∆x4

24(uV )i±∆x5

5!(uV I)i+

∆x6

6!(uV II)i+· · ·

u′i±2 = u′i±2∆x(u”)i+4∆x2

2(u′′′)i±8∆x3

6(uIV )i+

16∆x4

24(uV )i±32∆x5

5!(uV I)i+

(2∆x)6

6!(uV II)i+· · ·

34

Page 35: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

陰的差分公式 (つづき2)

βu′i−2+αu′i−1+u′i+αu′i+1+βu′i+2 = aui+1 − ui−1

2∆x+b

ui+2 − ui−2

4∆x+c

ui+3 − ui−3

6∆x+(∆xp)

(β + α + 1 + α + β)u′i + (4β + α + α + 4β)∆x2

2u′′′i + (16β + α + α + 16β)

∆x4

24u′′′′′i + · · ·

= (a + b + c)u′i + (a + 4b + 9c)∆x2

3!u′′′i + (a + 16b + 81c)

∆x4

5!u′′′′′i + · · ·

1 + 2α + 2β = a + b + c ⇒ O(∆x2)

2α + 8β = a + 4b + 9c ⇒ O(∆x4)

2α + 32β = a + 16b + 81c ⇒ O(∆x6)

LHS = RHS + ε :

ε =

(a + 64b + 729c)

∆x6

7!− (2α + 128β)

∆x6

6!

uV II

35

Page 36: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

コンパクト差分公式 (つづき3)

βu′i−2+αu′i−1+u′i+αu′i+1+βu′i+2 = aui+1 − ui−1

2∆x+b

ui+2 − ui−2

4∆x+c

ui+3 − ui−3

6∆x+(∆xp)

境界公式

u′i + αu′i+1 =1

∆x(aui + bui+1 + cui+2 + dui+3) + (∆xq)

2階導関数の公式βu′i−2 + αu′i−1 + u′i + αu′i+1 + βu′i+2

= aui+1 − 2ui + ui−1

∆x2+ b

ui+2 − 2ui + ui−2

4∆x2+ c

ui+3 − 2ui + ui−3

9∆x2+ (∆xr)

エルミート (Hermitian)公式

事前分解 (pre-factored)スキーム

スタガード・コンパクト公式

不等間隔スタガード公式

36

Page 37: COMPUTATIONAL FLUID DYNAMICS (CFD) 値流体力学特論 COMPUTATIONAL FLUID DYNAMICS (CFD) II 基本的な離散化法 Basic Discretization Techniques 岩津玲磨 Reima Iwatsu, e-mail

構造格子に対する(有限)差分法

離散化の基礎, 有限差分法

• テイラー展開でFD公式の精度(order of accuracy)を評価

• 導関数を近似するFD公式は無数に可能 (格子点数, 精度)

• FD公式のなかの格子点の場所 − 後退, 中心, 前進差分

• 2次元の公式 − 注意• 不等間隔FD公式は重要 → 実用問題→ セルサイズを急に変えると精度を失う• 格子 → なめらかな解析関数でつくること

おわり

37