24小时热门版块排行榜    

查看: 2122  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

manariel

银虫 (小有名气)

[求助] udf实现出口值赋给另一管入口

DEFINE_PROFILE(Jz34_k,thread,i)
{
Thread *thread_out;         
face_t face;
int ID_out=347;    //对管1出口id赋值
Domain *domain;

domain=Get_Domain(1);  
thread_out=Lookup_Thread(domain,ID_out);//找到管1出口的thread
                                      
begin_f_loop(face,thread)
{
   begin_f_loop(face,thread_out)
   {
    F_PROFILE(face,thread,i) =F_K(face, thread_out);
   }
   end_f_loop(face,thread_out)
}




程序最后的循环嵌套中,内部的循环是否可以去掉,直接写成:

begin_f_loop(face,thread)
{
F_PROFILE(face,thread,i) =F_K(face, thread_out);
}
end_f_loop(face,thread)
能否实现目的?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

manariel

银虫 (小有名气)

送鲜花一朵
引用回帖:
: Originally posted by jesseliuxl at 2012-03-13 20:06:49:
以前做的udf,出口值调节后赋给入口,可供参考下

#include "udf.h"
#define INT_YI 0.03
#define UDF_FILENAME "udf_loc_velo"
real AVG_YI;


DEFINE_ADJUST(outlet_avg_yi, d)
{ ...

好感谢你!
8楼2012-03-13 21:35:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

kylafree

至尊木虫 (知名作家)

【答案】应助回帖


感谢参与,应助指数 +1
xiegangmai(金币+1): 谢谢参与! 2012-03-10 20:16:42
你上面那个写法是错误的,连编译都通不过,你没试着编译一下吗?
2楼2012-03-10 14:08:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jesseliuxl

金虫 (小有名气)


xiegangmai(金币+1): 谢谢参与! 2012-03-10 20:16:48
那个begin_f_loop肯定多一个嘛
生命不息折腾不止
3楼2012-03-10 14:16:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

47425804

木虫 (正式写手)


★ ★
xiegangmai(金币+2): 鼓励讨论交流! 2012-03-11 10:24:06
除了楼上两位说的问题外,我觉得还有点问题,供参考。
face变量同时用在了出口和入口,如果实际上出口和入口的网格情况完全一致,那还是可以的。
但是,如果出口网格的编号方向和入口网格的编号方向刚好是相反的,那就有问题了。比方说出口编号为1的face本来应该对应入口编号为10的face,可是楼主这样的写法,出口的1号face还是指向了入口的1号face,就刚好头脚颠倒了。
又或者,入口有10个face,出口却只有9个face,那这样必然就少了一个对不上,计算要报错。
楼主并没有给出具体的网格情况,所以我只是猜测,可能以上问题其实都不是问题。
最稳妥的方法是,采用UDM的方法将出口face和入口face手动对应起来,当然程序的实现就要复杂很多了。
4楼2012-03-10 22:18:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见