24小时热门版块排行榜    

查看: 1642  |  回复: 5

bailu0605

银虫 (初入文坛)


[交流] Fluent中的报错

问题描述:
       在管子壁面上通过UDF加入气泡(本来是单相液体流动)变成两相流,没有传热,在只画了三根管子的模型里试了一下,没有问题,计算也正常,在有225根管子的模型中算,就出现下面的报错了。
是什么原因导致这样的报错的?如何解决?
我把我的UDF也贴出来,是程序出问题了吗?
#include "udf.h"

DEFINE_ON_DEMAND(set_udm)
{
cell_t cell;
cell_t cell_0;
face_t face;
Thread *thread_0;

Domain *domain = Get_Domain(1);
Thread *thread = Lookup_Thread(domain,3);

begin_f_loop(face, thread)       
        {
          cell_0 = F_C0(face, thread);
      thread_0 = THREAD_T0(thread);
      C_UDMI(cell_0, thread_0, 0) = 1.0;
        }
end_f_loop(face, thread);
}

DEFINE_SOURCE(bubble_mass, cell, thread, dS, eqn)
{
real source;

if( C_UDMI(cell, thread, 0) > 0.0 )
        {
        source = 8.65e-5;
        dS[eqn] = 0.0;
        }
else
        {
        source = 0.0;
        dS[eqn] = 0.0;
        }
return source;
}
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

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

zyxme

至尊木虫 (文坛精英)



bailu0605(金币+1):谢谢参与
祝福楼主快乐开心!
2楼2011-06-08 09:47:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kylafree

至尊木虫 (知名作家)


★ ★ ★
bailu0605(金币+1):谢谢参与
臭水沟(金币+2): 谢谢应助~~ 2011-06-08 16:04:28
bailu0605(金币+5): 2011-06-09 21:24:05
你的UDM好象只对边界赋值1.0,对边界以外的区域没有赋值,这样你后面添加源项时所作的判断  C_UDMI(cell_0, thread_0, 0) > 0.0 能代表你找到了边界吗?
你加入一段代码试试看。

DEFINE_ON_DEMAND(set_udm)
{
cell_t cell;
cell_t cell_0;
face_t face;
Thread *thread_0;

Domain *domain = Get_Domain(1);
Thread *thread = Lookup_Thread(domain,3);

begin_f_loop(face, thread)        
        {
                C_UDMI(face, thread, 0) = 0.0;
        }
end_f_loop(face, thread);

begin_f_loop(face, thread)        
        {
          cell_0 = F_C0(face, thread);
      thread_0 = THREAD_T0(thread);
      C_UDMI(cell_0, thread_0, 0) = 1.0;
        }
end_f_loop(face, thread);
}

[ Last edited by kylafree on 2011-6-8 at 15:07 ]
3楼2011-06-08 14:57:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kylafree

至尊木虫 (知名作家)


/*打错了 。 上面一句应为“ 这样你后面添加源项时所作的判断  C_UDMI(cell_0, thread_0, 0) > 0.0 能代表你找到了边界吗?”  上面已修改,这段为多余,请跳过*/

[ Last edited by kylafree on 2011-6-8 at 15:14 ]
4楼2011-06-08 15:00:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

47425804

木虫 (正式写手)


★ ★ ★
bailu0605(金币+1):谢谢参与
臭水沟(金币+2): 谢谢应助~~ 2011-06-08 22:32:17
引用回帖:
Originally posted by bailu0605 at 2011-06-08 09:34:57:
问题描述:
       在管子壁面上通过UDF加入气泡(本来是单相液体流动)变成两相流,没有传热,在只画了三根管子的模型里试了一下,没有问题,计算也正常,在有225根管子的模型中算,就出现下面的报错了。
是什 ...

DEFINE_ON_DEMAND(set_udm)
{
cell_t cell;
cell_t cell_0;
face_t face;
Thread *thread_0;

Domain *domain = Get_Domain(1);
Thread *thread = Lookup_Thread(domain,3);

begin_c_loop(cell, THREAD_T0(thread))        
        {
                C_UDMI(cell, thread, 0) = 0.0;
        }
end_c_loop(cell, THREAD_T0(thread))

begin_f_loop(face, thread)        
        {
          cell_0 = F_C0(face, thread);
      thread_0 = THREAD_T0(thread);
      C_UDMI(cell_0, thread_0, 0) = 1.0;
        }
end_f_loop(face, thread)
}
5楼2011-06-08 18:12:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hust_entropy

新虫 (小有名气)



bailu0605(金币+1): 谢谢参与
引用回帖:
3楼: Originally posted by kylafree at 2011-06-08 14:57:27
你的UDM好象只对边界赋值1.0,对边界以外的区域没有赋值,这样你后面添加源项时所作的判断  C_UDMI(cell_0, thread_0, 0) > 0.0 能代表你找到了边界吗?
你加入一段代码试试看。

DEFINE_ON_DEMAND(set_udm)
{
...

您好,你添加的这段代码
begin_f_loop(face,thread)
{
  C_UDMI(face,thread,0)=0;
}
end_f_loop(face,thread);
是不是有一些问题?
C_UDMI函数里面的输入参数应该是cell,thread,i;为什么您输入的是face可以运行?不明白,请指点。
6楼2014-04-17 10:57:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 bailu0605 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见