平滑化粒子流体力学(SPH)法と有限体積数値計算法の比較

平滑化粒子流体力学法と有限体積数値計算法の比較本シリーズのパート1では、平滑化粒子流体力学(SPH)法の基本を説明しました。パート2では、より伝統的な有限体積数値法と比較した利点と欠点を取り上げ、nanoFluidXでのSPH実装を説明します。

SPHと有限体積法(既存の多くの流体解析コードが採用している離散化手法)の比較

SPHの基本的な部分を説明しましたが、なぜ有限体積法 CFDからSPHに切り替えたいと思うのでしょうか?結局のところ、有限体積法の手法はこの時点で何十年も業界で確立されています。また、SPHがそんなに素晴らしいのなら、なぜ今まで現れなかったのでしょうか?

まず、”究極のコード “というものは存在しないということです。すべてのコードには、その起源や実装にかかわらず、限界や長所短所があります。その点ではSPHも同じですが、有限体積法のすべてが必ずしも優れているわけではないことを示すものでもあります。

SPH 法の主要な特性について、Price 氏の説明を要約してみましょう。

  1. 連続性方程式の厳密な、時間に依存しない解法
  2. 移流が完全に行われる
  3. 本質的な散逸がない(SPHにおけるすべての散逸は、例えば粘性項の追加によって人為的に加えられたものである)。
  4. 質量、運動量、角運動量、エネルギー、エントロピーの厳密かつ同時保存
  5. 粒子の最小エネルギー状態の保証
  6. 質量に従う分解能(オイラー法のような体積ではなく)

上述のほとんどは自明ですが、ここでは2番目と5番目を指摘しておきます。

2番目では、移流が完全に行われるとされています。どうしてそんなことが可能なのでしょうか?SPHは有限体積法の固定座標(オイラー法)のコントロールボリュームの代わりに質量を離散化するラグランジュ法であり、SPHでは質量フラックスのような計算は必要ないのです。各粒子には質量があり、粒子を点Aから点Bに移動させても質量はそのままで、完璧に保存されるのです。

5番目はそれほど重要ではありませんが、明確にしておく必要があります。この文章に書かれているのは、粒子は自然にエネルギーが最小になるような状態に整列するということです。準等方的な粒子分布をとる傾向があり、外から強制されない限り、運動は起こりません。

以上の特徴から、SPHは界面追跡や対流が重要な高変形型流れに非常に適した手法であることがわかります。さらに、メッシュを使用せず、フラックス計算も不要なため、複雑な動きのある形状に容易に対応できることも、nanoFluidXがギアボックスやパワートレイン部品のシミュレーションで成功している主な理由です。

では、欠点は何でしょうか。基本的なSPHアルゴリズムは非常に簡単にプログラムできますが、境界条件の扱いは、特に高い精度が要求される場合には、かなり困難です。入口、出口、圧力境界条件の実装は、有限体積法のように簡単ではありません。また、壁の処理も容易ではなく、ラグランジュ法で可変解像度(粒子のサイズを局所的に変える)を行うと、有限体積法では遭遇しないような一連の困難が発生します。このような理由から、標準的なSPHは、大きなスケール差を含む問題、例えば、大きな船のシミュレーションをしながら、プロペラ先端付近の小さな渦を解決しようとする問題には適していないのです。

しかし、なぜ今までSPHが登場しなかったのか、と思われるかもしれません。SPHはLucy、Gingold、Monaghanによって70年代後半に発明されたもので、つまり手法自体は40年ほど前のものです。SPHは天体物理学上の特殊な問題のために設計されたもので、性能には全く焦点が当てられていませんでした。実際、有限体積法とSPH法の計算量を「ノード毎(粒子毎)」のレベルで比較すると、SPH法は60~150個の隣接する粒子に対して計算を行う必要があるため、コストがかなり高くなります。一方、典型的な2次有限体積法のノードは、約12ノード程度と相互作用しています。

しかし、この話には大きなねじれがあります。SPHアルゴリズムは、その単純さと構造から、並列化が非常に容易ですが、有限体積法アルゴリズムでは必ずしもそうではありません。2000年代に入り、並列プログラミング、特にGPU(Graphical Processing Units)上での科学的プログラミングが盛んになると、多くの問題でSPHが有限体積法を性能面で追い越すことができるようになったのです。これが、SPHが注目されるようになるのに時間がかかった理由です。

全体として、可動部がない、あるいはほとんどないケースで、大きなスケール差を解決する必要がある場合や、非常に複雑な入口/出口の境界条件がある場合は、有限体積法または有限要素法コードを使用することをお勧めします。メッシュがない、界面拡散やスキーム補正による誤差がない、実行時間が一桁短いなど、閉鎖空間内で複雑な動きをする形状(ギアボックスなど)であれば、SPH法の利点は明らかです。これは、SPHが最初の問題に対応できない、あるいは有限体積法がギアボックスに対応できないということではなく、SPHが最初のケースで明らかに有利ではなく、有限体積法が2番目のケースで明らかに有利ではない、というだけのことなのです。

nanoFluidX における SPH

これまで述べてきたことはすべて、SPH法の非常に基本的な入門書として役立つものです。やる気のある読者は、SPHの “フレーバー “(独特の魅力)がたくさんあるので、推奨文献を読み進めてみてください。繰り返しますが、究極のSPH法は存在しませんが、すべてのSPH法にカーネル関数による補間という基本的な考え方が取り入れられています。

その中でも最も一般的なのは、すでに述べたように弱圧縮SPH法です。nanoFluidXは純粋なGPUベースのコードであり、産業スケールのギアボックスのケースを有限体積法ベースのものよりも一桁速く実行することが可能になっています。

SPHの基本的な機能に加えて、nanoFluidXには数多くの高機能化が施されています。nanoFluidXを他のラグランジュ関数と区別する2つの最も顕著な特徴は、多相で実行できることと、輸送速度補正スキームを実装していることです。

多相現象(水-空気などの相互作用現象)はSPH法にとって「自然」であるとよく引用されますが、相粒子の物性の相違と鋭い界面のために、そのような定式化の安定性を確保するためには、いくつかの数値的な注意が必要です。我々の知る限り、nanoFluidXは、高密度比(1000対1)の混相流を安定的に扱うことができ、物理表面張力モデルを含む唯一の産業用SPHコードです。

冒頭の話に戻りますが、粒子分布を良好に(均一に)保つことは、SPH法全体の精度に大きな影響を与えることを述べています。輸送速度定式化はAdami [3]によって開発された数値補正スキームで、物理や精度を損なわずに粒子の位置を動的に補正するものです。Adamiは、SPHアルゴリズムに輸送速度を含めることで、手法の精度が大幅に向上し、数値拡散が減少し、さらに手法の収束特性が改善されることを示しました。さらにAdamiは、輸送速度を含めることで、SPH法が流体のバルクフロー(ここで、バルクフローは壁から離れた流れを意味し、Taylor-Green 渦テスト ケースは「バルクフロー」の代表例です)において乱流のような挙動を再現し始めることまで示しており、これは最近内部でも確認されています。(図2参照)

平滑化粒子流体力学法と有限体積数値計算法の比較

図2: Re=100,000におけるTaylor-Green渦の運動エネルギーカスケード。上図は格子ボルツマンLES乱流モデルとnanoFluidXの輸送速度をONにした場合の比較。下の画像は、同じケースでのnanoFluidXのシミュレーションですが、輸送速度を定式化した場合としない場合の比較です。輸送速度を用いない場合、SPH法ではエネルギーカスケードを再現できないことがわかります。これらの結果は Adami ら [4] によって最初に報告され、Kajzer ら [7] のデータと比較されています。

ベーシックなSPHの実装では、この乱流のような挙動を単独で再現することはできません。最後に、輸送速度を含めることで、SPH 法の悪名高い引張り不安定性を防ぎ、通常の SPH の操作に必要な多くの数値パラメータを取り出すことで、ユーザーの生活を楽にできます。繰り返しになりますが、我々の知る限り、nanoFluidXは輸送速度を含む唯一の工業用コードであり、したがって、速度と精度の両方の点で競合他社に優位に立つと思われます。

まとめ

SPH法の本質、特性、一般的な有限体積法との違いについて、いくつかの情報を提供できたと思います。最終的には、有限体積法が明らかに有利な問題群がありますが、複雑な移動形状や大変形流を含むシミュレーションなど、SPH法にも長所があることを心に留めておくことが重要です。

nanoFluidXの詳細については、最寄りのAltairオフィスまでお問い合わせいただくか、ウェブサイトをご覧ください。

この記事は、HyperWorksコア開発部門のnanoFluidX シニアプロダクトマネージャー であるMilos Stanic博士によって書かれた「The Smoothed Particle Hydrodynamics Method vs. Finite Volume Numerical Methods」を翻訳したものです。nanoFluidXは、ドイツのFluiDyna GmbHが開発した最先端の産業用SPHコードで、2018年にAltairがFluiDyna社を買収したことで、AltairのユニットライセンスAltair Unitで利用可能となりました。

参考文献

[1] D. J. Price, “Smoothed particle hydrodynamics and magnetohydrodynamics,” Journal of Computational Physics , vol. 231, pp. 759-794, 2012.
[2] D. J. Price, “Smoothed Particle Hydrodynamics: Things I wish my mother taught me,” 11 2011.
[3] S. Adami, Modeling and Simulation of Multiphase Phenomena with Smoothed Particle Hydrodynamics, Lehrstuhl für Aerodynamik und Strömungsmechanik, Technische Universität München, 2014.
[4] S. Adami, X. Hu and N. Adams, “Simulating three-dimensional turbulence with SPH,” in Proceedings of the Summer Program 2012, Stanford Univeristy, Paolo Alto, 2012.
[5] L. Lucy, “A numerical approach to the testing of the fission hypothesis,” Astronomical Journal, vol. 82, pp. 1013-1024, #dec# 1977.
[6] R. Gingold and J. Monaghan, “Smoothed particle hydrodynamics – Theory and application to non-spherical stars,”Monthly Notices of the Royal Astronomical Society, vol. 181, pp. 375-389, #nov# 1977.
[7] A. Kajzer, J. Pozorski and K. Szewc, “Large-eddy simulations of 3D Taylor-Green vortex: comparison of Smoothed Particle Hydrodynamics, Lattice Boltzmann and Finite Volume methods,” Journal of Physics: Conference Series, vol. 530, p. 012019, 2014.

*本記事は、本社のブログ『The Smoothed Particle Hydrodynamics Method vs. Finite Volume Numerical Methods』を翻訳したものです。

Altair CFDの機能紹介

0 0 votes
Article Rating

カテゴリー: Altair Global Blog

Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments