24小时热门版块排行榜    

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

xuxia8495

银虫 (小有名气)


[交流] 使用DEFINE_INIT宏初始化两相体积

使用DEFINE_INIT宏初始化两相体积, 出现了问题:

如图所示:
我的模型是一个长方体,沿z轴方向将模型分成两部分,z向坐标范围为(-0.1,0.3)
0 初始化后,检查相分布,看第二相体积分数与定义的一致(图2),而查看第一相体积分布,发现整个区域全为第一相(图1)


UDF如下:
#include "udf.h"

DEFINE_INIT(my_init,d)
{
cell_t c;
Thread *t;
real xc[ND_ND];
Thread *pri_th,*sec_th;

thread_loop_c(t,d)
{
pri_th = THREAD_SUB_THREAD(t,0);
sec_th = THREAD_SUB_THREAD(t,1);
begin_c_loop_all (c,t)
{
C_CENTROID(xc,c,t);
if(xc[2]>=0&&xc[2]<=0.3)
{
C_VOF(c,sec_th)=1;
C_T(c,t)=1820;}
else
{
C_VOF(c,sec_th)=0;
C_T(c,t)=300;
}

}
end_c_loop_all(c,t)
}
}


请高手帮忙看看是哪出现问题了,谢谢!

图片1.png



图片2.png
回复此楼

» 收录本帖的淘帖专辑推荐

fluent点滴学习 fluent软件学习

» 猜你喜欢

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

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

查看全部散金贴

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

转石千仞

金虫 (正式写手)


★ ★ ★
xuxia8495(金币+1): 谢谢参与
xiegangmai: 金币+2, 谢谢参与 2012-11-07 20:19:01
这是我写的,你看看罢。
CODE:
#include "udf.h"   /*初始化体积分数与温度*/
DEFINE_INIT(my_init_function,domain)
{
Domain *d=Get_Domain(1);
Domain *sd=Get_Domain(2);
Domain *th=Get_Domain(3);
Thread *t;
cell_t c;
real xc[ND_ND];
thread_loop_c(t,d)
        {
                begin_c_loop(c,t)
                {
                        C_CENTROID(xc,c,t);
                        if(xc[1]<0.5)
                        C_T(c,t)=400.;
                        else
                        C_T(c,t)=300.;
                }
                end_c_loop(c,thread)
        }
thread_loop_c(t,sd)
        {
                begin_c_loop(c,t)
                {
                        C_CENTROID(xc,c,t);
                        if(xc[1]<1.5)
                        C_VOF(c,t)=0.;
                        else
                        C_VOF(c,t)=1.;
                }
                end_c_loop(c,thread)
        }
}

» 本帖已获得的红花(最新10朵)

3楼2012-11-07 08:39:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 14 个回答

fangdian

木虫 (正式写手)


★ ★
xuxia8495(金币+1): 谢谢参与
xiegangmai: 金币+1, 谢谢参与 2012-11-12 19:36:57
实在不行的话,对基本相也初始化吧。
2楼2012-11-06 20:06:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

转石千仞

金虫 (正式写手)


★ ★
xiegangmai: 金币+2, 辛苦了! 2012-11-07 20:19:10
你的问题好像是:在混合域中循环多相线的问题,这个要用到特殊的宏,好像是:
mp_thread_loop_c
具体的你要自己去看了。
你可以画网格时定义区域,再patch值,也非常方便,后处理也好做些。
4楼2012-11-07 08:44:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xuxia8495

银虫 (小有名气)


送鲜花一朵
引用回帖:
3楼: Originally posted by 转石千仞 at 2012-11-07 08:39:45
这是我写的,你看看罢。
#include "udf.h"   /*初始化体积分数与温度*/
DEFINE_INIT(my_init_function,domain)
{
Domain *d=Get_Domain(1);
Domain *sd=Get_Domain(2);
Domain *th=Get_Domain(3);
...

非常谢谢!
我运行了一下这种写法,发现问题并没有解决:检查相分布,查看基本相体积分数,与定义的一致,而查看第二相体积分布,发现整个区域全为第二相-------看来需要分别定义基本相和第二项
5楼2012-11-08 09:37:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见