Smoothed Particle Hydrodynamics (SPH、SPH法)は流体力学や材料力学にて用いられる微分方程式の数値解析手法(CFD)の一つ。
対象となる1個の連続体を有限個の粒子の集団に置き換えて計算する粒子法の、その代表的なもの。連続体を計算粒子集団に置き換え、連続体の支配方程式を元に導かれる粒子間相互作用を粒子集団に与えて移動させる。
Smoothed-Particle(SP、滑らか粒子)とは、中心で最大、周辺に向けてゼロへ連続変化する滑らかな密度分布をもつ粒子である。このSPはオーバーラップするように配置され、個々のSPの密度分布の重ね合わせで連続体の密度場や他の物理量の分布を表すことが根本のコンセプトである。
いわゆるフルラグランジュと言われるタイプの手法であり、基本的に移流項がなく、保存性がよい、メッシュフリー近似を実現できる、といったメリットがあり、物体や界面の大変形/大移動をともなう対象では有効である。
天体物理学、構造力学(主に破壊や亀裂進展など)、流体力学など多くの分野で利用されている。しかし、メッシュ手法に比べれば適用数は桁違いに少ない。計算妥当性や境界条件の扱い方など、十分に確立されていない部分もある。
SPHは1977年のGingoldとMonaghanによる天体物理のシミュレーションに関する論文[1]が起源とされており、手法の名前もこの論文が元となっている。しかし、この論文の謝辞でも述べているようにSPHの離散化はLucyのアイディアであり、Lucyも同年に少し遅れて同様の離散化を用いた論文を公開している[2]。
空間離散化[編集]
SPHでは粒子1個の密度分布として補間関数を定義する。補間関数は伝統的にカーネルと呼ばれる。このカーネルという語は離散データの補間関数の呼び名として一般的に用いられる。
SPHでは、このカーネルの重ね合わせで物理量を置き換える。すなわち物理量分布はカーネルの足し合わせで表され、空間微係数はカーネルの微係数の足し合わせで表される。この空間離散化コンセプトがSPHのベースである。
SPHカーネル
は例えば次のような条件を満たす。(ここでxとyは同次元であることに注意、修正求む)
![{\displaystyle {\begin{alignedat}{3}&w_{h}(r){\begin{cases}>0,&0\leq r<h,\\=0,&r\geq h,\end{cases}}\qquad \qquad &{\rm {(1)}}\\&\int _{\mathbb {R} ^{d}}w_{h}(|x|)dx=1.\qquad &{\rm {(2)}}\end{alignedat}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b37db877fe2c400cc486378424026a371aa27038)
hはカーネルのサイズを決める変数でありこれがゼロに近い極限を考えるとき、その重み関数
を用いて、任意の関数
を
![{\displaystyle \phi (x)\approx \int _{\Omega }\phi (y)w_{h}(|x-y|)dy\qquad \qquad {\rm {(3)}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/406503f4c3834f8181d4ffa0e066951312439707)
と無限個のカーネル足し合わせに置き換えられる。(ここで、
は対象領域であるがあまり意味はない)。
(3)に則り、スカラ関数
に対するhを現実的な値としたときの有限個のSPHカーネル重ね合わせによる近似を
![{\displaystyle \langle \phi (x)\rangle =\sum _{i=1}^{N}{\frac {m_{i}}{\rho _{i}}}\phi (x_{i})w_{h}(|x-x_{i}|)\qquad \qquad {\rm {(5)}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f9ed7988a77890bdc1e6c1e5abb5879c5f921fc4)
と定義する。
また、
内に有限の
個の粒子
を配置したとき、関数
の
内での積算は領域内粒子の個々の値の総和で表される。すなわち、
![{\displaystyle \int _{\Omega }\phi (y)dy\approx \sum _{i=1}^{N}{\frac {m_{i}}{\rho _{i}}}\phi (x_{i})\qquad \qquad {\rm {(4)}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/da93aae7ea0d7706019e253fb77ad4859770f0a7)
と近似される。ここに、
と
はそれぞれ、粒子
が代表する質量と密度である。
勾配作用素
(1階の微分作用素)は、カーネルの勾配の積算で近似される。
近似関数
を微分して
![{\displaystyle \langle \nabla \phi (x)\rangle =\sum _{i=1}^{N}{\frac {m_{i}}{\rho _{i}}}\phi (x_{i})\nabla w_{h}(|x-x_{i}|)\qquad \qquad {\rm {(6)}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c17496572b7bdb4104b938e6bfbc000069f1a99e)
と定義される。
また、
が
![{\displaystyle \nabla \phi (x)\approx \int _{\Omega }\{\phi (y)-\phi (x)\}\nabla w_{h}(|x-y|)dy\qquad \qquad {\rm {(7)}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/beafac73d67ebbd654b960453f71a966b8ef49ba)
と積分式で近似できることから、(4)の近似を用い、すなわち差分の重ね合わせによる置き換えもある。
![{\displaystyle \langle \nabla \phi (x)\rangle =\sum _{i=1}^{N}{\frac {m_{i}}{\rho _{i}}}\{\phi (x_{i})-\phi (x)\}\nabla w_{h}(|x-x_{i}|)\qquad \qquad {\rm {(8)}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/59fffd13c4e35d792e2191b7724e16dacd228c26)
拡散を表す微分作用素であるラプラシアン
は、
![{\displaystyle \Delta \phi (x)\approx 2\int _{\Omega }{\frac {\phi (x)-\phi (y)}{|x-y|^{2}}}(x-y)\cdot \nabla w_{h}(|x-y|)dy\qquad \qquad {\rm {(9)}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/beec01d9b9a09d16ee2441d485713f028068bd57)
と近似できることから、
![{\displaystyle \langle \Delta \phi (x)\rangle =2\sum _{i=1}^{N}{\frac {m_{i}}{\rho _{i}}}{\frac {\phi (x)-\phi (x_{i})}{|x-x_{i}|^{2}}}(x-x_{i})\cdot \nabla w_{h}(|x-x_{i}|)\qquad \qquad {\rm {(10)}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/18d4cea6669241b431c2202fd31c09c8a66a1a0c)
と定義する。他にカーネル重み付け平均に基づいて定義する方法もある。
弱圧縮性SPH(Weakly compressible SPH)の場合、エネルギー保存の考察により、次のような近似作用素が用いられる。連続の式に現れる
(
は流速)は
![{\displaystyle \langle \rho \nabla \cdot u(x_{i})\rangle =\sum _{j=1}^{N}m_{j}(u(x_{j})-u(x_{i}))\cdot \nabla w_{h}(|x_{i}-x_{j}|)\qquad \qquad {\rm {(11)}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/df3fc000d04dd931aeff33b1ee3e3809b6f8a2e0)
と定義され、運動方程式に現れる圧力勾配項
(
は圧力)は
![{\displaystyle \langle \rho ^{-1}\nabla p(x_{i})\rangle =\sum _{j=1}^{N}m_{i}\left({\frac {p(x_{j})}{\rho (x_{j})^{2}}}+{\frac {p(x_{i})}{\rho (x_{i})^{2}}}\right)\nabla w_{h}(|x_{i}-x_{j}|)\qquad \qquad {\rm {(12)}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/aceeb27719379752fcc772c80844bb9d0fb8bc07)
と定義される。
また、拡散率が場によって異なる場合の拡散
(
は場の拡散率を表す関数)に対する近似は
![{\displaystyle \langle \nabla \cdot \mu \nabla u(x)\rangle =\sum _{i=1}^{N}{\frac {m_{i}}{\rho _{i}}}{\frac {(\mu (x)+\mu (x_{i}))(u(x)-u(x_{i}))}{|x-x_{i}|^{2}}}(x-x_{i})\cdot \nabla w_{h}(|x-x_{i}|)\qquad \qquad {\rm {(13)}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f617ba166cfd808f63bddcbcb01ddd932dfe3720)
または、
![{\displaystyle \langle \nabla \cdot \mu \nabla u(x)\rangle =2\sum _{i=1}^{N}{\frac {m_{i}}{\rho _{i}}}{\frac {\mu (x_{i})(u(x)-u(x_{i}))}{|x-x_{i}|^{2}}}(x-x_{i})\cdot \nabla w_{h}(|x-x_{i}|)\qquad \qquad {\rm {(14)}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3e235d451a51e4ba5f481e985adb7f2dd566f6c5)
と定義される[3]。
非圧縮性仮定への拡張 Incompressible Smoothed Particle Hydrodynamics (ISPH)[編集]
SPH法は元来は単純な陽解法であり密度変動をともなう圧縮性流れ場のための手法であった。その後CFDソルバとして対象を広げ、非圧縮流れへの種々の拡張が試みられている。
特に、行列式ソルバを利用してポアソン式を反復解法で解き圧力場と同時に非圧縮速度場を得るタイプのものがISPHと呼ばれることがある。他に粒子移動を反復して速度場を非圧縮場に修正するPCISPH法がある。
ISPHと呼ばれるスキームの多くは、射影法を適用したものである。圧力勾配項と他の項とを分けて、速度発散ゼロの回転成分を取り出すという、差分法などでは古典的なアイディアを粒子法に適用したもの。粒子法の場合の最初の適用として1996年のMoving Particle Semi-implicit (MPS、MPS法)[4]があり、その後、SPH空間離散化と組み合わせられた[5]。
粒子法の場合は原則的に粒子移動後の粒子分布密度を元に移動前の速度を修正することになる。必然的に、いわゆる日本国内でフラクショナルステップ法と言われる、圧力のみ陰的に1ステップ先を見る方式となる。
ただし粒子法の速度発散と密度変動は定義が一通りではなく、粒子モデルに由来する変動が顕著に含まれるため、厳密に密度変動ゼロないしは速度発散ゼロを追求せず、ソースタームに0.3~0.7といった程度の緩和係数が乗じられることがある。また、非圧縮条件を近似的にでも満たすのは粒子移動前の速度場か移動後の粒子分布密度のどちらか一方だけとなるのが標準的である。
関連項目[編集]
参考文献[編集]
- R.A., Gingold; J.J. Monaghan (1977), “Smoothed particle hydrodynamics: theory and application to non-spherical stars”, Mon. Not. R. Astron. Soc. 181: 375–389
- L.B., Lucy (1977), “A numerical approach to the testing of the fission hypothesis”, Astron. J. 82: 1013–1024
- J.P., Morris; P. J. Fox, and Y. Zhu (1997), “Modeling low Reynolds number incompressible flows using SPH”, J. Comput. Phys, 136: 214-226
- S., Koshizuka; Y. Oka (1996), “Moving-particle semi-implicit method for fragmentation of incompressible fluid”, Nuclear Sci. Eng. 123: 421-434
- S.J., Cummins; M. Rudman (1999), “An SPH projection method”, J. Comput. Phys. 152: 584-607