24小时热门版块排行榜    

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

fangdian

木虫 (正式写手)

[求助] 解决Fluent中DEFINE_PROFILE宏中F_T(f,thread)使用错误的分享

很久没有直接在DEFINE_PROFILE中使用F_T(f,thread)了,最近在使用过程中出现问题:
  1)串行计算时,初始化前出现FLUENT received fatal signal (ACCESS_VIOLATION)错误,但是“居然”能初始化,且能进行计算........(如图1)
解决Fluent中DEFINE_PROFILE宏中F_T(f,thread)使用错误的分享
  2)并行计算时,直接出现“999999(..\src)”(如图2)
解决Fluent中DEFINE_PROFILE宏中F_T(f,thread)使用错误的分享-1

半天都没反应过来,因为在help中确实也有在DEFINE_PROFILE用F_T(f,thread)的,为何会出现这种错误。
后来明白了,在初始化前,各个面的温度还没有赋值,直接取值会有问题,可以改为先初始化或者计算完成一个时间步后再使用F_T(f,thread)取值,即可解决问题。
后来更改源代码(举例如下:加粗部分为添加代码)

DEFINE_PROFILE(ddd,thread,position)
{real x[ND_ND];
double ss;
face_t f;

begin_f_loop(f,thread)
{ F_CENTROID(x,f,thread);
Sample Text
ss=F_T(f,thread);
Sample Text
.......
F_PROFILE(f,thread,position)=0;
......
}
end_f_loop(f,thread)

}


后来成功解决类似问题,作为一个小经验分享
回复此楼

» 本帖@通知

» 猜你喜欢

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

lbj007

新虫 (小有名气)

大佬还在吗,我遇到个相似的问题,但udf都是sofc模块加载后内置的,不知道怎么办,。。
4楼2020-04-17 20:27:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

fangdian

木虫 (正式写手)

刚才代码贴错了,再帖一次

DEFINE_PROFILE(ddd,thread,position)
{real x[ND_ND];
double ss;
face_t f;


begin_f_loop(f,thread)
{ F_CENTROID(x,f,thread);
if(N_TIME>=2)
ss=F_T(f,thread);
else
  ss=300;


.....
F_PROFILE(f,thread,position)=......;
.....
}
end_f_loop(f,thread)

}
2楼2017-01-05 17:45:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sunsetrjy

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by fangdian at 2017-01-05 17:45:09
刚才代码贴错了,再帖一次

DEFINE_PROFILE(ddd,thread,position)
{real x;
double ss;
face_t f;


begin_f_loop(f,thread)
{ F_CENTROID(x,f,thread);
if(N_TIME>=2)
ss=F_T(f,thread);
else
  s ...

师兄你好,想向你咨询一下一个全年8760小时的逐时数据读入问题,刚开始接触,想你请教请教
3楼2017-04-11 11:19:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见