Repolode
InteractiveComputerGraphics

InteractiveComputerGraphics/SPlisHSPlasH

Smoothed Particle Hydrodynamics(SPH)を用いた物理ベースの流体シミュレーションを行うオープンソースのC++ライブラリ。PythonバインディングとCLIを備えています。

スター
1,957
フォーク
343
未解決の Issue
17
最終コミット
10 日前

これは何?

SPlisHSPlasHは、Smoothed Particle Hydrodynamicsを使って流体をシミュレーションするライブラリです。メッシュを使わないラグランジュ法で、有限個の近傍粒子から各粒子の物理量を計算します。WCSPH、PCISPH、PBF、IISPH、DFSPH、PFなどの非圧縮性圧力ソルバーに加え、粘性、表面張力、渦度を扱う手法も実装しています。

通常の流体だけでなく、剛体と流体の連成、変形可能な固体との双方向連成、多相流、抗力にも対応しています。シーンはJSONで定義でき、シミュレーション結果はpartioまたはVTKファイルとして出力し、Maya、Blender、ParaViewで利用できます。WindowsとLinux向けに、コマンドラインシミュレーターの`splash`と、pipでインストールできるPythonバインディング(pysplishsplash)が用意されています。

CMakeでビルドでき、C++11対応コンパイラーが必要です。近傍探索はCPUまたはGPUで実行でき、利用可能な環境ではAVXによるベクトル化を使用します。

主な機能

  • 01非圧縮性流体向けの圧力ソルバー:WCSPH、PCISPH、PBF、IISPH、DFSPH、PF
  • 02CPUまたはGPUによる近傍探索を使った2D・3Dシミュレーション
  • 03剛体と流体の連成、および流体と固体の双方向連成
  • 04多相流シミュレーションと抗力の計算
  • 05Pythonスクリプトに対応したJSONシーンインポーター
  • 06粒子データをpartioおよびVTK形式で出力

ユースケース

  • SPH圧力ソルバーや流体と固体の連成手法の研究
  • Maya、Blender、ParaViewに読み込む流体アニメーションデータの生成
  • pysplishsplashバインディングを使ったPythonからの流体シーンのスクリプト作成

クイックスタート

  1. 1

    Windows または Linux 用のビルド済み Python パッケージをインストールする

    pip install pysplishsplash
  2. 2

    コマンドラインシミュレーターを実行する

    splash

使う前に知っておきたいこと

  • ビルド済みの Python wheel は、Python 3.6~3.10 向けに Windows と Linux のみで提供されています。
  • ソースからビルドするには、CMake と C++11 コンパイラーが必要です。

トピック

#fluid-simulation#sph#physics-simulation#cpp#python-bindings#computer-graphics#deformable-solids#fluid-dynamics#fluids#multiphase-flow

よくある質問

SPlisHSPlasH とは?
Smoothed Particle Hydrodynamics(SPH)を用いた物理ベースの流体シミュレーションを行うオープンソースのC++ライブラリ。PythonバインディングとCLIを備えています。 SPlisHSPlasHは、Smoothed Particle Hydrodynamicsを使って流体をシミュレーションするライブラリです。メッシュを使わないラグランジュ法で、有限個の近傍粒子から各粒子の物理量を計算します。WCSPH、PCISPH、PBF、IISPH、DFSPH、PFなどの非圧縮性圧力ソルバーに加え、粘性、表面張力、渦度を扱う手法も実装しています。
SPlisHSPlasH は無料で使えますか?ライセンスは?
SPlisHSPlasH は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
SPlisHSPlasH は今もメンテナンスされていますか?
活発にメンテナンス中。SPlisHSPlasH の最終コミットは 2026年10月28日 です。
SPlisHSPlasH は何に使えますか?
SPH圧力ソルバーや流体と固体の連成手法の研究 Maya、Blender、ParaViewに読み込む流体アニメーションデータの生成 pysplishsplashバインディングを使ったPythonからの流体シーンのスクリプト作成
SPlisHSPlasH のインストール方法は?
Windows または Linux 用のビルド済み Python パッケージをインストールする: pip install pysplishsplash コマンドラインシミュレーターを実行する: splash
SPlisHSPlasH はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/InteractiveComputerGraphics/SPlisHSPlasH

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト