Whitewaterシミュレーションを一度にやるとメモリが全く足りないので、クラスター化して分けてシミュレーションできないかと考えています。
Your text to link here... [cgworld.jp]
この記事の「飛沫や泡のシミュレーションも、対策を講じて負荷を軽減」の章で、
Spray、Foam、Bubbleのシミュレーションには、Whitewater Solverを使用している。この処理も計算負荷が高いため、分散シミュレーションを行なった(FLIPとは異なり、お互いに通信しあう必要はない)。
と書かれています。
しかしdensity controlなど、パーティクル同士が影響しあっているので通信しないわけにはいかないのではと思ってます。
通信が必要ないのは旧型のsolverだからですか?また、もしそうなら新型のsolverでクラスター化する良い方法はないでしょうか。(例えばdensity controlなどを無効にしてポストでどうにかするなど)
Whitewaterシミュレーションのクラスター化
670 2 0-
- Martin_blue
- Member
- 42 posts
- Joined: June 2023
- Offline
-
- Ken Taki
- Staff
- 459 posts
- Joined: April 2015
- Offline
Whitewater の分散処理には、一般的に Clustering を使います。
こちらのチュートリアルで説明されています。
https://www.sidefx.com/ja/tutorials/h15-masterclass-distributed-simulations/ [www.sidefx.com]
こちらのチュートリアルは H15 ベースですが、基本は変わっていません。
FLIP はグリッドベースであり、隣り合うグリッドの計算結果が非常に大きく作用するため、分散処理を行う個々のコンピュータ間で通信が必要で、そのために tracker.py を使います。これに関しても上記のチュートリアルで説明しています。
Spary, Foam, Bubble などは、流体そのものに比べて、グリッド間での流入などの影響が小さいので、それぞれの分割(タイルなりクラスタなり)を計算するで事足ります。厳密には通信した方が正確な結果になるかもしれませんが、コストのわりに影響が小さいというのが理由です。
こちらのチュートリアルで説明されています。
https://www.sidefx.com/ja/tutorials/h15-masterclass-distributed-simulations/ [www.sidefx.com]
こちらのチュートリアルは H15 ベースですが、基本は変わっていません。
FLIP はグリッドベースであり、隣り合うグリッドの計算結果が非常に大きく作用するため、分散処理を行う個々のコンピュータ間で通信が必要で、そのために tracker.py を使います。これに関しても上記のチュートリアルで説明しています。
Spary, Foam, Bubble などは、流体そのものに比べて、グリッド間での流入などの影響が小さいので、それぞれの分割(タイルなりクラスタなり)を計算するで事足ります。厳密には通信した方が正確な結果になるかもしれませんが、コストのわりに影響が小さいというのが理由です。
Edited by Ken Taki - Feb. 4, 2025 15:41:05
-
- Martin_blue
- Member
- 42 posts
- Joined: June 2023
- Offline
-
- Quick Links