找回密码
 注册
查看: 3123|回复: 1

DEFINE_DIFFUSIVITY

[复制链接]
发表于 2013-4-8 10:03:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
DEFINE_DIFFUSIVITY这个宏按其定义的是组分扩散系数或者用户定义标量输运方程的扩散系数,敢问下扩散系数是个什么东西,网上搜的解释没看懂,现有一个程序是这么定义的
DEFINE_DIFFUSIVITY(mean_age_diff, c, t, i)
{
real diff;
if (C_T(c,t)<273)
diff=1/1000;
else if (C_T(c,t)<2500)
diff=22/(2700-9*C_T(c,t)+22000);
else if(C_T(c,t)<5000)
diff=2500/(99*2500-99*C_T(c,t)+250000);
else if (C_T(c,t)<7500)
diff=2500/((5000-C_T(c,t))*(1-0.0013)+2500);
else if (C_T(c,t)<10000)
diff=2500/((7500-C_T(c,t))*0.00097+2500*0.0013);
else if (C_T(c,t)<12500)
diff=2500/((10000-C_T(c,t))*0.00017+2500*0.00033);
else if (C_T(c,t)<15000)
diff=2500/((12500-C_T(c,t))*0.00004+2500*0.00016);
else if (C_T(c,t)<17500)
diff=2500/((15000-C_T(c,t))*0.000022+2500*0.00012);
else if(C_T(c,t)<20000)
diff=2500/((17500-C_T(c,t))*0.000013+2500*0.000098);
else
diff=1/0.000085;
return diff;
}
在不同温度单元格中这个扩散系数不同代表什么意思?扩散系数是材料的属性吗?是影响什么的?在fluent设置中哪儿需要使用此函数?麻烦给指点一下,小弟先谢过。
发表于 2013-5-12 12:15:51 | 显示全部楼层

回复 1# vipher 的帖子

我也有相同的问题,我做的是一个等离子体发生器的流场模拟,也应为添加了UDS,要设定一个uds-DIFFUSIVITY,这个问题我也没有理解,我的是这样的。
//////////////////////////////////////////定义标量方程的扩散系数//////////////////////////////////////
/*DEFINE_DIFFUSIVITY(electrical_conductivity,c,t,i)
{
        float sigma;
        real x,y,line;
        real xc[ND_ND];
        real ELEC6300_1,ELEC6300_2,ELEC6300,Jiaquan,ELEC10,ELEC_F;
   
        p0 = 101325 * 1;
        p1 = 101325 * 0.1;
        p2 = 101325 * 0.01;
        p3 = 101325 * 0.001;
       
        temperature = C_T(c,t);  
    pressure = C_P(c,t);

        if (pressure>=p0)
        {
                sigh=gasprop(temperature,tbsig0);
                sig=sigh;
                ELEC6300=gasprop(6300,tbsig0);
        }

        else if (pressure>=p1&&pressure<p0)
        {
                sigh= gasprop(temperature,tbsig0);
                sigl=gasprop(temperature,tbsig1);
                sig=sigh+(sigl-sigh)/(p1-p0)*(pressure-p0);
                ELEC6300_1= gasprop(6300,tbsig0);
                ELEC6300_2=gasprop(6300,tbsig1);
                ELEC6300=ELEC6300_1+(ELEC6300_2-ELEC6300_1)/(p1-p0)*(pressure-p0);
        }

        else if (pressure>=p2&&pressure<p1)
        {
                sigh= gasprop(temperature,tbsig1);
                sigl=gasprop(temperature,tbsig2);
                sig=sigh+(sigl-sigh)/(p2-p1)*(pressure-p1);
                ELEC6300_1= gasprop(6300,tbsig1);
                ELEC6300_2=gasprop(6300,tbsig2);
                ELEC6300=ELEC6300_1+(ELEC6300_2-ELEC6300_1)/(p2-p1)*(pressure-p1);
        }

        else if (pressure>=p3&&pressure<p2)
        {
                sigh= gasprop(temperature,tbsig2);
                   sigl=gasprop(temperature,tbsig3);
                   sig=sigh+(sigl-sigh)/(p3-p2)*(pressure-p2);
                ELEC6300_1= gasprop(6300,tbsig2);
                ELEC6300_2=gasprop(6300,tbsig3);
                ELEC6300=ELEC6300_1+(ELEC6300_2-ELEC6300_1)/(p3-p2)*(pressure-p2);
        }

        else
        {
                sigh=gasprop(temperature,tbsig3);
                sig=sigh;
                ELEC6300=gasprop(6300,tbsig3);
        }
       
        if (i==0)
        {
                C_CENTROID(xc,c,t);
                    x=xc[0];
                y=xc[1];
                if(x>0.096)
                {
                        if(temperature<=6300)
                        {
                                Jiaquan = (100000-pressure)/(100000-100);
                                    ELEC_F= (ELEC6300-10)*temperature/6300+10;
                                    sigma = Jiaquan*ELEC_F+(1-Jiaquan)*sig;
                                if(sigma<=0)
                                {
                                        Message ("ELEC CONDUCTITY IS MODIFIED!!!!\n");
                                    Message ("Jiaquan:%g\n",Jiaquan);
                                    Message ("ELEC_F:%g\n",ELEC_F);
                                    Message ("ELEC CONDUCTITY:%g\n",sigma);
                                }
                        }
                        else
                                sigma = sig;
                }
                else
                        sigma = sig;
        }
               

        /*{
                C_CENTROID(xc,c,t);
            x=xc[0];
                y=xc[1];
                if(x>=0.0081&&x<=0.00846)
                {
                        line = 0.675676*x - 0.00537;
                        if(y<=line)
                        {
                                if(temperature<=6300)
                                {
                                        Jiaquan = (150000-pressure)/150000;
                                ELEC_F= (ELEC6300-5)*temperature/6300+5;
                                sigma = Jiaquan*ELEC_F+(1-Jiaquan)*sig;

                                        if(sigma<=0)
                                        {
                                                Message ("ELEC CONDUCTITY IS MODIFIED!!!!\n");
                                        Message ("Jiaquan:%g\n",Jiaquan);
                                        Message ("ELEC_F:%g\n",ELEC_F);
                                        Message ("ELEC CONDUCTITY:%g\n",sigma);
                                        }
                                }
                                else
                                        sigma = sig;
                        }
                        else
                                sigma = sig;
                }
                else if(x>0.00846&&x<=0.016)
                {
                        if(temperature<=6300)
                        {
                                Jiaquan = (500000-pressure)/500000;
                            ELEC_F= (ELEC6300-10)*temperature/6300+10;
                            sigma = Jiaquan*ELEC_F+(1-Jiaquan)*sig;

                                if(sigma<=0)
                                {
                                        Message ("ELEC CONDUCTITY IS MODIFIED!!!!\n");
                                    Message ("Jiaquan:%g\n",Jiaquan);
                                    Message ("ELEC_F:%g\n",ELEC_F);
                                    Message ("ELEC CONDUCTITY:%g\n",sigma);
                                }
                        }
                        else
                                sigma = sig;
                }
                else
                        sigma = sig;
        }*/
        /*if (i==0) sigma = sig;*/
        else if(i==1) sigma=1;
            else if(i==2) sigma=1;
        else sigma=0;
        return sigma;
}*/

你可以看看,这是别人写的,我在学习,如果有什么了解我可以告诉你。
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表