找回密码
 注册
查看: 1513|回复: 6

Lookup_Thread 和DT_THREAD 的区别

[复制链接]
发表于 2017-6-15 21:45:12 | 显示全部楼层 |阅读模式

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

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

x
#include “udf.h”
static real v_prev=0.0;
DEFINE_CG_MOTION(piston,dt,vel,omega,time,dtime)
{
Thread *t;
face_t f;
real NV_VEC(A);
real force,dv;
NV_S(vel,=,0);
NV_S(omega,=,0);
if(!Data_Valid_P())
{
     return ;
    }
t=DT_THREAD(dt);
force = 0.0;
begin_f_loop(f,t)
{
    F_AREA(A,f,t);
    force += F_P(f,t)* NV_MAG(A);   
}
end_f_loop(f,t)
dv = dtime * force /50.0;
v_prev += dv;
Message(“time =%f, x_vel=%f, force=%f\n”,time,v_prev,force);
vel[0] = v_prev;
}

中的 t=DT_THREAD(dt);
请问这个和 t =Lookup_Thread(domain,ID)(ID为其他某个特定面的ID)
这两者有区别吗?
CGmotion 中的 dt 是哪里的指针呢?
发表于 2017-6-16 09:03:36 | 显示全部楼层
t=DT_THREAD(dt)是用在动网格里,获取你所加载的动边界的指针。

 楼主| 发表于 2017-6-16 09:44:55 | 显示全部楼层
maisui2016 发表于 2017-6-16 09:03
t=DT_THREAD(dt)是用在动网格里,获取你所加载的动边界的指针。

这里的 dt 是指向哪里的指针呢?
发表于 2017-6-16 09:59:18 | 显示全部楼层
你把这个UDF加载在那条边上,就是那个边指针
 楼主| 发表于 2017-6-16 15:35:58 | 显示全部楼层
maisui2016 发表于 2017-6-16 09:59
你把这个UDF加载在那条边上,就是那个边指针

这两者实现的功能是一样的吧?
发表于 2017-6-17 18:28:36 | 显示全部楼层
都是查找指针,但是又不太一样,
t =Lookup_Thread(domain,ID)(ID为其他某个特定面的ID)是获取domain中边界为ID的face指针,Lookup有种遍历的意思;
t=DT_THREAD(dt)指向所定义的动边界的线指针。
自己理解,找到UDF英文手册嚼嚼它是怎么描述的,不要看中文的
 楼主| 发表于 2017-6-19 20:04:05 | 显示全部楼层
maisui2016 发表于 2017-6-17 18:28
都是查找指针,但是又不太一样,
t =Lookup_Thread(domain,ID)(ID为其他某个特定面的ID)是获取domain中边 ...

好的,谢谢,我明白了。谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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