24小时热门版块排行榜    

查看: 2464  |  回复: 8

azhu081127

铜虫 (初入文坛)

[求助] 求解答--UDF中DEFINE_ADJUST报错 已有2人参与

以前使用过简单的DEFINE_PROFILE语句来定义入口边界条件,可能因为语句比较简单,所以没有出现过问题。
但最近在用FLUENT做室内热舒适评价的过程中却遇到诸多问题。为逐步解决这些问题,我决定先从最简单的计算出发,一步步解决。
但是,没想到,下面两个简单的UDF竟然会如此棘手。。。
求好心的朋友们帮忙解答~~感谢万分~~~

一、FLUENT UDF tutorial中关于DEFINE_ADJUST的UDF,求解湍流耗散的体积积分,此UDF与tutorial完全一致。

#include "udf.h"
DEFINE_ADJUST(turb_diss, d)
{
  Thread *t;
  real sum_diss=0.;
  cell_t c;
    thread_loop_c (t,d)
  {
   begin_c_loop (c,t)
       sum_diss += C_D(c,t)*C_VOLUME(c,t);
   end_c_loop (c,t)
  }
   printf("Volume integral of turbulent dissipation: %g\n", sum_diss);
}

(1)若使用Interpret功能,则可以正常运行得出结果。

(2)但若使用Compile功能,则会出现如下错误提示:
# Generating udf_names.c because of makefile turb_diss.obj
udf_names.c
udf_names.c(7) : error C2085: ‘udf_data’ : not in formal parameter list
udf_names.c(7) : error C2143: syntax error : missing ‘;’ before ‘=’
udf_names.c(8) : warning C4138: ‘*/’ found outside of comment
udf_names.c(10) : error C2065: ‘udf_data’ : undeclared identifier

(3)求助:是什么原因造成compile编译出现错误?

二、 对于自己编写一个求解摄氏度的非常简单程序:
#include "udf.h"
DEFINE_ADJUST(temp1, d)
{
  Thread *t;
  real tempa=0.;
  cell_t c;
  thread_loop_c (t,d)
  {
   begin_c_loop (c,t)
       tempa = C_T(c,t) - 273.15;
       C_UDSI(c,t,0)=tempa;
   end_c_loop (c,t)
  }
}

(1)使用Interpret功能时报错:
Chip-exec: temp1: wrong return type: float udf function expected
Chip-exec: temp1: argument 1: incorrect type (36): int expected
Chip-exec: temp1: argument 2: incorrect type (0): pointer expected
Chip-exec: temp1: argument 3: incorrect type (0): int expected
Error:
FLUENT received fatal signal (ACCESS_VIOLATION)
1. Note exact events leading to error.
2. Save case/data under new name.
3. Exit program and restart to continue.
4. Report error to your distributor.
Error Object: ()

(2)若使用Compile功能,则出现与tutorial case相同的错误,即:
udf_names.c(7) : error C2085: ‘udf_data’ : not in formal parameter list
udf_names.c(7) : error C2143: syntax error : missing ‘;’ before ‘=’
udf_names.c(8) : warning C4138: ‘*/’ found outside of comment
udf_names.c(10) : error C2065: ‘udf_data’ : undeclared identifier

(3)求助:
(3.1) 是什么原因造成了interpret出现错误?
(3.2) 同样,又是什么原因造成compile的错误?
(3.3) 关于user defined scalar(UDS): 在一个DEFINE_ADJUST中,能否通过C_UDSI(c,t,0),C_UDSI(c,t,1),C_UDSI(c,t,2)….. C_UDSI(c,t,i)来同时定义多个不同的UDS?还是说,要定义i个不同的DEFINE_ADJUST,来分别定义多个不同的UDS?
回复此楼

» 猜你喜欢

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

小七工作室1

新虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
这个做的比较多,可以交流下
2楼2016-04-14 14:45:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

azhu081127

铜虫 (初入文坛)

引用回帖:
2楼: Originally posted by 小七工作室1 at 2016-04-14 14:45:10
这个做的比较多,可以交流下

你好,CFD模拟方面,我还是新手,很多问题都不是特别明白。
就像我在帖子中写的那样,我原来以为是特别简单的问题,结果却让我毫无头绪。。。
请问,你有没有遇到过类似的问题,你又是怎么解决的?
3楼2016-04-14 15:06:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

azhu081127

铜虫 (初入文坛)

大家请来帮帮忙啊~~~
4楼2016-04-14 18:54:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

keeep0394

新虫 (正式写手)

多核还是单核计算?这里面有累加,需注意

发自小木虫IOS客户端
5楼2016-04-14 21:55:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

azhu081127

铜虫 (初入文坛)

引用回帖:
5楼: Originally posted by keeep0394 at 2016-04-14 21:55:42
多核还是单核计算?这里面有累加,需注意

目前还是单核计算。如果成功运行,我会准备写并行计算的。之前有写过一个简单的并行计算下的UDF,但是里面没有累加计算。
不过,现在棘手的问题是:为什么这么简单的UDF,即使完全按照tutorial写,compile都不能运行。
DEFINE_ADJUST不是既可以interpret也可以compile的么?
真是沮丧啊~~
6楼2016-04-15 09:37:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

azhu081127

铜虫 (初入文坛)

求助,求助~
大家在运行UDF的时候没有遇到类似的问题么~~~
7楼2016-04-15 09:55:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

keeep0394

新虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
引用回帖:
6楼: Originally posted by azhu081127 at 2016-04-15 09:37:04
目前还是单核计算。如果成功运行,我会准备写并行计算的。之前有写过一个简单的并行计算下的UDF,但是里面没有累加计算。
不过,现在棘手的问题是:为什么这么简单的UDF,即使完全按照tutorial写,compile都不能运 ...

很大可能是环境变量没设置对,用的哪个版本的VS

发自小木虫IOS客户端
8楼2016-04-15 10:09:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

azhu081127

铜虫 (初入文坛)

引用回帖:
8楼: Originally posted by keeep0394 at 2016-04-15 10:09:58
很大可能是环境变量没设置对,用的哪个版本的VS
...

版本比较老了呵~~用的是VS6.0。
我之前写的DEFINE_PROFILE和DEFINE_CG_MOTION运行都没问题。。。
运行DEFINE_ADJUST会有问题么??
9楼2016-04-15 10:17:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 azhu081127 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料调剂 +4 爱擦汗的可乐冰 2026-02-28 4/200 2026-03-01 00:38 by 猫猫球alter
[基金申请] 面上模板改不了页边距吧? +5 ieewxg 2026-02-25 6/300 2026-03-01 00:10 by addressing
[考研] 307求调剂 +4 73372112 2026-02-28 6/300 2026-03-01 00:04 by ll247
[考研] 317一志愿华南理工电气工程求调剂 +5 Soliloquy_Q 2026-02-28 8/400 2026-02-28 23:36 by xyx2012xyx
[考研] 295求调剂 +5 19171856320 2026-02-28 5/250 2026-02-28 21:39 by gaoxiaoniuma
[考研] 264求调剂 +3 巴拉巴拉根556 2026-02-28 3/150 2026-02-28 21:31 by gaoxiaoniuma
[考研] 311求调剂 +8 南迦720 2026-02-28 8/400 2026-02-28 21:30 by gaoxiaoniuma
[考研] 材料类求调剂 +6 wana_kiko 2026-02-28 6/300 2026-02-28 21:20 by gaoxiaoniuma
[考研] 高分子化学与物理调剂 +4 好好好1233 2026-02-28 7/350 2026-02-28 20:42 by 好好好1233
[考研] 085600材料工程一志愿中科大总分312求调剂 +8 吃宵夜1 2026-02-28 10/500 2026-02-28 20:27 by L135790
[考研] 276求调剂 +3 路lyh123 2026-02-28 4/200 2026-02-28 19:45 by 路lyh123
[考研] 0856材料求调剂 +10 hyf hyf hyf 2026-02-28 11/550 2026-02-28 18:50 by 无际的草原
[考研] 285求调剂 +5 满头大汗的学生 2026-02-28 5/250 2026-02-28 18:10 by 材料专硕调剂;
[考博] 博士自荐 +3 kkluvs 2026-02-28 3/150 2026-02-28 16:59 by StarAura
[高分子] 求环氧树脂研发1名 +3 孙xc 2026-02-25 11/550 2026-02-28 16:57 by ichall
[考研] 265分求调剂不调专业和学校有行学上就 +4 礼堂丁真258 2026-02-28 6/300 2026-02-28 16:18 by 求调剂zz
[考研] 0856调剂 +3 刘梦微 2026-02-28 3/150 2026-02-28 13:22 by houyaoxu
[考研] 304求调剂 +5 曼殊2266 2026-02-28 6/300 2026-02-28 12:44 by 迷糊CCPs
[硕博家园] 博士自荐 +6 科研狗111 2026-02-26 9/450 2026-02-28 12:32 by seaskyy
[基金申请] 面上可以超过30页吧? +12 阿拉贡aragon 2026-02-22 13/650 2026-02-26 22:09 by Hahaxia
信息提示
请填处理意见