类似案例:https://www.fangzhenxiu.com/course/5566989/5568635
粒子轨迹在Playback里是灰的,列表里只有mesh和contours,没有Particle Tracks。计算前没在Solution Animations里建对象,算完再想补录来不及,轨迹文件根本没写。这个顺序别搞反,是先建动画对象再跑计算,不是跑完再建。
路径记一下,Solution→Calculation Activities→Solution Animations→New Object,Object Name填particle_anim,File Name用相对路径anim/particle_%t,别写绝对路径换机器跑不了。Variable下拉选Particle Tracks,Injection选对应的入射器名字,Track Style用line,Track Length给0.5到1m,Max Tracks给1000到5000,Record Frequency设1或者每5个时间步。计算前把anim文件夹先建好,Fluent不会自动建目录,写不进去的时候连报错都不弹。D:\Fluent_work\dpm\anim\下面那组particle_0001.png就是上次导的。
DPM模型先开起来,Models→Discrete Phase,Interaction with Continuous Phase勾上,Unsteady Particle Tracking必须勾上,不勾的话粒子只算最终位置没有轨迹历史。Particle Time Step跟流体时间步一致或者取一半,Number of Continuous Phase Iterations per DPM Iteration设10到20,DPM Iteration Interval设1或5。Injections新建,Type选surface或cone,Material选anthracite或自定义,Diameter Distribution用uniform或Rosin-Rammler,Velocity给入口速度,Total Flow Rate给kg/s。稳态DPM只给最终位置,没有轨迹动画,要动画必须瞬态。
论坛上有人遇到粒子压根不显示的问题,2.5微米的粒子跟着流场走,尺寸太小在屏幕上根本看不到,把Color by从Particle Residence Time改成Particle Diameter之后粒子才显示出来。另一个帖子里的情况是瞬态跑完5000步,粒子位置一直不动,入口速度2.5m/s但粒子固定在一个位置,后来建议他把动画工具关掉重新画一下轨迹,或者在File→Preferences里把Titles打开,图像底部会显示求解时间,确认时间到底有没有往前走。还有个坑是One-way Coupling模式下DPM变量在CFD-Post里不显示,论坛版主建议DPM数据还是直接在Fluent里做后处理,近几个版本Fluent自己的后处理已经够用了。

Playback里看不到粒子的排查顺序,先查Solution Animations里Object有没有启用,再查Injection是不是在计算前就激活了。粒子最大追踪步数Max Number of Steps设10000,Step Length Factor设5,太短粒子中途消失,太长计算量涨。Turbulent Dispersion开Discrete Random Walk,Number of Tries给10,随机轨道多了动画轨迹会散,但更接近真实。Track Length给太短,粒子飞出去之后尾巴就断了,给1m够看。轨迹颜色太淡,Track Style从point改成line,Color by从Particle ID改成Velocity Magnitude,对比度好一些。
不想用Solution Animations的话有个TUI命令的路子,在solve-execute-commands里加两个命令,第一个是display particle-tracks,第二个是display hardcopy particletrack%t.jpeg,设置成每个时间步执行一次。跑之前先用file-hardcopy把图像类型设成jpeg或者png。这个办法比Solution Animations省内存,录出来的是一帧一帧的图片,后期用ffmpeg合成视频就行,D:\video_work\下面那个convert.js就是干这个的。
粒子停留时间的平均值的导出,Fluent的Particle Tracks面板只能看云图不能直接给全局平均值,得手动导数据再算。File→Export→Particle History Data,选CFD-Post或者FieldView格式,在Exported Particle Variables里勾上需要导的变量,注意Particle Residence Time是默认一定会导的,就算不在列表里也会写进去。导出来的文件里每个粒子一行,包含ID、坐标、停留时间,用Excel或者Python算平均值就行。D:\Fluent_work\dpm\export\下面那个particle_history.csv就是导出来的原始数据,Python脚本residence_avg.py在里面算完输出平均停留时间。
下次把入射器从surface换成cone,粒子初始速度分布用Rosin-Rammler,再跑一遍看停留时间的分布有没有变化,那个cone的半角和方向是……
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删