Upload
aokomoriuta
View
5.016
Download
2
Embed Size (px)
DESCRIPTION
計算シミュレーションへ勉強会#1 http://connpass.com/event/3181/ での発表資料です。 実装については https://github.com/aokomoriuta/OpenMps をご覧ください。
Citation preview
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
青子守歌
粒子法の復習(陽解法と陰解法の比較から)
- 2 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
はじめに
- 3 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
おことわり
時間の都合等により不正確な表現を
多数含んでいます
<はじめに>
- 4 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
自己紹介
- 5 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
名前とアバター
青子守歌 / aokomoriuta
※call me “あお”
<自己紹介>
- 6 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
いろんなとこのアカウント
twitter: @aokomoritagithub: aokomoriutaweb: j.mp/ao_komoriuta
<自己紹介>
- 7 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
専門分野
分類:土木工学>水理学>計算力学
粒子法(MPS法)を用いた計算力学@土木工学(主に水工学分野)
<自己紹介>
- 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
現実空間
海岸工学・水工学分野において
代替となりうるか?
<自己紹介>
- 9 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
なので
精度がとても大事!
<自己紹介>
(超重要)
- 10 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
陽解法vs陰解法の結果
- 11 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
いきなり比較1<結果>
陰解法陽解法
→resultExplicit1.mp4 →resultStandard1.mp4
- 12 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
いきなり比較2<結果>
陰解法陽解法
→resultExplicit2.mp4 →resultStandard2.mp4
- 13 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
いきなり比較3<結果>
陰解法陽解法
→resultExplicit3.mp4 →resultStandard3.mp4
- 14 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
陽解法?陰解法?
- 15 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
陽関数と陰関数<陽解法?陰解法?>
陰関数
陽関数:
:
y= f (x)
f (x , y)=0
- 16 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
陽関数と陰関数の例<陽解法?陰解法?>
陰関数
陽関数:
:
y=√1−x2
x2+ y2=1
- 17 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
陽解法と陰解法<陽解法?陰解法?>
陰解法
陽解法:
:
x= f ( x )
f ( x , t )=0xt
:未知:既知
- 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
- 19 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
???
つまり
<陽解法?陰解法?>
- 20 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
陽解法と陰解法とは<陽解法?陰解法?>
陽解法:既知の値だけでどうにか解こう
陰解法:未知の値は未知の値のまま解こう
- 21 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#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法
- 23 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
弱圧縮SPH法<粒子法における陽と陰>
1. 重力・粘性項を計算する2.弱圧縮で圧力を計算
Smoothed Particle Hydraulics (Lucy, 1977)
弱圧縮SPH (Monagahan, 1994)非圧縮性流れ用
- 24 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
(通常の)MPS法<粒子法における陽と陰>
1. 重力・粘性項を計算する2.非圧縮で圧力を計算
Moving Particle Semi-implicit (Koshizuka&Oka,1996)
- 25 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
粒子法の詳細<粒子法における陽と陰>
また機会があればそのうち末尾の参考文献もどうぞ
- 26 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
第一段階<粒子法における陽と陰>
1. 重力・粘性項によって、粒子を移動させる
圧縮!?
- 27 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
第ニ段階<粒子法における陽と陰>
圧力
弱圧縮
非圧縮
2. 圧力を計算
少しなら
絶対に×
- 28 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
弱圧縮の場合<粒子法における陽と陰>
pi=B[( ρ iρ 0)
γ
−1]
ρ i=∑j≠i
m jW (r ij )
(1)密度
(2)圧力
圧力が陽的に解ける!
- 29 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
非圧縮の場合<粒子法における陽と陰>
pi=??????
ρ i=∑j≠i
m jW (r ij )
(1)密度
(2)圧力
圧力が陽的に解けない!
※非圧縮=密度が変化しない
- 30 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
非圧縮の場合どうする?(1)<粒子法における陽と陰>
密度の修正量←速度の修正量
(1)密度を戻す
Δ ρΔ t
+ρ ∇ Δu=0
D ρD t
+ρ ∇ u=0連続式 より
- 31 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
非圧縮の場合どうする?(2)<粒子法における陽と陰>
速度の修正量←圧力勾配(2)圧力勾配で戻す
Δ uΔ t
=−1ρ ∇ p
DuDt
= f −1ρ ∇ p+ν ∇
2uNS式 より
- 32 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
非圧縮の場合どうする?(3)<粒子法における陽と陰>
(1)に代入←(2)の発散(3) 1と2を混ぜる
∇ Δ uΔ t
=−1ρ ∇
2 pΔ ρΔ t
+ρ ∇ Δu=0
∇ 2 p=−ρΔ t
Δ ρΔ t
- 33 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
非圧縮の場合どうする?(4)<粒子法における陽と陰>
(4)ラプラシアンモデル
∇ pi=2dλ n0
∑j≠i
( p j− pi)W (r ij )
標準MPS法の例
∇2 p=−
ρ
Δ tΔ ρ
Δ t
- 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法の例
陰解法なら解ける!(ただの連立一次方程式)
- 35 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#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
- 37 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
陽解法と陰解法の比較
- 38 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
比較1<陽と陰の比較>
陰解法陽解法
→resultExplicit1.mp4 →resultStandard1.mp4
- 39 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
比較1から<陽と陰の比較>
陽解法
陰解法
ふつう
ふつう
- 40 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
比較2<陽と陰の比較>
陰解法陽解法
→resultExplicit2.mp4 →resultStandard2.mp4
- 41 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
比較2から<陽と陰の比較>
陽解法
陰解法
ぽよぽよ
ふつう
弱圧縮のせい?
- 42 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
比較3<陽と陰の比較>
陰解法陽解法
→resultExplicit3.mp4 →resultStandard3.mp4
- 43 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
比較3から<陽と陰の比較>
陽解法
陰解法
沈んだ!
ふつう
弱圧縮のせい!
- 44 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
1ステップの計算時間<陽と陰の比較>
陽解法
陰解法
超速い
遅い連立一次方程式の解法があるから
- 45 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
1[s]の計算時間<陽と陰の比較>
陽解法
陰解法
速い?
遅い?
時間刻み小さい
時間刻み大きい
- 46 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
まとめ
- 47 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
粒子法の陽解法・陰解法<まとめ>
[陰解法]
[陽解法] ・弱圧縮性 →精度が落ちる・1ステップの計算時間は速い・時間刻み小さい →トータルで速い・・・?
・非圧縮性 →精度はそれなり・1ステップの計算時間は遅い・時間刻みは大きい →トータルで・・・?
- 48 -
aokomoriuta (2013-10-12): 計算シミュレーション勉強会#1
参考文献<まとめ>
・越塚誠一(2006):『計算力学レクチャーシリーズ5 粒子法』、丸善。 →粒子法/MPS法をやるならまずコレ
・後藤仁志(2004):『数値流砂水理学 -粒子法による混相流と粒状体の計算力学-』、森北出版。
→格子法・粒子法の分類などに詳しい、DEMについての情報もあり
・土木学会編(2012):『数値波動水槽 -砕波波浪計算の深化と耐波設計の革新を目指して-』、「8.粒子法による数値波動水槽」、丸善。
→高精度化などの最新情報はココにまとまっている
・W.G.Hoover(2006):『粒子法による力学 -連続体シミュレーションへの展開-』、志田晃一郎 訳、森北出版。
→SPH法についての本、やや難読感あり
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;