sph法入門sph法...
TRANSCRIPT
![Page 1: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/1.jpg)
SPH法入門
岡野豊明
2018年2月28日
わかみず会
![Page 2: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/2.jpg)
数値シミュレーション
数値シミュレーションの分類
・数値流体力学
・構造解析
数値流体力学の手法
・差分法
・有限体積法
・有限要素法
・粒子法
![Page 3: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/3.jpg)
粒子法
ミクロモデル (流体を分子の集合体とみて,分子一つ一つの運動を計算するもの)
・分子動力学
・直接シミュレーション・モンテカルロ法
マクロモデル (流体を連続体として扱うもの)
・SPH ( Smoothed Particle Hydrodynamics )・MPS ( Moving Particle Semi‐implicit )・DEM ( Discrete Element Method )
![Page 4: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/4.jpg)
SPH法
粒子の位置にカーネル関数を配置し,その重ね合わせとして流体変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.
メッシュを用いることなく,流体の偏微分方程式を離散化する方法でメッシュレス法と呼ばれる.プログラミングは次元にほとんど依存せず,GPUを用いた並列計算に向いている.
大変形あるいは分裂・合体を含む問題や自由表面流や混相流のような複雑な境界面を扱う問題に適している.こうした問題に対しては固定メッシュを用いる差分法や有限要素法の手法は複雑化する.
SPH法は流体解析のみならず,近年は構造解析にも応用されている.大変形や破壊の問題に適用例が多い.
![Page 5: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/5.jpg)
流体挙動のモデル化
ラグランジュ法
・流体に観測者が乗っていて流体移動とともに観測者も移動する.
・粒子は移動する観測点であり,粒子法はラグランジュ法である.
オイラー法
・観測者が空間に固定されており,固定メッシュを使う差分法や有限
要素法はオイラー法である.
例えると,川の流れをボートに乗って眺めるのがラグランジュ法,
橋の上から眺めるのがオイラー法である.
![Page 6: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/6.jpg)
実質微分 ( Substantial derivative )
移動流体に付随する物理量 , , の時間微分を固定の時間・空間点(オイラー座標点)における微分係数で展開すると
· (*)
ここで , , , , は流体の速度ベクトルである.
を実質微分あるいはラグランジュ微分という.
![Page 7: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/7.jpg)
流体方程式の基礎
非粘性・圧縮性流体に関するオイラー方程式を導出する.
・ :流体密度, v:速度ベクトル, :圧力, :内部エネルギー
オイラー方程式
・連続の式 (質量保存方程式)
・運動方程式 (運動量保存方程式)
・エネルギー方程式 (エネルギー保存方程式)
・状態方程式
運動方程式に粘性項を付加したものがナビエ・ストークス方程式
![Page 8: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/8.jpg)
連続の式
各辺の長さが ∆ , ∆ , ∆ の微小体積が,質量を保ったまま速度 , , で移動したときの ∆ 時間後の体積変化を計算する.
x x u t x x x x u x u x t
u u x u x
![Page 9: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/9.jpg)
連続の式(続き)
前頁の図からわかるように,∆ 時間後には各辺の長さは
∆ 1 ∆ , ∆ 1 ∆ , ∆ 1 ∆ となる.
従って,時間 における体積を ∆ ∆ ∆ とおくと
∆ 1 · ∆ ∆ となるので,∆ → 0 とすると
連続の式は · . / によって密度になおすと
·(*)によって,オイラー形式になおすと
· · ⟹ · 0
![Page 10: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/10.jpg)
運動方程式
連続の式の導出のときと同じ微小体積を用いて,各方向に働く力を考える.非粘性流体の場合には,粘性によるせん断応力がないので圧力のみを考えればよい.
p p p x xy
x
u
![Page 11: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/11.jpg)
運動方程式 (続き) 方向の力と加速度の関係式は, 方向を紙面に垂直とすると
∆ ∆ ∆ ∆ ∆ ∆ ∆ ∆ ⟹
すべての方向の式をまとめると次式が得られる.
これもオイラー形式にすると次式となる.
·
上式に粘性項を付加すればナビエ・ストークス方程式が得られる.
![Page 12: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/12.jpg)
エネルギー方程式
熱量 と内部エネルギー の間には以下の関係式が成り立つ.
(熱力学の第一法則)
断熱系では 0であるから,連続の式を用いると
·
オイラー形式にすると
· ·
温度が非一様な粘性流体に対しては,上式の右辺に内部摩擦による発熱項や熱伝導項を追加しなければならない.
![Page 13: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/13.jpg)
状態方程式(EOS)前記方程式系をみると,圧力 のぶんだけ,変数の方が方程式よ
り数が多い.従って,圧力を他の変数で表すか制約条件を付加する必要がある.
状態方程式の例としては以下のようなものがある.
(1) 理想気体のEOS1 , γ: /
(2) Barotropic fluid
(3) 音速を用いる方法
![Page 14: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/14.jpg)
水のEOS (Batchelor)
SPH法においては,水を圧縮性流体として扱う場合が多い.その場合には,以下の Batchelor のEOSを用いる.
1
ここで, と は気圧を単位とし, 7, 3000 である. は
1気圧における密度である. が大きいので左辺分母の1を省略
して以下の形で用いられることも多い.
/ 1
![Page 15: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/15.jpg)
SPH法の特徴 (1)
SPHは連続体を有限個の粒子によって表し,連続体の挙動を粒子の運動によって計算する方法である.各粒子は速度や圧力といった物理量を保持しながら移動する.主要な特徴は以下の通りである.
(1) Meshfree : 結合性を考慮しない任意分布の粒子を用いる.差分
法や有限要素法で必要なメッシュは使わない.
(2) Integral representation or interpolation : 関数補間にカーネル関
数を用いた積分表示による近似を用いる.差分法における微分
表示と対照的である.積分表示の方が各種の保存則を満たして
いる場合が多いので,数値計算的には安定である.
![Page 16: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/16.jpg)
SPH法の特徴 (2)
(3) Particle approximation : 積分表示の積分を粒子位置における
属性値の和として近似する(Summation approximation).計算
時間の短縮のため,カーネル関数としては台*)(support)がコン
パクトなものを用いる(Compact support).
(4) Adaptive : 粒子近似は各時間ステップにおける粒子の分布を
考慮しながら行う.例えば,カーネル関数の台の大きさを時間
ステップによって変化させる.
*)台とは,関数の非零領域をいう.
![Page 17: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/17.jpg)
SPH法の特徴 (3)
(5) Lagrangian : 連続体の運動を記述する偏微分方程式の空間に
関する離散化を移動する粒子を用いて行う Lagrangian の方法
である.流れの履歴が計算されるという点で Eulerian の方法より
得られる情報が多い.
(6) Dynamic : 偏微分方程式の空間微分を粒子近似して得られる
常微分方程式を陽的(explicit)な時間積分法で解く.音速が関係
してくるので,用いられる時間ステップは通常非常に小さい.
非圧縮性流れ(音速無限大)を解く場合には,半陰解法(semi‐implicit method)が用いられることもある.
![Page 18: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/18.jpg)
SPHの基本公式 関数の積分近似
SPHの積分表示の出発点は以下の δ 関数表示である.
′ ′
ここで,Ω は3次元空間内の領域とする.この 関数を適当な平滑
化カーネル関数( smoothing kernel function )で近似する.
′ ,
ここで, は平滑化カーネルであり, は平滑化長さ( smoothing
length )である.平滑化長さは差分法や有限要素法のメッシュ・
サイズに相当する ( : Integral の意味).
![Page 19: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/19.jpg)
カーネル関数 の主要な性質
(1)球関数 : 粒子間の距離だけに依存し,方向には依存しない.
, ′ / (2)正規化条件 : 積分値は1
, ′ 1
(3) 関数の近似lim→
, ′
(4)Compact support, 0when ′ , 2
![Page 20: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/20.jpg)
関数の微分の近似 (1) (部分積分法)
関数の微分の積分近似は,部分積分を用いるとカーネルの微分と関数の積に関する積分に変換される.これは,未知関数の微分が既知関数(カーネル関数)の微分に変換されるという意味で重要.
′′ ,
′ , ′,
′ ′
′,
![Page 21: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/21.jpg)
関数の微分の近似 (2) (勾配,発散)
前頁の2行目の式の境界値を0として3行目が得られる.なお, が境界に近い場合には境界条件を与えるため,境界値を残す場合もある.
前頁の式を用いると,関数の勾配( gradient )やベクトルの発散( divergence )の積分表示は以下となる.
′ , ′
· · , ′ ·
![Page 22: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/22.jpg)
粒子近似
連続体を質量一定の微小エレメントに分割し,この微小エレメントのことを粒子と呼ぶ.この粒子を用いて積分近似をリーマン積分のような和の近似に置き換える.
番目の粒子の位置を ,体積を ∆ , 密度を ,質量を ,粒子位置における関数値を とすると,微小質量が一定であるので
′ , , ∆
, ∆ ,
![Page 23: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/23.jpg)
総和近似 ( Summation interpolant )前頁の最後の式を総和近似と呼ぶ.カーネルが compact support
の場合には, の近傍粒子のみが総和に寄与する.
,
,
,
· · ,
![Page 24: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/24.jpg)
粒子位置における総和近似
∑ , , ∑ ,
· ∑ · , , ∑ ,
ここで, , , , ,
は に関する gradient であり, / の
場合には, ,,
, , ( , ). は,
, / に関して単調減少なので, , 0である.
![Page 25: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/25.jpg)
勾配近似の補正 (1)
前項の微分の近似においては, が定数でも 0とはならない.そこで, の近似には以下の関係式を用いる.
1Φ Φ Φ
ここで,Φは微分可能な関数とする.上式のSPH近似は
1Φ
Φ,
であり, が定数の場合には右辺も0となる.
![Page 26: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/26.jpg)
勾配近似の補正 (2)
(1)Φ 1の場合
∑ ,
(2)Φ の場合
∑ ,
(3)Φ 1/ の場合, となるので
∑ ,
![Page 27: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/27.jpg)
発散近似の補正 (1)
勾配と同じく, が定数ベクトルでも · の近似は0とはならない.そこで, ·の近似には以下の関係式を用いる.
·1Φ · Φ · Φ
発散のSPH近似は
·1Φ Φ · ,
であり, が定数ベクトルの場合には右辺も0となる.
![Page 28: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/28.jpg)
発散近似の補正 (2)
(1)Φ 1の場合
· ∑ · ,
(2)Φ の場合
· ∑ · ,
(3)Φ 1/ の場合, · · · となるので
· ∑ · ,
![Page 29: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/29.jpg)
2階微分の近似
2階微分を近似するのに,カーネル関数を2回微分して
∑ ,
とするのは,粒子がばらつくと精度が低下することが知られている.
そこで,カーネル関数の1階微分だけで以下のように近似する.
2 · ′
SPH近似は 2 ∑ , · ,
,
![Page 30: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/30.jpg)
平滑化カーネル (一般形)
カーネル関数の一般形
,
ここで, ′ であり, は空間次元である. は以下の正規
化条件から求められる.
1, /1,2,3次元に応じて, , 2 , 4 である.
Gaussian kernel ( Non‐compact support )
, exp
![Page 31: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/31.jpg)
3次スプライン関数
1 , 0 1
2 , 1 20, 2
1,2,3次元に対応して
, ,0.5 1.0 1.5 2.0 2.5
0.2
0.4
0.6
0.8
1.0
![Page 32: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/32.jpg)
4,5次スプライン関数
4次スプライン関数
2.5 5 1.5 10 0.5 , 0 0.52.5 5 1.5 , 0.5 1.52.5 , 1.5 2.5
0, 2.5
1,2,3 次元に応じて , ,
5次スプライン関数
3 6 2 15 1 , 0 13 6 2 , 1 23 , 2 3
0, 3
1,2,3 次元に応じて , ,
0.5 1.0 1.5 2.0 2.5 3.0
2
4
6
8
10
12
14
0.5 1.0 1.5 2.0 2.5 3.0
10
20
30
40
50
60
![Page 33: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/33.jpg)
流体のオイラー方程式に対するSPH近似
連続の式のSPH近似
∑ , において とすると ∑ , .これを総和密度(Summation density)という.カーネル関数の正規化条件が満たされているので,全体の質量保存が成り立つ.自由表面流や混相流の場合には,和をとる粒子が界面の片側にしか存在しないので球関数近似が成立せず,上式の精度は低下する.
流体の連続の式 / · から導出される密度計算法もよく用いられる.これを連続密度(Continuity density)と呼ぶ.発散の計算法に応じて以下のいずれかが用いられる.( , )
∑ , · , or ∑ , · ,
![Page 34: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/34.jpg)
総和密度か連続密度か?
総和密度を用いるか連続密度を用いるかは微妙な問題である.総和密度は全体の質量を保存するが,連続密度は全体質量を保存する保障はない.一方,総和密度の場合には,粒子和の寄与が境界面の片側からしか来ないという場面(particle deficiency problem)が出てくる.この場合には境界の反対側にvirtual な粒子を配置するか,以下の補正(詳細説明は省略)を行う.
∑ , / ∑ , /総和密度の計算は連続密度よりも計算時間がかかるという欠点も
ある.これは連続密度の計算は運動・エネルギー方程式と同時にカーネル関数の微分値のみを用いて計算できるのに対して,総和密度ではカーネル関数値の計算が余分に必要となるためである.
![Page 35: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/35.jpg)
運動方程式のSPH近似 (1)運動方程式の場合, の近似法によっていろいろな近似法がある.
∑ , を用いると ∑ , とな
るが, のとき, , , であるので
∑ 0となり,全運動量は保存されない.
そこで,∑ , 1 0であるので,これに を掛けて上
式に加えると ∑ , が得られる.この式に を
掛けて , , という関係を用いると ∑ 0となる.
![Page 36: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/36.jpg)
運動方程式のSPH近似 (2)
∑ , を用いると
∑ , が得られるが,この式も歪対称で
あるので全運動量は保存される.
まとめると,よく用いられる運動方程式の近似式は以下の2通り
∑ ,
∑ ,
![Page 37: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/37.jpg)
エネルギー方程式のSPH近似 (1)
内部エネルギーの式 · の項に · ∑ · ,
を適用すると ∑ , · , が得られる.運動方程式の第2近
似式と組み合わせると,全エネルギー ∑ · を保存
することが知られている.また,発散の近似式の補正でΦ / とおいた式を用いると ∑ , · , が得られるが,上式に加えて2
で割ると次式となる.12 , · ,
この式も運動方程式の第2式と整合的であり,全エネルギーを保存する.
![Page 38: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/38.jpg)
エネルギー方程式のSPH近似 (2)
発散近似のΦ 1を用いると ∑ , · , が得られ
るが,Φ を用いた式 ∑ , · , と平均すると
12 , · ,
この式は運動方程式の第一近似式と整合的である.
連続の式,運動方程式及びエネルギー方程式に関して種々の近似式が得られているが,最もよく用いられるのが以下の2種類である.
![Page 39: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/39.jpg)
よく用いられる近似方程式系
, · ,
,
12 , · ,
, · ,
,
12 , · ,
![Page 40: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/40.jpg)
最小作用の原理からの運動方程式のSPH近似の導出
オイラー方程式に対するラグランジアンは
· ·
であるが,古典力学の場合と同様に,流体の運動は,作用 を
極小とする条件から導かれる.ラグランジアン をSPH近似すると
∑ · ,
となるが,変分法のオイラー・ラグランジアン方程式は以下となる.
0 (a)
![Page 41: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/41.jpg)
非粘性流体(エントロピー一定)の場合, は密度の関数となるが,密度は総和密度の式から位置 の関数とみなせるので,結局 も位置の関数となる.従って,(a) 式の各項は以下のようになる.
, ∑
から であり,総和密度の式から
∑ , が得られるので
∑ ∑ , ∑ , となり
(a) 式から,運動方程式 ∑ , が得られる.
![Page 42: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/42.jpg)
SPH数値計算法
これまでに得られた微分方程式を単純に解くだけは,解が振動したり発散したりして,実際にはうまくいかない場合が多い.解を安定に求めるためには,差分法などで得られた数値計算上のさまざまな知見を導入しなければならない.以下では,SPHを実際問題に適用する際の数値計算上の種々の技法や境界条件の設定法,計算手順などについて述べる.
境界近傍の粒子の探索法は,計算時間に関して重要なポイントであるが,SPHの本質とは無関係であるので,説明は省略する.
また,物理的な粘性項も計算上は重要であるが,記述が煩雑であるので,これも省略する.
![Page 43: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/43.jpg)
粒子の移動 (XSPH法)
粒子の移動には
あるいは,以下のXSPH法を用いる.
ε∑ ,
,,
ここで, , /2であり, 0 1 は定数である.
通常は 0.5とするが,爆発などの解析では 0.5とする.
XSPH法は粒子を近傍の粒子と同じような速度で移動させ,粒子が互いに浸透したり,混ざったりするのを防ぐ働きをするので,水のような非圧縮性流れや自由表面流の解析に向いている.
![Page 44: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/44.jpg)
人工粘性
気体流における衝撃波や津波の計算など,解に不連続性が生じる問題に対しては,以下のような人工粘性を運動方程式に付加しなければならない.また,単純なオイラー法で時間積分を行う場合には,人工粘性を付加しないと計算が不安定になることが知られている.
Π , ,
ここで,Π ,
, , ,
,for , · , 0
0for , · , 0(b)
,, · ,
, · ,, , , , , 0.1
, , , ,c :soundspeed
![Page 45: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/45.jpg)
(b)式の人工粘性には,速度差に関して一次の粘性項(せん断およびバルク粘性項)および二次の粘性項(高マッハ数流れのためのvon Neumann‐Richtmyer 粘性項)が含まれている.人工粘性は流体が圧縮されているときにのみ働く.また,人工粘性は全運動量および角運動量を保存する. は,0割を起こさないために用いられる.高速流に対しては, 1, 2が用いられるが,液体の自由表面流や波の計算には, 0.001~0.01, 0 が用いられている.
人工粘性については,(b)式以外にもいろいろ提唱されており,問題に応じて工夫を加える必要がある.
人工粘性を用いた場合には,エネルギー方程式にもこれを付加しなければならない.
![Page 46: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/46.jpg)
人工熱流束
ガスが個体壁にぶつかった場合に,条件によっては非物理的な発熱が生じる場合がある.このようなときには,エネルギー方程式に人工的な熱流束を加えて熱を逃がす必要がある.
2∑ ,
, , · ,, · ,
ここで, ,
· · , も同様
人工粘性および人工熱流束を加えたエネルギー方程式は以下の通り.
∑ Π , , · ,
![Page 47: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/47.jpg)
可変平滑化 ( Variable smoothing )平滑化長さの計算
SPH法において平滑化長さ は非常に重要であり,計算精度と計算効率に大きな影響を与える. が小さいと補間に用いる粒子数が少なくなるため,精度が悪くなったり,計算が不安定になったりする.一方, が大きすぎると,粒子数が多くなって補間計算に時間がかかるのと,局所的な情報が平滑化されすぎるという欠点が出てくる.1,2,3次元の補間に用いる最適な粒子数は,平滑化長さを平均粒子間隔の 1.2 倍にとり,カーネル関数のサポートを 2 とした場合に,それぞれ 5,21,57 であることが報告されている.
![Page 48: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/48.jpg)
初期のSPH法では, は空間的には一定であるが,時間的には次の式を用いて変化させていた. を空間次元として
, ∑ (添え字0は初期値)
その後,平滑化長さを粒子毎に変える局所モデルが提案されている.各粒子の平滑化長さ の計算には,関係 const · / を微分して得られる次式が用いられる.
上式右辺の / に対しては,連続密度の式
∑ , · , or ∑ , · ,
が用いられる.
![Page 49: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/49.jpg)
可変平滑化 ( Variable smoothing )カーネル関数の対称化
と の大きさが異なると,粒子 は に力を及ぼすが粒子 は に力を及ぼさないという事態が生じ,これは作用・反作用の原理に違反する.従って,平滑化長さの局所モデルを用いる場合には,カーネル関数の対称化を行う必要がある.対称化の方法には,平滑化長さを平均する方法とカーネル関数を平均する方法の二つがあり,両方ともよく用いられる.
1. 平滑化長さを平均する方法
, , , ,
ここで, , , , , ,
算術平均あるいは最大値を用いるケースは近傍粒子が多くなりすぎる傾向があり,幾何平均
あるいは最小値の場合は逆に少なくなりすぎる傾向がある.
2. カーネル関数を平均化する方法
, , , , ,
![Page 50: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/50.jpg)
壁面境界条件
壁面においては,流体速度を0にして流体粒子が壁面を通り過ぎないようにしなければならない.
1. 反発力を用いる方法
流体粒子が壁面を通過しないようにするのに最もよく用いられる方法として,
反発力を使う方法がある.壁面の境界粒子が,壁面に近づく流体粒子に対して
Lennard‐Jones ポテンシシャルに基づく反発力を及ぼすというモデルである.
12, 6or 4, 2
ただし, のときには反発力は0とする.ここで, は流体粒子と境界粒子
を結ぶベクトルであり, はその長さとする. としては,初期配置における典型
的な粒子間距離を用い, は,(問題における典型的な速度値)2 である.
![Page 51: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/51.jpg)
2. 対称性を利用する方法
流体粒子と反対の速度ベクトルをもつゴースト粒子を壁面に対称な位置
に配置して,流体粒子のサポートに加える方法もある.
3. 動的境界条件法
比較的最近提唱された方法に動的境界条件法がある.この方法では,
何層かの粒子を境界に配置する.境界粒子に対しては,流体粒子と同じ
ように連続の式,運動方程式およびエネルギー方程式を解くが位置の
移動はしない.流体粒子が境界に近づくと境界粒子の密度が増加し,
それに付随して圧力が増加する.この圧力増加が反発力として働いて,
流体粒子を壁面に近づけないという方法である.境界粒子の層の数や
配置に関しては試行錯誤的に決める必要がある.
![Page 52: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/52.jpg)
時間積分法
SPH法の粒子近似で得られた ODE を簡略化して以下のように書く.
, ,
,
粒子数が多くなると方程式の数が多くなるので,上記ODEを四次以上の
高精度で解いたり陰解法で解いたりするのは,非常に計算時間がかかる.
SPHの空間離散化は に関して二次精度なので,時間に関しても二次の
スキームを用いることが多い.以下では,∆ を時間ステップ幅, を時間
ステップのカウント数とする.また, 0において各変数の初期値が与え
られるものとする.
![Page 53: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/53.jpg)
Leapfrog スキーム
Leapfrog スキームにおいては,位置 , , は時間 ∆ で計算するが,速度 , は,半タイムステップずらした 1/2 ∆ で計算する.
∆ での , は以下のように計算する.
/ ∆ , / ∆ , ∆ /
その後は,以下の式で変数値を更新する./ / ∆ , / / ∆
∆ /
ただし, , は以下の値を用いて計算する.
/ ∆ , / ∆
![Page 54: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/54.jpg)
ダム崩壊 (1)
• 液柱 幅 1m高さ 2m• 初期流速 = 0• 境界条件
底面-反発力を用いる方法
側面-対称境界
• ∆ 10 s, g 9.8m/s• 状態方程式
2.8 10 1
0
0.5
1
1.5
2
0 0.5 1 1.5 2 2.5 3 3.5 4
0.4
![Page 55: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/55.jpg)
ダム崩壊 (2)
0
0.5
1
1.5
2
0 0.5 1 1.5 2 2.5 3 3.5 4
0.6
0
0.5
1
1.5
2
0 0.5 1 1.5 2 2.5 3 3.5 4
0.8
![Page 56: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/56.jpg)
衝撃変形問題 (1)
• 平板 幅 0.4 高さ 2• 垂直方向初期流速 0.196 /• 水平方向初期流速 0• 境界条件
底面-反発力を用いる方法
側面-対称境界
• ∆ 10 , g 0• 状態方程式
12.18.
0
0.5
1
1.5
2
0 0.5 1 1.5 2 2.5
2.5
![Page 57: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/57.jpg)
衝撃変形問題 (2)
0
0.5
1
1.5
2
0 0.5 1 1.5 2 2.5
5.0
0
0.5
1
1.5
2
0 0.5 1 1.5 2 2.5
7.5
![Page 58: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/58.jpg)
オイラー方程式のリーマン問題
1次元オイラー方程式0
, , , , ,
初期条件
, 0 if 0if 0
Sod Test Problem1.0, 1.0, 0.125, 0.1, γ 1.4
以下は 0.15における圧力,速度および密度の比較である.
![Page 59: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/59.jpg)
圧力分布の比較
0
0.2
0.4
0.6
0.8
1
1.2
‐0.4 ‐0.3 ‐0.2 ‐0.1 0 0.1 0.2 0.3 0.4
Pressure
0.4 0.2 0.0 0.2 0.4
0.2
0.4
0.6
0.8
1.0
1.2
![Page 60: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/60.jpg)
速度分布の比較
0
0.2
0.4
0.6
0.8
‐0.4 ‐0.3 ‐0.2 ‐0.1 0 0.1 0.2 0.3 0.4
Velocity
0.4 0.2 0.0 0.2 0.4
0.2
0.4
0.6
0.8
![Page 61: SPH法入門SPH法 粒子の位置にカーネル関数を配置し,その重ね合わせとして流体 変数の空間分布を表す.カーネル関数は次元にはほとんど無関係.](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e357ef2ee38b84ed77e82d3/html5/thumbnails/61.jpg)
密度分布の比較
0.2
0.4
0.6
0.8
1
1.2
‐0.4 ‐0.2 0 0.2 0.4
Density
0.4 0.2 0.0 0.2 0.4
0.4
0.6
0.8
1.0
1.2