欢迎来到天天文库
浏览记录
ID:60778983
大小:377.50 KB
页数:5页
时间:2020-12-18
《Fluent动网格layering个一个简单实例(作者Snow).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Fluent动网格----layering个一个简单实例我这几天看了点动网格技术方面的东西,在学习过程中发现这方面的例子很少,自己也走了一些弯路。现在还好,弄明白了一些,能够应付现在我的工作。为了让更多学习者快速了解动网格,我打算尽量把我学习心得在这里和大家分享,这里给出一个layering的一个简单例子。1.Gambit画网格本例很简单,在Gambit里画一个10*10的矩形,网格间隔为1,也就是有100个网格,具体见下图。都学动网格的人了,不至于这个不会做!这里需要注意一个问题:设置边界条件的时候,一定要把要移动的边单独设定,本例中一右边界作为移动的边,设成wall就可以,这里再后面需要
2、制定。2.编写UDF#include"udf.h"#include"unsteady.h"#include"stdio.h"#include"stdlib.h"/************************************************************/realcurrent_time=0.0;Domain*domain;Thread*thread;realNV_VEC(origin),NV_VEC(force),NV_VEC(moment);/***********************************************************
3、*/DEFINE_CG_MOTION(throttle,dt,vel,omega,time,dtime){current_time=CURRENT_TIME;vel[0]=30;Message("time=%fomega=%f",current_time);}上面这段代码就是设置x轴方向的速度为30米每秒(UDF默认是SI单位制)。vel[0]表示x、vel[1]表示y、vel[2]表示z。细心读者肯定会有疑问,这里并没有指定是哪条边界移动,别急,这需要到后面,在Fluent里设置。 2.Fluent设置(1)导入mesh文件;(2)Grid-->Check; (3)Define-->s
4、olver,勾选unsteady,因为是动网格吗,既然动了肯定不是定常的了。(4)Define-->User-defined-->Function-->CompiledAdd添加UDF文件,点击Build,如果不出错的话,等编译完后点击Load,UDF就OK了。(5)动网格设置Define-->Dynamicmesh-->Parameters,勾选Dynamicmesh,就会弹出 点击Remeshing如图中设置,接着点击Layering(6)Define-->Dynamicmesh-->Zones,弹出 ZoneNames中选择你要移动的边界,就是你在Gambit里单独指定的Wall边界条
5、件,当然你也可以更改。Type里选择刚体,及平移运动,MotionUDF/Profile里选择刚刚编译好的udf,编译成功了肯定是有的。然后点击MeshingOptions,如下图设置CellHeight在layering方法下是指理想高度,一般就是网格的边长,还记得我们在Gambit里做的是10*10的正方形,间隔为1画的网格,所以网格边长就是1,因此这里设置成1。然后依次点击Creat、Draw、Update、Close。我做的时候就把这一步忘了,结果是边界动了,但是没有画出新的网格(见下图),弄了很久,上网上搜也没结果,希望大家不要出错了。 到这里,就设置结束了,就可以看网格运动了,迫
6、不及待吧,别急,呵呵。(7)Solve-->Meshmotion,弹出如图中设置。解释一下:TimeStepSize时间步长,就是你Fluent每执行迭代一次的时间,NumberofTimeSteps设为100,就是迭代100次,那么总共就是1秒,联想到UDF里面,x轴方向速度设置的是30米每秒,那么执行完右边界将是移动30米,整个网格变为40*10的矩形。点击Preview就能看到结果了,到这一步很有成就感吧,是不是对UDF有个感性认识,甚者感觉恍然大悟,呵呵。执行完得图 可惜不会做动画,什么时候做个动画弄上来。到此就结束了,欢迎各位博友互相交流学习!
此文档下载收益归作者所有