找回密码
 注册
查看: 3323|回复: 3

UDF中PRINCIPAL_FACE_P语句求解

[复制链接]
发表于 2014-3-24 12:46:20 | 显示全部楼层 |阅读模式

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

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

x
请问UDF中并行设置中PRINCIPAL_FACE_P语句是什么意思,怎么用?另外principal face是什么意思呢?
发表于 2014-3-24 13:10:16 | 显示全部楼层
UDF手册中说是很明白,在并行网格分区的交接面的地方,每个面会在两个分区上都有一份拷贝,这时如果用求和之类的直接算的话会重复多算一份,这时就要用PRINCIPAL_FACE_P宏,虽然每个分区上都有一份面的拷贝,但是只有其中之一的PRINCIPAL_FACE_P为真,这样在求和之前在所有面上加上这个宏就能保证每个面只被统计一次。
 楼主| 发表于 2014-3-24 15:24:44 | 显示全部楼层

回复 2# gearboy 的帖子

嗯,比如说我定义了一个底面,然后并行计算的话该面的thread是不是包含了该底面所有的面,然后计算机把该底面分块再分给各个compute node单独计算?若求底面力积分的话是不是要用PRF_GRSUM1宏把各个compute node的计算值求和呢?
发表于 2014-3-24 16:12:32 | 显示全部楼层
原帖由 求是创新 于 2014-3-24 07:24 发表
嗯,比如说我定义了一个底面,然后并行计算的话该面的thread是不是包含了该底面所有的面,然后计算机把该底面分块再分给各个compute node单独计算?若求底面力积分的话是不是要用PRF_GRSUM1宏把各个compute node的计 ...

当然要用PRF_GRSUM1来求和,否则每个节点汇报的只是该计算节点上所有网格的局部求和。如果刚巧剖分网格的时候该节点上没有该thread的网格,那么不用PRF_GRSUM1求和的话结果就是零,只有用了PRF_GRSUM1才能把其它计算节点上的局部和加进来。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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