24小时热门版块排行榜    

查看: 1243  |  回复: 3

白白的大萝卜

新虫 (小有名气)

[求助] UFD调试问题!! 已有1人参与

在Fluent 中加入源项的UDF  一初始化就开始报错  Error: received a fatal signal(Segmentation fault).,UDF是照着别人的文献写得,没有书写错误,现在不知道问题出在哪里,本人对UDF和C也是刚入门的新手,在这里 希望好心人能帮忙调试一下,有偿也可以的!!!救救孩子吧  万分感谢!
#include "udf.h"
/*Define which user-defined scalars to use.*/
enum
{
   p,ads,d_ads,q_ads
};
DEFINE_ADJUST(p_absolute,domain)
{
        Thread*t;
        cell_t c;
        real p_operating;
        real p_static;
        /*solve the absolute pressure.*/
        thread_loop_c(t,domain)
        {
        if(NULL!=THREAD_STORAGE(t,SV_UDS_I(p)))
          {
                begin_c_loop(c,t)
                {
                p_static=C_P(c,t);
                p_operating=RP_Get_Real("operating-pressure";
                C_UDSI(c,t,p)=p_static+p_operating;
                }
            end_c_loop(c,t)
      }
        }
}
DEFINE_ADJUST(adsorption,domain)
{
        Thread*t;
        cell_t c;
        real n_o;
        real E_t;
        real x_p;
        real A;
        real x_b;
        real n;
        /*solve the adsorption equation.*/
        thread_loop_c(t,domain)
        {
                if(NULL!=THREAD_STORAGE(t,SV_UDS_I(ads))&&NULL!=T_STORAGE_R_NV(t,SV_UDSI_M1(ads)))
         {
          begin_c_loop(c,t)
            {
        real tem=C_T(c,t);
        n_o=71.6;
        E_t=3080+18.9*tem;
        x_p=1.47E9/C_UDSI(c,t,p);
        A=8.31429*tem*log(x_p);
        x_b=-A*A/(E_t*E_t);
        C_UDSI(c,t,ads)=n_o*exp(x_b);
        }
        end_c_loop(c,t)
     }
    }
}

DEFINE_ADJUST(q_adsorption,domain)
{
        Thread*t;
        cell_t c;
        /*solve the absolute pressure.*/
        thread_loop_c(t,domain)
        {
                if(NULL!=THREAD_STORAGE(t,SV_UDS_I(q_ads))&&NULL!=T_STORAGE_R_NV(t,SV_UDSI_M1(q_ads)))
                {
                        begin_c_loop(c,t)
                        {
                real physical_dt;
                physical_dt=RP_Get_Real("physical-time-step";
                C_UDSI(c,t,q_ads)=C_UDSI_M1(c,t,q_ads)+0.001*physical_dt*(C_UDSI_M1(c,t,ads)-C_UDSI_M1(c,t,q_ads));
                        }
                        end_c_loop(c,t)
                }
        }
}
DEFINE_ADJUST(d_adsorption,domain)
{
        Thread*t;
        cell_t c;
        /*solve the energy source.*/
        thread_loop_c(t,domain)
        {
           if(NULL!=THREAD_STORAGE(t,SV_UDS_I(d_ads))&&NULL!=T_STORAGE_R_NV(t,SV_UDSI_M1(d_ads)))
           {
                   begin_c_loop(c,t)
            {
           C_UDSI(c,t,d_ads)=-0.5422633*0.001*(C_UDSI(c,t,ads)-C_UDSI(c,t,q_ads));
        }   
        end_c_loop(c,t)
       }
    }
}
DEFINE_SOURCE(mass_source,c,t,dS,eqn)
{
        real m_source;
        m_source=C_UDSI_M1(c,t,d_ads);
        dS[eqn]=0.0;
        return m_source;
}
DEFINE_SOURCE(enery_source,c,t,dS,eqn)
{
        real e_source;
        e_source=-C_UDSI_M1(c,t,d_ads)*4*1.58E6;
        dS[eqn]=0.0;
        return e_source;
}
回复此楼

» 猜你喜欢

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

SuperUDF

银虫 (小有名气)

UDS没有看到对流项,扩散项,源项也不是UDS的,里面问题很大着呢。调试可以用VC++ UDF Studio软件(自己百度),一步一步跟踪变量的值。找人代做估计不靠谱,UDS没有几千搞不定。你有钱除外。

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

2楼2019-12-02 13:54:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

白白的大萝卜

新虫 (小有名气)

送红花一朵
引用回帖:
2楼: Originally posted by SuperUDF at 2019-12-02 13:54:29
UDS没有看到对流项,扩散项,源项也不是UDS的,里面问题很大着呢。调试可以用VC++ UDF Studio软件(自己百度),一步一步跟踪变量的值。找人代做估计不靠谱,UDS没有几千搞不定。你有钱除外。

好的,谢谢大佬!我去试一试吧
3楼2019-12-02 15:10:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

saw8124

新虫 (初入文坛)

【答案】应助回帖

大佬,请问您吸附调试出来了吗?我做的时候遇到了一些小问题,想请教
4楼2021-01-23 10:02:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 白白的大萝卜 的主题更新
信息提示
请填处理意见