24小时热门版块排行榜    

查看: 2914  |  回复: 4

threedtu

新虫 (小有名气)

[求助] fluent动网格采用的udf为DEFINE_CG_MOTION,在进行并行运算时应该进行怎样的修改呢? 已有1人参与

使用的udf很简单,具体如下:
# include "udf.h"
DEFINE_CG_MOTION(value, dt, cg_vel, cg_omega, time, dtime)
{
        NV_S(cg_omega, = , 0.0);
        NV_S(cg_vel, = , 0.0);
        if (time <= 4)
                cg_vel[0] = 0.0061896 * cos(6.0682 * time);
        else
                cg_vel[0] = 0;
}

使用并行运算后,发现运算的结果和串行的有差别。
所以想请问下大家,这个udf在进行并行运算时应该进行修正吗?如何修正?
金币奉上,求赐教.
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gyctju

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
这样的udf,并行和串行应该是一样的。

可以描述下区别在哪里,先判断下是否为udf导致

» 本帖已获得的红花(最新10朵)

2楼2016-10-08 21:32:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

threedtu

新虫 (小有名气)

送红花一朵
引用回帖:
2楼: Originally posted by gyctju at 2016-10-08 21:32:23
这样的udf,并行和串行应该是一样的。

可以描述下区别在哪里,先判断下是否为udf导致

计算得到的流体对固体的作用力有差别。计算过程中还是出现了warning:poor matching faces found(more than 50% intersected) for the matching interface,如果不是因为udf的问题,那会不会是因为这个warning导致的呢?这个warning到现在都没有找到很好的解决办法,因为在计算的case中,interface不能避免,必须要存在,而在并行过程中总是会出现分割interface不匹配的情况。

发自小木虫Android客户端
3楼2016-10-08 23:05:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

八怪

木虫 (正式写手)

引用回帖:
2楼: Originally posted by gyctju at 2016-10-08 21:32:23
这样的udf,并行和串行应该是一样的。

可以描述下区别在哪里,先判断下是否为udf导致

是由区别的啊,是不是你弄错了呢
keepmoving
4楼2017-12-28 11:20:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tqmonk1

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by threedtu at 2016-10-08 23:05:08
计算得到的流体对固体的作用力有差别。计算过程中还是出现了warning:poor matching faces found(more than 50% intersected) for the matching interface,如果不是因为udf的问题,那会不会是因为这个warning导致的 ...

我和楼主情况完全一样 找了很久都没找出问题所在。我也觉得UDF没有改成并行的是其中一种可能,不知楼主问题解决了吗?
5楼2018-11-15 23:37:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 threedtu 的主题更新
信息提示
请填处理意见