在 bifrostAeroProperties 和 bifrostLiquidProperties 属性中都可以找到“自适应性”(Adaptivity)属性。它们可用于自动调整分辨率,以便在所需的时间和位置提供最多的细节,而不会浪费内存和计算时间(如果不需要)。
空间(Spatial)
- 启用
- 对于液体模拟,此选项允许较低分辨率的体素位于通常不需要细节的液体中心。在沿与碰撞对象的边界和沿自由曲面(即与空气的边界)快速移动的区域中,仍保持由“主体素大小”(Master Voxel Size)设置的最大分辨率。请参见控制空间自适应性。
- 对于 aero 模拟,此选项需要一个或多个自适应网格才能具有效果(请参见使用自适应网格)。在自适应网格内使用最大体素分辨率,而在其他位置使用较低的分辨率。
- 通常,除非遇到问题,否则应该使此选项保持启用状态以减少内存和计算时间。
- “删除超限粒子”(Delete Exceeding Particles)(仅限液体)
- 低分辨率区域中的每体素粒子数超过阈值时,移除一些粒子。如果在空间自适应模拟和非自适应模拟之间遇到体积丢失或其他大的差异,则禁用此选项。
“传输”(Transport)、“时间步”(Time Stepping)
“传输”(Transport)和“时间步”(Time Stepping)设置控制为每个帧执行计算的次数。较多的迭代可能导致较高的精确度,代价是计算时间较长。如果遇到问题(如体积丢失、自发爆炸、粒子聚束和碰撞对象泄漏),则可以尝试调整这些设置。
- “传输”(Transport)设置控制在执行压力计算后用于沿体素速度场平流传递粒子的迭代次数。如果遇到问题(如粒子穿过静态碰撞对象),则良好的选择通常是首先调整这些设置,因为它们可能会解决问题,无需很多的附加计算时间。但是,在每次迭代中,不重新计算压力,且不重新体素化碰撞对象和其他实体 - 这意味着“传输”(Transport)设置可能对快速移动的碰撞对象和其他更复杂的情况没有帮助。
- “时间步”(Time Stepping)设置控制每帧的整个模拟(其中包括体素化、压力和传输相位)的迭代次数。这些设置可大大提高精确度(尤其是对于高速度),但是也可能导致计算时间长得多。
两组控制协同工作,以便“传输”(Transport)设置控制每个时间步内传输相位的迭代次数。换句话说,每个帧都可能包含多个时间步,具体取决于“时间步”(Time Stepping)设置,并且每个时间步都可能包含多个传输步,具体取决于“传输”(Transport)设置。
-
“传输时间比例”(Transport Time Scale)(仅限“传输”(Transport))
- 更改粒子流的速度。大于 1.0 的值会加快流动,而不引入任何新的速度或加速;而介于 0.0 和 1.0 之间的值会减慢速度。
结果实际上可能不正确,但如果您只想快速重定时模拟,这种方法对您比较有效。由于这可能会导致不必要的负面影响,尤其是在极端设置时,因此请务必注意。