[計算シミュレーション勉強会#1]...

49
aokomoriuta ( 2013-10-12 ): 計算シミュレーション勉強会 #1 青子守歌 粒子法の復習 (陽解法と陰解法の比較から)

Upload: aokomoriuta

Post on 03-Jul-2015

5.016 views

Category:

Technology


2 download

DESCRIPTION

計算シミュレーションへ勉強会#1 http://connpass.com/event/3181/ での発表資料です。 実装については https://github.com/aokomoriuta/OpenMps をご覧ください。

TRANSCRIPT

Page 1: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

青子守歌

粒子法の復習(陽解法と陰解法の比較から)

Page 2: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 2 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

はじめに

Page 3: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 3 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

おことわり

時間の都合等により不正確な表現を

多数含んでいます

<はじめに>

Page 4: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 4 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

自己紹介

Page 5: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 5 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

名前とアバター

青子守歌 / aokomoriuta

※call me “あお”

<自己紹介>

Page 6: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 6 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

いろんなとこのアカウント

twitter: @aokomoritagithub: aokomoriutaweb: j.mp/ao_komoriuta

<自己紹介>

Page 7: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 7 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

専門分野

分類:土木工学>水理学>計算力学

粒子法(MPS法)を用いた計算力学@土木工学(主に水工学分野)

<自己紹介>

Page 8: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 8 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

計算力学とは

実験空間 計算空間

File:Coastal defences, Beesands - geograph.org.uk - 69707.jpgby Nigel Chadwick : CC-BY-SA 2.0 Generic

File:Gileston20.jpgby Mick Lobbi : CC-BY-SA 2.0 Generic

File:Dolos.jpgby Adam Brinki : CC-BY-SA 3.0 Unported

現実空間

海岸工学・水工学分野において

代替となりうるか?

<自己紹介>

Page 9: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 9 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

なので

精度がとても大事!

<自己紹介>

(超重要)

Page 10: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 10 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

陽解法vs陰解法の結果

Page 11: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 11 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

いきなり比較1<結果>

陰解法陽解法

→resultExplicit1.mp4 →resultStandard1.mp4

Page 12: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 12 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

いきなり比較2<結果>

陰解法陽解法

→resultExplicit2.mp4 →resultStandard2.mp4

Page 13: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 13 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

いきなり比較3<結果>

陰解法陽解法

→resultExplicit3.mp4 →resultStandard3.mp4

Page 14: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 14 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

陽解法?陰解法?

Page 15: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 15 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

陽関数と陰関数<陽解法?陰解法?>

陰関数

陽関数:

y= f (x)

f (x , y)=0

Page 16: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 16 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

陽関数と陰関数の例<陽解法?陰解法?>

陰関数

陽関数:

y=√1−x2

x2+ y2=1

Page 17: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 17 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

陽解法と陰解法<陽解法?陰解法?>

陰解法

陽解法:

x= f ( x )

f ( x , t )=0xt

:未知:既知

Page 18: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 18 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

          に対して

陽解法と陰解法の例<陽解法?陰解法?>

陰解法

陽解法:

dxdt

=sin ( y ) ,dydt

=cos(x)

xk , yk:k番目の値

xk+1=xk+sin ( yk )Δ t

xk+1=xk+sin ( yk+1)Δ t

Page 19: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 19 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

???

つまり

<陽解法?陰解法?>

Page 20: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 20 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

陽解法と陰解法とは<陽解法?陰解法?>

陽解法:既知の値だけでどうにか解こう

陰解法:未知の値は未知の値のまま解こう

Page 21: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 21 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

粒子法における陽解法と陰解法

Page 22: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 22 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

粒子法とは(狭義)<粒子法における陽と陰>

例えば:非圧縮性ニュートン流体のナビエ・ストークス方程式:

∂u i∂ t

+u j∂ui∂ x j

= f i−1ρ

∂ p∂ xi

+ν∂

2u i∂ x j∂ x j

∂ui∂ xi

=0と

連続体を計算点(粒子)に離散化して

ラグランジュ的に解く方法

のような

主にSPH法とMPS法

Page 23: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 23 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

弱圧縮SPH法<粒子法における陽と陰>

1. 重力・粘性項を計算する2.弱圧縮で圧力を計算

Smoothed Particle Hydraulics (Lucy, 1977)

弱圧縮SPH (Monagahan, 1994)非圧縮性流れ用

Page 24: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 24 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

(通常の)MPS法<粒子法における陽と陰>

1. 重力・粘性項を計算する2.非圧縮で圧力を計算

Moving Particle Semi-implicit (Koshizuka&Oka,1996)

Page 25: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 25 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

粒子法の詳細<粒子法における陽と陰>

また機会があればそのうち末尾の参考文献もどうぞ

Page 26: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 26 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

第一段階<粒子法における陽と陰>

1. 重力・粘性項によって、粒子を移動させる

圧縮!?

Page 27: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 27 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

第ニ段階<粒子法における陽と陰>

圧力

弱圧縮

非圧縮

2. 圧力を計算

少しなら

絶対に×

Page 28: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 28 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

弱圧縮の場合<粒子法における陽と陰>

pi=B[( ρ iρ 0)

γ

−1]

ρ i=∑j≠i

m jW (r ij )

(1)密度

(2)圧力

圧力が陽的に解ける!

Page 29: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 29 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

非圧縮の場合<粒子法における陽と陰>

pi=??????

ρ i=∑j≠i

m jW (r ij )

(1)密度

(2)圧力

圧力が陽的に解けない!

※非圧縮=密度が変化しない

Page 30: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 30 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

非圧縮の場合どうする?(1)<粒子法における陽と陰>

密度の修正量←速度の修正量

(1)密度を戻す

Δ ρΔ t

+ρ ∇ Δu=0

D ρD t

+ρ ∇ u=0連続式       より

Page 31: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 31 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

非圧縮の場合どうする?(2)<粒子法における陽と陰>

速度の修正量←圧力勾配(2)圧力勾配で戻す

Δ uΔ t

=−1ρ ∇ p

DuDt

= f −1ρ ∇ p+ν ∇

2uNS式        より

Page 32: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 32 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

非圧縮の場合どうする?(3)<粒子法における陽と陰>

(1)に代入←(2)の発散(3) 1と2を混ぜる

∇ Δ uΔ t

=−1ρ ∇

2 pΔ ρΔ t

+ρ ∇ Δu=0

∇ 2 p=−ρΔ t

Δ ρΔ t

Page 33: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 33 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

非圧縮の場合どうする?(4)<粒子法における陽と陰>

(4)ラプラシアンモデル

∇ pi=2dλ n0

∑j≠i

( p j− pi)W (r ij )

標準MPS法の例

∇2 p=−

ρ

Δ tΔ ρ

Δ t

Page 34: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 34 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

非圧縮の場合どうする?(5)<粒子法における陽と陰>

(4)圧力のポアソン方程式

2dλ n0

∑j≠i

( p jk+1− pi

k+1)W (r ij )=−ρ

Δ t2n'−n0

n0

標準MPS法の例

陰解法なら解ける!(ただの連立一次方程式)

Page 35: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 35 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

粒子法における陽と陰は<粒子法における陽と陰>

弱圧縮

非圧縮

陽解法

陰解法

Page 36: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 36 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

SPHとMPS<粒子法における陽と陰>

陽解法(弱圧縮)

陰解法(非圧縮)

SPH WCSPH ISPH

MPS E-MPS (オリジナル)MPSMonagahan, 1994

Koshizuka&Oka, 1996

Shao&Lo, 2003

Oochi&Koshizuka, 2010

Page 37: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 37 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

陽解法と陰解法の比較

Page 38: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 38 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

比較1<陽と陰の比較>

陰解法陽解法

→resultExplicit1.mp4 →resultStandard1.mp4

Page 39: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 39 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

比較1から<陽と陰の比較>

陽解法

陰解法

ふつう

ふつう

Page 40: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 40 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

比較2<陽と陰の比較>

陰解法陽解法

→resultExplicit2.mp4 →resultStandard2.mp4

Page 41: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 41 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

比較2から<陽と陰の比較>

陽解法

陰解法

ぽよぽよ

ふつう

弱圧縮のせい?

Page 42: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 42 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

比較3<陽と陰の比較>

陰解法陽解法

→resultExplicit3.mp4 →resultStandard3.mp4

Page 43: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 43 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

比較3から<陽と陰の比較>

陽解法

陰解法

沈んだ!

ふつう

弱圧縮のせい!

Page 44: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 44 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

1ステップの計算時間<陽と陰の比較>

陽解法

陰解法

超速い

遅い連立一次方程式の解法があるから

Page 45: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 45 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

1[s]の計算時間<陽と陰の比較>

陽解法

陰解法

速い?

遅い?

時間刻み小さい

時間刻み大きい

Page 46: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 46 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

まとめ

Page 47: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 47 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

粒子法の陽解法・陰解法<まとめ>

[陰解法]

[陽解法] ・弱圧縮性 →精度が落ちる・1ステップの計算時間は速い・時間刻み小さい →トータルで速い・・・?

・非圧縮性 →精度はそれなり・1ステップの計算時間は遅い・時間刻みは大きい →トータルで・・・?

Page 48: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

- 48 -

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

参考文献<まとめ>

・越塚誠一(2006):『計算力学レクチャーシリーズ5 粒子法』、丸善。 →粒子法/MPS法をやるならまずコレ

・後藤仁志(2004):『数値流砂水理学 -粒子法による混相流と粒状体の計算力学-』、森北出版。

→格子法・粒子法の分類などに詳しい、DEMについての情報もあり

・土木学会編(2012):『数値波動水槽 -砕波波浪計算の深化と耐波設計の革新を目指して-』、「8.粒子法による数値波動水槽」、丸善。

→高精度化などの最新情報はココにまとまっている

・W.G.Hoover(2006):『粒子法による力学 -連続体シミュレーションへの展開-』、志田晃一郎 訳、森北出版。

→SPH法についての本、やや難読感あり

Page 49: [計算シミュレーション勉強会#1] 粒子法の復習(陽解法と陰解法の比較から)

aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1

一部で特別な指定があるものを除き、全ての文章と画像はクリエイティブ・コモンズ 表示-継承または表示-非営利 3.0 非移植で利用可能です。

Otherwise noted, all text and images are availableunder the Creative Commons Attribution-Share Alike or Attribution-Noncommercial 3.0 Unported.

CC-BY-SA: http://creativecommons.org/licenses/by-sa/3.0 CC-BY-NC: http://creativecommons.org/licenses/by-nc/3.0

return 0;