《Fluent动网格layering个一个简单实例.docx》由会员分享,可在线阅读,更多相关《Fluent动网格layering个一个简单实例.docx(3页珍藏版)》请在三一办公上搜索。
1、Fluent动网格layering个一个简单实例Fluent动网格-layering个一个简单实例 我这几天看了点动网格技术方面的东西,在学习过程中发现这方面的例子很少,自己也走了一些弯路。现在还好,弄明白了一些,能够应付现在我的工作。为了让更多学习者快速了解动网格,我打算尽量把我学习心得在这里和大家分享,这里给出一个layering的一个简单例子。 1.Gambit画网格 本例很简单,在Gambit里画一个10*10的矩形,网格间隔为1,也就是有100个网格,具体见下图。都学动网格的人了,不至于这个不会做! 这里需要注意一个问题:设置边界条件的时候,一定要把要移动的边单独设定,本例中一右边界
2、作为移动的边,设成wall就可以,这里再后面需要制定。 2.编写UDF #include udf.h #include unsteady.h #include stdio.h #include stdlib.h /*/ real current_time = 0.0 ; Domain * domain ; Thread * thread ; real NV_VEC( origin ),NV_VEC( force ),NV_VEC( moment ) ; /*/ DEFINE_CG_MOTION(throttle,dt,vel,omega,time,dtime) current_time = C
3、URRENT_TIME ; vel0 = 30; Message(time=%f omega=%fn,current_time) ; 上面这段代码就是设置x轴方向的速度为30米每秒。vel0表示x、vel1表示y、vel2表示z。细心读者肯定会有疑问,这里并没有指定是哪条边界移动,别急,这需要到后面,在Fluent里设置。 2.Fluent设置 导入mesh文件; Grid-Check; (3)Define-solver,勾选unsteady,因为是动网格吗,既然动了肯定不是定常的了。 Define-User-defined-Function-Compiled Add添加UDF文件,点击Bui
4、ld,如果不出错的话,等编译完后点击Load,UDF就OK了。 动网格设置 Define-Dynamic mesh-Parameters,勾选Dynamic mesh,就会弹出 点击Remeshing如图中设置,接着点击Layering Define-Dynamic mesh-Zones,弹出 Zone Names中选择你要移动的边界,就是你在Gambit里单独指定的Wall边界条件,当然你也可以更改。Type里选择刚体,及平移运动,Motion UDF/Profile里选择刚刚编译好的udf,编译成功了肯定是有的。然后点击Meshing Options,如下图设置 Cell Height在l
5、ayering方法下是指理想高度,一般就是网格的边长,还记得我们在Gambit里做的是10*10的正方形,间隔为1画的网格,所以网格边长就是1,因此这里设置成1。 然后依次点击Creat、Draw、Update、Close。 我做的时候就把这一步忘了,结果是边界动了,但是没有画出新的网格,弄了很久,上网上搜也没结果,希望大家不要出错了。 到这里,就设置结束了,就可以看网格运动了,迫不及待吧,别急,呵呵。 Solve-Mesh motion,弹出 如图中设置。解释一下:Time Step Size时间步长,就是你Fluent每执行迭代一次的时间,Number of Time Steps设为100,就是迭代100次,那么总共就是1秒,联想到UDF里面,x轴方向速度设置的是30米每秒,那么执行完右边界将是移动30米,整个网格变为40*10的矩形。 点击Preview就能看到结果了,到这一步很有成就感吧,是不是对UDF有个感性认识,甚者感觉恍然大悟,呵呵。 执行完得图 可惜不会做动画,什么时候做个动画弄上来。 到此就结束了,欢迎各位博友互相交流学习!