平流栅格¶
平流栅格 节点通过数值积分方法,使体素值随时间在速度场中移动。该操作称为 平流,在流体、烟雾及运动模拟系统中广泛应用,用于根据流场演化密度、温度或颜色等物理量。
该节点支持多种在速度、精度与数值稳定性之间进行权衡的集成方案。只要体素尺寸在整个域内保持均匀,即可用于标量栅格和矢量栅格。
概念上,平流相当于通过速度场以小时间步长向后追踪每个体素,从前一个位置采样栅格值,并将该值赋给当前体素。
输入¶
- 栅格
用于平流的输入栅格。必须具有均匀的体素尺度。
- 速度
定义每个体素处流的方向与大小的矢量栅格。速度 场决定栅格值如何在空间中传输。
- 时间步长
用于平流计算的时间步长,单位为秒。数值越大运动速度越快,但可能降低精度或稳定性。
- 积分方案
用于追踪体素位置通过速度场的数值积分方法:
- 半拉格朗日:
一阶半拉格朗日(semi-Lagrangian)积分。速度最快且最稳定,但会引入明显的数值扩散(模糊)。
- 中点:
二阶中点积分。平衡速度与精度,适用于大多数情况。
- 龙格-库塔 3:
三阶龙格-库塔(Runge-Kutta)积分。在计算成本适中的情况下提供更高的精度。
- 龙格-库塔 4:
四阶龙格-库塔(Runge-Kutta)积分。最高精度的单步方案,适用于精细模拟,但计算速度较慢。
- 麦科马克:
具有隐式扩散控制的麦科马克(MacCormack)方案。在保持稳定性的同时减少数值耗散。
- BFECC:
来回误差补偿与校正(Back and Forth Error Compensation and Correction)。一种可最小化耗散并保持更锐利特征的先进方案。
- 限制
用于减少高阶平流格式中过冲或欠冲伪影的限制策略:
- 无:
不施加限制。速度最快,但在陡峭梯度区域可能引入伪影。
- 钳制:
将数值限制在原始邻域范围内,防止过冲和欠冲,同时保持系统稳定性。
- 恢复:
在需要钳制的情况下恢复为一阶积分。比单纯钳制更为保守且稳定。
属性¶
- 数据类型
栅格中存储的数据类型(例如 浮点、整数、矢量)。确定被传输的场类型。
输出¶
- 栅格
平流后的栅格结果。每个体素值已根据指定的速度场和积分方案进行传输。该结果表示在给定 时间步长 结束后栅格的状态。