Viscosity(粘度)は流体の“厚み”です。例えば、水は低い粘度で、ハチミツは高い粘度、そして生のパン生地はかなり粘度が高いです。
デフォルトでは、FLIP流体には粘度がありません。これらのパラメータは流体に対して 均一な粘度もしくは変化する粘度 を追加します。
Tip
Viscosity パラメータの値がパーティクルのスケールに依存しています。デフォルトのスケールでは、厚みのある流体には1000くらいの値が必要で、パン生地のような流体には10000くらいの値が必要です。
To... | Do this |
---|---|
FLIP流体オブジェクトに均一な粘度を設定する |
FLIP Solverノードのパラメータで、 Volume Motion ▸ Viscosity サブタブから Enable Viscosity をオンにします。FLIP Objectのパラメータで、 Physical タブから Viscosity を設定します。 または Particle Fluids シェルフタブのMake Viscousツールを使います。このツールは選択したパーティクル流体オブジェクトに対して自動的に上記のことを行ない、オブジェクトのスケールに基づいてオブジェクトの Viscosity パラメータの初期値を設定します。 |
変化する粘度をシミュレーションする |
パーティクル毎の粘度アトリビュートを使って、変化する粘度フィールドを制御します。
または Volume Velocity 入力を通して Viscosity フィールドをFLIP Solverに上書きすれば、任意で粘度フィールドを編集することができます。 |
Viscosityの役立つ情報 ¶
Under-Resolved Particles を Treat as Ballistic に設定すれば、FLIP Solverは、サーフェスから去っていったパーティクルとグリッド上で計算するには小さすぎるパーティクルを検出して、それらを弾道的に扱います。これは粘度のない流体ではうまく動作します。しかし、粘度のある液体では、それらはサーフェスを這います。 Under-Resolved Particles メソッドを No Detection に設定すれば、この挙動をオフにすることができ、パーティクルが這うのを止めることができます。
とはいえ、シミュレーションに少しだけ粘度があれば、個々に飛んでいるパーティクルがグリッドで計算するにはあまりにも小さいと空気中で止まってしまいます。FLIP Objectの Particle Radius Scale の値>= sqrt(3)になるように値を増やすか、または Grid Scale の値が1.4くらいになるように値を減らすことでこの問題を軽減することができます。
FLIP Solverは速度に基づいて計算されたサブステップ数を使います。Viscosityソルバが常に安定である間は、より小さいサブステップによって、より計算が正確になります。遅い動きで、高い粘度のシミュレーションには、もっとサブステップが必要になります。FLIP Solverはその粘度に基づいてサブステップを設定します。十分な粘度が得られるまで Minimum Substeps の値を上げてください。
Metaballs は、厚く堆積して粘度のある流体をParticle Fluid Surface SOPでサーフェス化するのに Average Position よりもよい結果を得ることができます。
とても遅く移動する粘度のあるパーティクルをサーフェス化すると、場合によってはパーティクルを新しく再シードすることではっきりとサーフェスのように見せることができます。 Reseeding をオフにするとこの問題を軽減することができます。
FLIP Objectの Surface 可視化は粘度のシミュレーションをプレビューするのには良い方法です。
Viscosity タブの精度でFloat 32-bitを選択すると、Viscosityソルバが高速化され、たいていのシミュレーションで十分な精度が出ます。 高速なGPUを所有しているのであれば、 Solver タブの Use OpenCL パラメータでOpenCLアクセラレーションを有効にすると、粘度のある流体の高解像度シミュレーションを高速化させることができます。