中国范儿 发表于 2016-6-13 20:46:52

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

各位大神,我想问一下,我先在写了两个UDF,一个是DEFINE_CG_MOTION,加载到圆柱面上,求得了圆柱面中心线的(x,y)坐标,现在,我又对圆柱面用define profile写了一个壁面旋转运动,但是需要用到前面的(x,y),这个要怎么做?这个坐标值如何嵌入到前面的define profile中

xuwenhua625 发表于 2016-6-13 21:22:22

使用全局变量就可以吧

xuwenhua625 发表于 2016-6-13 21:25:08

DEFINE_CG_MOTION(foilup,dt,vel,omega,time,dtime)
{
   double x_cg;
   x_cg=DT_CG(dt);
   x_cg=DT_CG(dt);
}

中国范儿 发表于 2016-6-14 08:48:10

xuwenhua625 发表于 2016-6-13 21:25
DEFINE_CG_MOTION(foilup,dt,vel,omega,time,dtime)
{
   double x_cg;


全局变量但是一个是profile,一个是define_cg_motion,一个采用interpret,一个采用compile,能行吗?你写的这哥DT_CG(dt)

xuwenhua625 发表于 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)[]

试过了,不行啊:'(

xuwenhua625 发表于 2016-6-21 19:01:15

double x_cg;
Domain *domain= Get_Domain (1);
Thread *tf1 = Lookup_Thread (domain, 圆柱ID);
   x_cg=DT_CG(tf1);
   x_cg=DT_CG(tf1);

试试这个 profile我没用过

xuwenhua625 发表于 2016-6-21 19:10:08

或者考虑把振荡 和旋转运动一起放到DEFINE_CG_MOTION里
这样网格得重画

中国范儿 发表于 2016-6-21 19:32:01

xuwenhua625 发表于 2016-6-21 19:10
或者考虑把振荡 和旋转运动一起放到DEFINE_CG_MOTION里
这样网格得重画

我尝试这写到一起,可是不行啊!

chrismetty 发表于 2018-1-29 17:17:26

中国范儿 发表于 2016-6-21 19:32
我尝试这写到一起,可是不行啊!

你好,我最近也碰到同样的问题,不知道后来解决了吗。我想问一下你的不行是指的什么意思?在DEFINE_CG_MOTION里直接给定VEL和omega不行么,按理说旋转轴的位置是可以在初始指定的基础上使用DT_CG(dt)函数得到的吧?
页: [1]
查看完整版本: 如何在DEFINE_CG_MOTION 宏与define profile之间交换数据