24小时热门版块排行榜    

查看: 690  |  回复: 0

gky227227

新虫 (正式写手)

[求助] k-e方程添加源项报错

大家过年好,向大家求助一个问题,最近想在UDF中给k-e方程添加源项,编译通过了,可是计算时第一步就报错了,FLUENT received fatal signal (ACCESS_VIOLATION),如图所示,程序的代码如下,还请大家给看一下是什么问题,谢谢。另外,我添加源项的方法是在cell zone condition 中添加的。
DEFINE_SOURCE(Source_kediss,cell,thread,dS,eqn)
{
        Thread *mix_thread, *thread_gas, *thread_liq;
        cell_t c_back, c_front;
        int np,i, j, k, j_temp;  
        float TEl_g, EDl_g, epsilon, delta_e, lumpted, lumptis, gasfraction, Db_Sauter, Sediss;
        float tempb,tempc, timelifej, timelifek, ubtj, ubtk, hbj, hbk, hbjk, lbjk, chl;
        float k_bl=500.0, k_b=6.0, alphac=0.8;
        float Source_ediss;
        FILE *fp;

        float FD, vof_gas, y_vel_gas, y_vel_liq, vel_slip, tao, Sk;
        float x_vel_liq, x_vel_gas, y_vel_slip, x_vel_slip, ke, ediss;
        float sumf=0,temp_x=0, f_lar=0.0, kb_lar=0.0, FD_total=0.0;
        float Re[M-1], Eo[M-1], CD[M-1], temp_a[M-1], temp_b[M-1];
        float f[M], Num[M];


        thread_liq= THREAD_SUB_THREAD(mix_thread, 0);
    thread_gas= THREAD_SUB_THREAD(mix_thread, 1);                
        C_VOF(cell, thread_gas)=MAX(C_VOF(cell, thread_gas), 1.0e-6);
        C_VOF(cell, thread_gas)=MIN(C_VOF(cell, thread_gas), 0.64);     /*这个处理如果有自由界面需要去掉*/
        vof_gas=C_VOF(cell, thread_gas);   
        x_vel_liq=C_U(cell, thread_liq);
        x_vel_gas=C_U(cell, thread_gas);
        y_vel_liq=C_V(cell, thread_liq);
        y_vel_gas=C_V(cell, thread_gas);
        y_vel_slip=fabs(y_vel_gas-y_vel_liq);
        x_vel_slip=fabs(x_vel_gas-x_vel_liq);
        vel_slip=pow(y_vel_slip*y_vel_slip+x_vel_slip*x_vel_slip,0.5);

        for(i=0;i<M-1;i++)                       
                temp += C_UDSI(cell, thread_gas, i)/db;                       
        Db_Sauter=1/temp;

        for(i=0; i<29; i++)
        {
                C_UDSI(cell, thread_gas, i)=MAX(C_UDSI(cell, thread_gas, i), 0.0);               
        }
             

        /* set sum(f) to be 1*/
        sumf=0.0;
        for(i=0; i<29; i++)
        {   
                f=C_UDSI(cell, thread_gas, i);
                Num=f*C_VOF(cell, thread_gas)/mb;
                sumf += f;
        }
        for(i=0; i<29; i++)
        {
                f=f/sumf;
                C_UDSI(cell, thread_gas, i)=f;
                Num=f*C_VOF(cell, thread_gas)/mb;
        }
       
        for(i=0; i<M-1; i++)
        {   
                Eo=9.81*(roul-roug)*pow(db,2.0)/sigma;
        Re=roul*db*vel_slip/visl;
                temp_a=24.0/Re*(1.0+0.15*pow(Re,0.687));
                temp_b=8.0/3.0*Eo/(Eo+4.0);
            CD=MAX(temp_a,temp_b);       
                FD_total += C_UDSI(cell, thread_gas, i)*CD/db;               
                if(db>0.0072)
                        f_lar += C_UDSI(cell, thread_gas, i);
        }

    temp_x=50.0*vof_gas*f_lar;
        kb_lar=MAX(1.0,temp_x);
        FD=vof_gas*roul*3.0/4.0*FD_total*vel_slip/kb_lar;
        Sk=FD*vel_slip;

        ke= C_K(cell, thread);
    ediss= C_D(cell, thread);

    tao=pow((Db_Sauter*Db_Sauter/ediss),1/3);
        /*tao=Db_Sauter/pow(ke, 0.5);*/

        Sediss=2*Sk/tao;
        return Sediss;
}
k-e方程添加源项报错
未命名.jpg
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 gky227227 的主题更新
信息提示
请填处理意见