上图出现像素状,诡异的水平垂直线条,是使用FumeFX常见的错误,这是因为错误的Advection造成的,下文有解释:
Quality品质定义出模拟效果的写实度,数值越高写实度就越高。但也表示需要更多的计算时间。有时这是必要的,对于移动快速的物件越需要提高这个数值。
越高的数值,解算器就需要越多的迭代计算(iterations)才能达到更高的精确度。别忘了,使用越高的Quality数值,你必须要把Maximum Iterations的数值调的够高,否则不会得到更高品质的效果(注:比方说你用Quality=5,然后你进行模拟,注意观察FumeFX的log资讯,如果它每次的迭代(iterations)都到达它最高数值(Maximum Iterations),就表示它被最高数值给限制住了,无法发挥它最佳的表现,这时候你就要把Maximum Iterations数值提高)。
Tip:一般情况下Quality:8 Maximum:100-150 CFL:5-8,或者CFL:5,Step:2---个人意见。
你可以参考log资讯中的“CG done with nnn iterations” 看它迭代计算的数值有没有达到上限了, 如果有的话就代表到顶了, 你应该要把上限提高。
如上图中的log资讯,iterations只达到37而已。
Maximum Iterations最高迭代次数,解算器并不需要太多次的迭代才能得到好效果。对於小的grid大概需要20-30次。对於比较大的grid大概需要100次。如果移动狠快的物件, 也需要到100次。下图我们是用Quality=5 100 iterations做出来的效果:
CFL Condition这个参数定义cell资料(速度、烟、火等等)的最大移动距离。 一般来说这个数值设定為4~5左右,除非你模拟出现颗粒感。你也可以用更高的数值,如果你把数值设的比较小,你可能会看到模糊的结果。
Advection - Default适用於大部分的状况。
Advanced (fields) advection:用这个会產生比较低的消散现象(dissipation)。这会影响火焰、烟雾、 温度等参数,但不会影响速度。
Advanced (fields and vels)会影响到所有:包含了速度,这个选相对於移动缓慢的流体。 具有很多不同移动速的的场(火焰、烟雾、温度)会容易导致像素化(线条与十字的错误,这个错误译者也常常遇到!)这个选项能够產生许多小细节,所以你可以把vorticity调到0.1也没问题!
小技巧:如果你出现像素化的错误,首先不要慌,你可以把grid sensitivity调低,甚至改成0.0 。这会把像素化的问题修的平滑一点,如果没帮助的话,你可以切换到Advanced (fields)advection或是增加solver Quality。
流体水平运动(Advection Stride):这个数字越小,对于速度与烟雾就有越小的消散,但会花更多时间计算。
Tip:如果你希望烟雾有很多小细节的话, 你可以把这个数值降到0.1或是更低的数值,个人感觉一般都是用Deafult然后数值在0.2左右是比较适合的。
Tip:还有一个能增加更多细小的卷曲细节的就是打开Cubic。默认情况下是Linear这个是可以再解算时的信息窗口查看的到,但是速度会慢很多,而且流体运动的比较快时不宜使用,Linear能够应付绝大多数情况了。
以下是与是站长与网友的对话:
Q: 这篇教学超棒的!Fumefx但我即使调了,还是会遇到一样的问题?
A: 是不是iteration不够?
Q: 我目前Interation是设成300我卡在没办法一次就算到很细致的spacing grid。
A: 你的Quality=5可以试试看把Quality提高。
Q: 好!我试试看。
我改成10在preview下用5看,变得很好!
A: 恭喜你!你观察log的iteration数值,如果没有到顶,那就ok了,不必把quality设到太高。
Q: interation上面显示300,这是顶到我的spacing的意思吗?
A: 当iteraion等于Maximum Iterations的数值,就代表到顶了?
Q: 目前好像都维持在300以下,所以我应该可以保持这个数字继续算下去?
A: 那就把Quality往下调,调到刚刚好到顶。
Q: iteration这个数值,翻译是交互作用,但实际上它是什么意思?我不是很清楚。
A:跟解析度有关吗?
Q: 如图越多次的iteration就可以产生越多细节。
iteration就是把运算结果再丢回算式中,一直反覆计算同样的算式。