Fluent动网格 - -layering个一个简单实例(作者Snow)

更新时间:2024-03-24 20:21:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Fluent动网格----layering个一个简单实例

我这几天看了点动网格技术方面的东西,在学习过程中发现这方面的例子很少,自己也走了一些弯路。现在还好,弄明白了一些,能够应付现在我的工作。为了让更多学习者快速了解动网格,我打算尽量把我学习心得在这里和大家分享,这里给出一个layering的一个简单例子。

1.Gambit画网格

本例很简单,在Gambit里画一个10*10的矩形,网格间隔为1,也就是有100个网格,具体见下图。都学动网格的人了,不至于这个不会做!

这里需要注意一个问题:设置边界条件的时候,一定要把要移动的边单独设定,本例中一右边界作为移动的边,设成wall就可以,这里再后面需要制定。 2.编写UDF #include \ #include \ #include \

#include \ /************************************************************/ 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 = CURRENT_TIME ; vel[0] = 30;

Message(\ omega=%f\\n\ }

上面这段代码就是设置x轴方向的速度为30米每秒(UDF默认是SI单位制)。vel[0]表示x、vel[1]表示y、vel[2]表示z。细心读者肯定会有疑问,这里并没有指定是哪条边界移动,别急,这需要到后面,在Fluent里设置。

2.Fluent设置

(1)导入mesh文件; (2)Grid-->Check;

(3)Define-->solver,勾选unsteady,因为是动网格吗,既然动了肯定不是定常的了。 (4)Define-->User-defined-->Function-->Compiled

Add添加UDF文件,点击Build,如果不出错的话,等编译完后点击Load,UDF就OK了。 (5)动网格设置

Define-->Dynamic mesh-->Parameters,勾选Dynamic mesh,就会弹出

点击Remeshing如图中设置,接着点击Layering

(6)Define-->Dynamic mesh-->Zones,弹出

Zone Names中选择你要移动的边界,就是你在Gambit里单独指定的Wall边界条件,当然你也可以更改。Type里选择刚体,及平移运动,Motion UDF/Profile里选择刚刚编译好的udf,编译成功了肯定是有的。然后点击Meshing Options,如下图设置

Cell Height在layering方法下是指理想高度,一般就是网格的边长,还记得我们在Gambit里做的是10*10的正方形,间隔为1画的网格,所以网格边长就是1,因此这里设置成1。 然后依次点击Creat、Draw、Update、Close。

我做的时候就把这一步忘了,结果是边界动了,但是没有画出新的网格(见下图),弄了很久,上网上搜也没结果,希望大家不要出错了。

到这里,就设置结束了,就可以看网格运动了,迫不及待吧,别急,呵呵。 (7)Solve-->Mesh motion,弹出

如图中设置。解释一下:Time Step Size时间步长,就是你Fluent每执行迭代一次的时间,Number of Time Steps设为100,就是迭代100次,那么总共就是1秒,联想到UDF里面,x轴方向速度设置的是30米每秒,那么执行完右边界将是移动30米,整个网格变为40*10的矩形。

点击Preview就能看到结果了,到这一步很有成就感吧,是不是对UDF有个感性认识,甚者感觉恍然大悟,呵呵。 执行完得图

可惜不会做动画,什么时候做个动画弄上来。

到此就结束了,欢迎各位博友互相交流学习!

本文来源:https://www.bwwdw.com/article/6i68.html

Top