24小时热门版块排行榜    

查看: 2636  |  回复: 9

springlmh

新虫 (初入文坛)

[求助] fluent udf中设定内热源的问题 已有3人参与

最近在用fluent做瞬态导热分析,问题中的内热源随着z轴变化,用udf对内热源做设定时编写的程序通过fluent的解释,编译没有问题,到
计算的时候到第二时间步时就进行不下去了,求大神指点。程序如下:
#include "udf.h"
#define CON1        5e9
#define CON2        1.5e7

DEFINE_SOURCE(cell_z_source, cell, thread, dS, eqn)
{
  real source,x[ND_ND];
begin_c_loop(cell, thread)
   {
     C_CENTROID(x,cell,thread)
     
   if(x[2]>0&&x[2]<0.002)
      {
         source=-CON1*x[2]+CON2;
         dS[eqn]=0;
       }
     else
         source=dS[eqn] = 0.;
       }
end_c_loop(cell,thread)
  return source;
}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

CFD_light

铁虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
udf写错了,数据溢出了
模拟的最高境界:同形不同理
2楼2015-07-21 09:54:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

springlmh

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by CFD_light at 2015-07-21 09:54:21
udf写错了,数据溢出了

能帮忙修一下udf吗?
3楼2015-07-21 10:44:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhouxman

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
dS[eqn]=0;
是不是应该放在return之前
DEFINE_SOURCE(cell_z_source, cell, thread, dS, eqn)
{
  real source,x[ND_ND];
begin_c_loop(cell, thread)
   {
     C_CENTROID(x,cell,thread)
     
   if(x[2]>0&&x[2]<0.002)
          source=-CON1*x[2]+CON2;
        else
         source = 0;
       }
end_c_loop(cell,thread)
  dS[eqn]=0;
  return source;
}
4楼2015-07-21 10:50:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

springlmh

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by zhouxman at 2015-07-21 10:50:24
dS=0;
是不是应该放在return之前
DEFINE_SOURCE(cell_z_source, cell, thread, dS, eqn)
{
  real source,x;
begin_c_loop(cell, thread)
   {
     C_CENTROID(x,cell,thread)
     
   if(x>0&&a ...

试了试你说的方法,还是不行,仍然是上面的错误,不过谢谢了。我拍了个照片,大神们给看看,有什么解决方案没。
fluent udf中设定内热源的问题
71A1{`(%B8D{~GEQ(VM0IBH.png

5楼2015-07-21 15:40:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhouxman

金虫 (小有名气)

引用回帖:
5楼: Originally posted by springlmh at 2015-07-21 15:40:42
试了试你说的方法,还是不行,仍然是上面的错误,不过谢谢了。我拍了个照片,大神们给看看,有什么解决方案没。

71A1{`(%B8D{~GEQ(VM0IBH.png
...

那估计不是这个的问题了   这个source在语法上是没有问题的
6楼2015-07-21 19:36:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

springlmh

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by zhouxman at 2015-07-21 19:36:53
那估计不是这个的问题了   这个source在语法上是没有问题的...

我感觉这个函数返回的source是一个值,而不是一系列的关于z轴的source值,或者说这个程序返回的source值太多,需要运行很长的时间,而我的电脑计算速度慢?请大家给分析一下。
7楼2015-07-22 10:03:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhouxman

金虫 (小有名气)

【答案】应助回帖

引用回帖:
7楼: Originally posted by springlmh at 2015-07-22 10:03:34
我感觉这个函数返回的source是一个值,而不是一系列的关于z轴的source值,或者说这个程序返回的source值太多,需要运行很长的时间,而我的电脑计算速度慢?请大家给分析一下。...

不是这个问题,会对设定的单元或面偱环,不存在这个问题

[ 发自小木虫客户端 ]
8楼2015-07-22 10:30:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

springlmh

新虫 (初入文坛)

引用回帖:
8楼: Originally posted by zhouxman at 2015-07-22 10:30:44
不是这个问题,会对设定的单元或面偱环,不存在这个问题
...

可能吧,我换成在一定范围有固定的source也不行,还是相同的问题,感觉是运行速度的问题。
9楼2015-07-23 11:00:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nickma

至尊木虫 (著名写手)

【答案】应助回帖

source是自动循历单元的,建议把loop循环去掉,另外使用compiled型编译
10楼2015-07-24 10:16:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 springlmh 的主题更新
信息提示
请填处理意见