24小时热门版块排行榜    

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

summer同学

铜虫 (初入文坛)

[求助] udf求助 已有1人参与

#include "udf.h"
#define MW_W 0.018
#define pi 3.14159
#define a_c 0.04
#define R  8.314
#define N 185.371
#define L 22.6
DEFINE_PROFILE(hflux,thread,index)
{
        face_t f;
        real sumh=0.0;
        real A[ND_ND];
        Thread *threadh;
        begin_f_loop(f,thread)
        {
         real Ti;
     Ti=F_T(f,thread);
     F_AREA(A,f,thread);               
       sumh+=(2*a_c/(2-a_c))*sqrt(MW_W/(2*pi*R))*NV_MAG(A)*(611.2*(pow(2.718,(17.62*(Ti-273.15)/

(Ti-30.03))))/sqrt(Ti)-N)*L;
        }
        end_f_loop(f,thread)
        F_PROFILE(f,thread,index)=sumh;
}
定义了一个heat flux的UDF,与界面温度有关,编译没错,但是怀疑没起到实际作用,求各位大神指点指点。
回复此楼

» 猜你喜欢

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

tumu_tu

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
summer同学: 金币+20, ★★★很有帮助 2017-09-04 08:36:29
引用回帖:
3楼: Originally posted by summer同学 at 2017-09-03 08:34:13
感谢你的回复,F_PROFILE(f,thread,index)=sumh目的在于返回循环里面求和的最终值sumh,你的意思是把这一语句放入循环里面吗?...

再写一个begin...end_f_loop(f,thread),把F_PROFILE放进去。
CODE:
#include "udf.h"
#define MW_W 0.018
#define pi 3.14159
#define a_c 0.04
#define R 8.314
#define N 185.371
#define L 22.6

DEFINE_PROFILE(hflux, thread, index)
{
        face_t f;
        real sumh = 0.0;
        real A[ND_ND];
        Thread *threadh;
        begin_f_loop(f, thread)
        {
                real Ti;
                Ti = F_T(f, thread);
                F_AREA(A, f, thread);
                sumh += (2 * a_c / (2 - a_c))*sqrt(MW_W / (2 * pi*R))*NV_MAG(A)*(611.2*(pow(2.718, (17.62*(Ti - 273.15) / (Ti - 30.03)))) / sqrt(Ti) - N)*L;
        }
        end_f_loop(f, thread)
        begin_f_loop(f, thread)
        {
                F_PROFILE(f, thread, index) = sumh;
        }
        end_f_loop(f, thread)
}

4楼2017-09-03 09:52:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

tumu_tu

金虫 (小有名气)

F_PROFILE(f,thread,index)=sumh;没有在面上循环,这样只在一个网格面上定义了值,其他没定义。
2楼2017-09-02 22:05:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

summer同学

铜虫 (初入文坛)

引用回帖:
2楼: Originally posted by tumu_tu at 2017-09-02 22:05:35
F_PROFILE(f,thread,index)=sumh;没有在面上循环,这样只在一个网格面上定义了值,其他没定义。

感谢你的回复,F_PROFILE(f,thread,index)=sumh目的在于返回循环里面求和的最终值sumh,你的意思是把这一语句放入循环里面吗?
3楼2017-09-03 08:34:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见