24小时热门版块排行榜    

查看: 1224  |  回复: 6

猪的主人

新虫 (初入文坛)

[求助] udf致命错误 已有1人参与

我仿真的模型是表层土壤浅埋换热管,研究非饱和土壤中热湿耦合 迁移,现阶段只考虑液态水的迁移。模型有混合mixture模型,porous模型,利用udf编写方程,程序如下:
#include"udf.h"
#include<math.h>

DEFINE_UDS_UNSTEADY(myunsteady,c,t,i,apu,su)

{
        real physical_dt,vol,phi_old;
        physical_dt=RP_Get_Real("physical_time_step";
        vol=C_VOLUME(c,t);
         *apu=-vol/physical_dt;
         phi_old=C_STORAGE_R(c,t,SV_UDSI_M1(i));
         *su=vol*phi_old/physical_dt;
}

DEFINE_SOURCE(source_moving,cell,sec_th,dS,eqn)

{
        real A[ND_ND];
        real source;
        real temp0,temp1,temp2;
        real vol;
        real vof;
        real a0[ND_ND],a1[ND_ND],a2[ND_ND];
        real diff;
        real xv[ND_ND],yv[ND_ND],zv[ND_ND];
       
        Domain*d;
        Thread*mix_th;
        face_t f;
        d=Get_Domain(2);
        mix_th=THREAD_SUPER_THREAD(sec_th);           //指针指向混合项的第二项即液态水
        temp0=C_T_G(cell,mix_th)[0];
        temp1=C_T_G(cell,mix_th)[1];
        temp2=C_T_G(cell,mix_th)[2];
        vol=C_VOLUME(cell,mix_th);                                         //控制体体积;
        vof=C_UDSI(cell,mix_th,0);                                        //控制体 内含湿量;
        diff=-2.3495*pow(10,-5)*pow(vof,6)+2.0370*pow(10,-5)*pow(vof,5)-6.6946*pow(10,-6)*pow(vof,4)+1.0438*pow(10,-6)*pow(vof,3)-7.8699*pow(10,-8)*pow(vof,2)+2.7350*pow(10,-9)*vof+5.4039*pow(10,-12);         //等温扩散系数
        xv[0]=1;xv[1]=0;xv[2]=0;
        yv[0]=0;yv[1]=1;yv[2]=0;
        zv[0]=0;zv[1]=0;zv[2]=1;

        begin_f_loop(f,mix_th)                                        //历遍混合相的 所有面;
        {
        F_AREA(A,f,mix_th);
        a0[ND_ND]+=temp0*NV_DOT(A,xv);                //x方向的温度梯度与控制体x方向 投影面积的乘积;
        a1[ND_ND]+=temp1*NV_DOT(A,yv);
        a2[ND_ND]+=temp2*NV_DOT(A,zv);
        }
        end_f_loop(f,mix_th)

        source=diff*(a0[0]+a1[1]+a2[2])/vol;
        dS[eqn]=0;
        return source;
}


DEFINE_DIFFUSIVITY(MyDiff,c,t,i)

{
        real vof;
        real con_zl;
        real con_nd;
        real MyDiff;

        vof=C_UDSI(c,t,0);
        con_zl=0.075636667-0.000114214*C_T(c,t)-0.000000279*C_T(c,t)*C_T(c,t);
        con_nd=0.00041212*exp(-C_T(c,t)/12.37666)+0.00119916*exp(-C_T(c,t)/41.70239)+0.00018058;
        MyDiff=9.15003*pow(vof,3.613655)*con_zl*0.0014953452/(con_nd*0.073240827);

        return MyDiff;
}
在进行计算的时候显示致命错误,求大神指点@wuming524
回复此楼

» 猜你喜欢

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

猪的主人

新虫 (初入文坛)

大神在哪里,求助求助 !帖子不要沉
2楼2016-04-19 17:27:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

猪的主人

新虫 (初入文坛)

亲爱的,有人会吗?
3楼2016-04-20 10:30:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

277174552

新虫 (初入文坛)

4楼2016-04-25 22:40:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guaicucu

新虫 (初入文坛)

大神,你做的是三维的吗?单管的还是管群的?热湿迁移的udf编程实在是不会呀,求助
5楼2017-03-12 10:02:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhufeiyu_1

新虫 (小有名气)

【答案】应助回帖

我目前也在写热湿耦合传递的UDF编程,你的能量方程UDF和这个写一块了么?还是单独写出来了?问题解决了没
6楼2019-01-10 13:54:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhufeiyu_1

新虫 (小有名气)

你的非稳态项里带密度了么?
7楼2019-01-10 14:07:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 猪的主人 的主题更新
信息提示
请填处理意见