24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1569  |  回复: 5

苦逼锅炉工

新虫 (初入文坛)

[求助] 请大神帮忙看看UDF。。已有1人参与

#include "udf.h"
#include "dpm.h"
FILE *fp;
fp=fopen("out.txt","w");
DEFINE_DPM_BC(JIEZHA,p,t,f,f_normal,dim)
{
        int h;
        if (P_T(p)<150)
    {
          fprintf(fp," %g %g %g\n",P_POS(p)[0],P_POS(p)[1],P_POS(p)[2]);
      return PATH_ABORT;
        }
        else
          return PATH_ACTIVE;
        h++;
        message(" %g\n",h);
}

这是一个关于颗粒碰到壁面,若颗粒温度小于150就粘附,并输出颗粒粘附的坐标,否则不粘附,并输出总的颗粒碰撞数量的UDF。
但是在build时出现错误
..\..\src\JIEZHA.c(4) : error C2040: 'fp' : 'int' differs in levels of indirection from 'FILE *'
..\..\src\JIEZHA.c(4) : error C2099: initializer is not a constant
请问该如何修改。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

db0320

铁虫 (初入文坛)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
苦逼锅炉工: 金币+3, ★★★很有帮助 2017-03-27 10:23:21
1. fp=fopen("out.txt","w");  这句放到函数里看看(写完之后建议fclose,虽然不关也没啥影响?我的强迫症、、、);
2. 你又没给h初值;
3. w会清除之前写下的数据,应该用a+;
4. g%最自动区分浮点数,但是h貌似是int,会不会出现BUG?;
5. h++;message(" %g\n",h); 这两句在return后面,永远不会执行;
6. 改正5后,如果你入射颗粒较多并且为非稳态计算,有可能你的Fluent 会卡死在输出message这个步骤上(原因大概是模拟计算速度>>printf/message速度,按下stop之后也要等待message结束,不要问我为什么知道(&acute;;ω;`) )
7.以上2-7点可能没啥用|・ω・`)
2楼2017-03-24 16:43:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

苦逼锅炉工

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by db0320 at 2017-03-24 16:43:06
1. fp=fopen("out.txt","w");  这句放到函数里看看(写完之后建议fclose,虽然不关也没啥影响?我的强迫症、、、);
2. 你又没给h初值;
3. w会清除之前写下的数据,应该用a+;
4. g%最自 ...

多谢大神。^ω^
我还有个小问题,就是我想显示壁面上每个face上黏附的颗粒数,使用F_UDMI(f,t,0)++可以吗,就是我不知道如何给 F_UDMI(f,t,0)++赋初值,请大神指教^ω^

发自小木虫Android客户端
3楼2017-03-27 10:21:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

苦逼锅炉工

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by db0320 at 2017-03-24 16:43:06
1. fp=fopen("out.txt","w");  这句放到函数里看看(写完之后建议fclose,虽然不关也没啥影响?我的强迫症、、、);
2. 你又没给h初值;
3. w会清除之前写下的数据,应该用a+;
4. g%最自 ...

大神。我照着你的意见修改了一下UDF,可以显示message信息了。然而非稳态迭代到0.9s左右的时候总是会出现The fl process could not be started.并且停止迭代。。请问这是什么缘故。
4楼2017-03-27 16:03:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

db0320

铁虫 (初入文坛)

【答案】应助回帖

引用回帖:
4楼: Originally posted by 苦逼锅炉工 at 2017-03-27 16:03:33
大神。我照着你的意见修改了一下UDF,可以显示message信息了。然而非稳态迭代到0.9s左右的时候总是会出现The fl process could not be started.并且停止迭代。。请问这是什么缘故。...

你试一试先把流体项计算稳定了之后再开始入射颗粒
5楼2017-03-27 16:38:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Marma_lade

银虫 (小有名气)

收藏该帖
6楼2021-09-17 09:54:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 苦逼锅炉工 的主题更新
信息提示
请填处理意见