Top Banner
偏微分方程式の数値解法 中島 研吾 東京大学情報基盤センター 大学院情報理工学系研究科数理情報学専攻 数値解析 (科目番号 500080)
77

偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式...

Jul 14, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

偏微分方程式の数値解法

中島 研吾東京大学情報基盤センター

同 大学院情報理工学系研究科数理情報学専攻

数値解析 (科目番号 500080)

Page 2: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

科学技術計算の方法• 偏微分方程式(Partial Differential Equations:PDE)数値解• メッシュ,格子,粒子(mesh, grid, particle)

– 大規模な連立一次方程式を解く必要あり– 細かいメッシュほど計算量は多いが精度の良い解

2PDE

Page 3: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE 3

• 背景

• 偏微分方程式と物理現象

• 差分法(Finite-Difference Method, FDM)

• 例1:定常移流拡散方程式

• 例2:非定常移流方程式

• 例3:非定常拡散方程式

• レポート課題出題

Page 4: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

4

数理モデルの構成法(1/2)登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

• 自然現象の理想化,単純化,定量的な解析

• 偏微分方程式(Partial Differential Equations, PDE)– 対象領域の微小部分,自然法則の記述⇒局所的方法(local)

• 支配方程式: governing equation• 境界条件: boundary condition• 初期条件: initial condition

• 積分方程式(Integral Equations)– 全体的手法(global)– グリーン関数(Green function),基本解(fundamental function)によって偏微分方程式を積分方程式に書き換える

• 行列計算– 偏微分方程式:局所的⇒疎行列

– 積分方程式: 全体的⇒密行列

Page 5: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

5

数理モデルの構成法(2/2)登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

• 偏微分方程式(Partial Differential Equations, PDE):local– 有限要素法,(有限)差分法,有限体積法,(個別要素法)

• 積分方程式(Integral Equations):global– 境界要素法

• 条件的手法:conditional– 変分法(Variational Method)

• 汎関数(functional)の極値問題

– 例:最小ポテンシャルエネルギの原理

Page 6: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

6

例 題登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

• 単位大きさの張力のもとで水平に張られた長さ1の糸に鉛直分布加重f(x)が加わった場合の糸の釣り合い形状uを求めよ

1.01.0

f(x)

u(x)

1.0

x

Page 7: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

7

局所的方法:(偏)微分方程式登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

• 糸の微小部分xに作用する鉛直方向の力のつり合い(張力:1)– 位置xにおける糸の傾きを(x)とする

1.0

1.0x

s

u(x)

u(x+x)

+x

f(x)s

0sin1sin1 sxfx x+x

0,0 xu

xdx

uddxdu

dxdu

dxdu

xxxx

xxx

xx

2

2

tansin

tansin

xxdxduxuxxuxs

222 1)( 02

2

xfdx

ud

微小な変位を仮定

Page 8: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

8

全体的方法:積分方程式登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

• 任意の位置 に単位の力が作用したときの点xにおける変位をG(x,) と表す– 従って x=における微小部分 には f()なる力が作用している

• 分布加重によって点xにおいて引き起こされる変位は各点 に作用する加重による変位を全て重ね合わせればよい:

dfxGxu 1

0,

• このような関数G(x,)は点 に単位強さが作用したときの点xにおける変化量を表す関数– 影響関数(influence function),グリーン関数(Green’s function)– 未知関数はグリーン関数の具体的な形がわかれば計算できる

Page 9: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

9

条件的方法:変分表現登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

• 糸の有するポテンシャルエネルギー最小の原理– 糸の伸びによるエネルギー

– 分布加重による外力のなす仕事

– ポテンシャルエネルギーの総和:汎関数(functional,関数の関数)

1

0

21

0

21

0

1

0 21111 dx

dxdudx

dxdudxds

1

0

2

1

0

1

0

2

21

21

dxxuxfdxdu

dxxuxfdxdxduuJ

1

0dxxuxf

– 汎関数の極値を与える(停留させる:stationarize)方程式⇒Euler方程式

• 結局微分方程式を解くのと同じことになる:大学院講義

Page 10: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE 10

• 背景

• 偏微分方程式と物理現象

• 差分法(Finite-Difference Method, FDM)

• 例1:定常移流拡散方程式

• 例2:非定常移流方程式

• 例3:非定常拡散方程式

• レポート課題出題

Page 11: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

11

微分方程式の分類(1/5)• 3個の独立変数 (x1,x2,x3),未知関数 u(x1,x2,x3)• その2階までの偏導関数を含む方程式 G=0 を2階の偏微分方程式(Second order PDE)と言う:

• 方程式が未知関数と全ての偏導関数について線形であるとき,方程式は線形(linear)であると言う。線形でない方程式は非線形(non-linear)。

• 恒等的に c=0 の場合方程式は同次または斉次(homogeneous),そうでない場合非同次または非斉次(inhomogeneous)

0,,,,,,,,,,,, 32132131

2

21

2

23

2

22

2

21

2

xxxu

xu

xu

xu

xxu

xxu

xu

xu

xuG

0,,,,,, 321

3

1321

3

1,

2

321

xxxcxuxxxb

xxuxxxa

i ii

ji jiij

Page 12: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

12

微分方程式の分類(2/5)• 未知関数uに充分な滑らかさを仮定することにより下記が成立:

• 実数 aijについて対称性 aij=aji を仮定できるため,以下の3次の正方行列Aの固有値は全て実数:

• 点x(x1,x2,x3)における行列をA(x) ,その固有値分布を考える:– 0固有値一つ以上含む:方程式は点xにおいて放物型(parabolic)– 異符号固有値含む:方程式は点xにおいて双曲型(hyperbolic)– 全固有値が同符号:方程式は点xにおいて楕円型(elliptic)

• 領域の全ての点において全固有値が同符号:楕円型方程式(双曲,放物も同様)

ijji xxu

xxu

22

333231

232221

131211

aaaaaaaaa

A

Page 13: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

13

微分方程式の分類(3/5)• 特に独立変数が2つ(x,y)の場合:

• 正方行列Aは以下のようになる:

• 固有値を とすると,この行列の特性方程式は,以下のように表されるため:

• AC-B2

– =0:放物型,<0:双曲型,>0:楕円型

CBBA

A

yxcuyu

xu

yuC

yxuB

xuA ,2 2

22

2

2

22 BACCACB

BA

IA

Page 14: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

14

微分方程式の分類(4/5)• 適当な変数変換を施して:

• 放物型:

• 双曲型:

• 楕円型:

02

2

Yu

Xu

02

2

2

2

Y

uX

u

02

2

2

2

Y

uX

u

Page 15: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

15

微分方程式の分類(5/5)• 2階の偏微分方程式で記述される現象は多い

• 楕円型– 定常熱伝導,ポアソン・ラプラス方程式

– ヘルムホルツ方程式

• 放物型– 非定常熱伝導方程式

• 双曲型– 波動方程式

– 非定常移流方程式

02

2

2

2

2

2

Q

zu

yu

xu

022

2

2

2

2

2

uk

zu

yu

xu

Qzu

yu

xu

tuc

2

2

2

2

2

2

2

2

2

2

2

22

2

2

zu

yu

xuc

tu

Szu

yu

xuc

tu

Page 16: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

16

例:熱・物質の移動

• 熱の移動– 伝導(熱伝導)(conduction)

• 固体,液体,気体⇒温度差・勾配

– 対流(convection)• 液体,気体⇒媒質の流れ

– 放射(輻射) (radiation)• 電磁波(真空中でも伝わる)

• 物質の移動– コーヒーにミルクを入れてかき混ぜる

– 拡散(diffusion)• かき混ぜなくても「じわっと」広がる

– 移流(convection)• 流れによって混ざる

• 攪拌,注入によって引き起こされる流れ

Page 17: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

17

熱伝導・物質拡散現象

• 熱伝導– 物理量:u– 熱流束(heat flux:熱流量の密度):q

– フーリエ(Fourier)の法則• (:熱伝導係数)

– 熱伝導方程式• (:密度,c:比熱)

2

2

xu

xu

xtuc

xuq

熱伝導係数一様の場合

• 物質拡散– 物理量:C– 物質流束(mass flux:物質流量の密度):J

– フィック(Fick)の法則• (D:拡散係数)

– 拡散方程式

2

2

xCD

xCD

xtC

xCDJ

拡散係数一様の場合

Page 18: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

• フーリエ(Fourier)の法則– ある断面に単位時間当たり流入する熱量(熱流束)q(x,t)はその点における温度勾配に比例

• 比例定数⇒熱伝導係数 – 断面 x+x から流出する単位時間あたり熱量

PDE

18

熱伝導方程式の導出(1/2)• 一様な単位断面積を有する長さ1の棒

– 側面は断熱材料で覆われている

– 任意の場所と時間での温度u(x,t)を定めるための数理モデル• 温度:T(temperature)と書くこともある

x

q(x,t) q(x+x,t)

x

txutxq

,,

xx

txutxq

xx

txux

txux

txxutxxq

2

2

2

2

,,

,,,,

Page 19: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

• 強さ Q(x,t) の熱源(heat source)が存在する場合

PDE

19

熱伝導方程式の導出(2/2)• 微小部分x に単位時間当たり蓄えられる熱量q

• エネルギ保存則により,蓄えられた熱量は全て微小部分の温度上昇に費やされる

xx

txutxqtxxqq

2

2 ,,,

xt

txucxt

txucq

,,

t

txu

, 単位時間当たり温度上昇

2

2

xu

tuc

Qxu

tuc

2

2

Page 20: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

20

初期条件・境界条件Initial/Boundary Conditions (B.C.ということはある)

• 時間発展(time-marching)の有無– 非定常(unsteady, transient),時間依存(time dependent):初期・境界条件

– 定常(steady):境界条件

• 第1種境界条件,ディリクレ(Dirichlet)条件– 境界で従属変数を規定:温度

• 固体力学であれば変位固定境界

• 第2種境界条件,ノイマン(Neumann)条件– 境界で従属変数の「勾配」を規定:熱量

• 断熱(熱量=0)

• 第3種境界条件,ロビン(Robin)条件– 第1種と第2種の一次結合

– 電磁気学の分野で広く使われ,インピーダンス境界条件とも呼ばれる

Page 21: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

• 変位uが微小であると仮定すると以下の微分方程式が得られる:

PDE

21

波動方程式の導出

• 糸の微小部分xに作用する鉛直方向の力のつり合い(張力:T)– ニュートンの運動の第2法則

T

T

x

s

u(x)

u(x+x)

+x

f(x)s

x x+x

xxfTTxtu

sinsin2

2

xfxuT

tu

2

2

2

2

Tc

xuc

tu 2

2

22

2

2

分布加重が作用しない場合

Page 22: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE 22

• 背景

• 偏微分方程式と物理現象

• 差分法

• 例1:定常移流拡散方程式

• 例2:非定常移流方程式

• 例3:非定常拡散方程式

• レポート課題出題

Page 23: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

23

様々な数値計算の手法

局所的方法差分方程式

局所的方法微分方程式

ガラーキン法

差分法 有限要素法

条件的方法停留条件式

変分法リッツ法

全体的方法積分方程式

境界要素法

連立一次方程式

積分方程式法

Page 24: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

差分法と有限要素法

• 偏微分方程式の近似解法

– 全領域を小領域(メッシュ,要素)に分割する• 離散化(Discretization)

• 差分法

– 微分係数を直接近似• Taylor展開

24PDE

Page 25: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

差分法とは

• 差分法:Finite Difference Method• マクロな微分

– 微分係数を数値的に近似する手法

• 以下のような一次元系を考える

x x

i-1 i i+1

差分法

25PDE

x

xxxx

xxxdxd

x

0

lim

Page 26: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

直感的な定義

• ×(iとi+1の中点)における微分係数

x x

i-1 i i+1×

xdxd ii

i

1

2/1

x→0となると微分係数の

定義そのもの

• iにおける二階微分係数

211

11

2/12/12

2 2xx

xxx

dxd

dxd

dxd iii

iiii

ii

i

差分法

26PDE

Page 27: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

厳密な定義:Taylor展開(1/3)

x x

i-1 i i+1

iiiii x

xx

xx

x

3

33

2

22

1 !3!2

iiiii x

xx

xx

x

3

33

2

22

1 !3!2

差分法

27PDE

Page 28: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

厳密な定義:Taylor展開(2/3)

x x

i-1 i i+1

iiiii x

xx

xx

x

3

33

2

22

1 !3!2

iiiii x

xx

xx

x

3

33

2

22

1 !3!2

前進差分

iii

ii

xx

xx

xx

3

32

2

21

!3!2 打ち切り誤差が

xのオーダー

(一次精度)

iii

ii

xx

xx

xx

3

32

2

21

!3!2

後退差分

打ち切り誤差がxのオーダー

(一次精度)

差分法

28PDE

Page 29: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

厳密な定義:Taylor展開(3/3)

x x

i-1 i i+1

iiiii x

xx

xx

x

3

33

2

22

1 !3!2

iiiii x

xx

xx

x

3

33

2

22

1 !3!2

中央差分,中心差分

ii

ii

xx

xx

3

3211

!32

2 打ち切り誤差が

(x)2のオーダー

(二次精度)

差分法

29PDE

Page 30: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

直感的な定義:実は二次精度

x x

i-1 i i+1

2/13

33

2/12

22

2/12/11 !3

2/!22/2/

iii

ii xx

xx

xx

2/13

32

2/1

1

!32/2

ii

ii

xx

xx 打ち切り誤差が

(x)2のオーダー

(二次精度)

×

2/13

33

2/12

22

2/12/1 !3

2/!22/2/

iii

ii xx

xx

xx

二点間の中点で二次精度,それ以外の点では一次精度・・・ということもできる。xが均一でない場合も同様のことが起こる。

差分法

30PDE

Page 31: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

一次元定常熱伝導方程式要素単位の線形方程式

• 各要素における線形方程式は以下のような形になる

211

11

2/12/12

2 2xx

xxx

dxd

dxd

dxd iii

iiii

ii

i

• 差分法による離散化:xは基本的に一様

222

11

1)(,2)(,1)(

)1()()()()(

xiA

xiA

xiA

NiiBFiAiAiA

RDL

iRiDiL

02

2

BFdxd

)1(0)(121

)1(0)(2

12212

211

NiiBFxxx

NiiBFx

iii

iii

差分法

31

Page 32: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

差分法と有限要素法

• 偏微分方程式の近似解法

– 全領域を小領域(メッシュ,要素)に分割する• 離散化(Discretization)

• 差分法

– 微分係数を直接近似• Taylor展開

• 有限要素法

– Finite Element Method(FEM)

– 積分形式で定式化された「弱形式(weak form)」を解く• 微分方程式の解(古典解)に対して「弱解(weak solution)」

– 重み付き残差法,変分法

– 複雑形状への適用• 差分でもある程度の複雑形状は扱うことが可能

32PDE

Page 33: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

差分法で複雑形状を扱う例Handbook of Grid Generation

座標変換

33FEM-intro

Page 34: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE 34

• 背景

• 偏微分方程式と物理現象

• 差分法(Finite-Difference Method, FDM)

• 例1:定常移流拡散方程式

• 例2:非定常移流方程式

• 例3:非定常拡散方程式

• レポート課題出題

Page 35: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

35

例1:定常移流拡散方程式Steady Convection-Diffusion Equation

102

2

x

xu

xua 11,00 uu

移流項a:流速(≧0)

拡散項v:拡散係数

境界条件

xPexa

BeABeAxu

aaLPe

一般解 Pe: ペクレ数(Peclet)L: 領域長さ(=1)

• ペクレ数

– 移流・拡散の比率を表す無次元数• 拡散係数:[L2T-1],速度: [L1T-1]

– 大きいほど移流が卓越(不安定),拡散項(流れの方程式では粘性項)は減衰項としてはたらく

Page 36: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

36

非圧縮性粘性流体の支配方程式(2D)Navier-Stokes + Continuity最も代表的な非線形微分方程式

0

1

1

2

2

2

2

2

2

2

2

yv

xu

yv

xv

yp

yvv

xvu

tv

yu

xu

xp

yuv

xuu

tu

Page 37: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

37

定常移流拡散方程式の厳密解Pe大⇒上流側(x=0)の影響大

0.00

0.20

0.40

0.60

0.80

1.00

0.00 0.20 0.40 0.60 0.80 1.00

Pe=0.00Pe=0.10Pe=1.00Pe=2.00Pe=10.0

Pe

xPe

Pe

xPe

eePe

xu

eexu

1

11

Page 38: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

38

中央差分による定式化

21111 2

2 xuuu

xuua iiiii

差分方程式ペクレ数が大きくなると行列の対角成分が小さくなる⇒不安定

Rc: 格子レイノルズ数(Reynolds)(または格子ペクレ数)

xaR

uRuuR

c

iciic

0242 11

xa

xu

xu

xa

xu

i

i

i

2:

2:

2:

21

2

21

2

2x

xau

u

xau

i

i

i

2:

4:

2:

1

1

Page 39: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

39

中央差分による定式化

21111 2

2 xuuu

xuua iiiii

差分方程式ペクレ数が大きくなると行列の対角成分が小さくなる⇒不安定

Rc: 格子レイノルズ数(Reynolds)(または格子ペクレ数)

xaR

uRuuR

c

iciic

0242 11

iii qcqcu 2211 差分方程式の一般解

0242 2 cc RqqRq1, q2: 特性方程式の根

0242 11 ic

iic qRqqR

: 特性方程式

: 元の特性方程式

i

c

ci

c

c

RRccu

RRqq

22

22,1 2121

q2 ≦0だと解が振動をする可能性がある⇒解が安定なためには |Rc|<2 である必要がある:細かいメッシュが必要

Page 40: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

40

中央差分:計算結果

Rc=1.00x= 0.10, a= 1.00, v= 0.10

Rc=2.50x= 0.10, a= 1.00, v= 0.04

-0.20

0.00

0.20

0.40

0.60

0.80

1.00

0.00 0.20 0.40 0.60 0.80 1.00

Central Difference

Exact

-0.20

0.00

0.20

0.40

0.60

0.80

1.00

0.00 0.20 0.40 0.60 0.80 1.00

Central Difference

Exact

Page 41: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

41

メッシュを細かくするとRcが小さくなり解が安定する

a= 1.00, v= 0.04

-0.20

0.00

0.20

0.40

0.60

0.80

1.00

0.00 0.20 0.40 0.60 0.80 1.00

Dx= 0.10, Rc= 2.50Dx= 0.05, Rc= 1.25Exact

Page 42: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

42

風上差分(1/3)2

1111 22 x

uuuxuua iiiii

2

111 2x

uuuxuua iiiii

• 移流項の差分において,風上側の効果が卓越すると考え,速度が正なら後退差分,負なら前進差分を使用する

• 移流項の差分の精度が一次に下がるがより安定する• 風上差分,風上化,上流化,一次上流化/風上化(1st order upwinding)他

iu 1iu1iu

a>0

xuua

xua ii

1

iu 1iu1iu

a<0

xuua

xua ii

1

Page 43: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

43

風上差分(2/3)2

1111 22 x

uuuxuua iiiii

2

111 2x

uuuxuua iiiii

icic

cc

RccuRqq

RqRq

11,1

01)2(

2121

2 : 特性方程式

: 差分方程式の一般解

• Rc≧0であれば差分方程式の一般解は振動しない

xa

xu

xa

xu

xu

i

i

i

21

2

21

:

2:

:

2x

xaR

xau

xau

u

c

i

i

i

1:

2:

1:

1

1

Page 44: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

44

風上差分(3/3)2

11111 222 x

uuuxaxuua

xuua iiiiiii

21111 2

22 xuuuxa

xuua iiiii

風上差分 中央差分 人工的な拡散項・散逸項これによって安定化する

• 風上差分によって人工的な拡散項(散逸項)が導入されることによって計算は安定するが,必ずしも精度は高くない

• 風上差分スキーム,中央差分スキームなどと言うこともある(scheme)

Page 45: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

45

計算結果風上差分による解は拡散係数が大きいときの解に近くなる

Rc=1.00x= 0.10, a= 1.00, v= 0.10

Rc=2.50x= 0.10, a= 1.00, v= 0.04

-0.20

0.00

0.20

0.40

0.60

0.80

1.00

0.00 0.20 0.40 0.60 0.80 1.00

Central DifferenceUpwindingExact

-0.20

0.00

0.20

0.40

0.60

0.80

1.00

0.00 0.20 0.40 0.60 0.80 1.00

Central DifferenceUpwindingExact

Page 46: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

46

プログラム例:中央差分(1/2)DX= 1.0/NE;N = NE + 1;

LENGTH= 1.0;

REc= VELO*DX/DIFF;PECLET= VELO/DIFF;

COEFc2= VELO/(2.0*DX);COEFc1= VELO/(1.0*DX);COEFd= DIFF/(DX*DX);

for (i=0; i<N; i++){for (j=0; j<N; j++){

AMAT[i][j]=0;}

}

for (i=0; i<N; i++){U1[i]= 0.0;

}

NE: 分割数N: 自由度数(=NE+1)DT: tDX: xDIFF: vVELO: a

102

2

x

xu

xua

11,00 uu

Page 47: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

47

格子分割

1 2 3 4 5 6 7 8 9

0 1 2 3 4 5 6 7 8

L=1.00対象とする一次元領域

NE個に分割(NE=8)

x=L/NEN個の格子点(grid point)を設定(N=NE+1)

Fortran

C etc.

Page 48: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

48

プログラム例:中央差分(1/2)DX= 1.0/NE;N = NE + 1;

LENGTH= 1.0;

REc= VELO*DX/DIFF;PECLET= VELO/DIFF;

COEFc2= VELO/(2.0*DX);COEFc1= VELO/(1.0*DX);COEFd= DIFF/(DX*DX);

for (i=0; i<N; i++){for (j=0; j<N; j++){

AMAT[i][j]=0;}

}

for (i=0; i<N; i++){U1[i]= 0.0;

}

21111 2

2 xuuu

xuua iiiii

PECLET: ペクレ数(=aL/v=a/v)REc: 格子レイノルズ数(=ax/v)

COEFc1: a/xCOEFc2: a/(2*x)COEFd: v/x2

Page 49: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

49

プログラム例:中央差分(2/2):境界以外for (i=1; i<N-1; i++){AMAT[i][i] = 2.0 * COEFd;AMAT[i][i-1]= -COEFc2 – COEFd;AMAT[i][i+1]= COEFc2 – COEFd;

}

U1[0] = 0.0;U1[N-1]= 1.0;AMAT[0][0] = 1.0;AMAT[N-1][N-1]= 1.0;

<Gaussian Elimination>

xaRwhereuRuuR

uxx

aux

uxx

ax

uuuxuua

ciciic

iii

iiiii

0242

02

22

22

11

12212

21111

COEFc1: a/xCOEFc2: a/(2*x)COEFd: v/x2

1 2 3 4 5 6 7 8 9

i=2~N-1の点において係数行列を生成する(C言語では1~N-2)

この値を使用

Page 50: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

50

プログラム例:中央差分(2/2):境界条件for (i=1; i<N-1; i++){AMAT[i][i] = 2.0 * COEFd;AMAT[i][i-1]= -COEFc2 – COEFd;AMAT[i][i+1]= COEFc2 – COEFd;

}

U1[0] = 0.0;U1[N-1]= 1.0;AMAT[0][0] = 1.0;AMAT[N-1][N-1]= 1.0;

<Gaussian Elimination>

101

Nuu

1 2 3 4 5 6 7 8 9

境界において成立する下記の方程式に従って,係数行列,右辺を設定

102

2

x

xu

xua

11,00 uu

Page 51: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE 51

• 背景

• 偏微分方程式と物理現象

• 差分法(Finite-Difference Method, FDM)

• 例1:定常移流拡散方程式

• 例2:非定常移流方程式

• 例3:非定常拡散方程式

• レポート課題出題

Page 52: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

52

例2:非定常移流方程式1st order wave equation

• 波形が「速度aで形状を変えずに移動する」のが正しい答えであるが,実は簡単では無い

初期条件

境界条件-25.0

0.0

25.0

50.0

75.0

100.0

125.0

0 50 100 150 200 250 300

t=0.00 t=0.45

0),300(),0(

11050:60

50sin1000,

300110,500:00,

300

0

tutu

xxxu

xxxu

a

axua

tu

Page 53: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

53

非定常問題:時間方向の差分も必要時間方向の積分,時間方向の離散化・・・

空間:中央差分

xuua

tu ii

211

時間方向:前進差分:陽解法(explicit),前進オイラー(forward Euler)

ni

ni

ni

ni

ni

ni

ni

ni uu

xtauu

xuua

tuu

11111

1

22

右辺は既知

時間方向:後退差分:陰解法(implicit),後退オイラー(backward Euler)

ni

ni

ni

ni

ni

ni

ni

ni uu

xtauu

xta

xuua

tuu

1

111

1

11

11

1

222連立一次方程式を解く必要ありn

iu n-回目のタイムステップにおける値

Page 54: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

54

時間方向:前進,空間方向:中央差分:FTCSForward-Time/Center-Space

xtacuucuu

uuxtauu

xuua

tuu

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

,2

2

2

111

111

111

以下の条件で実施

クーラン数(Courant)1タイムステップに波が進むメッシュ数

① x=5.0, t= 0.01666, c~1.00② x=5.0, t= 0.015, c=0.90③ x=5.0, t= 0.0075, c=0.45

Page 55: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

55

計算結果:t=0.45全然正解と合わない(桁が違う)

実はどんなに t/x を小さくしても絶対に解けない

-3.00E+04

-2.00E+04

-1.00E+04

0.00E+00

1.00E+04

2.00E+04

3.00E+04

0 50 100 150 200 250 300

C=1.00C=0.90C=0.45Exact

Page 56: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

56

フォン・ノイマンの安定性解析Von Neumann Stability Analysis

本問題の特解を以下のように仮定する: IinxiIknn

i egegu gn:gのn乗,I:虚数単位,k:波数,:位相角(= k x)

1sin1

sin1sin2

22

22

111

cg

IcgIee

ueecuguuucuu

II

ni

IIni

ni

ni

ni

ni

ni

ni

IIinIiInni

ni

IIinIiInni

ni

IinIinni

ueegeegu

ueegeegu

gueggegu

11

11

11

g:差分方程式に従ってt進めた場合の増幅率時間が経過しても解が有限に留まるためには|g|≦1を満足する必要がある(スペクトル半径≦1 に対応)

FTCSスキームは無条件不安定(c=0となることは無い)

Page 57: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

57

時間方向:前進,空間方向:風上差分

ni

ni

ni

ni

ni

ni

ni

ni

uucuuxuua

tuu

11

11

今度は解けた(精度は悪い)タイムステップを細かくすると人工粘性(数値粘性)による誤差が蓄積して精度が悪化

C=1.00の場合(安定限界)が最も精度が良い

211 2

2 xuuuxa iii

-25.0

0.0

25.0

50.0

75.0

100.0

125.0

0 50 100 150 200 250 300

C=1.00C=0.90C=0.45Exact

Page 58: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

58

再び安定性解析Von Neumann Stability Analysis

ccccccg

IcccIcccecg

uceucguuucuuI

ni

Ini

ni

ni

ni

ni

ni

11cos212cos2cos221

sincos1sincos11

1

22

11

(cos-1)≦0なので,(1-c)≧0なら|g|≦1

ccg 11cos21

1

xtac 安定条件

CFL条件(Courant-Friedrichs-Lewy)あくまでも「安定条件」であって精度を示すものではない

Page 59: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

59

時間方向:後退,空間方向:風上差分Von Neumann Stability Analysis

I

ni

ni

Ini

ni

ni

ni

ni

ni

ni

ni

eccg

uuecgguc

ucuucuucuu

11

1

1 11

111

11

(1-cos) ≧ 0なので,分母は常に≧1従って常に|g|≦1

無条件安定(unconditional stable)

cos1121

cos2cos2221

sincos1122

cc

cccc

Icccecc I

cos11211

ccg

Page 60: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

60

Lax-Wendroff法:時間方向2次精度

32

22

21

2

22

2

2

32

2

21

2

!2

tOxuatt

xuauu

xua

tu

xa

xu

ta

tu

tOttut

tuuu

xua

tu

ni

ni

ni

ni

時間方向二次精度

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

nin

in

i

uuucuucu

xuuuta

xuutauu

112

11

21122111

221

21

221

2

数値粘性項:安定化

Page 61: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

61

Lax-Wendroff法(または「スキーム」)

-25.0

0.0

25.0

50.0

75.0

100.0

125.0

0 50 100 150 200 250 300

C=1.00C=0.90C=0.45Exact

Page 62: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

62

もう一回安定性解析

sin2

sin21

sincos12

1sincos12

221

22

221

22

22

2

22

2

22

2

Icc

IcccIcc

eccceccg

ueccucueccgu

II

ni

Ini

ni

Ini

(1-c2)≧0なら|g|≦1

2sin141 422 ccg

ni

ni

ni

ni

ni

ni

ni uuucuucuu 11

211

1 221

21

1

xtac 安定条件

CFL条件(Courant-Friedrichs-Lewy)

Page 63: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

63

修正方程式(Modified Equation)(1/2)

xtacuucuu

xua

tu n

in

in

in

i

,1

1

差分方程式に更にTaylor展開などの解析的方法を適用することにより

代数方程式(差分方程式から)から再び連続的な微分方程式(修正方程式)を導出する。例として非定常移流方程式に風上差分を適用した例について検討する:

Taylor展開:

(1)

43

3

32

2

2

1

43

3

32

2

21

!3!2

!3!2

xOxxux

xux

xuuu

tOttut

tut

tuuu

ni

ni

ni

ni

(2)

(3)

(2),(3)を(1)に代入して展開:

332

3

33

3

3

2

22

2

2

,6622

xtOxxuat

tux

xuat

tu

xua

tu

(4)

Page 64: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

64

修正方程式(Modified Equation)(2/2)ここで以下の(5),(6)を(4)に代入して展開すると(7)が得られる:

(5)

(6)

(7)が修正方程式である。(1)と比較すると,右辺第2項以降が誤差項と

して加わっていることがわかる。これが差分法に基づく「離散化」による誤差と考えることができる。支配的なのは右辺の第2項□。

(7)

xtOxua

tu

xtxtOxuxata

xua

tu

,

,,

3

33

3

3

223

3232

2

2

3223

3

32

2

2

2

,,,

1326

12

xxtxttOxuxcxa

xucxa

xua

tu

証明の詳細は下記文献を参照されたい(良書だが東大にも一冊しかない)K.A. Hoffmann & S.T. Chiang, Computational Fluid Dynamics for Engineers – Volume I, Chapter 4, Section 4.6 Modified Equation, Engineering Education System (EES), 1993.

Page 65: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

65

人工粘性・数値粘性Artificial/Numerical Viscosity

式(7)の誤差項の中で最も支配的なのはuの空間二次微分の項で拡散項,粘性項と同じ形をしている:

この項の係数eを人工粘性または数値粘性(Artificial/Numerical Viscosity)と呼ぶ。人工粘性は差分法などの離散化による近似誤差として生じ,一般に解を安定させるが,「なまらせる(dissipate)」効果がある。

(7) 3223

3

32

2

2

2

,,,

1326

12

xxtxttOxuxcxa

xucxa

xua

tu

cxae 121

人工粘性の効果を抑制するためにはe=0,すなわちc=1であればよい(Courant数:風上法の安定限界)。「例2」で示した計算例で,tを小さくしてCourant数を小さくすることで逆に精度が低下したことに対応する。ここでは風上差分の例を示したが,Lax-Wendroffでも同様である。

Page 66: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE 66

• 背景

• 偏微分方程式と物理現象

• 差分法(Finite-Difference Method, FDM)

• 例1:定常移流拡散方程式

• 例2:非定常移流方程式

• 例3:非定常拡散方程式

• レポート課題出題

Page 67: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

67

例3:非定常拡散方程式(1/3)Unsteady Diffusion Equation

102

2

x

xu

tu

1,1,0,00)0,(

0.1

tutuxu

FTCSスキーム(陽解法:Explicit):前進オイラー(Forward Euler)

初期条件

境界条件

2111

122121

211

1

21

21

2

xtrruurruu

ux

tux

tux

tu

xuuu

tuu

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

空間方向:中央差分(二次精度)を適用

Page 68: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

68

例3:非定常拡散方程式(2/3)Unsteady Diffusion Equation

(陰解法:Implicit):後退オイラー(Backward Euler),連立一次方程式

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

uruurru

uux

tux

tux

tx

uuut

uu

11

111

112

12

112

2

11

111

1

21

21

2

102

2

x

xu

tu

1,1,0,00)0,(

0.1

tutuxu

初期条件

境界条件

空間方向:中央差分(二次精度)を適用

Page 69: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

69

例3:非定常拡散方程式(3/3)Unsteady Diffusion Equation

(クランク-ニコルソン法(Crank-Nicolson)):陰解法と陽解法の中間

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

ni

urururururur

ux

tux

tux

tux

t

xuuu

xuuu

tuu

111

111

1

21

121

21

12

211

2

11

111

1

21

221

2

21

2221

• クランク-ニコルソン法

– 陰解法と陽解法の中間

– 連立一次方程式を解く必要はある

– 時間方向に二次精度(レポート課題)

Page 70: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

70

各スキームの計算法

陽解法:ExplicitForward Euler

niu n

iu 1n

iu 1

1niu

niu

1niu 1

1

n

iu11

niu

niu n

iu 1n

iu 1

1niu 1

1

n

iu11

niu

陰解法:ImplicitBackward Euler

クランク-ニコルソンCrank-Nicolson

Page 71: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

71

安定性解析

21

2

x

tr

)1(cos2121cos2

21

21

21 111

rrrgreerg

ureururegu

ruurruu

II

ni

Ini

ni

Ini

ni

ni

ni

ni

陽解法

21

2sin2

1

12

sin4111

2sin41)1(cos21

2

2

2

r

rg

rrg

安定条件

)cos1(211

21

21 11

111

rg

uuegrurguegr

uruurru

ni

ni

Ini

ni

I

ni

ni

ni

ni

陰解法

1cos1210cos11

rg

無条件安定Crank-Nicolsonも同様(レポート)

Page 72: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

72

陽解法:計算結果 t=2.00

r= 0.515x= 0.10, t= 0.00515

r= 0.500x= 0.10, t= 0.00500

-0.50

0.00

0.50

1.00

1.50

0.00 0.20 0.40 0.60 0.80 1.00

r= 0.515

r= 0.500

Exact

Page 73: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

73

プログラム例:陰解法(1/3)DIFF= 1.0;

DX= 1.0/NE;N = NE + 1;EPS= 1.e-08;

COEF= DIFF*DT/(DX*DX);

for (i=0; i<N; i++){for (j=0; j<N; j++){

AMAT[i][j]= 0.0;}

}

for (i=0; i<N; i++){U [i]= 0.0;U0[i]= 0.0;

}

NE: 分割数N: 自由度数(=NE+1)DT: tDX: xOMG: SORの(1≦<2)DIFF: (=1.00)

COEF: r, t/x2

U[i]: uin+1

U0[i]: uin

102

2

x

xu

tu

1,1,0,00)0,(

tutuxu

Page 74: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

74

プログラム例:陰解法(2/3)for (i=1; i<N-1; i++){

AMAT[i][i] = 2.0*COEF + 1.0;AMAT[i][i-1]= -COEF;AMAT[i][i+1]= -COEF;AMAT[i][i] = 1.0/AMAT[i][i];

}

U[0] = 0.0;U[N-1]= 1.0;

TIME= 0.0;

for (it=0; it<NTIME; it++){TIME= TIME + DT;

BNRM2= 0.0;for (i=1; i<N-1; i++){

B[i] = U0[i];BNRM2= BNRM2 + B[i]*B[i];

}

ni

ni

ni

ni uruurru

1

111

1 21

1,1,0,00)0,(

tutuxu

n

iib

1

2

2b

対角成分AMAT(i,i)は割算でしか使用しないので予め逆数にしてある:除算は他の四則演算と比べてコストが高い

Page 75: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

PDE

75

プログラム例:陰解法(3/3)for (iter=0; iter<100*N; iter++){

DNRM2= 0.0;for (i=1; i<N-1; i++){

UU= U[i];RESID= ((B[i] - AMAT[i][i-1]*U[i-1]

- AMAT[i][i+1]*U[i+1])*AMAT[i][i]-UU)*OMG;

U[i]= UU + RESID;DNRM2= DNRM2 + RESID*RESID;

}if (sqrt(DNRM2/BNRM2)<EPS) break;

}

for (i=0; i<N; i++){U0[i]= U[i];

}if (TIME > 2.0) break;

}

2

2

)()1(

b

xx kk

境界条件が適用されている両端の点を計算していないui*:一回前の反復のui

n+1

**111,

111,

,

1

111,

1,

111,

1ii

niii

niiii

ii

ni

in

iiin

iiin

iii

uuuAuABA

u

BuAuAuA

Page 76: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

本講義のまとめ76

• スーパーコンピューティングへの招待

• 連立一次方程式の解法(直接法,反復法)

• 偏微分方程式の数値解法

• 固有値解法

• C言語によるプログラミング(入門編)

– 基礎的な事項(様々な原理)の説明,証明

• 数学的な背景をしっかりと理解した上で自分でプログラムを作って動かして見ることが重要

• 色々なことにチャレンジしてほしい

– 計算機を使いこなせること(数学的背景を理解した上でプログラムを作れること)は,チャレンジ可能性の幅を大きく広げることになる

Page 77: 偏微分方程式の数値解法 - 東京大学nkl.cc.u-tokyo.ac.jp/14n/PDE.pdf · 2015-01-14 · PDE 7 局所的方法:(偏)微分方程式 登坂・大西「偏微分方程式の数値シミュレーション」(東大出版会)

03-500080

77Eigen