找回密码
 注册
查看: 2971|回复: 9

如何在DEFINE_CG_MOTION 宏与define profile之间交换数据

[复制链接]
发表于 2016-6-13 20:46:52 | 显示全部楼层 |阅读模式

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

您需要 登录 才可以下载或查看,没有账号?注册

x
各位大神,我想问一下,我先在写了两个UDF,一个是DEFINE_CG_MOTION,加载到圆柱面上,求得了圆柱面中心线的(x,y)坐标,现在,我又对圆柱面用define profile写了一个壁面旋转运动,但是需要用到前面的(x,y),这个要怎么做?这个坐标值如何嵌入到前面的define profile中
发表于 2016-6-13 21:22:22 | 显示全部楼层
使用全局变量就可以吧
发表于 2016-6-13 21:25:08 | 显示全部楼层
DEFINE_CG_MOTION(foilup,dt,vel,omega,time,dtime)
{
   double x_cg[ND_ND];
   x_cg[0]=DT_CG(dt)[0];
   x_cg[1]=DT_CG(dt)[1];
}
 楼主| 发表于 2016-6-14 08:48:10 | 显示全部楼层
xuwenhua625 发表于 2016-6-13 21:25
DEFINE_CG_MOTION(foilup,dt,vel,omega,time,dtime)
{
   double x_cg[ND_ND];

全局变量但是一个是profile,一个是define_cg_motion,一个采用interpret,一个采用compile,能行吗?你写的这哥DT_CG(dt)[0]
发表于 2016-6-14 11:53:03 | 显示全部楼层
中国范儿 发表于 2016-6-14 08:48
全局变量但是一个是profile,一个是define_cg_motion,一个采用interpret,一个采用compile,能行吗?你写 ...

你试试 在profile 也用这个宏 DT_CG(dt)[]

 楼主| 发表于 2016-6-20 15:28:27 | 显示全部楼层
xuwenhua625 发表于 2016-6-14 11:53
你试试 在profile 也用这个宏 DT_CG(dt)[]

试过了,不行啊
发表于 2016-6-21 19:01:15 | 显示全部楼层
double x_cg[ND_ND];
Domain *domain= Get_Domain (1);
Thread *tf1 = Lookup_Thread (domain, 圆柱ID);
   x_cg[0]=DT_CG(tf1)[0];
   x_cg[1]=DT_CG(tf1)[1];

试试这个 profile我没用过
发表于 2016-6-21 19:10:08 | 显示全部楼层
或者考虑把振荡 和旋转运动一起放到DEFINE_CG_MOTION里
这样网格得重画
 楼主| 发表于 2016-6-21 19:32:01 | 显示全部楼层
xuwenhua625 发表于 2016-6-21 19:10
或者考虑把振荡 和旋转运动一起放到DEFINE_CG_MOTION里
这样网格得重画

我尝试这写到一起,可是不行啊!
发表于 2018-1-29 17:17:26 | 显示全部楼层
中国范儿 发表于 2016-6-21 19:32
我尝试这写到一起,可是不行啊!

你好,我最近也碰到同样的问题,不知道后来解决了吗。我想问一下你的不行是指的什么意思?在DEFINE_CG_MOTION里直接给定VEL和omega不行么,按理说旋转轴的位置是可以在初始指定的基础上使用DT_CG(dt)函数得到的吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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