声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3619|回复: 8

[Fluent应用] Define_Grid_Motion宏例子求助!

[复制链接]
发表于 2006-8-22 10:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
#include "udf.h"

DEFINE_GRID_MOTION(BEAM,domain,dt,time,dtime)
{
Thread *tf = DT_THREAD(dt);
face_t f;
Node *v;
real NV_VEC(omega), NV_VEC(axis), NV_VEC(dx);
real NV_VEC(origin), NV_VEC(rvec);
real sign;
int n;


/* set deforming flag on adjacent cell zone */
SET_DEformING_THREAD_FLAG(THREAD_T0(tf));

sign = -10.0 * sin (8* M_PI * time);

Message ("time = %f, omega = %f\n", time, sign);

NV_S(omega, =, 0.0);
NV_D(axis, =, 0.0, 0.0, 1.0);
NV_D(origin, =, 0.0, 0.0, 0.0);

begin_f_loop(f,tf)
   {
     f_node_loop(f,tf,n)
       {
         v = F_NODE(f,tf,n);

         /* update node if x position is greater than 0.02
            and that the current node has not been previously
            visited when looping through previous faces */
         if (NODE_Y(v) > 0.020 && NODE_POS_NEED_UPDATE (v))
           {
             /* indicate that node position has been update
                so that it's not updated more than once */
             NODE_POS_UPDATED(v);

             omega[2] = sign * pow (NODE_Y(v), 0.5);
             NV_VV(rvec, =, NODE_COORD(v), -, origin);
             NV_CROSS(dx, omega, rvec);
             NV_S(dx, *=, dtime);
             NV_V(NODE_COORD(v), +=, dx);
           }
       }
   }

end_f_loop(f,tf);
}

这个UDF和帮助中给的基本一样,只是我将角速度定义为OMGAE[2],即绕Z轴旋转,悬臂梁在Y轴上,网格建立在XoY平面,见图所示。计算的过程中发现网格没有动,请帮忙!

计算域:x[-0.2m,0.8m] y[0,0.5m]
梁的尺寸:宽8mm,高0.1m,宽度中点位于坐标原点

[ 本帖最后由 yejet 于 2006-9-4 08:32 编辑 ]
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-8-22 10:09 | 显示全部楼层
再发一遍图
msh.JPG
 楼主| 发表于 2006-9-1 10:59 | 显示全部楼层
请高手帮忙!
发表于 2006-9-1 13:15 | 显示全部楼层
1。 UDF代码看上去没啥问题
2。从您的计算域示意图中可看出,下边界中的悬梁部分应该独立开来
3。试着将悬梁放置的偏离下边界一定距离看看
4。查看dynamic zone中的设置是否正确
 楼主| 发表于 2006-9-2 19:18 | 显示全部楼层
在边界条件中我将梁与下边界分开了,在dynamic zone中我选择的运动区域就是悬臂梁的3条边(为一个整体边界)。不知道你做成功没有?请指教!
发表于 2006-9-4 00:49 | 显示全部楼层
类似的例子以前做过,现在手头没有了 :(

你可以花上几分钟从新画个计算域试试看(将悬梁放置在中间位置)

我刚刚做过一遍,可以的~

注---不妨将 NV_CROSS(dx, omega, rvec) 更改为简易格式
 楼主| 发表于 2006-9-4 14:23 | 显示全部楼层
我重新画了一个按照你说的网格,但是计算还是不动,计算的过程中也有网格的更新;而且计算出现了回流。
请将你做的cas和修改的udf传到我的信箱,xf_hit@163.com,非常感谢!
发表于 2006-11-2 10:58 | 显示全部楼层
将你做的cas和修改的udf传到我的信箱,liuwenxia@163.com,非常感谢!
发表于 2010-11-17 20:48 | 显示全部楼层
确实这个确实不动。解决了么? 讲一讲好么?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-28 23:10 , Processed in 0.078198 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表