SPH法の理論
をテンプレートにして作成
[
トップ
|
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
----
#contents
----
*SPH法について [#z10d1053]
SPH(Smoothed Particle Hydrodynamics)はもともと
銀河系の衝突や天体の形成などの宇宙物理学におけるシミュレ...
近年流体や熱など他の多くの現象に応用されている.
ただし,元々宇宙物理学の問題に多くみられる圧縮性流体を取...
水や速度の遅い空気(流速<<音速)のような非圧縮性流体には向...
(非圧縮性を強制する手法はいくつか考案されている[Becker200...
計算時間がかかってもいいならば最初から非圧縮流体を対象と...
CG分野に初めてSPHを導入したのは[Desbrun1996]で,
3次元の粘性流体に適用したのは[Muller2003]である.
以下では,主に[Muller2003]に基づいた方法を述べる.
*SPH法による離散化式 [#k42eec3b]
SPH法による物理量&ref(sph_eq_phi.gif);の離散化式を以下に...
#ref(sph_eq_01.gif)
ここで,Nは近傍パーティクルの集合,mはパーティクル質量,&...
Wはカーネル関数である.
カーネル関数は有効半径hを持ち,有効半径外では0となる(コン...
また,その積分が1となる(&ref(sph_eq_02.gif);)ように設定さ...
((カーネル関数にしたい式&ref(sph_eq_fr.gif);積分した値&re...
上式のようにSPHでは物理量を周囲のパーティクルの重み付き和...
そして,物理量の勾配&ref(sph_eq_nabla_phi.gif);はカーネル...
物理量&ref(sph_eq_phi.gif);の勾配は,
#ref(sph_eq_05.gif)
と表され,物理量&ref(sph_eq_phi.gif);のラプラシアンは,
#ref(sph_eq_06.gif)
と表される.
上式を用いることで流体の密度は以下で計算される.
#ref(sph_eq_07.gif)
シミュレーションに用いられるカーネル関数については,
[[SPH法の重み関数]] を参照.
*SPH法によるNS方程式の解法 [#t3689d70]
支配方程式である非圧縮のナビエ・ストークス方程式を以下に...
#ref(sph_eq_08.gif)
#ref(sph_eq_09.gif)
ここで,&ref(sph_eq_Vu.gif);は流体速度,&ref(sph_eq_10.gi...
上の式が質量保存式,下が運動量保存式である.
支配方程式をパーティクルで離散化し,SPH法を用いて解く.
パーティクル自体が液体を表しているため,パーティクル質量...
また,粒子法ではグリッド法のような移流項の計算を行う必要...
そのため,移流項&ref(sph_eq_11.gif);は離散化する必要がな...
よって,各パーティクルiの速度&ref(sph_eq_Vu_i.gif);を以下...
#ref(sph_eq_12.gif)
#ref(sph_eq_13.gif)
&ref(sph_eq_Vf_i.gif);の各項について以下で述べる.
***粘性拡散項 [#z2fd5232]
粘性項は流体の速度により構成される.
速度&ref(sph_eq_Vu.gif);のラプラシアンをそのまま離散化す...
あるパーティクルiからjに与える力とjからiへの力が異なる(as...
このままでは速度の速いパーティクルは遅いパーティクルに影...
粘性力は流体の速度差に依存すると考えて,symmetricに作用す...
#ref(sph_eq_14.gif)
***圧力項 [#w87231df]
圧力項は圧力値の勾配で構成される.
勾配値用の離散化式を用いることで圧力項を離散化することが...
#ref(sph_eq_15.gif)
と圧力の平均値を用いている.
&ref(sph_eq_p_i.gif);の計算には圧力と密度の関係を表す状態...
#ref(sph_eq_16a.gif)
ここで,kはガス定数である.
多くのSPHシミュレーションでは,[Desbrun1996]の提案した式,
#ref(sph_eq_16.gif)
が用いられている.ここで,&ref(sph_eq_rho_0.gif);はシミュ...
例えば,水ならば&ref(sph_eq_17.gif);であるが,実装では初...
非圧縮性を強制するもっともポピュラーな方法はポアソン方程...
[Becker2007]ではTait方程式を用いることである程度の非圧縮...
#ref(sph_eq_19.gif)
ここで,&ref(sph_eq_20.gif);.
Bは圧力定数で,以下の式となる.
#ref(sph_eq_21.gif)
ここで,&ref(sph_eq_c_s.gif);は音速である.
&ref(sph_eq_22.gif);として,&ref(sph_eq_23.gif);の関係か...
密度の変化率である&ref(sph_eq_eta.gif);には0.01がよく用い...
この方法は高い非圧縮性(1%以下)を保てるものの,安定した計...
#ref(sph_eq_24.gif)
と計算される.
ここで,&ref(sph_eq_Vf_a.gif);は外力,&ref(sph_eq_alpha.g...
これで計算するとタイムステップ幅が0.0005[s]ぐらいになって...
各ステップの計算が速いのでMPSなどと比べても問題ない速度に...
*参考文献 [#t68fbead]
> [Becker2007] M. Becker and M. Teschner, Weakly Compress...
> [Desbrun1996] M. Desbrun and M.-P. Cani, Smoothed Parti...
> [Lucy1977] L. B. Lucy, A Numerical Approach to the Test...
> [Muller2003] M. Muller, D. Charypar and M. Gross, Parti...
> [Solenthaler2009] B. Solenthaler and R. Pajarola, Predi...
In Proc. SIGGRAPH2009, pp.1-6, 2009.
終了行:
----
#contents
----
*SPH法について [#z10d1053]
SPH(Smoothed Particle Hydrodynamics)はもともと
銀河系の衝突や天体の形成などの宇宙物理学におけるシミュレ...
近年流体や熱など他の多くの現象に応用されている.
ただし,元々宇宙物理学の問題に多くみられる圧縮性流体を取...
水や速度の遅い空気(流速<<音速)のような非圧縮性流体には向...
(非圧縮性を強制する手法はいくつか考案されている[Becker200...
計算時間がかかってもいいならば最初から非圧縮流体を対象と...
CG分野に初めてSPHを導入したのは[Desbrun1996]で,
3次元の粘性流体に適用したのは[Muller2003]である.
以下では,主に[Muller2003]に基づいた方法を述べる.
*SPH法による離散化式 [#k42eec3b]
SPH法による物理量&ref(sph_eq_phi.gif);の離散化式を以下に...
#ref(sph_eq_01.gif)
ここで,Nは近傍パーティクルの集合,mはパーティクル質量,&...
Wはカーネル関数である.
カーネル関数は有効半径hを持ち,有効半径外では0となる(コン...
また,その積分が1となる(&ref(sph_eq_02.gif);)ように設定さ...
((カーネル関数にしたい式&ref(sph_eq_fr.gif);積分した値&re...
上式のようにSPHでは物理量を周囲のパーティクルの重み付き和...
そして,物理量の勾配&ref(sph_eq_nabla_phi.gif);はカーネル...
物理量&ref(sph_eq_phi.gif);の勾配は,
#ref(sph_eq_05.gif)
と表され,物理量&ref(sph_eq_phi.gif);のラプラシアンは,
#ref(sph_eq_06.gif)
と表される.
上式を用いることで流体の密度は以下で計算される.
#ref(sph_eq_07.gif)
シミュレーションに用いられるカーネル関数については,
[[SPH法の重み関数]] を参照.
*SPH法によるNS方程式の解法 [#t3689d70]
支配方程式である非圧縮のナビエ・ストークス方程式を以下に...
#ref(sph_eq_08.gif)
#ref(sph_eq_09.gif)
ここで,&ref(sph_eq_Vu.gif);は流体速度,&ref(sph_eq_10.gi...
上の式が質量保存式,下が運動量保存式である.
支配方程式をパーティクルで離散化し,SPH法を用いて解く.
パーティクル自体が液体を表しているため,パーティクル質量...
また,粒子法ではグリッド法のような移流項の計算を行う必要...
そのため,移流項&ref(sph_eq_11.gif);は離散化する必要がな...
よって,各パーティクルiの速度&ref(sph_eq_Vu_i.gif);を以下...
#ref(sph_eq_12.gif)
#ref(sph_eq_13.gif)
&ref(sph_eq_Vf_i.gif);の各項について以下で述べる.
***粘性拡散項 [#z2fd5232]
粘性項は流体の速度により構成される.
速度&ref(sph_eq_Vu.gif);のラプラシアンをそのまま離散化す...
あるパーティクルiからjに与える力とjからiへの力が異なる(as...
このままでは速度の速いパーティクルは遅いパーティクルに影...
粘性力は流体の速度差に依存すると考えて,symmetricに作用す...
#ref(sph_eq_14.gif)
***圧力項 [#w87231df]
圧力項は圧力値の勾配で構成される.
勾配値用の離散化式を用いることで圧力項を離散化することが...
#ref(sph_eq_15.gif)
と圧力の平均値を用いている.
&ref(sph_eq_p_i.gif);の計算には圧力と密度の関係を表す状態...
#ref(sph_eq_16a.gif)
ここで,kはガス定数である.
多くのSPHシミュレーションでは,[Desbrun1996]の提案した式,
#ref(sph_eq_16.gif)
が用いられている.ここで,&ref(sph_eq_rho_0.gif);はシミュ...
例えば,水ならば&ref(sph_eq_17.gif);であるが,実装では初...
非圧縮性を強制するもっともポピュラーな方法はポアソン方程...
[Becker2007]ではTait方程式を用いることである程度の非圧縮...
#ref(sph_eq_19.gif)
ここで,&ref(sph_eq_20.gif);.
Bは圧力定数で,以下の式となる.
#ref(sph_eq_21.gif)
ここで,&ref(sph_eq_c_s.gif);は音速である.
&ref(sph_eq_22.gif);として,&ref(sph_eq_23.gif);の関係か...
密度の変化率である&ref(sph_eq_eta.gif);には0.01がよく用い...
この方法は高い非圧縮性(1%以下)を保てるものの,安定した計...
#ref(sph_eq_24.gif)
と計算される.
ここで,&ref(sph_eq_Vf_a.gif);は外力,&ref(sph_eq_alpha.g...
これで計算するとタイムステップ幅が0.0005[s]ぐらいになって...
各ステップの計算が速いのでMPSなどと比べても問題ない速度に...
*参考文献 [#t68fbead]
> [Becker2007] M. Becker and M. Teschner, Weakly Compress...
> [Desbrun1996] M. Desbrun and M.-P. Cani, Smoothed Parti...
> [Lucy1977] L. B. Lucy, A Numerical Approach to the Test...
> [Muller2003] M. Muller, D. Charypar and M. Gross, Parti...
> [Solenthaler2009] B. Solenthaler and R. Pajarola, Predi...
In Proc. SIGGRAPH2009, pp.1-6, 2009.
ページ名: